[Allegro] Version 35.10

Mettler, Jeannette Jeannette.Mettler at kg.berlin.de
Fr Nov 20 09:38:11 CET 2015


Hallo Herr Berger, 

habe nun also den "exec onput" herausgenommen und die Zeile include nextnum.flx  nach end eingefügt. 
var #uoY JL0
ins #uoY
var "b" #uoY    // <praefix = eigenes, gewünschtes Präfix im Datensatz 
ins $$-#9DA              // nicht im Index! #nnn = Feld im Datensatz 
 //put free    // Satz speichern, zugl. TBL freigeben (erst ab V25.9) 
  //set tbl free      //  s. Mails Diskussionsliste: vor dem Aufruf von onput soll die tbl freigegeben werden
input 252    // nicht mehr exec onput - damit nicht mehr Message "TBL freigegeben" erscheint
put free  
show rec    // braucht man das einschl. end?
var ""
ins #uoI
end
include nextnum.flx 
show rec
Es funktioniert soweit alles ganz gut und es wird auch eine Bestellnummer vergeben, aber leider bleibt der Datensatz blau. Selbst ein nochmaliges sho rec hilft nicht. Ist irgendwo der Wurm drin.

Viele Grüße 
Jeannette Mettler


-----Ursprüngliche Nachricht-----
Von: Allegro [mailto:allegro-bounces at biblio.tu-bs.de] Im Auftrag von Thomas Berger
Gesendet: Dienstag, 17. November 2015 16:18
An: Allegro-C Diskussionsliste
Betreff: Re: [Allegro] Version 35.10

Hallo Frau Mettler,


> wir haben unseren o-bestel.flx jetzt so umprogrammiert:
> ....
> yesno Bestellung speichern? (Nein: zurueck zum Formular, Abbruch: 
> loeschen) if no jump form if cancel jump exit
> 
> var 124 ":"
> ins #uoR
> 
> #uoP o b
> #uoF
> var "uoR=" #uoR ", uoF=" #uoF ", uoP=" #uoP "."
> //mes   //war nur für Testzwecke
> set tbl loc           // .TBL blockieren, damit keiner speichern kann 
> perf nextnum          // ermittelt die Nummer, liefert sie in #uoY 
> if ="-1" jump fehler  // Nummernermittlung nicht gelungen

Das folgende

> z=6
> var #uoY JL0
> ins #uoY
> var "b" #uoY    // <praefix = eigenes, gewünschtes Präfix im Datensatz 
> ins $$-#9DA              // nicht im Index! #nnn = Feld im Datensatz

zeigt, dass nextnum.flx wohl noch nicht flexibel genug ist:
Man koennte dort zwar das Praefix "b" einstellen, muesste dann aber auf die Buendigkeit (auf 6 Stellen mit Nullen aufgefuellt) verzichten. Was dann wiederum Probleme gibt, wenn sich beim Hochzaehlen der Nummer die Stellenzahl aendert...


> input 252 
> put free    // Satz speichern, zugl. TBL freigeben (erst ab V25.9) 
> //set tbl free      //  s. Mails Diskussionsliste: vor dem Aufruf von onput soll die tbl freigegeben werden
> exec onput
> include nextnum.flx
> 
> 
> show rec    // braucht man das einschl. end?
> var ""
> ins #uoI
> end
> 
> .....
> 
> 
> Komischerweise funktioniert es so korrekt, aber nicht, wenn man exec 
> onput wegnimmt, obwohl jetzt onput.flx nicht ausgeführt wird. ????

> Schadet es wenn wir es so belassen - konnten bisher beim Testen noch 
> kein Problem feststellen.

Das "exec onput" speichert den Satz noch einmal und aktualisiert dabei die Anzeige. Dieser Aufruf kehrt nicht zurueck, und das ist vermutlich Ihr Problem "funktioniert nicht korrekt" gewesen:

Ohne dieses "exec ..." wird ja nach dem Speichern mittels "put free"
das ausgefuehrt, das durch das "include nextnum.flx" an dieser Stelle in Ihren o-bestel.flx eingebunden ist: Also wird noch einmal die Nummernvergabe ausgefuehrt, die darin enthaltenen abschliessenden "return" haben aber keine Wirkung (die Sache wurde diesmal ja nicht mit "perform" aufgerufen, sondern die Abarbeitung ist einfach so in das Unterprogramm hineingelaufen) und endet daher bei einem abschliessenden "end" irgendwo in nextnum.flx: Ihr show rec und so weiter wird dann auch nicht ausgefuehrt. (soweit die Theorie. In durch Sie inspirierten Mails der letzten Woche habe ich ja aufgezeigt, dass nextnum.flx recht unsensibel ist und den aktuellen Satz wieder eingelbt)

Versuchen Sie es doch einmal ohne das "exec onput", aber mit einer Verlagerung der Zeile include nextnum.flx

hinter die Zeile mit dem

end

die Sie oben gezeigt haben (z.B., es darf gerne ein beliebiges "end"
im Flex sein, auch andere Stellen sind o.k., Hauptsache es ist gewaehrleistet dass da nichts aus Versehen hineinrasseln kann)

viele Gruesse
Thomas Berger


_______________________________________________
Allegro mailing list
Allegro at biblio.tu-bs.de
http://sunny5.biblio.etc.tu-bs.de/mailman/listinfo/allegro



Mehr Informationen über die Mailingliste Allegro