OpenFrame PL/Iのコンパイル
本章では、OpenFrame PL/Iをインストールした後、PLIサンプル・ファイルをコンパイルする方法について説明します。
1. コンパイル
以下は、OpenFrame PL/Iをインストールした後、ofpliコマンドを使用してPLIサンプル・ファイルをコンパイルする方法です。
-
次のディレクトリからPLIサンプル・ファイルを確認します。
${OFPLI_HOME}/temp
-
ofpliコマンドを実行して、sample.pliをコンパイルします。コマンドについての詳細は、コンパイル・コマンドを参照してください。
ofpli -o sample.so sample.pli
-
コンパイル時に指定した.soファイル(出力ファイル)が作成されたことを確認できます。出力ファイルが作成されず、エラーが発生した場合は、エラーメッセージを確認してください。エラーメッセージについての詳細は、コンパイル・エラーメッセージを参照してください。
sample.so
2. コンパイル・コマンド
以下は、コンパイル・コマンドofpliの使用方法です。
-
使用方法
ofpli ソースファイル ... [コマンドオプション...]
-
ソースファイル
コンパイルを実行するソースファイルを指定します。
-
以下は、ソースファイルをコンパイルする際に使用できるデフォルトのコマンド・オプションです。
オプション 説明 -o ファイル名
出力ファイルを指定します。
-I <dir>
INCLUDEディレクトリを指定ます。
-MI <dir>
%INCLUDEステートメントで使用するINCLUDEディレクトリを指定します。
-SI <dir>
EXEC SQL INCLUDEステートメントで使用するINCLUDEディレクトリを指定します。
-l <library>
共有ライブラリをリンクします。
-L <dir>
ライブラリのディレクトリを指定します。
-O0, -O1, -O2, -O3
最適化レベルを指定します。数値が小さいほどコンパイルは速くなりますが、実行は遅くなる可能性があります。
-U
動的ロード呼び出し機能を有効にします。
-g
ソース・レベルのデバッグに使用するデバッグ情報がコンパイル結果ファイルに含まれることを指定します。
--change old:new
外部エントリ名をoldからnewに変更します。
--disable-inc-limit
%INCLUDEステートメントのファイル文字数制限を解除します。
--dli
DLITPLIインターフェースを追加します。(IMS)
--enable-cics
CICSプリプロセッサーを有効にします。
--enable-esql-oracle
Oracle ESQLプリプロセッサーを有効にします。
--enable-esql-tibero
Tibero ESQLプリプロセッサーを有効にします。
--enable-ofasm
OpenFrame ASMを介してASMを呼び出す場合に指定します。
--enable-scan-extascii
拡張ASCII文字を使用できるようにします。--enable-scan-sjisオプションと一緒に使用できません。
--enable-scan-sjis
Shift-JIS文字を使用できるようにします。--enable-scan-extasciiオプションと一緒に使用できません。
--fixeddec31
FIXED DECIMAL変数の最大精度として31を指定します。
--rule-margin-s
ソースコードに含まれない空白以外の文字がある場合は、エラーメッセージを出力します。
--rule-margin-w
ソースコードに含まれない空白以外の文字がある場合は、エラーメッセージを出力します。
--system-cics
PL/Iプログラムが実行されるシステム環境をCICSに指定します。
--system-ims
PL/Iプログラムが実行されるシステム環境をIMSに指定します。
--system-mvs
PL/Iプログラムが実行されるシステム環境をMVSに指定します。(デフォルト値)
--trace
プロシージャの開始と終了、パラメータ、戻り値に関するトレース情報を表示します。
--trace-flow
プロシージャの開始と終了にトレース情報を表示します。
--trace-param
パラメータに関するトレース情報を表示します。
--trace-return
戻り値に関するトレース情報を表示します。
--h, --help
ヘルプ情報を表示します。
--help-esql
ESQLプリプロセッサーのヘルプ情報を表示します。
--license
OpenFrame PL/Iのライセンス情報を表示します。
--save-temps
コンパイル中に生成された一時ファイルを削除せずに保存します。
以下は、コマンド・オプションによって生成された一時ファイルです。
-
.mp : SQLプリプロセッサーまたはCICSプリプロセッサーが有効な場合にのみ作成されるマクロ前処理結果ファイル
-
.pp : 前処理が完了された前処理結果ファイル
-
.bc : コンパイル結果ファイル
-
.o : アセンブリ結果ファイル
--version
OpenFrame PL/Iのバージョン情報を表示します。
-
-
ESQLプリプロセッサー・コマンド・オプション
オプション 説明 --close-on-commit
コミット時にカーソルを自動的に閉じます。
--end-of-fetch (1403 | 100)
SQLステートメントの実行後、END-OF-FETCH状態でユーザーに戻されるSQLCODEを指定します。(デフォルト値: 1403)
--insert-no-data-error
INSERTとSELECTステートメントの使用時にも「no data found」メッセージが表示されるように指定します。
--no-select-error
ホスト変数などによって与えられた実行結果の数よりも、返された実際の問合せ実行結果が多い場合にエラーを発生させます。
--picx (CHARF | VARCHAR2)
PL/I CHAR型のSQLデータ型を指定します。(デフォルト値:CHARF)
--prefetch N
カーソルのオープン時にプリフェッチする行数を指定します。
--unsafe-null
標識変数がないときは、NULL値を許可するように指定します。
-
3. コンパイル・エラーメッセージ
OpenFrame PL/Iは、コンパイル中にエラーが発生すると、エラーメッセージを出力します。
以下は、エラーメッセージの形式です。
SAMPLE.pli 6:11 : OFPLI1009 [S] Syntax error. [ファイル名] : SAMPLE.pli [ソースの位置] : 6:11 [エラー番号] : OFPLI1009 [エラータイプ] : [S] [エラーメッセージ] : Syntax error.
項目 | 説明 |
---|---|
ファイル名 |
エラーが発生したファイル名です。 |
ソースの位置 |
エラーが発生したファイルの行と列の位置です。 |
エラー番号 |
エラー番号です。 |
エラータイプ |
|
エラーメッセージ |
エラーについての説明です。 |