CRTBNDRPG コマンドの説明

CRTBNDRPG コマンドのパラメーター、キーワード、および変数を下にリスト します。 オンラインで同じ情報が使用可能です。 コマンド入力行にコマンド名を入力し、 PF4 (プロンプト) キーを押してから、 説明を表示したいパラメーター上で PF1 (ヘルプ) キーを押してください。

PGM
作成するプログラム・オブジェクト (*PGM) のプログラム名およびライブ ラリー名を指定します。 プログラム名およびライブラリー名は iSeries の命名規則に適合していなければなりません。ライブラリーを指定しない場合には、作成されたプログラムは現行ライブラリ ーに保管されます。
*CTLSPEC
コンパイル済みプログラムの名前は、制御仕様書の DFTNAME キーワードに指定 された名前から取られます。 制御仕様書にプログラム名が指定されておらず、ソース・メンバーがデータベース・ ファイルからのものである場合には、SRCMBR パラメーターで指定された メンバー名がプログラム名として使用されます。 ソースがデータベース・ファイルからのものでなければ、 プログラム名にはデフォルトの値として RPGPGM が使用されます。
プログラム名
プログラム・オブジェクトの名前を入力します。
*CURLIB
作成されたプログラム・オブジェクトは現行ライブラリーに保管され ます。 現行ライブラリーを指定していない場合には、QGPL が使用されます。
ライブラリー名
作成されたプログラム・オブジェクトを保管するライブラリーの名前を入 力します。
SRCFILE
コンパイルする ILE RPG ソース・メンバーが入っているソース・ファイル の名前およびそのソース・ファイルが入っているライブラリーを指定します。 推奨されるソース物理ファイルの長さは 112 桁です。順序番号と日付の 12 桁、 コードの 80 桁、および注記の 20 桁です。 これは、コンパイラー・リストに示されるソースの最大サイズです。
QRPGLESRC
デフォルトのソース・ファイル QRPGLESRC には、コンパイルされる ILE RPG ソース・ メンバーが入ります。
ソース・ファイル名
コンパイルする ILE RPG ソース・メンバーが入っているソース・ファイルの 名前を入力します。
*LIBL
システムは、ライブラリー・リストを検索して、ソース・ファイルが保管され ているライブラリーを見付けます。 これはデフォルトです。
*CURLIB
ソース・ファイルを検索するために現行ライブラリー・リストが使用されます。 現行ライブラリーを指定していない場合には、QGPL が使用されます。
ライブラリー名
ソース・ファイルが保管されているライブラリーの名前を入力します。
SRCMBR
コンパイルする ILE RPG ソース・プログラムが入っているソース・ファイル のメンバーの名前を指定します。
*PGM
PGM パラメーターによって指定された名前をソース・ファイル・メンバー名 として使用します。 コンパイル済みプログラム・オブジェクトはソース・ファイル・メンバーと同じ名 前をもつことになります。 PGM パラメーターによってプログラム名が指定されていない場合には、 コマンドは、ソース・メンバー名としてソース・ファイルに最初に作成 または追加されたメンバーを使用します。
ソース・ファイル・メンバー名
ILE RPG ソース・プログラムを入れるメンバーの名前を入力します。
SRCSTMF
コンパイルする ILE RPG ソース・コードが入っているストリーム・ファイルのパス名を指定します。

パス名は、絶対名でも、相対修飾名でも構いません。 絶対パス名の先頭は '/'、相対パス名の先頭は '/' 以外の文字です。

絶対修飾であれば、パス名としては完全です。 相対修飾の場合、 パス名にジョブの現行作業ディレクトリーを付け加えることによって、パス名が完全なものになります。

SRCMBR パラメーターおよび SRCFILE パラメーターを、 SRCSTMF パラメーターと一緒に指定することはできません。

GENLVL
プログラム・オブジェクトの作成を制御します。 コンパイルで検出されたすべてのエラーが指定された生成重大度レベルより小 さいか等しい場合に、プログラム・オブジェクトが作成されます。
10
10 より大きい重大度レベルのメッセージがある場合には、 プログラム・オブジェクトは生成されません。
重大度レベル値
0 〜 20 の範囲の数を入力します。 重大度が 20 より大きいエラーの場合には、プログラム・オブジェクトは生成さ れません。
TEXT
プログラムとその機能を簡単に説明したテキストを入力することができま す。 このテキストはプログラム情報が表示されるたびに現れます。
*SRCMBRTXT
ソース・メンバーのテキストが使用されます。
*BLANK
テキストは表示されません。
'説明'
ソースの仕様の機能を簡単に説明したテキストを入力します。テキストは最大 50 桁とすることができ、アポストロフィで囲まれなければな りません。 アポストロフィは、50 文字のストリングには含まれません。 プロンプト画面でテキストを入力する場合には、アポストロフィは不要です。
DFTACTGRP
作成されたプログラムが常にデフォルトの活動化グループで実行されるかどう かを指定します。
*YES
このプログラムが呼び出された場合には、常にデフォルトの活動化グループで 実行されます。 デフォルトの活動化グループとは、すべてのオリジナル・プログラム・モデル (OPM) プログラムが実行される活動化グループのことです。

