CRTBNDRPG コマンドの説明
CRTBNDRPG コマンドのパラメーター、キーワード、および変数を下にリスト します。 オンラインで同じ情報が使用可能です。 コマンド入力行にコマンド名を入力し、 PF4 (プロンプト) キーを押してから、 説明を表示したいパラメーター上で PF1 (ヘルプ) キーを押してください。
- PGM
- 作成するプログラム・オブジェクト (*PGM) のプログラム名およびライブ
ラリー名を指定します。
プログラム名およびライブラリー名は IBM® i の命名規則に適合していなければなりません。ライブラリーを指定しない場合には、作成されたプログラムは現行ライブラリ
ーに保管されます。
- *CTLSPEC
- コンパイル済みプログラムの名前は、制御仕様書の DFTNAME キーワードに指定 された名前から取られます。 制御仕様書にプログラム名が指定されておらず、ソース・メンバーがデータベース・ ファイルからのものである場合には、SRCMBR パラメーターで指定された メンバー名がプログラム名として使用されます。 ソースがデータベース・ファイルからのものでなければ、 プログラム名にはデフォルトの値として RPGPGM が使用されます。
- program-name
- プログラム・オブジェクトの名前を入力します。
- *CURLIB
- 作成されたプログラム・オブジェクトは現行ライブラリーに保管され ます。 現行ライブラリーを指定していない場合には、QGPL が使用されます。
- library-name
- 作成されたプログラム・オブジェクトを保管するライブラリーの名前を入 力します。
- SRCFILE
- コンパイルする ILE RPG ソース・メンバーが入っているソース・ファイル
の名前およびそのソース・ファイルが入っているライブラリーを指定します。 推奨されるソース物理ファイルの長さは 112 桁です。順序番号と日付の 12 桁、
コードの 80 桁、および注記の 20 桁です。 これは、コンパイラー・リストに示されるソースの最大サイズです。
- QRPGLESRC
- デフォルトのソース・ファイル QRPGLESRC には、コンパイルされる ILE RPG ソース・ メンバーが入ります。
- ソース・ファイル名
- コンパイルする ILE RPG ソース・メンバーが入っているソース・ファイルの 名前を入力します。
- *LIBL
- システムは、ライブラリー・リストを検索して、ソース・ファイルが保管され ているライブラリーを見付けます。 これはデフォルトです。
- *CURLIB
- ソース・ファイルを検索するために現行ライブラリー・リストが使用されます。 現行ライブラリーを指定していない場合には、QGPL が使用されます。
- library-name
- ソース・ファイルが保管されているライブラリーの名前を入力します。
- SRCMBR
- コンパイルする ILE RPG ソース・プログラムが入っているソース・ファイル
のメンバーの名前を指定します。
- *PGM
- PGM パラメーターによって指定された名前をソース・ファイル・メンバー名 として使用します。 コンパイル済みプログラム・オブジェクトはソース・ファイル・メンバーと同じ名 前をもつことになります。 PGM パラメーターによってプログラム名が指定されていない場合には、 コマンドは、ソース・メンバー名としてソース・ファイルに最初に作成 または追加されたメンバーを使用します。
- ソース・ファイル・メンバー名
- ILE RPG ソース・プログラムを入れるメンバーの名前を入力します。
- SRCSTMF
- コンパイルする ILE RPG ソース・コードが入っているストリーム・ファイルのパス名を指定します。
パス名は、絶対名でも、相対修飾名でも構いません。 絶対パス名の先頭は '/'、相対パス名の先頭は '/' 以外の文字です。
絶対修飾であれば、パス名としては完全です。 相対修飾の場合、 パス名にジョブの現行作業ディレクトリーを付け加えることによって、パス名が完全なものになります。
SRCMBR パラメーターおよび SRCFILE パラメーターを、 SRCSTMF パラメーターと一緒に指定することはできません。
- GENLVL
- プログラム・オブジェクトの作成を制御します。 コンパイルで検出されたすべてのエラーが指定された生成重大度レベルより小
さいか等しい場合に、プログラム・オブジェクトが作成されます。
- 10
- 10 より大きい重大度レベルのメッセージがある場合には、 プログラム・オブジェクトは生成されません。
- severity-level-value
- 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 を使
用して生成されます。
SEU 順序番号は、リストの左端の桁に示されます。ステートメント番号は、リストの右 端の桁に示されます。これらの番号は、ステートメント番号を使用してデバッグを行う ときに使用されます。ステートメント番号 = ソース ID * 1000000 + SEU 順序番号注: OPTION(*SRCSTMT) が指定されている場合には、ソース・ファイル内のすべて の順序番号に、有効な数値が入っている必要があります。同じソース・ファイル内に重 複する順序番号がある場合、デバッガーの動作は予測不能であり、診断メッセージまたは相互参照項目のステートメント番号は意味をもたないことがあります。 - *DEBUGIO
- すべての入出力仕様書について停止点を生成します。
- *NODEBUGIO
- 入出力仕様書について停止点を生成しません。
- *UNREF
- 非参照データ項目はコンパイルされたモジュールに含められます。
- *NOUNREF
- 非参照データ項目は、コンパイルされたモジュールに含められません。 これによって使用ストレージの量が少なくなり、もっと大きなプログラムがコンパイルできるようになります。 *NOUNREF オプションを選択した場合は、デバッグ中に非参照データ項目を見たり、それに代入したりすることはできません。 非参照データ項目は OPTION (*XREF) を指定して作成された相互参照表には表示されます。
- *NOEVENTF
Rational Developer for i で使用するイベント・ファイルを作成しません。 Rational Developer for i は、エディターで統合されたエラー・フィードバックを提供するために、このファイルを使用します。 イベント・ファイルは通常、Rational Developer for i 内からモジュールまたはプログラムを作成した時に作成されます。
- *EVENTF
- Rational Developer for i で使用するイベント・ファイルを作成します。イベント・ファイルは、作成されたモジュールまたはプログラム・オブジェクトが保管
されるライブラリー中のファイル EVFEVENT のメンバーとして作成されます。 ファイル EVFEVENT が存在していない場合には、自動的に作成されます。 イベント・ファイル・メンバー名は、作成されるオブジェクトの名前と同じです。
Rational Developer for i は、エディターで統合されたエラー・フィードバックを提供するために、このファイルを使用します。 イベント・ファイルは通常、Rational Developer for i 内からモジュールまたはプログラムを作成した時に作成されます。
- DBGVIEW
- コンパイル済みプログラムに使用可能なデバッグ・レベル、および
ソース・レベル・デバッグに使用可能なソース・ビューを指定します。
- *STMT
- コンパイラー・リスト行番号またはス テートメント番号を使用してプログラム・オブジェクトをデバッグできるようにします。OPTION(*NOSRCSTMT) が指定された場合、行番号は、コンパイラー・リストのソース・ セクションの左端の桁に示されます。OPTION(*SRCSTMT) が指定された場合、ステート メント番号は、コンパイラーのソース・セクションの右端の桁に示されます。
- *SOURCE
- コンパイル済みプログラム・オブジェクトをデバッグするための、ソース・ビューを生成します。このビューは、ルート・ソース・メンバーが DDM ファイルの場合には使用可能ではあ りません。 また、コンパイルした後、プログラムをデバッグする前にソース・メンバーに対 して変更が行われた場合には、これらのソース・メンバーのビューは使えないことが あります。
- *LIST
- コンパイル済みプログラム・オブジェクトをデバッグするための、リスト・
ビューを生成します。リスト・ビューに入っている情報は、OPTION
パラメーターに *SHOWCPY、*EXPDDS、および *SRCSTMT が指定されているかどうかによって異なります。
注: リスト・ビューには、字下げオプションを使用して要求した字下げは示さ れません。
- *COPY
- コンパイル済みプログラム・オブジェクトをデバッグするためのソースおよ びコピー・ビューを生成します。 このオプションのソース・ビューは、*SOURCE オプションで生成されたものと同じ ソース・ビューです。 コピー・ビューは、すべての /COPY ソース・メンバーを含む デバッグ・ビューです。 これらのビューは、ルート・ソース・メンバーが DDM ファイルの場合には使用可能で はありません。 また、コンパイルした後、プログラムをデバッグする前にソース・メンバーに対 して変更が行われた場合には、これらのソース・メンバーのビューは使えないことが あります。
- *ALL
- コンパイル済みプログラム・オブジェクトをデバッグするためのリスト、 ソース、およびコピー・ビューを生成します。 リスト・ビューに入っている情報は、OPTION パラメーターに *SHOWCPY、*EXPDDS、および *SRCSTMT が指定されているかどうかによって異なります。
- *NONE
- コンパイル済みプログラム・オブジェクトをデバッグするためのすべての デバッグ・オプションを使用禁止にします。
- DBGENCKEY
- デバッグ・ビューに組み込まれるプログラム・ソースを暗号化するために使用される暗号鍵を指定します。
- *NONE
- 暗号鍵は指定されていません。
- character-value
- モジュール・オブジェクトに保管されるデバッグ・ビューに組み込まれるプログラム・ソースを暗号化するために使用される鍵を指定してください。
鍵の長さは 1 バイトから 16 バイトまでです。
1 バイトから 15 バイトまでの長さの鍵は、ブランクが埋め込まれて 16 バイトの暗号鍵となります。
長さがゼロの鍵を指定することと *NONE を指定することは同じです。
コード・ページによって変わる文字が鍵に含まれている場合は、受動システムが起動システムと同じコード・ページを使用するようにする必要があります。そうしないと、鍵が一致せず、暗号化解除できなくなることがあります。 さまざまなコード・ページを持つシステムで暗号鍵を入力しなければならない場合は、どの EBCDIC コード・ページでも変わらない文字から成る鍵を使用することをお勧めします。
- OUTPUT
- コンパイラー・リストを生成するかどうかを指定します。
- ILE RPG プログラム・ソースおよびすべてのコンパイル時のメッセージから成る、コンパイラー・リストを作成します。 このリストに含まれる情報は、OPTION パラメーターに *XREF、*SECLVL、*SHOWCPY、 *EXPDDS、*EXT、*SHOWSKP、および *SRCSTMT が指定されているかどうかによって異なります。
- *NONE
- コンパイラー・リストを生成しません。
- OPTIMIZE
- プログラムの最適化のレベル (ある場合) を指定します。
- *NONE
- 生成されるコードは最適化されません。 これは変換時間のためには、最も 速い方法です。 これによって、デバッグ・モードの間に変数を表示して変更することができます。
- *BASIC
- 生成されるコードに対して一部の最適化が実行されます。 これによって、 プログラムがデバッグ・モードの間にユーザー変数を表示することができますが、変更することはできません。
- *FULL
- 最も効率的なコードを生成する最適化です。 変換時間は最も長く なります。 デバッグ・モードでユーザー変数を変更することはできませんが、表示することはできます。 ただし、提示される値は現在の値ではない可能性があります。
- INDENT
- 読みやすくするために、ソース・リスト中の構造化命令を字下げする必要
があるかどうかを指定します。 また、構造化命令文節にマークを付けるために
使用される文字を指定します。
注: ここで要求する字下げは、DBGVIEW(*LIST) を指定した時に作成される リスト・デバッグ・ビューには反映されません。
- *NONE
- 構造化命令はソース・リスト中で字下げされません。
- character-value
- 構造化命令文節の場合に、ソース・リストが字下げされます。 ステートメントおよび文節の配置は
選択した文字を使用して印が付けられます。 最高 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 が使用されます。
- library-name
- 分類順序テーブルが保管されているライブラリーの名前を入力します。
SRTSEQ パラメーターおよび LANGID パラメーターを使用して代替照合順序を決定したい場合は、制御仕様書に ALTSEQ(*EXT) も指定することが必要です。
- LANGID
- 分類順序が *LANGIDUNQ および *LANGIDSHR の時に使用する、言語識別コ
ードを指定します。
LANGID パラメーターは分類順序テーブルを選択するために、SRTSEQ パラメーターと
一緒に使用されます。
- *JOBRUN
- RPG プログラムの実行時のジョブと関連した LANGID 値を使用します。
- *JOB
- RPG プログラムの作成時のジョブと関連した LANGID 値を使用します。
- language-identifier
- 指定された言語識別コードを使用します。 (例えば、フランス語の 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/systems/i/infocenter/ で IBM i Information Center の中の『プログラミング』カテゴリーの『CL および API』の節を参照してください。
- *LIBCRTAUT
- オブジェクトの共通認可は、目的ライブラリー (そのオブジェクトが入っ ているライブラリー) の CRTAUT キーワードから取られます。 この値は、オブジェクトが作成される時に 決められます。 作成後にライブラリーの CRTAUT 値が変更された場合には、新しい値は既存の オブジェクトに影響しません。
- *ALL
- 所有者に限定された操作、または権限リスト管理権限により制御される操作を除く、 プログラム・オブジェクトに対するすべての操作の権限を提供します。 ユーザーは、プログラム・オブジェクトの 存在を制御し、その機密保護を指定し、これを変更し、これに対する基本機能を実行できますが、所有権を移す ことはできません。
- *CHANGE
- すべてのデータ権限および、所有者に限定された操作またはオブジェクト権限およびオブジェクト管理権限 によって制御される操作を除くプログラム・オブジェクトに対するすべての操作を実行する 権限を提供します。 ユーザーはオブジェクトを変更し、これに基本機能を実行することが できます。
- *USE
- オブジェクトの処理権限および読み取り権限、すなわちプログラム・オブジェクトに対する 基本操作権限を提供します。 ユーザーは、オブジェクトを変更することはできません。
- *EXCLUDE
- ユーザーは、オブジェクトにアクセスすることはできません。
- 権限リスト名
- ユーザーの権限リストの名前およびプログラムに追加する権限を入力しま
す。
プログラム・オブジェクトは、この権限リストによって保護され、プログラム
・オブジェクトの共通認可は *AUTL に設定されます。CRTBNDRPG コマンドを出す時には、この権限リストはシステム上に存在してい
なければなりません。
注: AUT パラメーターを使用して、システムの機密保護要件を表し ます。 使用可能な機密保護機能の詳細な説明は、資料「機密保護解説」に記載されています。
- 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 が導 入されているシステムでオブジェクトを使用することを意味します。また、導入されているオペレーティング・システム以降のリリースのシステムでも このオブジェクトを使用することができます。
- target-release
- 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 と同じ。
- STGMDL
- プログラムの記憶域モデル属性を指定します。
- *SNGLVL
- プログラムは単一レベル記憶域モデルで作成されます。 単一レベル記憶域モデル・プログラムが活動化され実行されると、単一レベル記憶域が自動かつ静的な記憶域として提供されます。 単一レベル記憶域プログラムは単一レベル記憶域活動化グループ内でのみ実行されます。
- *TERASPACE
- プログラムはテラスペース記憶域モデルで作成されます。 テラスペース記憶域モデル・プログラムが活動化され実行されると、テラスペース記憶域が自動かつ静的な記憶域として提供されます。 テラスペース記憶域プログラムはテラスペース記憶域活動化グループ内でのみ実行されます。
- *INHERIT
- プログラムは継承記憶域モデルで作成されます。 このプログラムは、活動化されると、このプログラムが活動化された活動化グループの記憶域モデルを選択します。 これは、その呼び出し元の記憶域モデルを継承することと同じ意味になります。 *INHERIT 記憶域モデルが選択されたときは、活動化グループ (ACTGRP) パラメーターで *CALLER を指定する必要があります。
- BNDDIR
- 記号の解決に使用するバインディング・ディレクトリーのリストを指定します。
- *NONE
- バインディング・ディレクトリーは指定されません。
- バインディング・ディレクトリー名
- 記号の解決に使用するバインディング・ディレクトリーの名前を指定します。
ディレクトリー名は、次のライブラリー値の 1 つで修飾することができます。
- *LIBL
- システムは、ライブラリー・リストを検索して、バインディング・ディレクトリーが保管され ているライブラリーを見付けます。
- *CURLIB
- ジョブの現行ライブラリーが検索されます。 ジョブの現行ライブラリーとしてライブラリーを 指定していない場合には、ライブラリー QGPL が使用されます。
- *USRLIBL
- ジョブのライブラリー・リストのユーザー部分にあるライブラリーだけが 検索されます。
- library-name
- 検索するライブラリーの名前を指定します。
- ACTGRP
- このプログラムが呼び出される時に関連付けられる活動化グループを指定
します。
- *STGMDL
- STGMDL(*TERASPACE) が指定されていると、プログラムは呼び出されて QILETS 活動化グループで活動化されます。 その他の場合は、このプログラムは呼び出されて QILE 活動化グループで活動化されます。
- *NEW
- このプログラムが呼び出された場合には、新しい活動化グループで 活動化されます。
- *CALLER
- このプログラムが呼び出された場合には、呼び出し元の活動化グループで 活動化されます。
- activation-group-name
- このプログラムが呼び出される時に使用される活動化グループの名前を指定 します。
- ENBPFRCOL
- パフォーマンス収集を使用可能にするかどうかを指定します。
- *PEP
- プログラム入力プロシージャーの入り口および出口でのみ、 パフォーマンス統計情報が収集されます。 これは、プログラム内のモジュールのメイン・プロシージャーではなく、 そのプログラムの実際のプログラム入力プロシージャーに適用されます。 これはデフォルトです。
- *NEW
- このプログラムが呼び出された場合には、新しい活動化グループで 活動化されます。
- *ENTRYEXIT
- プログラムのすべてのプロシージャーの入り口および出口で、 パフォーマンス統計情報が収集されます。
- *FULL
- すべてのプロシージャーの入り口および出口で、 パフォーマンス統計情報が収集されます。また、外部プロシージャーへの呼び出しごとにその呼び出しの前後にも統計情報が 収集されます。
- DEFINE
- コンパイルの開始前に定義する条件名を
指定します。パラメーター DEFINE(条件名) を使うのと、ソース・ファイルの
最初の行に /DEFINE 条件名宣言をコーディングするのとは同じことです。
- *NONE
- 条件名は定義されません。 これはデフォルトです。
- condition-name
- 最高 32 の条件名を指定することができます。 名前ごとに最高 50 桁が 可能です。 条件名は、コンパイルの開始時に定義されたものと見なされます。
- PRFDTA
- プログラムのプロファイル作成データ属性を指定します。
プログラム・プロファイル作成とは拡張最適化技法で、
プロシージャー内のプロシージャーとコードを統計データ (プロファイル作成データ) に基づいてリオーダーするために使われます。
- *NOCOL
- このプログラムはプロファイル作成データを集めるために使うことができません。これはデフォルトです。
- *COL
- プログラムはプロファイル作成データを集めるために使うことができます。*COL が指定できるのは、モジュールの最適化レベルが *FULL である場合およびターゲット・リリース *CURRENT でコンパイルする場合だけに限られます。
- LICOPT
- 1 つ以上のライセンス内部コード・コンパイル時オプションを指定します。 このパラメーターにより個別のコンパイル時オプションを選択することができます。 このパラメーターは、コンパイラー・オプションの各選択タイプの利点と欠点を理解している上級プログラマーを対象にしています。
- INCDIR
- コンパイラーがコピー・ファイルを検索する場合に使用する検索パスに追加する 1 つ以上のディレクトリーを指定します。
コンパイラーは、現行ディレクトリーを参照することによって、 ソース・プログラム内の相対的に指定されたコピー・ファイルを解決できないと、 ここで指定されたディレクトリーを検索します。 コピー・ファイルが現行ディレクトリーまたは INCDIR パラメーターで指定されたディレクトリー内で見つからないと、 RPGINCDIR 環境変数で指定されたディレクトリーを検索し、 その次にメイン・ソース・ファイルが入っているディレクトリーを検索します。
- *NONE
- ディレクトリーは指定されていません。
- directory
- コピー・ファイルの検索先として最大 32 のディレクトリーを指定します。
- PGMINFO パラメーター:
- このオプションは、プログラム・インターフェース情報を生成するかどうか、およびその生成場所を
指定します。以下の順序でオプション値を指定します。
- generate
- プログラム・インターフェース情報を生成するかどうかを指定します。
指定できる値は次のとおりです。
- *NO
- プログラム・インターフェース情報は生成されません。
- *PCML
- PCML (プログラム呼び出しマークアップ言語) を生成することを示します。 PCML が生成されると、Java™ メソッドがこの RPG モジュール内のプロシージャーをより簡単に呼び出せるようになり、必要な Java コードも少なくなります。
- location
- generate パラメーターが *PCML である場合、
生成されたプログラム情報の場所を指定します。指定できる値は次のとおりです。
- *STMF
- プログラム情報をストリーム・ファイルに生成することを指定します。 生成された情報が含まれるストリーム・ファイルの名前は、 INFOSTMF オプションで指定する必要があります。
- *MODULE
- プログラム情報を RPG モジュールに保管することを指定します。 CRTBNDRPG の場合、プログラムを作成する前の最初のステップとしてモジュールが作成されます。
- *ALL
- プログラム情報をストリーム・ファイルに生成し、さらにモジュールに保管することを指定します。 生成された情報が含まれるストリーム・ファイルの名前は、 INFOSTMF オプションで指定する必要があります。
- 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 ライブラリー内に作成されます。
- library-name
- プリプロセッサー出力用のライブラリーの名前を指定します。
- PPSRCMBR
- プリプロセッサー出力用のソース・ファイル・メンバーの名前を指定します。
- *PGM
- PGM パラメーターで指定された名前はプリプロセッサーの出力メンバー名として使用されます。
- メンバー名
- プリプロセッサー出力用のメンバーの名前を指定します。
- PPSRCSTMF
- プリプロセッサー出力用のストリーム・ファイルのパス名を指定します。
- *SRCSTMF
- SRCSTMF パラメーターで指定されたパス名はプリプロセッサーの出力パス名として使用されます。 このファイルには拡張子「.i」が付きます。
- 'パス名'
- プリプロセッサー出力ストリーム・ファイル用のパス名を指定します。
このパス名は絶対パスまたは相対パスのどちらでも構いません。 絶対パス名の先頭は '/'、相対パス名の先頭は '/' 以外の文字です。
絶対修飾であれば、パス名としては完全です。 相対修飾の場合、 パス名にジョブの現行作業ディレクトリーを付け加えることによって、パス名が完全なものになります。