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(*NOActGrp(*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                                            
CSelect 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<>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