DFTACTGRP(*YES) を指定することによって ILE RPG プログラムは、 一時変更の有効範囲、オープンの有効範囲、および RCLRSC の領域 で OPM プログラムと類似した動作をすることができるようになります。

プログラムが DFTACTGRP(*YES) で作成された時には、ILE 静的バインドは使用 できません。 これは、このプログラムの作成中に BNDDIR または ACTGRP パラメーターを使 用できないことを意味します。 さらに、ソースの呼び出し命令は、プロシージャーではなく、プログラムを呼び出 さなければなりません。

DFTACTGRP(*YES) は、プログラム単位でアプリケーションを ILE RPG に転送する場合に役立ちます。

*NO
プログラムは、ACTGRP パラメーターによって指定された活動化グループ と関連付けられます。 *NO を指定した時には、静的バインドを使用することができます。

ACTGRP(*CALLER) を指定し、このプログラムがデフォルトの活動化グループで実 行中のプログラムによって呼び出された場合には、このプログラムは、ファイ ルの共用、ファイルの有効範囲、および RCLRSC の領域で ILE の意味構造にした がって動作します。

DFTACTGRP(*NO) は、例えば、名前付きの活動化グループで実行したり、 サービス・プログラムにバインドするなど、ILE 概念を利用したい時に 便利です。

OPTION
ソース・メンバーのコンパイル時に使用するオプションを指定します。 任意のオプションまたはすべてのオプションを任意の順序で指定することがで きます。 オプションは 1 つ以上のブランク・スペースで区切ってください。 オプションを複数回指定した場合には、最後に指定されたオプションが使用さ れます。
*XREF
ソース・メンバーの相互参照表 (該当する場合) を作成します。
*NOXREF
相互参照表は作成されません。
*GEN
コンパイラーによって戻された最高の重大度レベルが GENLVL オプション で指定された重大度を超えなかった場合に、プログラム・オブジェクトを作成 します。
*NOGEN
プログラム・オブジェクトは作成されません。
*NOSECLVL
第 1 レベル・メッセージ・テキストの行に続けて、 第 2 レベル・メッセージ・テキストを印刷しません。
*SECLVL
メッセージ要約セクションで、第 1 レベル・メッセージ・テキストの行に 続けて、第 2 レベル・メッセージ・テキストを印刷します。
*SHOWCPY
/COPY コンパイラー指示ステートメントによって組み込まれたメンバーの ソース・レコードを示します。
*NOSHOWCPY
/COPY コンパイラー指示ステートメントによって組み込まれたメンバーの ソース・レコードを示しません。
*EXPDDS
リストの中の外部記述ファイルの拡張を示し、またキー・フィールド情報を 表示します。
*NOEXPDDS
リストの中の外部記述ファイルの拡張を示さず、またキー・フィールド情報を 表示しません。
*EXT
コンパイル時に参照された外部プロシージャーおよびフィールドのリスト をリスト上に示します。
*NOEXT
コンパイル時に参照された外部プロシージャーおよびフィールドのリスト をリスト上に示しません。
*NOSHOWSKP
リストのソース部分に無視されたステートメントを示しません。 /IF、/ELSEIF または /ELSE 指示の結果、コンパイラーはステートメントを無視します。
*SHOWSKP
コンパイラーがスキップしたかどうかに 関係なく、リストのソース部分にすべてのステートメントを示します。
*NOSRCSTMT
リスト内の行番号は、順番に割り当てられます。これらの番号は、ステートメント 番号を使用してデバッグを行うときに使用されます。行番号は、リストの左端の桁に示され ます。ソース ID および SEU 順序番号は、リストの右端の 2 桁に示されます。
*SRCSTMT
デバッグ用のステートメント番号は、以下のように SEU 順序番号とソース ID を使 用して生成されます。
ステートメント番号 = ソース ID * 1000000 + SEU 順序番号
SEU 順序番号は、リストの左端の桁に示されます。ステートメント番号は、リストの右 端の桁に示されます。これらの番号は、ステートメント番号を使用してデバッグを行う ときに使用されます。
注:
OPTION(*SRCSTMT) が指定されている場合には、ソース・ファイル内のすべて の順序番号に、有効な数値が入っている必要があります。同じソース・ファイル内に重 複する順序番号がある場合、デバッガーの動作は予測不能であり、診断メッセージまた は相互参照項目のステートメント番号は意味をもたないことがあります。
*DEBUGIO
すべての入出力仕様書について停止点を生成します。
*NODEBUGIO
入出力仕様書について停止点を生成しません。
*NOEVENTF
連携開発環境/400 (CODE/400) で使用するイベント・ファイルを作成しません。 CODE/400 は、CODE/400 エディターで統合されたエラー・フィードバックを提 供するために、このファイルを使用します。 イベント・ファイルは通常、CODE/400 内からモジュールまたはプログラムを作成した 時に作成されます。
*EVENTF
連携開発環境/400 (CODE/400) で使用するイベント・ファイルを作成します。 イベント・ファイルは、作成されたモジュールまたはプログラム・オブジェクトが保管 されるライブラリー中のファイル EVFEVENT のメンバーとして作成されます。 ファイル EVFEVENT が存在していない場合には、自動的に作成されます。 イベント・ファイル・メンバー名は、作成されるオブジェクトの名前と同じです。

