Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


SEND − 運用コマンドの実行

〈このページの構成〉

名称

運用コマンドの実行

形式

DATA DIVISION(通信記述項)の指定

CD  通信記述名
    FOR {OUTPUT|I-O} COMMANDSTATUS  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句

次のどちらかを指定します。

OUTPUT COMMAND

コマンドの標準エラー出力を受け取らない場合に指定します。この値を指定した場合は,標準エラー出力の受け取り領域の長さには0が仮定されます。

I-O COMMAND

コマンドの標準エラー出力を受け取る場合に指定します。

STATUS KEY句

ステータスコードを受け取りたいときに指定します。この指定を省略した場合は,ステータスコードを受け取れません。

通信文に指定する項目

一意名1

この文で実行するコマンドを設定する領域です。コマンドの文字列を設定する形式を次に示します。

[図データ]

BEFORE句

コマンドを実行した結果,標準エラー出力に出力した文字列を受け取る場合に指定します。このBEFORE句は,FOR句でI-O COMMANDを指定している場合に指定します。

一意名2

標準エラー出力の文字列を格納するデータ項目。格納できる文字列の最大値は(一意名2の領域長)-4です。この値を超える部分は切り捨てます。

受け取る文字列(一意名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

メモリが不足しました。