DEFSCMD
DEFSCMD は、REXX システム・コマンドを定義 (または再定義) します。
オペランド
- etarget (etarget)
- このコマンドを発行する REXX EXEC で使用された外部ターゲット環境の名前です。 これは、コマンド・ストリングの送信先として使用された外部環境名です。 この環境名は、テーブル内でルックアップされ、コマンド名と一緒に使用されて、処理のためにこのコマンド・ストリングが送信されるプログラム、REXX EXEC、またはキューを決定します。注: 外部ターゲットは、ADDRESS キーワード命令の環境名と一致することも、REXXCICS が現行環境 (デフォルト) である場合は、コマンド・ストリングの最初のトークンとして指定することもできます。
- ecmdnm
- このコマンドを発行するのにユーザーが使用した最初のコマンド名トークンです。 これは、ユーザーが認識しているコマンド名の最初のワードです。 特殊値アスタリスク (*) が (この定義の一部として) 指定された場合、このコマンド定義は、ユーザーが環境名 etarget を使用して発行し、他の場所でこれ以上明示的に定義されていないすべてのコマンドをカバーします。
- itarget (itarget)
- コマンド・ストリングを処理するエージェントにこのコマンド定義が渡す内部環境名を指定します。 これが必要であるのは、ユーザーが認識している外部環境名を、これらのコマンドを処理するエージェントの破損なしに再定義できるようにするためです。 内部名と外部名が同じ場合、内部名を指定する必要はありません。 特殊値
=
は、 itarget が etargetと同じであることを示します。 - icmdnm
- 内部コマンド名の最初のワードです。 これは、処理されるコマンドを指定するために REXX コマンド・エージェントに渡されるコマンド名の最初の部分です。 これは、ecmdnm と異なる場合にのみ、指定します。 特殊値
=
は、 icmdnm が ecmdnmと同じであることを示します。 - pgmname
- コマンドを処理するために EXEC CICS LINK によって呼び出される CICS プログラムを指定します。
- 「CICS_loadmod」
- CICSLOAD オプションが指定されたために呼び出される CICS プログラムの名前を指定します。注: プログラムは、コマンドの最初のインスタンスにのみロードされ、そのアドレスは後続のコマンド用に記憶されます。
- exec 名
- このコマンド (単数または複数) を処理する REXX コマンド・サーバーとして呼び出される EXEC を指定します。 この Server EXEC がすでに実行中であると、このコマンドはその実行中のサーバーに経路指定されます。 この名前の REXX サーバーが実行していない場合は、自動サーバー始動 (Automatic Server Initiation (ASI)) を使用してサーバーが自動的に始動されます。 execname は、ファイル名にすることも (ファイル・タイプはデフォルトで EXEC になる)、filename.filetype の形式にすることもできます。
- CICSLINK
- 定義された REXX コマンドの処理エージェントが、EXEC CICS LINK によって呼び出される標準 CICS プログラムであることを示すキーワードです。
- CICSLOAD
- 処理エージェントが、EXEC CICSLOAD によってロードされる CICS プログラムであることを示すキーワードです。
- REXX
- この REXX コマンドの処理エージェントが、コマンド・サーバーとして機能する REXX EXEC であることを示すキーワードです。
- AUTH
- これが許可 REXX/CICS コマンドであることを示すキーワードです。 許可 REXX/CICS ユーザー (AUTHUSER コマンドで指定) によってのみ、あるいは許可ライブラリーからロードされた EXEC 内からのみ実行できるコマンドです。
- CLEAR
- この DEFSCMD の目的が、指定された外部ターゲット環境名およびコマンド名の以前の定義をすべてクリアすることにあることを示すキーワードです。
戻りコード
- 0
- 正常な戻り
- 1101
- 無効なコマンド
- 1121
- プログラムをロードできない
- 1123
- エントリーが見つからない
- 1148
- 使用可能なクライアントがない
- 1199
- 内部エラー
例
'DEFSCMD CICS SEND = = SENDPGM (CICSLINK'この例は、このユーザーに対してのみ SEND というコマンドを定義します。 ユーザーは、次のように入力することにより、REXXCICS のデフォルトのコマンド環境でこのコマンドを発行できます。
'CICS SEND arg1 arg2 ... argn'この例は、このコマンドを処理するために EXEC CICS LINK コマンドによって呼び出されるプログラム SENDPGM を示しています。注:
- REXX/CICS 環境名が REXXCICS (すべての EXEC またはマクロが呼び出された場合のデフォルト) の場合、コマンド・ストリングの最初のトークンは、ADDRESS 環境 REXX 命令と一緒に使用できる可能性のある環境名です。 これにより、さらに統合されたコマンド環境が提供され、ADDRESS 命令による恒常的な環境切り替えは必要なくなります。
- EXEC CICS LINK および Assembler BASSM 命令 (CICSLOAD オプション) によって制御を受け取るコマンド・プログラムの呼び出しとパラメーター受け渡しのシーケンスは似ています。 コマンド・プログラムの作成について詳しくは、「 REXX/CICS コマンド定義 」を参照してください。
- DEFSCMD の最初の 2 つのオペランドがすべてアスタリスク (* *) の場合、これは、それ以上具体的なコマンド定義のスコープ内にない (一致しない) REXX コマンドについて発行されるコマンド処理エージェントを指定する総称的な定義です。
- ユーザー・コマンド定義が検索されてから、システム・コマンド定義 (指定変更不能な DEFSCMD は除く) が検索されます。
- REXX コマンドは、REXX で作成することができます。 これらの REXX コマンドは交代で、REXX で作成された他の REXX コマンドをビルディング・ブロック方式で呼び出します。 DEFSCMD により REXX ユーザー (プログラマー) からのインプリメンテーションの詳細情報は非表示にされるため、パフォーマンスが重要になった場合には、コマンドを REXX で即時に作成し、後で別の言語で透過的に作成し直すことができます。