CODE/400 は、CODE/400 エディターで統合されたエラー・フィードバックを提 供するために、このファイルを使用します。 イベント・ファイルは通常、CODE/400 内からモジュールまたはプログラムを作成した 時に作成されます。

DBGVIEW
コンパイル済みプログラムに使用可能なデバッグ・レベル、および ソース・レベル・デバッグに使用可能なソース・ビューを指定します。
*STMT
コンパイラー・リスト行番号またはス テートメント番号を使用してプログラム・オブジェクトをデバッグできるようにします 。OPTION(*NOSRCSTMT) が指定された場合、行番号は、コンパイラー・リストのソース・ セクションの左端の桁に示されます。OPTION(*SRCSTMT) が指定された場合、ステート メント番号は、コンパイラーのソース・セクションの右端の桁に示されます。
*SOURCE
コンパイル済みプログラム・オブジェクトをデバッグするための、ソース・ビューを生成します。このビューは、ルート・ソース・メンバーが DDM ファイルの場合には使用可能ではあ りません。 また、コンパイルした後、プログラムをデバッグする前にソース・メンバーに対 して変更が行われた場合には、これらのソース・メンバーのビューは使えないことが あります。
*LIST
コンパイル済みプログラム・オブジェクトをデバッグするための、リスト・ ビューを生成します。リスト・ビューに入っている情報は、OPTION パラメーターに *SHOWCPY、*EXPDDS、および *SRCSTMT が指定されているかどうかによって異なります。
注:
リスト・ビューには、字下げオプションを使用して要求した字下げは示さ れません。
*COPY
コンパイル済みプログラム・オブジェクトをデバッグするためのソースおよ びコピー・ビューを生成します。 このオプションのソース・ビューは、*SOURCE オプションで生成されたものと同じ ソース・ビューです。 コピー・ビューは、すべての /COPY ソース・メンバーを含む デバッグ・ビューです。 これらのビューは、ルート・ソース・メンバーが DDM ファイルの場合には使用可能で はありません。 また、コンパイルした後、プログラムをデバッグする前にソース・メンバーに対 して変更が行われた場合には、これらのソース・メンバーのビューは使えないことが あります。
*ALL
コンパイル済みプログラム・オブジェクトをデバッグするためのリスト、 ソース、およびコピー・ビューを生成します。 リスト・ビューに入っている情報は、OPTION パラメーターに *SHOWCPY、*EXPDDS、および *SRCSTMT が指定されているかどうかによって異なります。
*NONE
コンパイル済みプログラム・オブジェクトをデバッグするためのすべての デバッグ・オプションを使用禁止にします。
OUTPUT
コンパイラー・リストを生成するかどうかを指定します。
*PRINT
ILE RPG プログラム・ソースおよびすべてのコンパイル時のメッセージから成る、コンパイラー・リストを作成します。 このリストに含まれる情報は、OPTION パラメーターに *XREF、*SECLVL、*SHOWCPY、 *EXPDDS、*EXT、*SHOWSKP、および *SRCSTMT が指定されているかどうかによって異なります。
*NONE
コンパイラー・リストを生成しません。
OPTIMIZE
プログラムの最適化のレベル (ある場合) を指定します。
*NONE
生成されるコードは最適化されません。 これは変換時間のためには、最も 速い方法です。 これによって、デバッグ・モードの間に変数を表示して変更することができます。
*BASIC
生成されるコードに対して一部の最適化が実行されます。 これによって、 プログラムがデバッグ・モードの間にユーザー変数を表示することができますが、変更することはできません。
*FULL
最も効率的なコードを生成する最適化です。 変換時間は最も長く なります。 デバッグ・モードでユーザー変数を変更することはできませんが、表示することはできます。 ただし、提示される値は現在の値ではない可能性があります。
INDENT
読みやすくするために、ソース・リスト中の構造化命令を字下げする必要 があるかどうかを指定します。 また、構造化命令文節にマークを付けるために 使用される文字を指定します。
注:
ここで要求する字下げは、DBGVIEW(*LIST) を指定した時に作成される リスト・デバッグ・ビューには反映されません。
*NONE
構造化命令はソース・リスト中で字下げされません。
文字値
構造化命令文節の場合に、ソース・リストが字下げされます。 ステートメントおよび文節の配置は 選択した文字を使用して印が付けられます。 最高 2 桁の長さの任意の文字ストリングを 選択することができます。 ストリングにブランク文字を使用したい場合には、それを単一引用符で囲む 必要があります。
注:
プログラムにエラーがある場合には、字下げが予定どおりに出ないこと があります。
CVTOPT
外部記述データベース・ファイルから検索される 日付、時刻、タイム・スタンプ、図形データ・タイプ、および可変長 データ・タイプを ILE RPG コンパイラーが処理する方法を指定します。
*NONE
可変長データベースのデータ・タイプを無視し、固有の日付、時刻、タイム・スタンプ、および図形データ・タイプを使用します。
*DATETIME
日付、時刻、およびタイム・スタンプ・データ・タイプを固定長文字フィール ドとして宣言することを指定します。
*GRAPHIC
2 バイト文字セット (DBCS) 図形データ・タイプを固定長文字 フィールドとして宣言することを指定します。
*VARCHAR
可変長文字データ・タイプを固定長文字フィールドとして宣言することを 指定します。
*VARGRAPHIC
可変長文字 2 バイト文字セット (DBCS) 図形データ・タイプを 固定長文字フィールドとして宣言することを指定します。
SRTSEQ
ILE RPG ソースで使用する分類順序テーブルを指定します。
*HEX
分類順序テーブルを使用しません。
*JOB
*PGM の作成時のジョブの SRTSEQ 値を使用します。
*JOBRUN
*PGM の実行時のジョブの SRTSEQ 値を使用します。
*LANGIDUNQ
固有の重み付けテーブルを使用します。この特殊値は、適切な分類順序テーブルを 決めるために LANGID パラメーターと一緒に使用されます。
*LANGIDSHR
共有の重み付けテーブルを使用します。この特殊値は、適切な分類順序テーブルを 決めるために LANGID パラメーターと一緒に使用されます。
分類テーブル名
プログラムで使用する分類順序テーブルの修飾名を入力します。
*LIBL
システムは、ライブラリー・リストを検索して、分類順序テーブルが保管 されているライブラリーを見付けます。
*CURLIB
分類順序テーブルを検索するために現行ライブラリー・リストが使用され ます。 現行ライブラリーを指定していない場合には、QGPL が使用されます。
ライブラリー名
分類順序テーブルが保管されているライブラリーの名前を入力します。

SRTSEQ パラメーターおよび LANGID パラメーターを使用して代替照合順序を決定したい場合は、制御仕様書に ALTSEQ(*EXT) も指定することが必要です。

LANGID
分類順序が *LANGIDUNQ および *LANGIDSHR の時に使用する、言語識別コ ードを指定します。 LANGID パラメーターは分類順序テーブルを選択するために、SRTSEQ パラメーターと 一緒に使用されます。
*JOBRUN
RPG プログラムの実行時のジョブと関連した LANGID 値を使用します。
*JOB
RPG プログラムの作成時のジョブと関連した LANGID 値を使用します。
言語識別コード
指定された言語識別コードを使用します。 (例えば、フランス語の FRA および ドイツ語の DEU など。)
REPLACE
同じ名前のプログラムが指定された (暗黙の) ライブラリーに既に存在 している時に、新しいプログラムを作成するかどうかを指定します。 CRTBNDRPG コマンドの処理中に作成される中間モジュールは、REPLACE 仕様書に 対する対象とはならず、QTEMP ライブラリーに対する暗黙の REPLACE(*NO) が あるものと見なされます。 CRTBNDRPG コマンドが処理を完了した時に、中間モジュールは削除されます。
*YES
指定したライブラリーに新しいプログラムが作成されます。 指定したライブラリーにある同じ名前の既存のプログラムは、 ライブラリー QRPLOBJ に移動されます。
*NO
指定したライブラリーに同じ名前のプログラムが既に存在している場合 には、新しいプログラムは作成されません。 既存のプログラムは置き換えられず、メッセージが表示され、コンパイルは 停止します。
USRPRF
作成されたプログラム・オブジェクトを実行するユーザー・プロファイルを指定します。プログラム所有者またはプログラム・ユーザーのプロファイルは、そのプログラムを実行したり、 そのプログラムでどのオブジェクトが使えるか (各オブジェクトに対してそのプログラムがもつ権限を 含む) を制御したりするために使用されます。 このパラメーターは、そのプログラムが既に存在している 場合には更新されません。 この値を変更するためには、そのプログラムを削除し、新しい値を用いて 再コンパイルします (あるいは、構成要素 *MODULE オブジェクトが存在し ている場合には、CRTPGM コマンドを呼び出す選択をすることができます)。
*USER
プログラムのユーザーのユーザー・プロファイルのもとで、プログラムが 実行されます。
*OWNER
プログラムのユーザーと所有者の両方のユーザー・プロファイルのもとで 、プログラムが実行されます。 両方のユーザー・プロファイルのオブジェクト権限をまとめて使用し、 プログラムの実行時にオブジェクトを検索しアクセスします。 プログラム中で作成されたオブジェクトは、 プログラムのユーザーによって所有されます。
AUT
オブジェクトに対して特定権限をもたないユーザー、権限リスト中にない ユーザー、および属するユーザー・グループがオブジェクトに対して特定権限 をもたないユーザーに与えられる権限を指定します。 プログラムを作成した後、CL コマンドの オブジェクト権限認可 (GRTOBJAUT) またはオブジェクト権限取り消し (RVKOBJAUT) によって、すべての ユーザーまたは指定されたユーザーに対する権限を変更することができます。これらのコマンドについての詳細は、Web サイト http://www.ibm.com/eserver/iseries/infocenteriSeries Information Center の中の『プログラミング』カテゴリーの『CL および API』の節を参 照してください。
*LIBCRTAUT
オブジェクトの共通認可は、目的ライブラリー (そのオブジェクトが入っ ているライブラリー) の CRTAUT キーワードから取られます。 この値は、オブジェクトが作成される時に 決められます。 作成後にライブラリーの CRTAUT 値が変更された場合には、新しい値は既存の オブジェクトに影響しません。
*ALL
所有者に限定された操作、または権限リスト管理権限により制御される操作を除く、 プログラム・オブジェクトに対するすべての操作の権限を提供します。 ユーザーは、プログラム・オブジェクトの 存在を制御し、その機密保護を指定し、これを変更し、これに対する基本機能を実行できますが、所有権を移す ことはできません。
*CHANGE
すべてのデータ権限および、所有者に限定された操作またはオブジェクト権限およびオブジェクト管理権限 によって制御される操作を除くプログラム・オブジェクトに対するすべての操作を実行する 権限を提供します。 ユーザーはオブジェクトを変更し、これに基本機能を実行することが できます。
*USE
オブジェクトの処理権限および読み取り権限、すなわちプログラム・オブジェクトに対する 基本操作権限を提供します。 ユーザーは、オブジェクトを変更することはできません。
*EXCLUDE
ユーザーは、オブジェクトにアクセスすることはできません。
権限リスト名
ユーザーの権限リストの名前およびプログラムに追加する権限を入力しま す。 プログラム・オブジェクトは、この権限リストによって保護され、プログラム ・オブジェクトの共通認可は *AUTL に設定されます。CRTBNDRPG コマンドを出す時には、この権限リストはシステム上に存在してい なければなりません。
注:
AUT パラメーターを使用して、システムの機密保護要件を表し ます。 使用可能な機密保護機能の詳細は、「iSeries 機密保護解説書」に説明があります。
TRUNCNBR
プログラムの実行で数値オーバーフローが起こった時に、切り捨てられた 値が結果のフィールドに転送されるか、あるいはエラーが生成されるかどうか を指定します。
注:
TRUNCNBR オプションは、式の中で実行される演算には適用されません (式は拡張演算項目 2 フィールドに入っています)。 これらの演算に対してオーバーフローが起こった場合には、 常にエラーが起こります。 さらに、 整数または符号のないフィールドに割り当てられた値が範囲外になる命令の場 合には、オーバーフローは常に通知されます。
*YES
数値オーバーフローを無視し、切り捨てられた値を結果のフィールドに転 送します。
*NO
数値オーバーフローが検出された時には、エラー・コード RNX0103 の実行 時エラーが生成されます。
FIXNBR
無効な 10 進数データをコンパイラーで 修正するかどうかを指定します。
*NONE
無効な 10 進数データが実行時に使われたときは、データ・エラーを起こすように 指示します。
*ZONED
無効なゾーン 10 進数はパック・データに変換される時にコンパイラーによって 修正されます。 数値フィールドにあるブランクはゼロとして取り 扱われます。 各 10 進桁の数字の妥当性が検査されます。 10 進桁の数字が正しくない場合には、ゼロに置き換え られます。 符号が正しくない場合には、符号は強制的に正符号コードの 16 進数 'F' に変 更されます。 符号が有効な場合には、符号はそれぞれ該当する正符号の 16 進数 'F' または 負符号の 16 進数 'D' に変更されます。 結果のパック・データが正しくない場合には、修正されません。
*INPUTPACKED
入力仕様書の処理中に無効なパック 10 進数に出会ったときは、内部変数を ゼロに設定するように指示 します。
TGTRLS
作成するオブジェクトを使おうとするオペレーティング・システムのリリース・レベル を指定します。 *CURRENT と *PRV 値が与えられた例で、目的リリース 値を指定する時、 フォーマット VxRxMx を使ってリリースを指定しています。ここで Vx はバージョン、Rx はリリース、Mx は 修正レベルを表します。 例えば、V2R3M0 は、バージョン 2、リリース 3、モディフ ィケーション・レベル 0 です。

