View Full Version : Problem mit LDA / *NAMVAR
Habe folgende statmements in meinem porgramm:
*LOCK IN *NAMVAR
MOVELLDA#PA #VKAUF
CLEAR#LDA
*LOCK OUT *NAMVAR
wenn ich im debuger auf dem statement *LOCK IN ... bin, hat LDA#PA noch werte drinn.Sobald ich aber F5 mache und aufs nächste statement gehe, hat LDA#PA *BLANKS drinn. Wiso kann dies passieren?
Merci für eure hilfe!
kuempi von stein
15-03-05, 14:01
Habe folgende statmements in meinem porgramm:
*LOCK IN *NAMVAR
MOVELLDA#PA #VKAUF
CLEAR#LDA
*LOCK OUT *NAMVAR
wenn ich im debuger auf dem statement *LOCK IN ... bin, hat LDA#PA noch werte drinn.Sobald ich aber F5 mache und aufs nächste statement gehe, hat LDA#PA *BLANKS drinn. Wiso kann dies passieren?
Merci für eure hilfe!na ja,
einfach gesagt, ist der debugger immer eine zeile hinterher...
wenn also die 5 highlighted ist, dann bist du sozusagen auf der 4 (ist die 4 abgearbeitet) ....
jedenfalls ist das hier bei mir so.
dann gibts da natürlich noch das problem, das eine sourcezeile nicht unbedingt eine echte anweisungzeile ist.. aber das ist eine andere geschichte...
k.
geändert:
mhh.. umsomehr ich drüber nachdenke...
ist nicht die antwort auf deine frage, gell?
mhh.
hi sunhole
ist dein lda ein datenbereich, oder tatsächlich der locale datenbereich?
dazu aus der rpg-fibel:
enthält faktor 2 den namen des lokalen datenbereichs oder des pip-datenbereichs (program initialization parameters), darf faktor 1 keinen Eintrag enthalten.
lg
hans-joachim
kuempi von stein
15-03-05, 14:25
na ja,
.
also... neuer versuch...
laut handbuch werden alle dtaaras gelesen bei deiner in - operation.
wie und wo ist denn LDA#PA definiert?
k.
OK die LDA ist ind den I-Zeilen definiert:
I#LDA DS
I 1 10 LDA#ID
I 11 200 LDA#PA
und initialisiert wird si wie folgt:
C *NAMVAR DEFN *LDA #LDA
C CLEAR#LDA
C MOVEL*BLANKS LDA#PA
kuempi von stein
15-03-05, 14:46
OK die LDA ist ind den I-Zeilen definiert:
I#LDA DS
I 1 10 LDA#ID
I 11 200 LDA#PA
und initialisiert wird si wie folgt:
C *NAMVAR DEFN *LDA #LDA
C CLEAR#LDA
C MOVEL*BLANKS LDA#PA
joo, nun ist alles klaro...
durch die zeile *LOCK IN *NAMVAR
wird die dtaaara #LDA eingelesen und das "unterfeld" LDA#PA auf den gelesenen wert gesetzt.
in deinem falle scheint die dtaara #LDA wohl an position 11 bis xx nix stehen zu haben...
deshalb ist nach der IN - operation die variabel LDA#PA leer...
k.
OK die LDA ist ind den I-Zeilen definiert:
I#LDA DS
heißt es nicht U (U eingeben , wenn dies eine Datenbereichs-Datenstruktur ist) DS
lg
Hans-Joachim
Normalerweise sieht das für *LDA so aus:
IMYLDA DS
C *NAMVAR DEFN *LDA MYLDA
C IN MYLDA
C OUT MYLDA
Ein *LOCK ist absolut unnötig, da die *LDA auf den Job beschränkt ist.
"IN" liest und "OUT" schreibt, wenn ich also erst die Variablen fülle und anschließend mit IN lese, ist halt nix drin.
Hab den Fehler gefunden. Lag tatsächlich darann, dass ich die LDA nachher gelesen habe. IN-Statement zu spät :) Merci!