|
CICS Runtime Preprocessorは、Oracle Tuxedo Application Runtime for CICSのもとで実行するCOBOLプログラムとCプログラムを準備します。
CICSプリプロセッサで処理されるプログラムは次の条件に従っている必要があり、そうでない場合、コンパイル時または実行時にエラーが発生するリスクを想定する必要があります。
| 注意: | 元のソース・プラットフォームから移行されるプログラムについては、COBOLトランスレータがこれらの条件を保証しますが、保守対象または新規開発のプログラムの場合は、強制的に適用されるようにする必要があります。。 |
prepro-cics.plが使用する一部のテクニカル・コピー・ファイルは、cpylib CICS Runtimeモジュールのもとで提供されます。COBCPYが正しく設定されている必要があります。DFHEIBLK(同じ名前のコピー・ファイルにより定義)およびDFHCOMMAREAをとる必要があり、これらはアプリケーションのPROCEDURE DIVISIONに対して適切になるように定義されています。つまり、プログラムは次のようになります。LINKAGE SECTION.
COPY DFHEIBLK.
01 DFHCOMMAREA.
....
PROCEDURE DIVISION USING DFHEIBLK DFHCOMMAREA.
IBM CICSプリプロセッサのNOLINKAGEオプションでコンパイルされるプログラムの場合は、ARTおよびCICS Runtimeプリプロセッサでは(まだ)サポートされていません。
prepro-cics.pl - 標準入力からCobolプログラムファイルを読み取って、変換したCICS命令とともに標準出力に出力する関数。
prepro-cics.pl [-type_output <output type>] [-notrec <notrec behavior>]
prepro-cics.plはCOBOLプログラムを入力として、1行ずつ読み取り、変換したCICS命令とともにファイルを出力します。
prepro-cics.plは、ワンパスのみ実行して、1行ずつ処理します。つまり、標準入力から1行読み取り、1行以上の行を出力し(出力タイプによっては何も出力しない)、さらに次の入力行を読み取ります。この動作のため、コンパイラ内部のプリプロセッサとしての用途と互換性を持つことが可能ですが、入出力に同じファイルを使用することは禁止されます。入力ファイルが終わったときに行を出力する点に注意します。
プリプロセッサは、入力COBOLプログラムが、6列の左マージンを持っていると想定します。出力は固定書式で、荘でない場合、エラー・メッセージが表示されます。
CICSおよびDBのTSAM呼出しパス機能をサポートするために、EXEC SQL文を含むCICSプログラムのコンパイル時に、プリプロセッサは、procob (Oracle DBの場合)またはdb2 prep (IBM UDBの場合)コマンドより先に実行される必要があります。
無効なCICS命令が検出されたときに常に出力されるエラー・メッセージは、次の書式を使用します。
IGNOREおよびHANDLE命令メッセージは、非常にシンプルです。
IGNOREは、CONDITIONを伴って作成してください。
CICS命令と一致するルールがない場合、同じキーワードで始まるすべてのコマンドについて、このコマンドがなぜ不適切かを説明するエラー・メッセージが表示されます。
<command>は、<keyword list>の1つを想定していますが、1つも存在しません。<command>は、<keyword>の1つを想定していますが、検出できません。<command>は、<keyword>を認識できません。<command>で、<keyword>は次のいずれかを想定します: …<keyword>(<keyword list>の1つ),…が、いずれも検出できませんでした。<command>に<keyword>が存在しますが、同時に使用する必要がある<keyword>がありません。<command>では、<keyword>と<keyword>を同時に使用することはできません。<keyword>のデフォルト値は<keyword>の値で計算されることになっていますが、その値(<value>)がcharstringではありません。複数のコマンドが一致する場合、プリプロセッサはそのすべてをリストします。ただし、プリプロセッサが変換の前にコマンドの複数該当をチェックするため、これは実際には発生しません。
CICS命令が不明であるか、「非サポート」または「廃止」と登録されている場合、エラー・メッセージ:
Instruction non supported
、オプションnotrecに値stopが設定されている場合1つの命令に、複数の認識されないキーワードがあると、同じエラー・メッセージが出力されます。
CICSプリプロセッサで処理されるプログラムは次の条件に従っている必要があり、そうでない場合、コンパイル時または実行時にエラーが発生するリスクを想定する必要があります。
prepro-cics-C.pl - source_fileで指定されるCプログラムを読み取り、変換したCICS命令とともにCプログラムをoutputファイルに出力します。
prepro-cics-C.pl [-help] [-source_format <fixed>] [-o <output file name>] [-B] source_file
prepro-cics-C.plはCプログラムを入力として、1行ずつ読み取り、変換したCICS命令とともにファイルを出力します。
prepro-cics-C.plは、ワンパスのみ実行して、1行ずつ処理します。つまり、source_fileから1行読み取り、1行以上の行を出力し、さらに次の入力行を読み取ります。この動作のため、コンパイラ内部のプリプロセッサとしての用途と互換性を持つことが可能ですが、入出力に同じファイルを使用することは禁止されます。
helpは、prepro-cics-C.plの使用方法を表示します。
source_formatは、Cプログラムのソース書式を指定します。2つの可能性があります。
| 注意: | 現在はサポートされているのはfixed書式のみです。 |
source_fileは、入力ファイルの名前とパスを指定します。
prepro-cics-C.plは、次のようなエラー・メッセージを出力することがあります。
|