[Allegro] FLEX-Probleme mit hierarchischen Untersätzen

Thomas Berger ThB at Gymel.com
Mi Jan 15 10:34:55 CET 2014


Lieber Herr Eversberg,

>> Sie schrieben (gestern, 10:39, einen Teil einer frueheren Mail zitierend):
>> "Wir werden das für beide Programme richten" und mir ist an der
>> Stelle leider nicht mehr klar, was "das" ist:
>> - Das generelle Verhalten auch von der Hauptaufnahme aus
>> - Das Verhalten von einer Unteraufnahme aus
>> - Das ebenfalls vorher angemerkte Problem des "Merkens" einer
>>    Unteraufnahmeneinstellung.
>>
> Einzig das Problem, das mit der Betreffzeile angesprochen und in
> der ersten Mail beschrieben war. Das Mißverständnis lag allein bei
> Ihnen, meine Darstellung war eindeutig und bezog sich allein auf FLEX
> und das derzeitige Verhalten von "var #nnn" und "if #mmm".

bereits in der ersten Mail wurde zwar evtl. nur ein Problem
benannt, aber zwei Teilaspekte thematisiert.

Verstanden habe ich, dass "var #76" /in dem Fall, wo ich in
einer Unteraufnahme bin/, nach Korrektur exakt den Zustand
von #76 /in dieser Unteraufnahme/ reflektieren soll.

Leider immer noch nicht verstanden habe ich, was "var #76"
tun wird, wenn ich mich in einer /Hauptaufnahme/ befinde, die selbst
keine #76 enthaelt, wobei es aber (mindestens) eine hierarchische
Unteraufnahme gibt, die #76 belegt hat.



>>>> Wie kann ich uebrigens das Verhalten "durchlaufe die echt untergeordneten"
>>>> bzw. "durchlaufe die echt uebergeordneten" denn mit Flex-Mitteln
>>>> nachprogrammieren?
>>> Dazu dient der Befehl "sub" samt "first sub" usw.
>>
>> Schon klar. Aber die "echt uebergeordneten" sind eine Teilmenge
>> der vorangehenden Untersaetze und ...
> 
> Hier eilt Ihre Phantasie wieder auf und davon, für uns uneinholbar,
> zugegeben.
> Der tatsächliche Bedarf, so wie er sich uns bislang in 30 Jahren
> dargestellt hat, ist von alledem wenig berührt.

Wenn Sie das Verhalten von "var #kkf" aendern, kann der Bedarf
schnell enstehen: Wir vermuten zwar, dass es keine Anwendungen
gibt, die vom derzeitige Verhalten der Konstruktion abhaengen,
sicher sind wir aber nicht. Insofern ist die Ueberlegung
angebracht, ob (bzw. wie ungefaehr) das alte Verhalten im Fall
des Falles mit Mitteln der Flexsprache nachgebaut werden kann.

Konkret: Ich befinde mich in einer hierarchischen Unteraufnahme
ohne #76 und bislang hat mir "var #76" etwas geliefert, nun
bekomme ich nichts mehr und muss es mir selber aus den /dieser/
Unteraufnahme untergeordneten Unterunteraufnahmen herbeisuchen.
Mit "next sub" bis zum Ende kann ich das "ominoese" bisherige
Verhalten leider exakt nachbilden, naheliegend ist allerdings,
es "richtig" hinzubekommen, wo man sich schon die Muehe macht,
es selber zu programmieren. Also die Frage: "Wo stoppen". Und
selbst wenn nicht, muss man anschliessend zu der Unteraufnahme
zurueckfinden, die der Ausgangspunkt war:

Die Dokumentation zum Flex-Befehl "sub" erwaehnt die ALFA-
Flexe, in der d-wrtf.apr scheint mir das allerdings so implementiert,
dass es nur dann funktioniert, wenn jede der Kategorien #0x
im Datensatz eindeutig ist, also insbesondere dort nicht steht
#01 Bd. 1
...
#02 T. 2
...
#01 Bd. 2
...
#02 T. 2
...

sondern die tieferen Stufen die gesamte Hierarchie rekapitulieren:
#02 Bd. 1, T 2.
oder
#02 Bd. 1,2

Wenn man sich die Konstruktion von #hi in der Exportsprache ansieht,
ist das - so sinnvoll es sein mag - aber eigentlich gerade nicht das
Paradigma, das hier vor Jahrzehnten zugrundegelegen haben mag, denn
in dem Fall ist ja #hi Bd. 1,Bd. 1, T 2. (nicht getestet)


> Man muß aber immer wieder sagen: Es gibt in FLEX die Möglichkeit,
> externe Logik einzubinden, indem man Daten ausgibt, z.B. in XML
> eingemummt, ein Programm startet, das diese dann verhackstückt, und
> dann das Produkt wieder einliest und in FLEX den Job zum Ende bringt,
> denn FLEX kann immerhin XML wieder entblättern. Also setzen Sie doch in
> komplexeren Fällen, mit denen FLEX überfordert ist, einen
> XSLT-Prozessor und XPATH-Logik drauf an - das alles muß
> doch allegro nicht selber können, in dieser unserer Zeit!

Dies auf die Problemstellung "hole #76 aus einer Unteraufnahme,
sofern vorhanden" scheint mir ziemlich uebertrieben...

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro