SEND - 運用コマンドの実行
名称
運用コマンドの実行
形式
DATA DIVISION(通信記述項)の指定
CD 通信記述名
FOR {OUTPUT|I-O} COMMAND
〔STATUS KEY IS データ名1〕.
01 一意名1.
02 データ名2 PIC 9(4) COMP.
02 データ名3 PIC X(2) VALUE LOW-VALUE.
02 データ名4 PIC X(n).
01 一意名2.
02 データ名5 PIC 9(4) COMP.
02 データ名6 PIC X(2) VALUE LOW-VALUE.
02 データ名7 PIC X(n).
PROCEDURE DIVISION(通信文)の指定
SEND 通信記述名 FROM 一意名1
〔BEFORE RECEIVING MESSAGE INTO 一意名2〕.
機能
次に示すCALLインタフェースの機能を実現します。
DMLでコマンドを実行する場合,CALLインタフェースでコマンドを実行するときと,次の点が異なります。
通信記述項に設定する項目
●FOR句
次のどちらかを指定します。
●STATUS KEY句
ステータスコードを受け取りたいときに指定します。この指定を省略した場合は,ステータスコードを受け取れません。
通信文に指定する項目
●一意名1
この文で実行するコマンドを設定する領域です。コマンドの文字列を設定する形式を次に示します。
●BEFORE句
コマンドを実行した結果,標準エラー出力に出力した文字列を受け取る場合に指定します。このBEFORE句は,FOR句でI-O COMMANDを指定している場合に指定します。
受け取る文字列(一意名2)の形式を次に示します。
ステータスコード
ステータスコード | 意味 |
---|---|
00000 | シェルの終了コードは0(コマンドの実行が正常終了)です。FOR句にI-O COMMANDを指定している場合は,標準エラー出力の文字列を格納しました。 |
01801 | シェルの終了コードは0以外(コマンドの実行が異常終了)です。FOR句にI-O COMMANDを指定している場合は,標準エラー出力の文字列を格納しました。 |
01802 | データ名に設定した値が間違っています。一意名1,一意名2に設定した領域長の指定や,0と設定する必要がある個所などに誤りがないか確認してください。 |
01803 | 標準出力への出力がありました(コマンドを実行するSEND文では,標準出力の文字列は受け取れません)。 |
01804 | 標準エラー出力のデータが,領域に入り切りませんでした。 |
01805 | 標準出力への出力があり(コマンドを実行するSEND文では,標準出力の文字列は受け取れません),かつ標準エラー出力のデータが,領域に入り切りませんでした。 |
01806 | システムコール(close,pipe,dup,またはread)に失敗しました。 |
01807 | CBLDCRPC('OPEN ')を呼び出していません。 |
01808 | メモリが不足しました。 |