Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/REXX/   (Script-Werkzeug ©)  Datei vom 2.3.2012 mit Größe 7 kB image not shown  

Quelle  ESQL.REXX   Sprache: REXX

 
/* REXX                                                            */           
/*                                                                 */           
/* Ausführung von SQL STatements                                   */           
/* aus ...                       kopiert                           */           
/*                                                                 */           
/*-----------------------------------------------------------------*/           
                                                                                
arg STATEMENT                                                                   
call init                                                                       
call db2_connect                                                                
call do_select                                                                  
call db2_disconnect                                                             
return count                                                                    
                                                                                
do_select:                                                                      
 ADDRESS DSNREXX                                                                
 "EXECSQL DECLARE C1 CURSOR FOR S1"                                             
 sqlcall="SCMRCRE: DECLARE"                                                     
 rc=check_sqlcode(SQLCODE);                                                     
 "EXECSQL PREPARE S1 INTO :OUTSQLDA FROM :STATEMENT"                            
 sqlcall="SCMRCRE: PREPARE"                                                     
 rc=check_sqlcode(SQLCODE);                                                     
 "EXECSQL OPEN C1"                                                              
 sqlcall="SCMRCRE: OPEN CURSOR"                                                 
 rc=check_sqlcode(SQLCODE);                                                     
 "EXECSQL FETCH C1 USING DESCRIPTOR :OUTSQLDA"                                  
 count=0                                                                        
 Do while(SQLCODE = 0)                                                          
    Do i = 1 To OUTSQLDA.SQLD                                                   
     queue OUTSQLDA.i.SQLDATA                                                   
     count=count+1                                                              
    end                                                                         
    "EXECSQL FETCH C1 USING DESCRIPTOR :OUTSQLDA"                               
 end                                                                            
 sql_result.0 = linenr                                                          
 SQLCALL="SCMRCRE: FETCH CURSOR"                                                
 rc=check_sqlcode(SQLCODE);                                                     
 "EXECSQL CLOSE C1"                                                             
 sqlcall="SCMRCRE: CLOSE CURSOR"                                                
 rc=check_sqlcode(SQLCODE);                                                     
 return rc                                                                      
                                                                                
init:                                                                           
 ssid   = 'DB31'                                                                
 creator= '$DB3EPV9'                                                            
 table  = 'PV0I1T'                                                              
 panel  = 'LINESOFC'                                                            
 rc = 0                                                                         
 STEPLIBS = "'DB3A.SDSNEXIT','DB3A.SDSNLOAD'"    /* DB2 */                      
 return rc                                                                      
                                                                                
db2_connect:                                                                    
 address tso "alloc dd(STEPLIBX) DA("steplibs") shr reu"                        
 SUBCOM DSNREXX                     /* set up host environment */               
 IF RC THEN                         /* is host command there */                 
  x = RXSUBCOM(ADD,DSNREXX,DSNREXX) /* no: so create it */                      
 ADDRESS DSNREXX                                                                
 'CONNECT' ssid                                                                 
 sqlcall="SCMRCRE: Connect to DB2"                                              
 rc=check_sqlcode(SQLCODE);                                                     
 return rc                                                                      
                                                                                
db2_disconnect:                                                                 
 ADDRESS DSNREXX                                                                
 "DISCONNECT"                                                                   
 sqlcall="SCMRCRE: DISCONNECT"                                                  
 rcc=check_sqlcode(SQLCODE);                                                    
 address tso "free dd(STEPLIBX)"                                                
 return rcc                                                                     
                                                                                
check_sqlcode:                                                                  
 IF SQLCODE = 0 THEN RETURN 0;                                                  
 IF SQLCODE = 100 THEN RETURN 0;    /* Fetch auf letzten Satz */                
 SAY "Error detected at" sqlcall                                                
 SAY "SQLCODE =" SQLCODE                                                       
 SAY "RETCODE =" RETCODE                                                       
 SAY "SQLSTATE =" SQLSTATE                                                      
 SAY "SQLERRMC =" SQLERRMC                                                      
 SAY "SQLERRP =" SQLERRP                                                       
 SAY "SQLERRD =" SQLERRD.1 ,                                                   
  !! SQLERRD.2 ,                                                                
  !! SQLERRD.3 ,                                                                
  !! SQLERRD.4 ,                                                                
  !! SQLERRD.5 ,                                                                
  !! SQLERRD.6                                                                  
 SAY SQLWARN =SQLWARN.0 ,                                                       
  !! SQLWARN.1 ,                                                                
  !! SQLWARN.2 ,                                                                
  !! SQLWARN.3 ,                                                                
  !! SQLWARN.4 ,                                                                
  !! SQLWARN.5 ,                                                                
  !! SQLWARN.6 ,                                                                
  !! SQLWARN.7 ,                                                                
  !! SQLWARN.8 ,                                                                
  !! SQLWARN.9 ,                                                                
  !! SQLWARN.10                                                                 
 ADDRESS DSNREXX EXECSQL 'ROLLBACK'                                             
 return SQLCODE_SAVE                                                            

86%


¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.