前処理ツール
本章では、OFCOBOLの前処理ツールの使用方法について説明します。基本的なコンパイル・オプションは、-hを使用して確認できます。
1. ofconv
IDMS COBOL文法をOpenFrame環境で使用できるCOBOL文法に変換します。
-
使用方法
Usage : ofconv -i <source-file> [options]
-
[options]
項目 説明 -saveretcode
プログラムのRETURN-CODE値を一時変数に移した後、NDB2関連構文を呼び出した後に復元します。
-dmlseq
プログラムのDMLセグメントのシーケンス番号を出力します。
-uc
プログラムで使用されているDMLセグメントをリストします。
2. ofcbpp
コンパイルとは別に、COPY文の処理などを含む前処理を行います。
-
使用方法
Usage : ofcbpp -i <source-file> [options]
-
[options]
項目 説明 -o <output name>
出力ファイルの名前を指定します。
-copypath <path>
環境変数に指定したコピーブック・パス以外のコピーブック・パスを指定します。追加するパスごとに1つのオプションを使用します。
--enable-osvs
OS/VS COBOLの文法を含めて前処理を行います。
--enable-rw
IBM REPORT WRITER関連文法を含めて前処理を行います。
--enable-include
EXEC SQL INCLUDE文で宣言されたファイルを、DB2INCLUDE環境変数に指定されたディレクトリ、OFCOBCPY環境変数に指定されたディレクトリ、現在のディレクトリの順に検索してインクルードします。
--enable-declare
EXEC SQL INCLUDE文で宣言されたファイルを、DB2INCLUDE環境変数に指定されたディレクトリ、OFCOBCPY環境変数に指定されたディレクトリ、現在のディレクトリの順に検索してインクルードします。そして、EXEC SQL文で参照されるデータ部の変数がEXEC SQL DECLARE文によって囲まれていない場合、そのステートメントを追加します。
--collating-seq-ebcdic
照合シーケンス(Collating Sequence)をEBCDICに設定するステートメントを追加します。
--add-missing-period
セクション/段落前の文の終端にピリオドが省略された場合に、ピリオドを追加します。ただし、セクション/段落は領域Aに宣言される必要があります。
--conv-stop-run
STOPステートメントをGOBACKステートメントに変換して前処理を行います。
--disable-cpy-limit
COPYステートメントを使用する場合、ターゲット・コピーブック名の文字数制限(8文字)を解除します。
--expanded
拡張COBOL構文を含めて前処理を行います。サポートする拡張COBOL構文については、OpenFrame COBOL『言語リファレンスガイド』の付録「拡張COBOL」を参照してください。
--conv-nominal-key
--enable-osvsオプションを指定した場合に有効です。NOMINAL KEY節をORGANIZATION INDEXED節に置き換えます。
3. ofcbppf
ofcobでNetCOBOL文法をコンパイルするための前処理を行います。
-
使用方法
Usage : ofcbppf -i <source-file> [options]
-
[options]
項目 説明 -o <output name>
出力ファイルの名前を指定します。
--version
ofcbppfの現在のバージョンを示します。
-v
可変形式のCOBOLプログラムであることを指定します。
-l
セクションや段落の名前を出力するDISPLAYステートメントを挿入します。
DISPLAYステートメントはすべての段落に追加されるため、一部の段落には不要に挿入される場合があります。これにより、警告メッセージが出力されることがありますが、問題はありません。
-c <num>
指定したnumに従って、前処理に必要な照合シーケンス・モードを設定します。
-
0 : 前処理プロセスで照合シーケンス処理を行いません(デフォルト)
-
1 : COBOLプログラムに照合シーケンスが設定されていない場合にのみ、OpenFrame AIMがデフォルトで提供する照合シーケンスを使用するように前処理します。
-
2 : COBOLプログラムに照合シーケンスが設定されているかどうかに関係なく、常にOpenFrame AIMがデフォルトで提供する照合シーケンスを使用するように前処理します。
-t
CALLステートメントを実行時に、callpush関数、callpop関数を呼び出すコードを作成します。これにより、これらの関数に渡す引数情報をOpenFrameに渡すことができます。
--resolve-console
DISPLAYステートメントのUPON CONSOLE句を使用できるようにします。
--print-rename
前処理によって名前が変更された変数の変更前と変更後の変数名リストを出力します。
--user-ndb-exception
NDBステートメントを前処理する際に、DBの例外やデッドロック処理を行うコードを自動で生成しないようにします。
--config-print
MODE節、CHARACTER TYPE節の前処理後に生成されるプリント制御コードをCSV形式のconfigファイルを使用して変更できるようにします。
-call-assembly
OFASMのvariable_parameter_listを使用できるように、CALLステートメントの実行時にパラメータ情報を渡すためのコードを生成します。
--enable-asa-byte
WRITEステートメントのADVANCING動作時には、行の先頭に1バイトのASAバイトが追加される。
--enable-acsapi
ASCAPI関数を呼び出して使用する場合、パラメータの数と長さを渡すコードを生成します。
--enable-sosi
NまたはNCリテラルからSHIFT-IN SHIFT-OUTバイトを削除します。
-
4. ofcbppe
ofcobツールでESQL構文をコンパイルするための前処理を行います。
-
使用方法
Usage: ofcbppe -i <source-file> [options]
-
[options]
項目 説明 -o <output name>
出力ファイルの名前を指定します。
--version
ofcbppeの現在のバージョンを示します。
-copypath <path>
コピーブックが保存されているディレクトリを指定します。
--enable-osvs
OS/VS COBOLの文法を含めて前処理を行います。
--enable-rw
IBM報告書作成プログラム関連の文法を含めて前処理を行います。
--enable-varchar
ユーザーが宣言したCOBOLグループ項目をESQLのVARCHARデータ型として認識するように指定します。
--enable-mode-ansi
ANSI動的SQLを使用するように指定します。このオプションを指定した場合、Tiberoの動的SQLを使用すると、プリコンパイラーで文法エラーが発生します。
--enable-unsafe-null
指示子変数がない場合、NULL値を許容するかどうかを指定します。NULLデータが予想される場合も、便宜上指示子変数の使用を省略したい場合にこのオプションを使用します。
--enable-runtime-odbc
ODBC(Open DataBase Connectivity)を使用する場合に指定します。
--enable-close-on-commit
コミットと同時にカーソルを閉じるように指定します。
--enable-mssql
DB2 SQLをMSSQLのSQLに置き換えます。
--enable-end-of-fetch-100
SQL文の実行後、END-OF-FETCH状況でユーザーに返すSQLCODE値を100に指定します。
--enable-loglvl-debug
esql_set_optionに「LOG_LVL」、「DEBUG」を指定します。
--remove-quote
tbdb2cblcvの使用時にROWNUMを使用する場合、二重引用符を削除します。
--disable-cpy-limit
COPYステートメントを使用する際にターゲット・コピーブック名の文字数制限(8文字)を解除します。
--enable-lazy-pstmt-check
prepare構文とdeclare構文の順序は無視されます。
--conv-comp5
User CODEのUSAGE COMPをUSAGE COMP-5に変更します。
-
ofcbppeはTiberoが提供するESQLパーサーを参照します。したがって、ofcbppeツールを使用してESQL構文を前処理するためには、Tiberoクライアントがインストールされている必要があります。『Tibero インストールガイド』を参照してTiberoクライアントをインストールし、TB_HOMEのclient/libにlibtbeparser.soが存在するか確認してください。
-
ofcbppe-1.0.34以前のバージョンでは、--enable-runtime-odbcの代わりに --runtime-odbcを使用する必要があります。詳細については、--helpオプションで確認できます。
-
5. ofcbppd
ofcobでDB2構文をコンパイルするための前処理を行います。現在、COMPで宣言されたホスト変数のエンディアン処理のためのcomp_swap関数を作成する機能のみサポートしています。
-
使用方法
Usage: ofcbppd -i <source-file> [options]
-
[options]
項目 説明 -o <output name>
出力ファイルの名前を指定します。
--version
ofcbppdの現在のバージョンを示します。
-copypath <path>
コピーブックが保存されているディレクトリを指定します。
--enable-osvs
OS/VS COBOLの構文を含めて前処理を行います。
--enable-rw
IBM報告書作成プログラム関連の構文を含めて前処理を行います。
--oracle
Oracleデータベースを使用できるようにします。
6. ofcbppr
ofcbpprコマンドを使用すると、ofcobでレポートライター構文をコンパイルするための前処理を行うことができます。
ofcbpprで前処理されたCOBOLは、レポートライター構文がCOBOL構文に変換されます。
-
使用方法
Usage: ofcbppr -i <source-file> [options]
-
[options]
項目 説明 -o <output name>
出力ファイルの名前を指定します。
--version
ofcbpprの現在のバージョンを表示します。
-copypath <path>
コピーブックが保存されているディレクトリを指定します。
-v
COBOLプログラムが可変形式であることを指定します。