コマンド変更 (CHGCMD)

コマンド変更(CHGCMD)コマンドはコマンド定義の属性の一部を変更します。このコマンドでは,コマンドの処理に別のコマンド処理プログラムを指定することができます。また,コマンドを処理できる操作環境のタイプ(実行,デバッグ,または保守),およびコマンドのテキスト記述を変更することができます。コマンド変更(CHGCMD)コマンドによって変更するコマンドを使用しているCLプログラムは再作成の必要はありません。コマンド変更(CHGCMD)コマンドは,コマンド定義オブジェクト中のパラメーター記述または妥当性検査情報を変更しません。

制約事項:

  1. ユーザーには,変更するコマンドのオブジェクト管理権限が必要です。
  2. 作成されたCLコマンドの属性だけを変更するために,CHGCMDコマンドを使用することができます。すなわち,コマンド作成(CRTCMD)コマンドに指定された属性のことです。CHGCMDコマンドを使用して,コマンド定義ステートメントなど,ステートメントの属性を変更することはできません。
  3. 弊社提供のコマンドのコマンド処理プログラム(PGMパラメーター),妥当性検査プログラム(VLDCKRパラメーター),またはプロンプト一時変更プログラム(PMTOVRPGMパラメーター)を変更するために,CHGCMDコマンドを使用してはなりません。
  4. CHGCMDコマンドを使用してコマンド処理プログラム(PGMパラメーター),妥当性検査プログラム(VLDCKRパラメーター),またはプロンプト一時変更プログラム(PMTOVRPGMパラメーター)を変更した場合には,コマンドのスレッド・セーフ属性が*NOにセットされます。コマンド作成(CRTCMD)コマンドを用いてスレッド・セーフ属性を*YESまたは*CONDに設定する必要があります。

パラメーター

キーワード 記述 選択項目 ノーツ
CMD コマンド 修飾オブジェクト名 必須, キー, 定位置 1
修飾子 1: コマンド 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
PGM コマンドを処理するプログラム 単一値: *SAME, *REXX
その他の値: 修飾オブジェクト名
オプショナル, 定位置 2
修飾子 1: コマンドを処理するプログラム 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
REXSRCFILE REXXソース・ファイル 単一値: *SAME
その他の値: 修飾オブジェクト名
オプショナル
修飾子 1: REXXソース・ファイル 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
REXSRCMBR REXXソース・メンバー 名前, *SAME, *CMD オプショナル
REXCMDENV REXXコマンド環境 単一値: *SAME, *COMMAND, *CPICOMM, *EXECSQL
その他の値: 修飾オブジェクト名
オプショナル
修飾子 1: REXXコマンド環境 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
REXEXITPGM REXX出口プログラム 単一値: *SAME, *NONE
その他の値 (最大 8 回の繰り返し): 要素リスト
オプショナル
要素 1: プログラム 修飾オブジェクト名
修飾子 1: プログラム 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
要素 2: 出口コード 2, 3, 4, 5, 7, 8, 9, 10
VLDCKR 妥当性検査プログラム 単一値: *SAME, *NONE
その他の値: 修飾オブジェクト名
オプショナル
修飾子 1: 妥当性検査プログラム 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
MODE 有効なモード 単一値: *SAME, *ALL
その他の値 (最大 3 回の繰り返し): *PROD, *DEBUG, *SERVICE
オプショナル
ALLOW 実行可能な環境 単一値: *SAME, *ALL
その他の値 (最大 9 回の繰り返し): *BATCH, *INTERACT, *BPGM, *IPGM, *BREXX, *IREXX, *EXEC, *BMOD, *IMOD
オプショナル
ALWLMTUSR 制限ユーザー可能 *SAME, *NO, *YES オプショナル
HLPSHELF ヘルプ・ブックシェルフ 単純名, *SAME, *LIST, *NONE オプショナル
HLPPNLGRP ヘルプ・パネル・グループ 単一値: *NONE, *SAME
その他の値: 修飾オブジェクト名
オプショナル
修飾子 1: ヘルプ・パネル・グループ 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
HLPID ヘルプID 文字値, *SAME, *CMD, *NONE オプショナル
HLPSCHIDX ヘルプ検索見出し 単一値: *SAME, *NONE
その他の値: 修飾オブジェクト名
オプショナル
修飾子 1: ヘルプ検索見出し 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
CURLIB 現行ライブラリー 名前, *SAME, *NOCHG, *CRTDFT オプショナル
PRDLIB 実行ライブラリー 名前, *SAME, *NOCHG, *NONE オプショナル
PMTOVRPGM プロンプト一時変更プログラム 単一値: *SAME, *NONE
その他の値: 修飾オブジェクト名
オプショナル
修飾子 1: プロンプト一時変更プログラム 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
TEXT テキスト'記述' 文字値, *SAME, *CMDPMT, *BLANK オプショナル
ENBGUI GUI使用可能 *YES, *NO, *SAME オプショナル