このパラメーターに有効な値は、リリースごとに変わります。 指定できる値は次のとおりです。

*CURRENT
オブジェクトは、システムで現在稼働中のオペレーティング・システム のリリースを使用することになります。 例えば、システムで V2R3M5 が稼働中の場合、*CURRENT は V2R3M5 が導入されているシステムでオブジェクトを使用することを意味します。 また、導入されているオペレーティング・システム以降のリリースのシステムでも このオブジェクトを使用することができます。
注:
V2R3M5 がシステム上で稼働し、 V2R3M0 がインストールされているシステムで使用することを目的としている場合は、 TGTRLS(*CURRENT) ではなく、TGTRLS(V2R3M0) を指定してください。
*PRV
オブジェクトは、前のリリースのモディフィケーション・レベル 0 のオペレーティング・ システムを使用して実行されます。 例えば、システムで V2R3M5 が稼働中の場合には、*PRV は V2R2M0 が導 入されているシステムでオブジェクトを使用することを意味します。また、導入されているオペレーティング・システム以降のリリースのシステムでも このオブジェクトを使用することができます。
ターゲット・リリース
VxRxMx の形式でリリースを指定します。 指定されたリリースまたはそれ以降のリリースの オペレーティング・システムが導入されているシステムで オブジェクトを使用することができます。

