ORDER / cat.api

Dierk Hoeppner HO at buch.biblio.etc.tu-bs.de
Do Mär 21 09:32:01 CET 1996


Herr Matalla schrieb:

> #u1 +# =aa, p{ "|;_" }         Identnummer in #9C -> nach Register 11
>                   i
>                   i  das ist ASCII 240
>
> 1. Stimmt das so?
> 2. Wenn ja: was macht das + warum?
> Lt. Handbuch dachte ich, muesste auf =aa, ein Zwischenteil folgen?

Ein Zwischenteil muss nicht folgen, wenn man keins ausgeben will. Und
gerade das soll hier nicht passieren. Zum Verstaendnis dieser Aktion ist
einiges Hintergrundwissen erforderlich.

In der Ursprungsversion von ORDER wurde mit zweierlei Identnummern
gearbeitet. Eine in #00 in der alt bekannten Rolle und eine spezielle in
#9C des Titelsatzes als Zeichen, dass es zu diesem Titelsatz
Erwerbungsvorgaenge gibt. Zwei Identnummern zu verwalten, erschien mir
ueberfluessig. Es sollte aber noch die Moeglichkeit geben, Titelsaetze fuer
die Erwerbung zu kennzeichnen. Das geschieht jetzt - wahlweise - indem
in #9C ein 'O' eingetragen wird.

Beim UEbergang auf die neueren Versionen konnte es also in einer
Datenbank Titelsaetze geben, die in #9C eine von der alten Version
erzeugten speziellen Nummer enthielt, und solche, die nur das 'O'
enthalten. Alle diese So markierten Datensaetze sollten aber im Register
11 einheitlich auftauchen: {240}IDN ({240} steht fuer ASCII-240). Als
IDN soll bei den aelteren Datensaetzen aus Gruenden der Kompatibilitaet die
spezielle Nummer auftauchen, bei den neuen soll die Identnummer aus #00
auftauchen.

Vor diesem Hintergrund ist der Abschnitt zu verstehen:

ak=9C+x         212         11      _TitelId

...

     =========== ORDER: Titelidentnummer Register 11
   #-x  ( x = 212 )
a) #nr p"O" e1 daa aaa #zz 0
b) #u1 +# =aa, p{ "|;_" }         Identnummer in #9C -> nach Register 11
c) #00 e" = " e"" p{ "|;_" }    Identnummer in 00 in Register 11
   #+#
     =========== Ende ORDER: Titelidentnummer Register 11

a) Erzeuge eine Anwendervariable (AV) #uaa mit dem Inhalt 'O' (#uaa O)
fuer den folgenden Vergleich

b) (#u1 enhaelt hier den Inhalt von #9C) Vergleiche den Inhalt von #u1
mit der AV #uaa. Wenn der Inhalt gleich ist, also wenn #u1 'O' enthaelt =
Titelsatz markiert von neuerem ORDER, dann mache mit der folgenden Zeile
weiter. In diesem Fall wird dann der Inhalt von #00 [Zeile c)] in das
Register 11 gestellt.

Falls #u1 kein 'O' enthaelt, ist es ein Titelsatz, der vom aelteren ORDER
mit einer Nummer markiert wurde. Dann gib KEIN Zwischenteil aus, weil
ich hier keins gebrauchen kann, und stelle die in #u1 enthaltene Nummer
in das Register 11.

Der Befehl '=aa,' bewirkt, dass der Vergleich und eventuell die Zuweisung
stattfinden, und dass kein Zwischenteil ausgegeben wird.

Kompliziert? Ja. UEberfluessig? Wahrscheinlich schon. Ich werde in einer
zukuenftigen Version diesen Abschnitt vereinfachen, denn diese
Fallunterscheidung duerfte nicht mehr notwendig sein.

Viele Gruesse

Dierk Hoeppner



#####################################################################
    Dierk Hoeppner                      Universitaetsbibliothek
    Allegro-C Group                     Pockelsstr. 13
                                        D-38106 Braunschweig
                                        Germany
                                        Tel: +49-531-391-5066
    Email: d.hoeppner at tu-bs.de          Fax: +49-0531-391-5836
#####################################################################



Mehr Informationen über die Mailingliste Allegro