Hallo,
ich habe mir ein kleines SQL Prog geschrieben um festzustellen ob es die Eingabe des Users auch wirklich gibt. Beim 1. Aufruf des Prog. klappt alles wunderbar nur wenn ich beim 1. Aufruf einen falchen Wert eingebe und danach einen Richtigen, der funktioniert wenn ich ihn zuerst eingebe, bekomme ich wieder SQLCOD=100 obwohl es den Wert ja gibt. Was mache ich falsch?
Mein Code:
PHP-Code:
H DftActGrp(*NO) ActGrp(*CALLER)
H alwnull(*USRCTL)
/COPY LIB/FILE,DAVCOPY
DAUFNEHM PR EXTPGM('DAVSQL01')
D PARM1 likeds(DAV)
D PARM2 1A
D PARM4 like(SQLCOD)
D PARM5 LIKE(SQLSTT)
DAUFNEHM PI
D DAVDS likeds(DAV)
D fcall 1A
D SQLC LIKE(SQLCOD)
D SQLS LIKE(SQLSTT)
C eval SQLCOD=0
C eval fcall='J'
C/EXEC SQL
C+ Declare MyCsr Cursor for
C+ Select FIRKEN From LIB/FILE Where FIRKEN = :DAVDS.FIRKEN
C/End-Exec
C/EXEC SQL
C+ Open MyCsr
C/END-EXEC
C
C/EXEC SQL
C+ Fetch MyCsr
C+ into :DAVDS
C/END-EXEC
C if SQLCOD = 100
C or SQLCOD < *ZEROS
C eval fcall='E'
C eval *inlr=*on
C return
C elseif SQLCOD<>0 AND SQLCOD<>100 AND SQLCOD<>326
C eval fcall='F'
C eval SQLC=SQLCOD
C eval SQLS=SQLSTT
C eval *inlr=*on
C return
C endif
C/EXEC SQL
C+ Close MyCsr
C/END-EXEC
C eval *inlr=*on
C return
Gruß Martin
Bookmarks