有効な値は、現行バージョン、リリース、およびモディフィケーション・レベ ルによって異なり、新しいリリースごとに変わります。 このコマンドでサポートされる一番古い リリース・レベルよりももっと前のターゲット・リリース を指定すると、 サポートされる一番古いリリースを知らせるエラー・メッセージが 出されます。

注:
現行バージョンのコマンドは、コマンドの前のリリースでは使用できないオ プションをサポートすることがあります。このコマンドを、前のリリースで使用することにな っているオブジェクトを作成するのに使用すると、そのリリースに該当するコンパイラ ーによって処理され、サポートされていないオプションは認識されません。コンパイラ ーは、処理できないオプションに関して、必ずしも警告を発令しません。
ALWNULL
ILE RPG モジュールが、外部記述データベース・ファイルからの ヌル可能フィールドをもつレコードをどう使えるようにするかを指定します。
*NO
ILE RPG モジュールが、外部記述ファイルからの null フィールド をもつレコードを処理しないことを指定します。 null を含んでいるレコードを取り出そうとした場合 には、ILE RPG モジュールはそのレコードのデータをアクセスできず、データ・マッピング・エラーが 起こります。
*INPUTONLY
ILE RPG モジュールが、外部記述の入力専用データベース・ファイルから、 null を含む ヌル可能フィールドをもつレコードを正常に読み取ることが できることを指定します。 null を含んでいるレコードを取り出そうとした 場合には、データ・マッピング・エラーは起こらず、null を含んでいるフィールド にデータベースのデフォルト値が入れられます。 このモジュールは次のいずれも実行不可能です。
  • ヌル可能キー・フィールドを使用する
  • ヌル可能フィールドを含むレコードを作成または更新する
  • モジュールの実行中に ヌル可能フィールドが実際に null であるかどうかを 判別する
  • ヌル可能フィールドが null であるように設定する