コマンド (CMD)

変更するコマンドを指定します。変更するコマンドは,ユーザー定義コマンドでも,弊社提供コマンドでもかまいません。

これは必須パラメーターです。

修飾子1: コマンド

名前
変更するコマンドの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
コマンドを見つけるためにジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLが使用されます。
名前
コマンドが入っているライブラリーの名前を指定してください。

コマンドを処理するプログラム (PGM)

コマンドを処理するために呼び出すコマンド処理プログラム(CPP)を指定します。

単一値

*SAME
現行CPPは変更されません。
*REXX
このコマンドのCPPは, REXXソース・メンバー (REXSRCMBR)パラメーターで識別されるREXXプロシージャーです。

修飾子1: コマンドを処理するプログラム

名前
コマンドを処理するCPPの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
プログラムを見つけるために,ジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLが使用されます。
名前
プログラムが入っているライブラリーの名前を指定してください。

REXXソース・ファイル (REXSRCFILE)

REXXプロシージャーが入っているソース・ファイルを指定します。

単一値

*SAME
REXXソース・ファイルおよびライブラリーは変更されません。

修飾子1: REXXソース・ファイル

名前
ソース・ファイルの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
ソース・ファイルを見つけるために,ジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLが使用されます。
名前
ソース・ファイルが入っているライブラリーの名前を指定してください。

REXXソース・メンバー (REXSRCMBR)

見かけのコマンド処理プログラム(CPP)であるREXXプロシージャーが入っているソース・メンバーを指定します。

*SAME
メンバー名は変更されません。
*CMD
ソース・メンバー名は,コマンド名(CMDパラメーターに指定された名前)と同じものです。
名前
REXXプロシージャーが入っているソース・メンバーの名前を指定してください。

REXXコマンド環境 (REXCMDENV)

REXXコマンド処理プログラム(CPP)が実行を開始する時に活動状態であるコマンド環境を指定します。REXX解釈プログラムは,プロシージャーに組み込まれているコマンドを処理するために,このプログラムを呼び出します。この環境はREXX ADDRESS命令によって変更することができます。

単一値

*SAME
コマンド環境は変更されません。
*COMMAND
制御言語(CL)コマンド環境が使用されます。
*CPICOMM
共通プログラミング・インターフェース(CPI)環境が使用されます。
*EXECSQL
構造化照会言語(SQL)コマンド環境が使用されます。EXECSQLは,SQLプロシージャーに組み込まれたCLコマンドに使用されるコマンド環境です。

修飾子1: REXXコマンド環境

名前
REXXプロシージャー中のコマンドを処理するためのプログラムの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
プログラムを見つけるために,ジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLが使用されます。
名前
プログラムが入っているライブラリーの名前を指定してください。

REXX出口プログラム (REXEXITPGM)

REXXコマンド処理プログラム(CPP)を開始する時に使用する出口プログラムを指定します。プログラムと出口コードの組合わせを最大8組まで指定することができます。

単一値

*SAME
出口プログラムは変更されません。
*NONE
REXX CPPには出口プログラムがありません。

要素1: プログラム

修飾子1: プログラム

名前
出口プログラムの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
プログラムを見つけるためにジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLが使用されます。
名前
検索するライブラリーの名前を指定してください。

要素2: 出口コード

