[Allegro] Absturz von A99

Heinrich Allers allers at t-online.de
Fr Apr 1 12:11:32 CEST 2011


Hallo Herr Fischer:

> ich habe festgestellt, dass die Zeile
> 
> #cc +B i2,1
> 
> in einer Exportparameterdatei mit ziemlicher Sicherheit A99 abstürzen lässt.
> Verstoße ich da gegen ein irgendwo gegebenes Gesetz?

Nein, diese Anweisung ist korrekt.- Ich habe die von Ihnen erlebten a99-Abstürze aber nicht zu 
reproduzieren vermocht: als Testausgabeminiparameterdatei benutzte ich die folgende:

zl=0
#31s e";"
#t{"\par "} 
#cc +B i2,1
#t{"\par Auf Position 2 steht was anderes als 1"}
#+#
#-B
#t{"\par Auf Position 2 steht eine 1"}

Um den Abstürzen bei Ihnen auf die Spur zu kommen, müßte man also mehr von dem wissen, was in 
Ihrer Parameterdatei im Anschluß an die Sprungmarke #-B passiert, was auf die Zeile
'#cc +B i2,1'  unmittelbar folgt (also dann ausgeführt wird, wenn die Bedingung i2,1 nicht erfüllt ist), 
vielleicht auch (aber eher nicht), was vor Abarbeitung der Zeile
'#cc +B i2,1' passiert.

> Ich merke auch, das ich bei näherer Betrachtung die Äquivalenz der beiden Beschreibungen
> 
> ik,x	4	Anweisung nur fortsetzen, wenn auf Position k das Zeichen x steht
> 		(Position 1 = erste Kategorieziffer)		[201]	 
> 
> und
> 
> ik,x	Indikatorprüfung: die Position k (= 1...255) im Kategorietext (#cc)
> 	wird verglichen mit dem Zeichen x. 

Die Indikatorprüfung ik,x ist ein _Manipulationsbefehl_, der in eine Anweisungszeile eingestreut werden 
kann (und muß), wie z.B.
#31s b";" i2,1e";" 

> nicht verstehe, und auch das Verhältnis zu
> 
> #ik,x A

Das ist kein Manipulationsfehl, kann nicht in Anweisungszeilen zur Manipulation von Arbeitstexten 
eingestreut werden, sondern bildet einen eigenen Befehl, der als solcher schon eine Anweisungszeile in 
einer Parameterdatei konstituiert (eine vollständige Anweisungszeile darstellt). Es handelt sich hier um 
einen "Steuerbefehl".

> ist mir nicht ganz klar.
> Hiermit gibt es wohl keinen Sprungbefehl,

Nein, nach Dokumentation (Systemhandbuch 10.2.6.4) nicht.

> sondern nur einen Unterprogrammaufruf?

Ja, und Zwischenteilnummern können für A gesetzt werden.- Beispiele für die Verwendung des 
Steuerbfehls #ik,x wären also:

23="; "
...
#i2,1 23
...

oder

#i2,1 >U
...
#(U
...
#)U


Mit besten Grüßen von

Heinrich Allers

allers at t-online.de * http://www.h-allers.de
Netztagebuch: http://heinrich-erlo-ger.blogspot.com/
Bitácora: http://heinrich-erlo-spa.blogspot.com/

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://bibservices.biblio.etc.tu-bs.de/pipermail/allegro/attachments/20110401/d330f396/attachment.html>


Mehr Informationen über die Mailingliste Allegro