*USRCTL
ILE RPG モジュールが、外部記述データベース・ファイルからの null をもつ レコードの読み取り、書き込み、および更新を行うことができることを 指定します。 null キーのあるレコードは、キー付き命令を使用すれば取り出すことが できます。 モジュールは、ヌル可能フィールドが実際に null であるかどうかを判別し、 出力または更新の場合に ヌル可能フィールドが null であるように設定する ことができます。 null を含むフィールドがモジュール内で正常に使用されるように保証するのは プログラマーの責任です。
*YES
*INPUTONLY と同じ。
BNDDIR
記号の解決に使用するバインディング・ディレクトリーのリストを指定します。
*NONE
バインディング・ディレクトリーは指定されません。
バインディング・ディレクトリー名
記号の解決に使用するバインディング・ディレクトリーの名前を指定します。

ディレクトリー名は、次のライブラリー値の 1 つで修飾することができます。

*LIBL
システムは、ライブラリー・リストを検索して、バインディング・ディレクトリーが保管され ているライブラリーを見付けます。
*CURLIB
ジョブの現行ライブラリーが検索されます。 ジョブの現行ライブラリーとしてライブラリーを 指定していない場合には、ライブラリー QGPL が使用されます。
*USRLIBL
ジョブのライブラリー・リストのユーザー部分にあるライブラリーだけが 検索されます。
ライブラリー名
検索するライブラリーの名前を指定します。
ACTGRP
このプログラムが呼び出される時に関連付けられる活動化グループを指定 します。
QILE
このプログラムが呼び出された場合には、指定の活動化グループ QILE で 活動化されます。
*NEW
このプログラムが呼び出された場合には、新しい活動化グループで 活動化されます。
*CALLER
このプログラムが呼び出された場合には、呼び出し元の活動化グループで 活動化されます。
活動化グループ名
このプログラムが呼び出される時に使用される活動化グループの名前を指定 します。
ENBPFRCOL
パフォーマンス収集を使用可能にするかどうかを指定します。
*PEP
プログラム入力プロシージャーの入り口および出口でのみ、 パフォーマンス統計情報が収集されます。 これは、プログラム内のモジュールのメイン・プロシージャーではなく、 そのプログラムの実際のプログラム入力プロシージャーに適用されます。 これはデフォルトです。
*NEW
このプログラムが呼び出された場合には、新しい活動化グループで 活動化されます。
*ENTRYEXIT
プログラムのすべてのプロシージャーの入り口および出口で、 パフォーマンス統計情報が収集されます。
*FULL
すべてのプロシージャーの入り口および出口で、 パフォーマンス統計情報が収集されます。また、外部プロシージャーへの呼び出しごとにその呼び出しの前後にも統計情報が 収集されます。
DEFINE
コンパイルの開始前に定義する条件名を 指定します。パラメーター DEFINE(条件名) を使うのと、ソース・ファイルの 最初の行に /DEFINE 条件名宣言をコーディングするのとは同じことです。
*NONE
条件名は定義されません。 これはデフォルトです。
条件名
最高 32 の条件名を指定することができます。 名前ごとに最高 50 桁が 可能です。 条件名は、コンパイルの開始時に定義されたものと見なされます。
PRFDTA
プログラムのプロファイル作成データ属性を指定します。 プログラム・プロファイル作成とは拡張最適化技法で、 プロシージャー内のプロシージャーとコードを統計データ (プロファイル作成データ) に基づいてリオーダーするために使われます。
*NOCOL
このプログラムはプロファイル作成データを集めるために使うことができません。これはデフォルトです。
*COL
プログラムはプロファイル作成データを集めるために使うことができます。*COL が指定できるのは、モジュールの最適化レベルが *FULL である場合およびターゲット・リリース *CURRENT でコンパイルする場合だけに限られます。
LICOPT
1 つ以上のライセンス内部コード・コンパイル時オプションを指定します。 このパラメーターにより個別のコンパイル時オプションを選択することができます。 このパラメーターは、コンパイラー・オプションの各選択タイプの利点と欠点を理解している上級プログラマーを対象にしています。
INCDIR
コンパイラーがコピー・ファイルを検索する場合に使用する検索パスに追加する 1 つ以上のディレクトリーを指定します。

コンパイラーは、現行ディレクトリーを参照することによって、 ソース・プログラム内の相対的に指定されたコピー・ファイルを解決できないと、 ここで指定されたディレクトリーを検索します。 コピー・ファイルが現行ディレクトリーまたは INCDIR パラメーターで指定されたディレクトリー内で見つからないと、 RPGINCDIR 環境変数で指定されたディレクトリーを検索し、 その次にメイン・ソース・ファイルが入っているディレクトリーを検索します。

