[Allegro] Akute Probleme mit Version v35.2

Thomas Berger ThB at Gymel.com
Do Mär 5 09:40:25 CET 2015


Lieber Herr Eversberg, liebe Liste,

> In diesem Fall hatte ich verfrüht frohlockt, weil ich eins nicht
> gemerkt hatte: Die CFG meiner Testbank hatte keinen Eintrag ce,
> d.h. es wurde kein Zeitstempel gemacht beim Speichern. Dieser

das ist mir auch schon einmal an der Demo-Datenbank aufgefallen,
dass diese Daten i.W. ohne Datumskategorien und damit etwas
atypisch sind...


> jedoch bewirkt, daß ein Flag verändert wird, das den Zustand des
> Satzes kennzeichnet, direkt vor dem eigentlichen Speichern. Das also
> passierte bei mir nicht, und dann trat das Problem nicht auf. Die
> Farbveränderung ist eine Folge des gelungenen Speicherns, damit
> hängt das zusammen, aber noch mehr ins Detail soll hier nicht gegangen
> werden.
> Jedenfalls und immerhin konnten nebenbei ein paar Kommentare in den
> sehr verworren wirkenden Quellen verbessert und ergänzt werden.

Es steht bestimmt im Listenarchiv, denn ich erinnere mich dunkel an
lange Diskussionen vor einigen Jahren, auch zu Unterschieden zwischen
PRESTO und a99 bzw. dem Handbuch und der tatsaechlichen Implementierung.
Wenn Sie das soeben im Code nachkommentiert haben, koennen Sie vielleicht
aus der Lameng kommentieren:

cat.api erwaehnt auch den zweiten Durchlauf der PV im Zusammenhang mit
dem Speichern:

#u2 +N c"N" e0       nach Identnr.-generierung -> #-N
#u2 +B c"s" e0       vor dem Speichern: Bestellnr

Mein Stand ist, dass der Zustand "s" zuerst durchlaufen wird, hier
kann (durch Generieren einer Meldung) das Speichern noch verhindert
werden, oder - aufgrund Analyse des Datensatzes - noch schnell ein
passenderes Identnummernmuster in #00 hinterlegt werden. Vermutlich
koennte viel dort vom onput.flx abgehandelt werden, der Unterschied
ist allerdings, dass dieser Abschnitt *immer* durchlaufen wird, also
auch bei "put" (im Gegensatz zu Put) in a99 oder bei Verarbeitung
mit acon [dort muss evtl. "-" das erste Zeichen der Meldung sein, damit
das Speichern unterbleibt???].

Spaeter dann wird die Routine im Zustand "N" durchlaufen, das Abspeichern
laesst sich nicht mehr verhindern (die Satztabelle wurde bereits gesperrt,
um zuverlaessig eine Identnummer generieren zu koennen und ist immer noch
gesperrt, da das eigentliche Speichern noch aussteht).
Ich habe das selten genutzt, in einer Anwendung etwa, um ein Log der letzten 5
Bearbeitungsstempel in einer Kategorie anzulegen, oder nachtraeglich
die frisch generierte Identnummer um fuehrende Nullen zu erleichtern. D.h.
es *war* zumindest einmal so, dass dieser Zustand *nach* Zeitstempelvergabe
und Identnummernexpansion durchlaufen wurde [es kann auch sein, dass hier
ein Unterschied zwischen a99 und PRESTO besteht so dass der Abschnitt in
a99 voellig uninteressant geworden ist]. Ob dieser Abschnitt eine Ausgabe
produzieren durfte oder darf und was damit gemacht werden soll, weiss ich
nicht.

Sie haben oben geschildert, dass bei einem Abbruch im Zustand "s" das
Faerbeproblem durch eine bereits erfolgte Zeitstempelermittlung ausgeloest
worden ist, das kann - so wie ich mich an die Methodik erinnere - eigentlich
gar nicht sein (da das zwischen "s" und "N", also dediziert /nach "s"/
erfolgen muss) und erfordert evtl., dass Sie da noch einmal genauer hinschauen.

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro