コプロセッサー: EXEC SQL ステートメントのすべての行は、継続行も含め、12 から 72 桁目でコード化する必要があります。
コプロセッサーへのマイグレーションのための処置: 8 から 11 桁目で始まる EXEC SQL ステートメントの任意の継続行を 12 から 72 桁目で始まるように移動します。
コプロセッサー: EXEC SQL INCLUDE ステートメントは、ネストされた COPY . . . REPLACING ステートメントを含むコピーブックを参照できません。これは、 EXEC SQL INCLUDE はコプロセッサーによって COPY と全く同様に処理され、ネストされた COPY ステートメントは REPLACING を使用することができないためです。
コプロセッサーへのマイグレーションのための処置: COPY REPLACING をコピーブックではなく、元の COBOL ソース・プログラムの中にのみ存在するようにご使用のコードを変更してください。
EXEC SQL DECLARE :HV1 VARIABLE FOR BIT DATA END-EXEC
有効な DB2 データ型にマップされる最初の定義が使用されます。
コプロセッサー: すべてのホスト変数参照は固有でなければなり ません。
ホスト変数参照が固有でない場合、コプロセッサーはそれを非固有参照と診断します。ユーザーは、そのホスト変数参照を固有に するために、それを完全に修飾しなければなりません。
コプロセッサーへのマイグレーションのための処置: 複数の定義が存在するホスト変数参照を完全修飾します。
ピリオドが指定されると、プリコンパイラーはそれをステートメントの一部として処 理します。 ピリオドが指定されないと、プリコンパイラーはそのステートメントをピリオドが指定さ れたかのように受け入れます。
コプロセッサー: ピリオドは必須です。(コプロセッサーは、EXEC SQL INCLUDE ステートメントを COPY ステートメントのように扱います。)
IF A = B THEN
EXEC SQL INCLUDE somecode END-EXEC.
ELSE
...
END-IF
IF ステートメントはピリオドで終わらないことに注意してください。EXEC SQL INCLUDE somecode END-EXECステートメントの後にピリオドを追加してください。
REPLACE ==ABC ==By ==XYZ ==. 01 G. 02 ABC PIC X(10). ... EXEC SQL SELECT *INTO :G.ABC FROM TABLE1 END-EXECプリコンパイラーでは、G.ABC への参照は拡張ソース内で ABC OF G として表示されますが、 XYZ OF G に置き換えられます。コプロセッサーでは、 ABC が元のソース・ストリング G.ABC において区切り文字によって区切られないために、置き換えは発生しません。
REPLACE ==ABC ==By ==XYZ == ==G.ABC ==By ==G.XYZ ==.または、修飾が不要になるようにコードを変更するか、そのようなデータ項目に対して REPLACE の使用を止めるか、 REPLACE によって変更される COBOL プログラムがきれいにコンパイルされるようにその他の方法を実行します。
コプロセッサー: 同じ行の END-EXEC に続くコードを処理します。
コプロセッサーへのマイグレーションのための処置: 同じ行の END-EXEC に続くコードまたはコメントをすべて除去します。
コプロセッサー: 呼び出し先プログラムは、SQL-INIT-FLAG をリセットする必要はありません。プログラムの移植性を高めるために、SQL-INIT-FLAG がプログラム内に自動的に定義されます。ただし、MOVE ZERO TO SQL-INIT-FLAG など、SQL-INIT-FLAG を変更するステートメントは、プログラムでの SQL 処理には何の影響もありません。
コプロセッサーへのマイグレーションのための処置: オプションで、 SQL-INIT-FLAG への参照を除去します。この参照は使用しないため不要です。