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