2
外部関数またはサブルーチンがREXXプログラムによって呼び出された時には,常に関連したプログラムが呼び出されます。その後で,要求されたルーチンの検出および呼び出しは出口プログラムの責任となります。
3
解釈プログラムがコマンドを呼び出そうとしている時には,常に関連したプログラムが呼び出されます。コマンド・ストリングおよび現行の環境名を指定するコマンドの検出および呼び出しは出口プログラムの責任となります。
4
REXX命令または関数がREXX外部データ待ち行列に対する操作を試みた時には,常に関連したプログラムが呼び出されます。
5
セッション入出力操作が試みられた時には,常に関連したプログラムが呼び出されます。
7
REXXプロシージャーの各文節を停止する必要があるかどうかを判別するために,これの実行の後に,関連したプログラムが呼び出されます。
8
トレースをオンまたはオフにする必要があるかどうかを検査するために,REXXプログラムの各文節の実行後に,関連したプログラムが呼び出されます。
9
REXXプロシージャー(外部関数およびサブルーチンとして呼び出されるREXXプロシージャーを含む)の最初の命令を解釈する前に,関連したプログラムが呼び出されます。
10
REXXプロシージャー(外部関数およびサブルーチンとして呼び出されるREXXプロシージャーを含む)の最後の命令を解釈した後に,関連したプログラムが呼び出されます。

妥当性検査プログラム (VLDCKR)

処理中のコマンドのパラメーターに,追加の妥当性検査を実行するために呼び出すプログラムを指定します。ソース・ファイルのコマンド定義ステートメントによって指定された構文検査を超えて,さらにこれがコンパイルされる時にコマンドで実行される構文検査を超えて追加のユーザー定義の妥当性検査を実行するために,妥当性検査プログラムが呼び出されます。

単一値

*SAME
値は変更されません。
*NONE
このコマンドに対して別個の妥当性検査プログラムはありません。すべての妥当性検査は,コマンド分析プログラムおよびコマンド処理プログラムによって実行されます。妥当性検査でコマンドが処理または検査される時には常に,指定された変数および式は使用されません。

修飾子1: 妥当性検査プログラム

名前
コマンドの妥当性を検査する妥当性検査プログラムの名前およびライブラリーを指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
プログラムを見つけるために,ジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLが使用されます。
名前
妥当性検査プログラムが入っているライブラリーの名前を指定してください。

有効なモード (MODE)

コマンド変更(CHGCMD)を使用することができる操作環境のタイプを指定します。1つ以上のモードを指定することができます。

単一値

*SAME
コマンドを使用することができる操作のモードは変更されません。
*ALL
コマンドは実行,デバッグ,および保守のすべてのタイプのモードで有効です。

その他の値(最大3個指定可能)

*PROD
コマンドは,実行モードの操作で有効です。
*DEBUG
コマンドは,デバッグ・モードの操作で有効です。
*SERVICE
コマンドは,保守モードの操作で有効です。

実行可能な環境 (ALLOW)

コマンドを処理できる環境を指定します。

単一値

*SAME
コマンドを処理できる環境は変更されません。
*ALL
コマンドは,バッチ入力ストリーム,CLプログラム,REXXプロシージャー,またはCL ILEモジュール中で処理するか,あるいは対話式に処理することができます。また,処理のためにシステム・プログラムQCMDEXC(またはQCAEXEC)に渡すことができます。

その他の値(最大9個指定可能)

*BATCH
コマンドは,コンパイルされたCLプログラムの外部でバッチ入力ストリーム中で処理することができます。
*INTERACT
コマンドは,コンパイルされたCLプログラムの外部で対話式に処理することができます。
*BPGM
コマンドは,バッチ入力から呼び出されるコンパイル済みCLプログラムの中で処理することができます。
*IPGM
コマンドは,対話式入力から呼び出されるコンパイル済みCLプログラムの中で処理することができます。
*BREXX
コマンドは,バッチ・ジョブで実行されるREXXプロシージャー中で使用することができます。
*IREXX
コマンドは,対話式ジョブで実行されるREXXプロシージャー中で使用することができます。
*BMOD
コマンドは,バッチCL ILEプログラムでのみ使用することができます。
*IMOD
コマンドは,対話式CL ILEプログラムでのみ使用することができます。
*EXEC
コマンドは,CALLコマンドのパラメーターとして使用することができ,システム・プログラムQCMDEXC(またはQCAEXEC)に文字ストリングの形で渡して処理することができます。*EXECを指定した場合には,*BATCHまたは*INTERACTも指定しなければなりません。

制限ユーザー可能 (ALWLMTUSR)

