[Allegro] Kategorie-Wh-Zeichen ";"

Thomas Berger ThB at Gymel.com
Do Dez 22 17:06:41 CET 2011


Lieber Herr Eversberg,

>> Tut mir leid, irgendwie stehe ich auf dem Schlauch:
>> Klar kann man "~" beibringen, auch noch das ";" zu
>> ueberspringen (egal ob die .CFG ein $M hat oder nicht),
>> aber hat das wirklich noch etwas damit zu tun, dass das
>> explizite "ins #300;" von Herrn Oberfell einen sehr
>> unerwarteten (und sehr beunruhigenden) Effekt hatte?
>
> Ja, denn gäbe es kein solches Feld, weil beim insert mit ~
> der Wert ; übersprungen wird, dann braucht er auch kein
> ins #300; mehr. Wenn ich das richtig verstanden habe.

Meine Interpretation: Irgendwas ist bei "~" schiefgegangen
und Herr Oberfell hat das Problem heruntergekocht auf
den Fall mit der expliziten Zuweisung an #300;
Der ist nun in der Welt. Wenn "~" immer schon das ";"
ausgelassen haette, haette Herr Oberfell das Problem
wahrscheinlich nicht entdeckt, nun ist es aber so und
Herumwerkeln an "~" kann nicht die einzige oder wichtigere
Massnahme sein.


>>> Doch, auch, denn beim automatischen Hochzaehlen konnten sich dann
>>> ja beliebige Werte ergeben, wenn die vorgegebene Liste in der CFG
>>> nicht mehr dabei beachtet wurde.
>>
>> naja, aber problematische Zeichen wurden erst recht getroffen,
>> wenn die CFG nichts eingeschraenkt hat. Und die waren
>> dann programmatisch oft gar nicht mehr zugaenglich, d.h. die
>> ~-Konstruktion hat sie ueberspringen muessen (ohne dabei
>> den abzuspeichernden Inhalt zu vernichten)
>>
>>
> Also gut, welche müßten noch vernichtet werden?

Kein Inhalt darf jemals vernichtet werden (o.k., wenn die
Kategorie als ganze nicht definiert ist, dann wird sie
beim Update tatsaechlich vernichtet und das ist allgemein
akzeptiert - sonst haette man ja auch verborgene Inhalte
in der Datenbank, die man niemals sehen koennte und auch
niemals exportieren: Fuer alle praktischen Zwecke waeren
sie also sowieso nicht vorhanden)


> Oder was sonst schlagen Sie konkret vor? Die von mir
> angedachte Maximal- oder auch nur Optimallösung kriegen wir nicht so
> rasch hin ...

Es gibt ein ganz konkretes Problem, das Herr Oberfell
aufgezeigt hat und auch nicht erklaerbar ist mit einer
Steuerzeichenbedeutung von ";" in acon-Jobs (dann waere
ja ein korrekter Inhalt ohne "|" in der falschen Kategorie,
naemlich #300, gelandet; es ist aber ein falscher Inhalt
in der richtigen Kategorie #300; angekommen). Wenn das
geloest wird, kann das latente und theoretische Problem,
dass Folgebuchstaben ";" in Flexen und Jobs ggfls. mit
der Steuerbedeutung von ";" bei if-Konstruktionen kollidieren,
erst einmal ruhen lassen und braucht auch am Verhalten von
"~" nichts zu aendern.

Zweitens gab es die fundamentale Frage von Herrn Oberfell, ob
naemlich "~"-Konstruktionen die Vorgaben von $M in der Kategorie-
definition aus der .CFG-Datei beruecksichtigen sollen, nebst der
Beobachtung, dass das derzeit zwischen den Modulen uneinheitlich
ist. Ich kann dazu beisteuern, dass dabei auch noch der Aspekt
der Reihenfolge der Notation der erlaubten Zeichen in der .CFG-Datei
eine Rolle spielt, definiert man eine Nicht-ASCII-Reihenfolge,
etwa
#40$Mabc012
dann hat man in a99-Formularen bereits unerwartete Effekte
"jenseits" von "c", moeglicherweise in Abhaengigkeit von der
Setzung "Ma" oder "M2" fuer den "automatischen" Folgebuchstaben
in den nicht-$M-Faellen.

Hier ist mir nicht klar, ob eine "~"-Konstruktion beim Ueberlauf
Inhalte vernichten sollte oder aber aus dem via $M definierten
Pool von Folgebuchstaben ausbrechen darf / soll. Und dementsprechend
ist auch nicht klar, ob sich "~" ueberhaupt an $M orientieren
sollte. Oder ob das Verhalten undefiniert bleiben sollte, weil
die Konstellation "~" plus $M nicht so spezifizierbar ist, dass
ueberwiegend die Erwartungen getroffen werden. Vorhandene Parameter-
dateien nutzen das Feature allerdings, etwa die Importparameter-
dateien fuer MAB, wo mit "#40~" operiert wird. Hier wird aber
jeweils nur eine Folgekategorie importiert, d.h. das Design
der Parameterdatei regelt, dass es zu keinem Ueberlauf kommen
kann und die ausgelieferte $A.CFG regelt, dass es zu keinen
Irritationen bezueglich Reihenfolge kommt: Insgesamt also ein
Fall, der noch als halbwegs wohldefiniert angesehen werden kann.

viele Gruesse
Thomas Berger





Mehr Informationen über die Mailingliste Allegro