サポートチーム便り2010.01.08
CRTSQLRPGIのコンパイル・オプション
Question
プリプロセッサーが条件付きディレクティブを処理するよう強制的に SQL を事前コンパイルしようとしています。Create SQL ILE RPG Object (CRTSQLRPGI) コマンドにコンパイル・オプション RPGPPOPT(*LVL1) または RPGPPOPT(*LVL2) を組み込んで、これを行う方法はありませんか。
Answer
CompileOpt を SET OPTION-Statement に指定できます。
例えば、次のようになります。
C/Exec SQL Set Option COMPILEOPT = 'RPGPPOPT(*LVL1)';
C/End-Exec
次の条件に注意してください。
- SET OPTION ステートメントはソース・コードの最初の SQL ステートメントとして指定する必要があります。
- SET OPTION ステートメントは実行されません。コンパイラー・オプション (= SQL-Statement の H 仕様) だけ記載されています。
- ソース・メンバーに許可されている set option ステートメントは 1 つだけです。コードにすでに set option ステートメントが存在する場合、このステートメントにコンパイル・オプションを追加するだけです。
- SQL プリプロセッサーはネストされた /COPY ディレクティブはサポートしません。代わりに /INCLUDE を使用してください。