プロファイルで権限が制限されている(ユーザー・プロファイル作成(CRTUSRPRF)コマンドおよびユーザー・プロファイル変更(CHGUSRPRF)コマンドのLMTCPBキーワード)ユーザーがメニューのコマンド入力行からコマンドを入力できるかどうかを指定します。

*SAME
制限されたユーザー権限は変更されません。
*NO
プロファイルで権限が制限されているユーザーは,メニューのコマンド入力行からこのコマンドを入力することはできません。
*YES
プロファイルで権限が制限されているユーザーは,メニューのコマンド入力行からこのコマンドを入力することができます。

ヘルプ・ブックシェルフ (HLPSHELF)

このパラメーターはもはやサポートされていません。

ヘルプ・パネル・グループ (HLPPNLGRP)

このコマンドのヘルプ・パネル・グループを指定します。

単一値

*SAME
パネル・グループは変更されません。
*NONE
ヘルプ・パネル・グループは指定されません。

修飾子1: ヘルプ・パネル・グループ

名前
このコマンド用のヘルプ・パネル・グループの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
パネル・グループを見つけるためにジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLが使用されます。
名前
パネル・グループが入っているライブラリーの名前を指定してください。

ヘルプID (HLPID)

このコマンドに対するヘルプ・セクションIDのすべてのルート名を指定します。このコマンドと関連したヘルプ・パネル・グループ内のすべてのヘルプ・セクションがこの名前で始まります。

*SAME
ヘルプIDは変更されません。
*NONE
ヘルプIDは指定されません。パネル・グループ名をヘルプ・パネル・グループ (HLPPNLGRP)パラメーターに指定すると,*NONEは許されません。
*CMD
コマンドの名前は,ヘルプ・パネル・グループ内のヘルプ・セクションIDのルートとして使用するためのものです。
名前
このコマンドに対するヘルプ・セクションIDのすべてのルート名を指定してください。

ヘルプ検索見出し (HLPSCHIDX)

ヘルプ画面から検索見出し機能キーが押された時に使用されるヘルプ検索見出しを指定します。

単一値

*SAME
値は変更されません。
*NONE
このコマンドと関連したヘルプ検索見出しはありません。

修飾子1: ヘルプ検索見出し

名前
検索見出し機能キーが押された時に使用される検索見出しの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
検索見出しを見つけるためにジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLライブラリーが使用されます。
名前
検索見出しが入っているライブラリーの名前を指定してください。

現行ライブラリー (CURLIB)

実行中のジョブと関連した現行ライブラリーの名前を指定します。

また,このライブラリーは,コマンドの妥当性検査プログラム(ある場合)が処理される時の現行ライブラリーでもあります。

*SAME
コマンドの現行ライブラリーは変更されません。
*NOCHG
このコマンドの処理で現行ライブラリーは変更されません。コマンドの処理中に現行ライブラリーが変更された場合には,そのコマンドの処理が完了した後もその変更は有効となります。
*CRTDFT
コマンドの処理中に活動状態の現行ライブラリーはありません。コマンド処理の前に活動状態であった現行ライブラリーは処理の完了時に復元されます。このコマンドの単一値または特殊値に,あるいは活動状態の現行のライブラリーがない時に処理されるコマンドに置き換え値として*CURLIBが指定された場合には,現行ライブラリーとしてQGPLライブラリーが使用されます。QGPLは現行ライブラリーとして使用されます。
名前
現行ライブラリーとして使用されるライブラリーの名前を指定してください。コマンドの作成時にはライブラリーの存在は必要ありませんが,コマンドの処理時には存在しなければなりません。コマンド処理が完了すると,現行ライブラリーがその前の値に復元されます。ライブラリー・リスト変更(CHGLIBL)コマンドまたは現行ライブラリー変更(CHGCURLIB)コマンドによってコマンドの処理中に現行ライブラリーが変更された場合には,その変更が有効となるのは,そのコマンドが処理されるまでです。現行ライブラリーにQTEMPを指定することはできません。

実行ライブラリー (PRDLIB)

コマンドの処理時に有効にするプロダクト・ライブラリーを指定します。

注: コマンドまたはメニューのプロダクト・ライブラリーは,コマンドまたはメニューが活動状態の間,別のコマンドまたはメニューでそのプロダクト・ライブラリーが変更されない限り,ライブラリー・リスト内に残されます。プロダクト・ライブラリーを変更したコマンドまたはメニューが終了すると,プロダクト・ライブラリーはそのコマンドまたはメニューを開始した時のものに復元されます。

