リモート・コマンド投入 (SBMRMTCMD)
| 実行可能場所: すべての環境 (*ALL) スレッド・セーフ: 条件付き |
パラメーター 例 エラー・メッセージ |
リモート・コマンド投入(SBMRMTCMD)コマンドは,DDMファイルによって指定されたターゲット・システムで実行されるように,分散データ管理機能(DDM)を介してCLコマンドを送り出します。DDMファイルは,使用される通信回線を決定し,投入されたコマンドを受け取るターゲット・システムを間接的に識別します。
このコマンドは,SBMRMTCMDコマンド言語をサポートするリモート・システムにCLコマンドを送り出すだけです。CLコマンドでないコマンドを別のタイプのシステムに送り出すことはできません(たとえば,OCLコマンドは,ターゲット・システム/36に送り出すことはできません)。
このコマンドの主な目的は,ソース・システムのユーザーまたはプログラムが,ターゲット・システムにあるファイルについて,ファイル管理操作およびファイル認可操作を行なうことができるようにすることです。
- 物理ファイル,論理ファイル,装置ファイル,あるいはソース・ファイルの作成または削除。
- リモート・ファイルに対するオブジェクト権限の認可または取り消し。
- ファイルまたはその他のオブジェクトの検査,名前変更,または移動。
- ファイルまたはその他のオブジェクトの保管または復元。
制約事項:
- ターゲット・システムでのファイル処理は,ソース・システムでの処理から独立した形で行なわれます。したがって,特定の反復レベルまたは要求レベルにより左右されるコマンドは,意図した通りに働かないことがあります。
- 投入されたコマンドによって生成された出力(スプール・ファイルなど)は,ターゲット・システムだけに存在しています。出力は,ソース・システムに戻されません。したがって,出力結果がターゲット・システムに残ったままであるので,プログラムの保守のために使用される表示コマンドを送らないでください。
- ターゲット・システムのエラーによって出される即時メッセージは,ターゲット・システムに保管されないので,変換は行なわれません。すなわち,即時メッセージのテキストは,ソース・システムに直接送られて表示されます。リモート・システムで生成される他のすべてのタイプのメッセージのメッセージ識別コードがソース・システムに送り戻されます。そのメッセージ識別コードに対応してソース・システムに存在するメッセージ・テキストは,ソース・システムで同じエラーが起こった場合と同様に表示されます。
- ターゲット・システムは,投入された1つのコマンドの実行中に生成されたメッセージを,最高10個までソース・システムに送ることができます。10個を越えるメッセージが生成された場合には,ターゲット・システムのターゲット・ジョブに関するメッセージがジョブ・ログに残っていることを示す追加の通知メッセージが送られます。これらのメッセージの1つがエスケープメッセージである場合には,まずその他のタイプの最初の9つのメッセージが送られ,その後に通知メッセージとエスケープ・メッセージが続きます。
- マルチスレッド・ジョブでは,このコマンドはスレッドセーフではなく,*SNAタイプのDDMファイルに対して正常に実行されません。
| 上 |
パラメーター
| キーワード | 記述 | 選択項目 | ノーツ |
|---|---|---|---|
| CMD | 実行するコマンド | 文字値 | 必須, 定位置 1 |
| DDMFILE | DDMファイル | 修飾オブジェクト名 | 必須, 定位置 2 |
| 修飾子 1: DDMファイル | 名前 | ||
| 修飾子 2: ライブラリー | 名前, *LIBL, *CURLIB |
| 上 |
実行するコマンド (CMD)
ターゲット・システムで実行されるコマンドを表わすために,最大2000桁までの文字ストリングを指定します。このコマンドは,ターゲット・システムのバッチ環境と対話式環境の両方で使用できるものでなければなりません。組み込みブランクまたは特殊文字がコマンドに入っている場合には,そのコマンドはアポストロフィで囲まなければなりません。コマンドは,ターゲット・システムの構文を使用するものでなければなりません。
これは必須パラメーターです。
注: 通常の規則によれば,ローカル・システムでは,引用符で囲まれたストリングの中のアポストロフィは対にしなければなりませんが,同じストリングをリモート・システムに投入する時には,その対のアポストロフィをさらに2重に(すなわち4重に)しなければなりません。これは,引用符付きのストリングの中でさらに引用符付きのストリングをコーディングするために必要です。
| 上 |
DDMファイル (DDMFILE)
コマンドをターゲット・システムに投入するために使用される分散データ管理機能(DDM)ファイルの名前およびライブラリーを指定します。このDDMファイルは,ターゲット・システムを表わすリモート・ロケーションを決定するために使用されるだけです。DDMファイルに関連したリモート・ファイル名は,このコマンドによって無視されます。
これは必須パラメーターです。
考えられるライブラリーの値は次の通りです。
- *LIBL
- ファイルを見つけるために,ライブラリー・リストが使用されます。
- *CURLIB
- ファイルを見つけるために,ジョブの現行ライブラリーが使用されます。ジョブの現行ライブラリーとしてライブラリーが指定されていない場合には,QGPLライブラリーが使用されます。
- ライブラリー名
- ファイルのあるライブラリーを指定します。
| 上 |
例
例1: ファイルの削除
SBMRMTCMD CMD('DLTF LIBX/FRED') DDMFILE(DENVER)
このコマンドは,DENVERの名前のDDMファイルと関連した,ターゲット・システム上のライブラリーLIBX中のFREDの名前のファイルを削除します。
例2: 物理ファイルの作成
SBMRMTCMD CMD('CRTPF SALES/CAR QGPL/QDDSSRC MASTER')
DDMFILE(DENVER)
このコマンドは,ソース・ファイルQDDSSRCのデータ記述仕様(DDS)およびQGPLライブラリー中のMASTERの名前のソース・ファイルを使用して,ライブラリーSALESに物理ファイルCARを作成します。このDDSは,ターゲット・ジョブのライブラリー・リストのDENVERの名前のDDMファイルで識別されるターゲット・システムに事前に存在しなければなりません。
例3: テキスト記述の変更
SBMRMTCMD CMD('CHGDDMF FILE(LIBX/STANLEY)
TEXT(''DON''''T FORGET TO PAIR APOSTROPHES.'')')
DDMFILE(SMITH)
このコマンドは,STANLEYの名前のDDMファイルの記述中のテキストを変更して,それをライブラリーLIBXに保管します。投入されるコマンドでは,単一のアポストロフィがその外側に必要である(CMDパラメーターの場合)ので,ローカル・システム処理のTEXTパラメーターに通常必要な単一アポストロフィまたは2重アポストロフィは,リモート・システム処理では二重にしなければなりません。上記のようなコーディングでも,リモート・システムでテキストを表示または印刷する時には,単一アポストロフィで示されます。
例4: DDMファイルの作成
SBMRMTCMD CMD('CRTDDMF FILE(SALES/MONTHLY)
RMTFILE(*NONSTD ''CAR.SALES(JULY)''
RMTLOCNAME(DALLAS)')
DDMFILE(CHICAGO)
このコマンドは,(CHICAGOの名前のDDMファイルの情報で識別されるターゲット・システム上に)MONTHLYの名前の別のDDMファイルを作成します。新規のDDMファイルは,CHICAGOシステムのSALESの名前のライブラリー中に保管されます。CHICAGOシステム上の新規DDMファイルを使用して,DALLASの名前の別のシステム上のファイルおよびメンバーにアクセスします。アクセスされるファイルはSALES/CARの名前が付けられ,ファイル中のメンバー名はJULYです。
このCRTDDMFコマンド・ストリングには3セットの単一アポストロフィが含まれています。投入されるコマンド全体を囲む1セットと,RMTFILEパラメーター中に命名されたファイルおよびメンバーを囲む2重のセットです。これは,メンバー名を囲むために括弧が必要であるために,I5/OSファイル・メンバー名をSBMRMTCMDコマンドに指定する方法を示しています。
例5: ライブラリー・リストの一部の置き換え
SBMRMTCMD CMD('RPLLIBL LIBL(QGPL QTEMP SALES EVANS)')
DDMFILE(EVANS)
このコマンドは,EVANSの名前DDMファイルと関連したターゲット・ジョブで使用されているライブラリー・リストのユーザー部分を置き換えます。これは,このSBMRMTCMDコマンドを投入するソース・ジョブで使用されています。そのソース・ジョブでは,同じ装置およびモードを指定するその他のオープンDDMファイルがある場合には,それらに対してもこのライブラリー・リストが使用されます。
| 上 |
エラー・メッセージ
*ESCAPEメッセージ
- CPF9164
- ターゲット・システムがSBMRMTCMDをサポートしていない。
- CPF9165
- ライブラリー&2のファイル&1がDDMファイルでない。
- CPF917A
- 分散ファイルでエラーが起こった。
- CPF917B
- ターゲット・システム&3は使用できない。
- CPF9172
- SBMRMTCMDコマンドが異常終了した。
- CPF9174
- ターゲット・システムにおいてユーザー出口プログラムへの呼び出しでエラー。
- CPF9175
- ユーザー出口プログラムの処理中にエラー。
- CPF9177
- ユーザー出口プログラムが正常に完了しなかった。
- CPF9178
- SBMRMTCMDで指定したコマンドの処理が正常に行われなかった。
- CPF9182
- DDM通信を開始することができない。
| 上 |