Parametrierung

Sibylle Koczian Sibylle.Koczian at bibliothek.uni-augsburg.de
Mi Jul 23 16:10:51 CEST 2003


Lieber Herr Runki,

At 14:52 23.07.03 +0200, you wrote:
>Liebe Kolleginnen und Kollegen,
>
>ich hatte eine vorgefundene gutgehende Prozedur zur Erzeugung der 
>Neuerwerbungsliste umzuarbeiten.
>Mit Hilfe einer Parameterdatei "error1.spr" wird von den Datensätzen, in 
>denen #180 fehlt und in #574 nicht "Zei" steht, die Identnummer 
>ausgedruckt und die Prozedur unterbrochen.
>
>Nach meinen Änderungen funktioniert das nicht mehr.
>
>Die wichtigsten Zeilen von "error1.spr" sehen so aus:
>Meine Fragen stehen mit XXX eingeleitet in der jeweiligen Zeile:
>
>zl=0        Zeilenl„nge unbegrenzt (kein Umbruch)
>ks=1        Beginn des Ausgabetextes beim ersten Zeichen hinter #
>ke=0        Kategorie-Ende = Code 0
>ae=""
>    -------- Anweisungsteil -----------------------------------------------
>...
>#u1 +# c"z" e0 #zz 0            XXX Was bedeutet +# Eine Sprungmarke?

+# beendet die Ausgabe des aktuellen Satzes. In Ihrer Mail erscheint in 
c"z" hinter dem z noch etwas, was in meinem Mailprogramm als Kaestchen 
erscheint und beim Antworten ganz und gar verschluckt wird. Was steht da 
wirklich in den Parametern? Jedenfalls: falls z und anschliessend dieses 
fragliche Zeichen im Arbeitstext vorkommen, wird die Ausgabe jetzt 
abgebrochen, die weiteren Pruefungen unterbleiben.

>#574 +# i5,Z i6,e i7,i e0 #zz 0

Schluss, wenn Zei am Anfang von #574. #180 wird nicht mehr geprueft. Aber 
wenn ich Ihre Beschreibung richtig lese, war das so gemeint.

>#574 +# e0 #zz 0                   XXX Was passiert hier?

Schluss, wenn #574 belegt, egal wie. Das sollte sicher nicht so sein.

>#180 +# e0 #zz 0                   XXX Was passiert hier?

Schluss, wenn #180 belegt. Soll wohl so sein - die Pruefung wird aber nicht 
erreicht, wenn entweder z+?Zeichen in #u1 steht oder #574 belegt ist.

>#uaa +a e0 #zz 0                   XXX Was passiert hier? Was ist #uaa?

#uaa ist die Anwendervariable, die in der naechsten Zeile mit dem Wert "1" 
belegt wird. Sie soll offensichtlich beim ersten auszugebenden Datensatz 
belegt werden und bei den folgenden Saetzen das Ausgeben der Ueberschrift 
unterdruecken. Wenn sie naemlich an dieser Stelle schon belegt ist, wird zu 
#-a gesprungen.

>#000 p"1*" e"*" daa aaa #zz 0

Wenn diese Stelle erreicht wird, wird #uaa mit "1" belegt. Das muesste beim 
ersten auszugebenden Datensatz passieren, die Stelle wird aber nur 
erreicht, wenn
- in #u1 nicht z und das bei mir nicht lesbare Zeichen stehen
- #574 gar nicht belegt ist
- #180 gar nicht belegt ist.

>#t{ 13 10 }
>#000 p"Bei folgenden TA (keine Zeitungen und Zeitschriften) fehlt 
>#180!!!*" e"*" #zz 0
>#-a
>#000 C p"   #"
>#+#
>
>Der Arbeitstext in #u1 wird vorher korrekt als "z" erzeugt. Trotzdem 
>werden die Datensätze, in denen #180 fehlt, nicht mehr ausgedruckt. Das 
>Programm läuft einfach weiter. Vorher stand in #u1 ein großes Z, a wurde 
>unterbrochen.

"a wurde unterbrochen" verstehe ich nicht. Und: welche Konsequenz soll denn 
aus "z" bzw. "z" + nicht lesbares Zeichen in #u1 gezogen werden? Abbrechen? 
Die Pruefung ueberspringen und die ID-Nr. auf jeden Fall ausgeben?

>
>Kann mir jemand trotz der Hitze und der Sommerpause auf die Sprünge helfen?

Wenn ich die ganze Problemstellung richtig verstanden habe, darf bei falsch 
belegter #574 nicht abgebrochen werden, schon gar nicht vor der Pruefung 
der #180. Bei der #u1-Zeile weiss ich es nicht, s. oben. Ausserdem stimmt 
die Reihenfolge der Pruefungen nicht:

#u1 +??? c"z" e0 #zz 0            XXX Was bedeutet +# Eine Sprungmarke?
     Hier koennte +# oder +b stehen, je nachdem
#574 +# i5,Z i6,e i7,i e0 #zz 0
      Wenn #574 mit "Zei..." belegt, dann auf keinen Fall die ID-Nr. 
ausgeben. Richtig?
#180 +# e0 #zz 0                   XXX Was passiert hier?
      Wenn #180 belegt, dann auf keinen Fall die ID-Nr. ausgeben. Richtig?
#574 +b e0 #zz 0                   XXX Was passiert hier?
       Wenn #574 anders belegt und #180 leer, dann ID-Nr. ausgeben
       Wenn #574 gar nicht belegt ist, was soll dann passieren? An diese 
Stelle, vor dem #-b, kommt man nur,
       wenn #574 _und_ #180 beide leer sind. Wenn eine falsch belegte und 
eine leere #574 gleich behandelt
       werden sollen, dann lassen Sie am besten die letzte Zeile _und_ das 
#-b weg.
#-b
#uaa +a e0 #zz 0                   XXX Was passiert hier? Was ist #uaa?
#000 p"1*" e"*" daa aaa #zz 0
#t{ 13 10 }
#000 p"Bei folgenden TA (keine Zeitungen und Zeitschriften) fehlt #180!!!*" 
e"*" #zz 0
#-a
#000 C p"   #"
#+#

Beste Gruesse, Koczian


Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg

Tel.: (0821) 598-2400, Fax : (0821) 598-2410
e-mail : Sibylle.Koczian at Bibliothek.Uni-Augsburg.DE





Mehr Informationen über die Mailingliste Allegro