SQL を使用する ILE RPG アプリケーションでの SQL 連絡域の定義

SQL プリコンパイラーは、SET OPTION SQLCA = *NO ステートメントが指定されていない限り、ILE RPG プログラムの最初の演算仕様の前の定義仕様に SQL 連絡域 (SQLCA) を自動的に入れます。

INCLUDE SQLCA をソース・プログラムにコーディングする必要はありません。ソース・プログラムに INCLUDE SQLCA を指定した場合、そのステートメントは 受け入れられますが、余分なものとして扱われます。ILE RPG 用の SQLCA ソース・ステートメントは、 次のようになります。

 D*      SQL COMMUNICATION AREA                                  
 D SQLCA           DS                                            
 D  SQLCAID                       8A   INZ(X'0000000000000000')  
 D  SQLAID                        8A   OVERLAY(SQLCAID)          
 D  SQLCABC                      10I 0                           
 D  SQLABC                        9B 0 OVERLAY(SQLCABC)          
 D  SQLCODE                      10I 0                           
 D  SQLCOD                        9B 0 OVERLAY(SQLCODE)          
 D  SQLERRML                      5I 0                           
 D  SQLERL                        4B 0 OVERLAY(SQLERRML)         
 D  SQLERRMC                     70A                             
 D  SQLERM                       70A   OVERLAY(SQLERRMC)         
 D  SQLERRP                       8A                             
 D  SQLERP                        8A   OVERLAY(SQLERRP)          
 D  SQLERR                       24A                          
 D   SQLER1                       9B 0 OVERLAY(SQLERR:*NEXT)  
 D   SQLER2                       9B 0 OVERLAY(SQLERR:*NEXT)  
 D   SQLER3                       9B 0 OVERLAY(SQLERR:*NEXT)  
 D   SQLER4                       9B 0 OVERLAY(SQLERR:*NEXT)  
 D   SQLER5                       9B 0 OVERLAY(SQLERR:*NEXT)  
 D   SQLER6                       9B 0 OVERLAY(SQLERR:*NEXT)  
 D   SQLERRD                     10I 0 DIM(6)  OVERLAY(SQLERR)
 D  SQLWRN                       11A                          
 D   SQLWN0                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN1                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN2                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN3                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN4                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN5                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN6                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN7                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN8                       1A   OVERLAY(SQLWRN:*NEXT)  
 D   SQLWN9                       1A   OVERLAY(SQLWRN:*NEXT)                
 D   SQLWNA                       1A   OVERLAY(SQLWRN:*NEXT)                
 D  SQLWARN                       1A   DIM(11) OVERLAY(SQLWRN)              
 D  SQLSTATE                      5A                                        
 D  SQLSTT                        5A   OVERLAY(SQLSTATE)                    
 D*  END OF SQLCA                                                

SET OPTION SQLCA = *NO ステートメントが見つかった場合、SQL プリコンパイラーは、SQLCODE 変数および SQLSTATE 変数を定義仕様に自動的に入れます。 これらの変数は、SQLCA が組み込まれていない場合、 次のように定義されます。

D SQLCODE           S           10I 0 
D SQLSTATE          S            5A