Hallo zusammen,
ich habe ein seltsames Ergebnis bei einem Lookup auf eine RPG-Tabelle
Definition:
PHP-Code:
0015.00 D*
0016.00 D TAB001 S 1 DIM(6) CTDATA PERRCD(1) ZAHL-MODUS
0017.00 D TAB002 S 15 DIM(6) ALT(TAB001)
0018.00 D*
Ausführung im Programm
PHP-Code:
C A01MOD LOOKUP TAB001 TAB002 21
C *IN21 IFEQ '1'
C MOVEL TAB002 MODUS
C ELSE
C MOVE *BLANKS MODUS
C MOVEL A01MOD MODUS
C MOVE 'ERROR' MODUS
C END
Vor und nach Ausführung der ersten Anweisung zeigt mir der Debugger in der Variablen TAB002 den Wert 88natlich und beim zweiten Satz der ausgegeben wird 18natlich an. Wo die Zahlen herkommen ist für mich ein Rätsel. Ich dachte erst er kommt in den ELSE-Zweig aber da kommt er nicht rein. Vor allem Stellt er dieses Ergebnis auch in die Variable MODUS.
Tabellendefinition sieht wie folgt aus:
PHP-Code:
** Zahlungs-Modus
MMonatlich
QVierteljährlich
1Jährl. Januar
2Jährl. April
3Jährl. Juli
4Jährl. Oktober
Kann sein dass dies ein mit CVTRPGSRC konvertiertes RPGIII Programm ist und bei der Konvertierung ein Fehler unterlaufen ist oder habt ihr eine Idee.
Inzwischen denke ich riecht das nach PTF
Vor dem CALL auf ein Programm steht noch in TAB002 monatlich drin. Nach dem CALL auf das Programm steht 88natlich drin. TAB002 ist nicht in Parameter des Programms in irgendeiner weise verwickelt.
Danke im Voraus
Viele Grüße Harald
Bookmarks