RPG/400プログラムの作成 (CRTRPGPGM)
| 実行可能場所: すべての環境 (*ALL) スレッド・セーフ: いいえ |
パラメーター 例 エラー・メッセージ |
| 上 |
パラメーター
| キーワード | 記述 | 選択項目 | ノーツ |
|---|---|---|---|
| PGM | プログラム | 修飾オブジェクト名 | オプショナル, 定位置 1 |
| 修飾子 1: プログラム | 名前, *CTLSPEC | ||
| 修飾子 2: ライブラリー | 名前, *CURLIB | ||
| SRCFILE | ソース・ファイル | 修飾オブジェクト名 | オプショナル, 定位置 2 |
| 修飾子 1: ソース・ファイル | 名前, QRPGSRC | ||
| 修飾子 2: ライブラリー | 名前, *LIBL, *CURLIB | ||
| SRCMBR | ソース・メンバー | 名前, *PGM | オプショナル, 定位置 3 |
| GENLVL | 生成重大度レベル | 0-99, 9 | オプショナル |
| TEXT | テキスト'記述' | 文字値, *SRCMBRTXT, *BLANK | オプショナル |
| OPTION | ソース・リスト・オプション | 値 (最大 14 回の繰り返し): *SOURCE, *NOSOURCE, *SRC, *NOSRC, *XREF, *NOXREF, *GEN, *NOGEN, *DUMP, *NODUMP, *SECLVL, *NOSECLVL, *SRCDBG, *NOSRCDBG, *LSTDBG, *NOLSTDBG | オプショナル |
| GENOPT | 生成オプション | 値 (最大 10 回の繰り返し): *LIST, *NOLIST, *XREF, *NOXREF, *ATR, *NOATR, *DUMP, *NODUMP, *PATCH, *NOPATCH, *OPTIMIZE, *NOOPTIMIZE | オプショナル |
| INDENT | ソース・リストの字下げ | 文字値, *NONE | オプショナル |
| CVTOPT | タイプ変換オプション | 単一値: *NONE その他の値 (最大 3 回の繰り返し): *DATETIME, *VARCHAR, *GRAPHIC |
オプショナル |
| SRTSEQ | ソート順序 | 単一値: *HEX, *JOB, *JOBRUN, *LANGIDUNQ, *LANGIDSHR その他の値: 修飾オブジェクト名 |
オプショナル |
| 修飾子 1: ソート順序 | 名前 | ||
| 修飾子 2: ライブラリー | 名前, *LIBL, *CURLIB | ||
| LANGID | 言語ID | 名前, *JOBRUN, *JOB | オプショナル |
| SAAFLAG | SAAフラグ付け | *NOFLAG, *FLAG | オプショナル |
| PRTFILE | 印刷ファイル | 修飾オブジェクト名 | オプショナル |
| 修飾子 1: 印刷ファイル | 名前, QSYSPRT | ||
| 修飾子 2: ライブラリー | 名前, *LIBL, *CURLIB | ||
| REPLACE | プログラムの置き換え | *YES, *NO | オプショナル |
| TGTRLS | ターゲット・リリース | 単純名, *CURRENT, *PRV | オプショナル |
| USRPRF | ユーザー・プロファイル | *USER, *OWNER | オプショナル |
| AUT | 権限 | 名前, *LIBCRTAUT, *ALL, *CHANGE, *USE, *EXCLUDE | オプショナル |
| PHSTRC | フェーズ・トレース | *NO, *YES | オプショナル |
| ITDUMP | 中間テキスト・ダンプ | 文字値, *NONE | オプショナル |
| SNPDUMP | スナップ・ダンプ | 文字値, *NONE | オプショナル |
| CODELIST | コード・リスト | 文字値, *NONE, *ALL | オプショナル |
| IGNDECERR | 10進データ・エラーの無視 | *NO, *YES | オプショナル |
| ALWNULL | ヌル値使用可能 | *NO, *YES | オプショナル |
| 上 |
プログラム (PGM)
コンパイル済みRPGプログラムのプログラム名およびライブラリーを指定します。
- *CTLSPEC
- 制御仕様の75-80桁目で指示されたプログラム名。
- プログラム名
- プログラムを識別する名前を入力してください。
- *CURLIB
- 現行ライブラリーが使用されます。 現行ライブラリーを指定していない場合には,QGPLが使用されます。
- ライブラリー名
- コンパイル済みプログラムを保管するライブラリーの名前を入力してください。
| 上 |
ソース・ファイル (SRCFILE)
ソース・プログラムが入っているソース・ファイルの名前を指定します。
- QRPGSRC
- 省略時のソース・ファイルQRPGSRCには,コンパイルされるRPGプログラムが入っています。
- ソース・ファイル名
- コンパイルされるRPGソース・プログラムが入っているソース・ファイル名を入力します。
- *LIBL
- システムはライブラリー・リストを検索して,ソース・ファイルが入っているライブラリーを見つけます。
- *CURLIB
- 現行ライブラリーが使用されます。 現行ライブラリーを指定していない場合には,QGPLが使用されます。
- ライブラリー名
- ソース・ファイルが入っているライブラリーの名前を入力してください。
| 上 |
ソース・メンバー (SRCMBR)
ソース・ファイルのメンバーの名前を指定します。
- *PGM
- ソース・ファイル・メンバー名としてPGMパラメーターで指定した名前。
- ソース・ファイル・メンバー名
- ソース・プログラムが入っているメンバーの名前を入力してください。
| 上 |
生成重大度レベル (GENLVL)
プログラム・オブジェクトの作成を停止する診断メッセージの重大度レベルを指定します。
- 9
- 省略時の重大度レベルは9です。
- 重大度レベル値
- 01-50の2桁の数字を入力してください。
| 上 |
テキスト'記述' (TEXT)
プログラム機能の説明に使用するテキストを指定します。
- *SRCMBRTXT
- ソース・ファイル・メンバーのテキスト記述を使用します。
- *BLANK
- テキストはありません。
| 上 |
ソース・リスト・オプション (OPTION)
ソース・プログラムをコンパイルする時に使用するオプションを指定します。
- *SOURCEまたは*SRC
- コンパイラーがソース・リストを提供します。
- *NOSOURCEまたは*NOSRC
- コンパイラーはソース・リストを提供しません。
- *XREF
- コンパイラーが相互参照表を提供します。
- *NOXREF
- コンパイラーは相互参照表を提供しません。
- *GEN
- プログラムのコンパイル後に実行可能なプログラム・オブジェクトが作成されます。
- *NOGEN
- プログラム・オブジェクトは作成されません。
- *NODUMP
- エラーが起こった時にプログラム・テンプレートを印刷しません。
- *DUMP
- エラーが起こった時にプログラム・テンプレートを印刷します。
- *NOSECLVL
- メッセージ・テキストは印刷されません。
- *SECLVL
- メッセージ・テキストが印刷されます。
- *NOSRCDBG
- ソース・レベルのデバッグ情報は作成されません。ソース・レベルのエラー情報は,*LSTDBGを指定しない限り作成されません。
- *SRCDBG
- コンパイラーは,クライアント・ツールで使用するためのソース・レベルのエラー情報およびソース・レベルのデバッグ情報を作成します。また,システム・デバッガー(STRDBG OPMSRC(*YES))を使用してOPMプログラムとILEプログラムを同時にデバッグしたい場合には,ソース・レベルまたはリスト・レベルのデバッグ情報が必要です。
*SRCDBGと*LSTDBGを一緒に指定することはできません。 どちらか一方を指定してください。
- *NOLSTDBG
- リスト・ビューまたはリスト・レベルのデバッグ情報は作成されません。ソース・レベルのエラー情報は,*SRCDBGを指定しない限り作成されません。
- *LSTDBG
- コンパイラーは,クライアント・ツールで使用するためのリスト・ビュー,ソース・レベルのエラー情報,およびリスト・レベルのデバッグ情報を作成します。また,システム・デバッガー(STRDBG OPMSRC(*YES))を使用してOPMプログラムとILEプログラムを同時にデバッグしたい場合には,ソース・レベルまたはリスト・レベルのデバッグ情報が必要です。
*SRCDBGと*LSTDBGを一緒に指定することはできません。 どちらか一方を指定してください。
| 上 |
生成オプション (GENOPT)
オブジェクト・コードの作成に使用するオプションを指定してください。
- *NOLIST
- プログラムの中間表現(IRP)リストを作成しません。
- *LIST
- プログラムの中間表現(IRP)をリストします。
- *NOXREF
- プログラムの中間表現(IRP)の相互参照リストを作成しません。
- *XREF
- プログラムの中間表現(IRP)に定義されたすべてのオブジェクトの相互参照リストを作成します。
- *NOATR
- 属性リストを作成しません。
- *ATR
- プログラムの中間表現(IRP)ソース・プログラムの属性をリストします。
- *NODUMP
- エラーが起こった時にプログラム・テンプレートを印刷しません。
- *DUMP
- プログラム・テンプレートを印刷します。
- *NOPATCH
- コンパイル済みプログラムにプログラム・パッチ域を予約しません。
- *PATCH
- コンパイル済みプログラムにプログラム・パッチ域のスペースを予約します。
- *NOOPTIMIZE
- コンパイラーはプログラムの最適化を実行しません。
- *OPTIMIZE
- コンパイラーは処理効率の高いプログラムを作成します。
| 上 |
ソース・リストの字下げ (INDENT)
DOステートメントおよびIF-ELSE文節は,読みやすいように字下げを指定します。また,対応するDO-ENDDOの対とIF-ELSEの対の結合に使用される文字も指定します。
- *NONE
- DOステートメントまたはIF-ELSE文節の中では,リストは字下げされません。
- 文字ストリング
- 対応するネスト・レベルを結合するためには所定の文字ストリングを使用します。
| 上 |
タイプ変換オプション (CVTOPT)
日付,時刻,およびタイム・スタンプ・データベースのデータ・タイプ,および外部記述ファイルから検索される可変長データ・タイプをRPG/400コンパイラーで処理する方法を指定します。
- *NONE
- 日付,時刻,タイム・スタンプ,および可変長データベースのデータ・タイプは無視されて,RPG/400プログラムでアクセスすることはできません。
- *DATETIME
- 日付,時刻,タイム・スタンプのデータベースのデータ・タイプは固定長文字フィールドとして宣言されて,RPG/400プログラムでアクセスすることができます。
- *VARCHAR
- 可変長データベースのデータ・タイプは固定長文字フィールドとして宣言されて,RPG/400プログラムでアクセスすることができます。
- *GRAPHIC
- DBCSグラフィック・データ・タイプは固定長の文字フィールドとして宣言され,RPG/400プログラムでアクセス可能です。
注: プログラム中で可変長DBCSグラフィック・データ・タイプを宣言する必要がある場合には,*VARCHARおよび*GRAPHICの両方のパラメーターを選択してください。
| 上 |
ソート順序 (SRTSEQ)
使用するソート順序テーブルを指定します。
注: CRTRPGPGMまたはCRTRPTPGMコマンドのSRTSEQおよびLANGIDパラメーターにコーディングされた値を使用するためには,制御仕様の代替照合順序フィールドにDを指定しなければなりません。代替照合順序はコンパイル時または実行時のいずれかにシステムから検索されます。Dオプションを指定すると,代替照合順序は以下に影響を与えます。すなわち,すべての文字比較操作,文字テーブルおよび配列のLOKUPおよびSORTA,および文字のコンパイル時データおよび実行時前配列とテーブルの順序検査に影響を与えます。実行時に代替照合順序が検索される場合には,コンパイル時データの順序検査は実行時まで延期されます。
- *HEX
- ソート順序を決定するために,文字の16進数値を使用します。これが省略時の値です。
- *JOB
- RPGプログラムの作成時に,ジョブに対応したSRTSEQ値を使用します。
- *JOBRUN
- RPGプログラムの実行時に,ジョブに対応したSRTSEQ値を使用します。
- *LANGIDUNQ
- 固有の重みづけテーブルを使用します。この特殊値は,ソート順序テーブルの選択で,LANGIDパラメーターと一緒に使用されます。
- *LANGIDSHR
- 共用の重みづけテーブルを使用します。この特殊値は,ソート順序テーブルの選択で,LANGIDパラメーターと一緒に使用されます。
- ソート順序テーブル名
- ソート順序テーブルの名前を入力してください。
- *LIBL
- コンパイラーは,ライブラリー・リストを検索してソート順序テーブルが入っているライブラリーを見つけます。 これが省略時の値です。
- *CURLIB
- ソート順序テーブルを見つけるために,現行ライブラリーが検索されます。現行ライブラリーが指定されていない場合には,QGPLが使用されます。
- ライブラリー名
- ソート順序テーブルが入っているライブラリーの名前を入力してください。
| 上 |
言語ID (LANGID)
ソート順序が*LANGIDUNQまたは*LANGIDSHRの時に使用する言語IDを指定します。LANGIDパラメーターは,ソート順序テーブルの選択で,SRTSEQパラメーターと一緒に使用されます。
- *JOBRUN
- RPGプログラムの実行時に,ジョブに対応したLANGID値を使用します。 これが省略時の値です。
- *JOB
- RPGプログラムの作成時に,ジョブに対応したLANGID値を使用します。
- 言語ID
- 使用する言語ID(たとえば,フランス語の場合にはFRA,ドイツ語の場合にはDEU)を入力してください。
| 上 |
SAAフラグ付け (SAAFLAG)
SAA RPGによってサポートされない仕様のフラグ付けを行うかどうかを指定します。
- *NOFLAG
- フラグ付けは実行されません。
- *FLAG
- フラグ付けが実行されます。
| 上 |
印刷ファイル (PRTFILE)
コンパイル・リストを入れるファイルの名前およびファイルが入っているライブラリーを指定します。
- QSYSPRT
- コンパイル・リストがQSYSPRTファイルに入れられます。
- ファイル名
- コンパイル・リストを入れるファイルの名前を入力してください。
- *LIBL
- システムはライブラリー・リストを検索して,ライブラリーを見つけます。
- *CURLIB
- 現行ライブラリーが使用されます。 現行ライブラリーを指定していない場合には,QGPLが使用されます。
- ライブラリー名
- ファイルが入っているライブラリーの名前を入力してください。
| 上 |
プログラムの置き換え (REPLACE)
同じライブラリーに同じ名前の既存のプログラム・オブジェクトがある時に,新しいプログラム・オブジェクトを作成するかどうかを指定します。
- *YES
- 新しいプログラム・オブジェクトが作成され,指定したライブラリーにある同じ名前の既存のプログラム・オブジェクトはライブラリーQRPLOBJに移動されます。
- *NO
- 同じ名前のプログラム・オブジェクトが指定したライブラリーにすでに存在している場合には,新しいプログラム・オブジェクトは作成されません。
| 上 |
ターゲット・リリース (TGTRLS)
作成されるオブジェクトが使用されるオペレーティング・システムのリリースを指定します。*CURRENTおよび*PRV値の例の場合で, ターゲット・リリース を指定する時には,VXRXMXの形式を使用してリリースを指定します。ここで,VXはバージョン,RXはリリース,MXはモディフィケーション・レベルです。たとえば,V2R3M0は,バージョン2,リリース3,モディフィケーション・レベル0です。
このパラメーターに対する有効な値はリリースごとに変わります。
考えられる値は次の通りです。
- *CURRENT
- オブジェクトは,現在ユーザーのシステムで実行中のオペレーティング・システムのリリースで使用されます。たとえば,V2R3M5がシステムで実行されている場合には,*CURRENTは,ユーザーはV2R3M5が導入されているシステムでオブジェクトを使用することを意味します。 また,オペレーティング・システムの後続のリリースが導入されたシステム上でこのオブジェクトを使用することもできます。
- *PRV
- オブジェクトは,前のリリースのモディフィケーション・レベル0のオペレーティング・システムで使用されます。たとえば,V2R3M5がシステムで実行されている場合には,*PRVはV2R2M0が導入されているシステムでオブジェクトを使用することを意味します。 また,オペレーティング・システムの後続のリリースが導入されたシステムで,このオブジェクトを使用することもできます。
- ターゲット・リリース
- リリースをVXRXMXの形式で指定してください。 オブジェクトは,指定されたリリースのシステムまたはオペレーティング・システムの後続のリリースが導入されているシステムで使用することができます。
有効な値は,現行のバージョン,リリース,およびモディフィケーション・レベルによって異なり,新しいリリースごとに変わります。このコマンドでサポートされている最も古いリリースよりも前のリリース・レベルを指定した場合には,エラー・メッセージが出されて,サポートされる最も古いリリースを表示します。
注: プログラムは,作成コマンドに指定したリリースより前のリリース・レベルで復元することができます。 プログラムを実行することができる最も古いリリースを判別するためには,DSPPGMを使用してください。
| 上 |
ユーザー・プロファイル (USRPRF)
コンパイル済みRPGプログラムを実行するユーザー・プロファイルを指定します。
- *USER
- プログラムはプログラム・ユーザーのユーザー・プロファイルのもとで実行されます。
- *OWNER
- プログラムは,プログラムの所有者とユーザーの両方のユーザー・プロファイルで実行されます。プログラムがすでに存在している場合には,USRPRFパラメーターは更新されません。
| 上 |
権限 (AUT)
このプログラムのために認可する権限を指定します。
- *LIBCRTAUT
- 作成されるオブジェクトの省略時の共通権限は,ターゲット・ライブラリーと関連のあるCRTAUTキーワードからとられます。 この値は作成時に決定されます。 ライブラリーのCRTAUTキーワードの値が作成後に変更された場合には,その新しい値は既存のオブジェクトに影響しません。
- *ALL
- オブジェクト所有権の転送の場合を除き,プログラムの権限を完了します。
- *CHANGE
- オブジェクトの存在および管理を取り扱う操作以外のすべての操作が認められます。
- *USE
- デバッグまたは変更権限を除く,コンパイル済みプログラムの読み取りまたは実行権限。
注: プログラムの変数の定様式ダンプを取得するには,プログラムに対して*USE権限を持っていなければなりません。変数をダンプするには,さらにプログラムが検討可能な情報も持っていなければなりません。
一部のユーザーが変数のダンプができることを望まない場合は,ユーザーに*OBJOPRだけに加えてプログラムに*EXECUTE権限を与えてください。これはユーザーにプログラムの呼び出しは許可しますが,その変数をダンプすることは許可しません。
すべてのユーザーに変数のダンプができることを望まない場合は,プログラムの変更(CHGPGM)を使用して,プログラムの検討可能な情報を除去してください。
- *EXCLUDE
- 権限なし。
- 権限リスト名
- オブジェクトを保護する権限リストの名前。共通権限は*AUTLになります。
| 上 |
フェーズ・トレース (PHSTRC)
コンパイラーについてのフェーズのトレース情報をリストに含めるかどうかを指定します。
- *NO
- コンパイラー・フェーズの情報を作成しません。
- *YES
- コンパイラー・フェーズの情報を作成します。
| 上 |
| 上 |
スナップ・ダンプ (SNPDUMP)
主要データ域および中間テキストのリストを作成するかどうかを指定します。
- *NONE
- スナップ・ダンプを作成しません。
- フェーズ名
- 各フェーズ名の最後の2桁を入力してください。
| 上 |
コード・リスト (CODELIST)
特定のフェーズに対してIRPの動的リストを作成するかどうかを指定します。
- *NONE
- 中間IRPダンプを作成しません。
- *ALL
- 中間IRPダンプを作成します。
- フェーズ名
- 各フェーズ名の最後の2桁を入力してください。
| 上 |
10進データ・エラーの無視 (IGNDECERR)
10進数データ・エラーを無視するかどうかを指定します。
- *NO
- 10進数データ・エラーは無視されません。
- *YES
- 10進数データ・エラーは無視されます。
| 上 |
ヌル値使用可能 (ALWNULL)
RPG/400プログラムが外部記述入力ファイルのヌル可能フィールドからヌル値を受け入れるかどうかを指定します。
- *NO
- RPG/400プログラムがヌル値フィールドを受け入れないことを指定します。
- *YES
- RPG/400プログラムが外部記述入力ファイルのヌル値フィールドを受け入れることを指定します。
| 上 |
例
例1: ソース・プログラムをプログラム・オブジェクトにコンパイル
CRTRPGPGM PGM(MYLIB/XMPLE1)
SRCFILE(MYLIB/QRPGSRC) SRCMBR(XMPLE1)
OPTION(*SOURCE) TEXT('MY RPG III PROGRAM')
このコマンドはRPG/400コンパイラーを呼び出して,XMPLE1という名前のプログラムを作成します。ソース・プログラムはライブラリーMYLIB中のソース・ファイルQRPGSRCのメンバーXMPLE1にあります。 コンパイラー・リストが作成されます。
| 上 |
エラー・メッセージ
*ESCAPE メッセージ
- QRG9001
- コンパイルは正常に行われませんでした。プログラムは作成されません。
- QRG9004
- TGTRLSオプションに指定されたリリース&1はサポートされていない。
- QRG9005
- *SRCDBGまたは*LSTDBGコンパイラー・オプションを処理することはできない。
| 上 |