入力 Db2 precompiler
プリコンパイラーへの入力となるものは、主に、ホスト・プログラム言語 で書かれたステートメントと組み込み SQL ステートメントです。
SQL INCLUDE ステートメントを使用すると、インクルード・ライブラリー SYSLIB か ら 2 次入力を得ることができます。 SQL INCLUDE ステートメントは、SYSLIB の特定メンバーから、そのメンバーの終わり に達するまで入力を読み取ります。
プリコンパイラーのソース・ステートメントは、PL/I マクロ・プリプロセッサー などの、別のプリプロセッサーによって生成することができます。 プリコンパイラーの前に実行されるプリプロセッサーは、 いずれも、SQL ステートメントを渡せるようになっていなければなりません。 同様に、プリコンパイラーによって処理されるソース・コードは、 プリコンパイルされた後で、コンパイルまたはアセンブルされる前に、 別のプリプロセッサーで処理することができます。
Db2 precompiler への入力には、以下の制限があります
- Db2 がプリコンパイルできるソース・プログラムのサイズは、領域サイズとプリコンパイラーで使用可能な仮想メモリーに制限されます。 これらの容量は、それぞれのシステム・インストール済み環境で異なります。
- プリコンパイラーを経由して渡すことができるソース・ステートメントの形式には制限があります。 例えば、ホスト・コンパイラーに 受け入れられない定数、コメント、およびその他のソース構文 (C における右中括弧の欠落など) は、 プリコンパイラーによるソースのスキャンを妨げて、エラーの原因となる可能性があります。 このように受け入れられないソース・ステートメントがあるかどうか検査するには、プリコンパイラーの前にホスト・コンパイラーを実行します。 SQL ステートメントのコンパイラー・エラー・メッセージは無視して構わず、SQL ステートメントをコメント化することもできます。 ソースステートメントで許容できないコンパイラエラーがなくなったら、以前にコメントアウトしたSQLステートメントのコメントを解除して、そのホスト言語の通常のDb2プログラム準備プロセスを続行できます。
- ホスト言語ステートメントと SQL ステートメント は、MARGINS プリコンパイラー・オプションで指定したとおりに、 同じマージンを使用して書かなければなりません。
- 入力データ・セット SYSIN は、属性が RECFM F または FB で、LRECL 80 に なっていなければなりません。
- SYSLIB は区分データ・セットであって、その属性は RECFM F ま たは FB で、LRECL 80 になっていなければなりません。
- INCLUDE ライブラリーからの入力に他のプリコンパイラー INCLUDE ステートメントを 含めることはできない。