*SAME
コマンドのプロダクト・ライブラリーは変更されません。
*NOCHG
コマンドの処理が開始される時点ではプロダクト・ライブラリーは変更されません。コマンドの処理中にプロダクト・ライブラリーが変更された場合には,その変更は,そのコマンド処理が完了した後も有効となります。
*NONE
ジョブのライブラリー・リストにはプロダクト・ライブラリーがありません。プロダクト・ライブラリーはそのコマンド処理が完了した時にその前の値に復元されます。
名前
コマンドの処理時にプロダクト・ライブラリーとして使用するライブラリーの名前を指定してください。コマンドの作成時にはライブラリーの存在は必要ありませんが,コマンドの処理時には存在しなければなりません。コマンド処理が完了すると,プロダクト・ライブラリーがその前の値に復元されます。プロダクト・ライブラリーにQTEMPを指定することはできません。

プロンプト一時変更プログラム (PMTOVRPGM)

省略時の値をパラメーターに指定された現行の実際の値で(プロンプト画面で)置き換えるために呼び出すプロンプト一時変更プログラム(POP)を指定します。POPを指定した場合には,(コマンド定義ソース中のPARMステートメントでKEYPARM(*YES)として指定された)キー・パラメーターが初期プロンプト画面で見ることのできる唯一のパラメーターになります。値がキー・パラメーターに対する入力である時には,残りのパラメーターは省略時の値ではなく実際の値で画面に表示されます。

単一値

*SAME
プロンプト一時変更プログラムは変更されません。
*NONE
プロンプト一時変更プログラムは指定されません。

注: コマンド定義ソース中にキー・パラメーターが存在している(すなわち,PARMステートメントでKEYPARM(*YES)を指定している)時に*NONEを指定する場合には,コマンドの作成時に警告メッセージが出され,すべてのパラメーターについてKEYPARM(*NO)と見なされます。

修飾子1: プロンプト一時変更プログラム

名前
プロンプト一時変更プログラム(POP)の名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
プロンプト一時変更プログラムを見つけるためにジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとして指定されているライブラリーがない場合は,QGPLが使用されます。
名前
プロンプト一時変更プログラムが入っているライブラリーの名前を指定してください。

テキスト'記述' (TEXT)

オブジェクトを簡単に記述したテキストを指定します。

*SAME
テキスト(存在している場合)は変更されません。
*CMDPMT
テキスト記述は,コマンドのプロンプトが表示される場合に示されるコマンド・タイトルと同じになります。
*BLANK
テキストは指定されません。
文字値
50バイトを超えないテキストを,アポストロフィで囲んで指定してください。

GUI使用可能 (ENBGUI)

コマンド・プロンプト・パネルをグラフィカル・ユーザー・インターフェースへの変換に使用できるかどうかを指定します。

*SAME
値は変更されません。
*NO
コマンド・プロンプト・パネルは,グラフィカル・ユーザー・インターフェースへの変換には使用できなくなります。
*YES
パネルの内容に関する情報を5250データ・ストリームに組み込むことによって,コマンド・プロンプト・パネルをグラフィカル・ユーザー・インターフェースへの変換に使用できるようになります。

CHGCMD   CMD(PAYROLL)  VLDCKR(LIB01/PAYVLDPGM)

PAYROLLコマンドに対する妥当性検査プログラムは,ライブラリーLIB01にあるPAYVLDPGMという名前のプログラムです。PAYROLLコマンドのその他の属性のすべては同じまま残ります。

エラー・メッセージ

*ESCAPE メッセージ

CPF6209
ライブラリー&1が見つかりません。
CPF6210
ライブラリー&2のコマンド&1が見つからない。
CPF6211
コマンド&1の変更は認可されていない。
CPF6212
コマンド&1は変更されなかった。
CPF6213
ライブラリー&2のコマンド&1を割り振ることはできない。
CPF6214
コマンド&1の変更中にエラーが検出された。
CPF6215
ライブラリー&2のコマンド&1は変更することができない。
CPF6216
コマンド&1は&2コマンドに正しくありません。
CPF6219
ライブラリー&2は認可されていない。