*NONE
ディレクトリーは指定されていません。
ディレクトリー
コピー・ファイルの検索先として最大 32 のディレクトリーを指定します。
PGMINFO
ストリーム・ファイル内にプログラム・インターフェース情報を生成するかどうかを指定します。

指定できる値は次のとおりです。

*NO
このオプションは、プログラム・インターフェース情報を生成しないことを示すデフォルト値を指定します。
*PCML
PCML (プログラム呼び出しマークアップ言語) をストリーム・ファイルに生成することを指定します。

PCML を生成すれば、 この RPG モジュールでの Java メソッドによるプロシージャー呼び出しが簡単になり、 Java コードを削減することができます。 INFOSTMF オプションで、生成された PCML を入れるストリーム・ファイルの名前を指定します。

INFOSTMF

PGMINFO オプションで指定された、 生成されたプログラム・インターフェース情報を入れるストリーム・ファイルのパス名を指定します。

パス名は、絶対名でも、相対修飾名でも構いません。 絶対パス名の先頭は '/'、相対パス名の先頭は '/' 以外の文字です。

絶対修飾であれば、パス名としては完全です。 相対修飾の場合、 パス名にジョブの現行作業ディレクトリーを付け加えることによって、パス名が完全なものになります。

このパラメーターは、 PGMINFO パラメーターの値が *NO 以外の場合しか指定できません。

PPGENOPT
ソース・コードのコンパイル時に使用するプリプロセッサー生成オプションを指定します。

以下のオプションを指定できます。

*NONE
ソース・ファイルに対してコンパイラー全体を実行します。 プリプロセッサーの出力をファイルにコピーしません。
*DFT
入力ソースに対してプリプロセッサーを実行します。 プリプロセッサー出力を生成するためのオプションとして *RMVCOMMENT、*EXPINCLUDE および *NOSEQSRC が使用されます。 出力ソース・ファイルおよびメンバーを指定するには PPSRCFILE および PPSRCMBR を使用し、 プリプロセッサー出力を含むストリーム・ファイルを指定するには PPSRCSTMF を使用します。
*RMVCOMMENT
コメント、ブランク行、およびほとんどのディレクティブをプリプロセス中に除去します。 RPG 指定およびその指定を正しく解釈するために必要なディレクティブのみを保持します。
*NORMVCOMMENT
プリプロセス中にコメント、ブランク行およびリスト制御ディレクティブ (/EJECT、/TITLE など) を保持します。 プリプロセス中に、ソース制御ディレクティブ (/COPY、/IF など) をコメントに変換します。
*EXPINCLUDE
/INCLUDE ディレクティブを、生成された出力ファイル内に展開します。
*NOEXPINCLUDE
/INCLUDE ディレクティブを未変更のまま、生成された出力ファイルに出力します。
注:
/COPY ディレクティブは常に展開されます。
*SEQSRC
PPSRCFILE を指定すると、生成された出力メンバーには 000001 で始まり 000001 ずつ増加するシーケンス番号が付きます。
*NOSEQSRC
PPSRCFILE を指定すると、生成された出力メンバーに、プリプロセッサーが読み取ったオリジナルのソースと同一のシーケンス番号が付きます。
PPSRCFILE
プリプロセッサー出力用のソース・ファイル名とライブラリーを指定します。

ソース・ファイル名
プリプロセッサー出力用のソース・ファイルの名前を指定します。

以下のライブラリー値を指定できます。

*CURLIB
プリプロセッサー出力は現行ライブラリー内に作成されます。 ジョブに現行ライブラリーがない場合、プリプロセッサー出力ファイルは QGPL ライブラリー内に作成されます。
ライブラリー名
プリプロセッサー出力用のライブラリーの名前を指定します。
PPSRCMBR
プリプロセッサー出力用のソース・ファイル・メンバーの名前を指定します。
*PGM
PGM パラメーターで指定された名前はプリプロセッサーの出力メンバー名として使用されます。
メンバー名
プリプロセッサー出力用のメンバーの名前を指定します。
PPSRCSTMF
プリプロセッサー出力用のストリーム・ファイルのパス名を指定します。
*SRCSTMF
SRCSTMF パラメーターで指定されたパス名はプリプロセッサーの出力パス名として使用されます。 このファイルには拡張子「.i」が付きます。
'パス名'
プリプロセッサー出力ストリーム・ファイル用のパス名を指定します。

このパス名は絶対パスまたは相対パスのどちらでも構いません。 絶対パス名の先頭は '/'、相対パス名の先頭は '/' 以外の文字です。

絶対修飾であれば、パス名としては完全です。 相対修飾の場合、 パス名にジョブの現行作業ディレクトリーを付け加えることによって、パス名が完全なものになります。