Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引


CBLEEMCH('CMTSNDGT')【XTC限定】

〈このページの構成〉

名称

一方送信メッセージ情報の取得

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEEMCH' USING 一意名1 一意名2 一意名3 

DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8) VALUE 'CMTSNDGT'.
  02 データ名B  PIC X(5).
  02 FILLER      PIC X(3).
  02 データ名Z  PIC S9(9) COMP VALUE ZERO.
01 一意名2.
  02 データ名C  PIC 9(9) COMP.
  02 データ名D  PIC 9(9) COMP.
  02 FILLER  PIC X(3).
01 一意名3.
  02 データ名E  PIC 9(9) COMP.
  02 データ名F  PIC X(32).
  02 データ名G  PIC 9(9) COMP.
  02 データ名H  PIC X(32).
  02 データ名I  PIC X(1).
  02 FILLER  PIC X(3).
  02 データ名J  PIC 9(9) COMP.
  02 FILLER  PIC X(4).
  02 データ名K  PIC 9(9) COMP.
  02 データ名L  ADDRESS.
  02 FILLER  PIC X(160).

機能

メッセージ送信に失敗(未送信も含む)したトランザクション同期の一方送信メッセージとトランザクション非同期の一方送信メッセージのメッセージ情報を取得します。ステータスコードが00000(次のメッセージ情報なし)になるまで,この関数を連続して呼び出すことによって,同一トランザクションで一方送信メッセージの送信要求を行ったすべてのメッセージ情報を取得できます。ステータスコードが00000の状態でこの関数を呼び出した場合は,最初からメッセージ情報を取得します。

一方送信メッセージのメッセージ情報は,ERRTRNRのタイミングで取得できます。

UAPで値を設定するデータ領域

●データ名A

サービスの要求を示す要求コードを「VALUE 'CMTSNDGT'」と設定します。

●データ名C

参照したい一方送信メッセージの要求種別を設定します。

0

CBLEEMCH('CMTSND ')要求

1

CBLEEMCH('CMTSNDSY')要求

●データ名Z

0を設定します。

TP1/EEから値が返されるデータ領域

●データ名B

ステータスコードが,5けたの数字で返されます。

●データ名D

参照できるメッセージ情報の件数が返されます。0の場合は,データ名E,データ名F,データ名G,データ名H,データ名I,データ名J,データ名K,およびデータ名Lの内容は参照できません。

●データ名E

送信先サービスグループ名の長さが返されます。

●データ名F

送信先サービスグループ名が返されます。

●データ名G

送信先サービス名の長さが返されます。

●データ名H

送信先サービス名が返されます。

●データ名I

出力キュー(OTQ)の自動閉塞の有無が次のコードで返されます。

0

出力キューの自動閉塞なし

1

サービスグループレベルの出力キューの自動閉塞あり

2

サービスレベルの出力キューの自動閉塞あり

●データ名J

送信結果が次のコードで返されます。

0

送信正常

1

送信障害(パケットサイズ不正などのRPC関連定義の不正)

2

送信障害(リソース不足)

4

送信障害(送信先受信不可状態)

3

送信障害(上記以外)

16

送達確認待ちタイムアウト

17

送達確認待ち受信障害

32

送達確認エラーメッセージ受信(リソース不足)

33

送達確認エラーメッセージ受信(CL同期エラー)

34

送達確認エラーメッセージ受信(送信先サービス閉塞),または自プロセスのサービス閉塞

64

送達確認エラーメッセージ受信(送信先サービスグループ名の不正)

65

送達確認エラーメッセージ受信(送信先サービス名の不正)

66

送達確認エラーメッセージ受信(メッセージ送信形態の不正/オプションの不正)

128

送達確認エラーメッセージ受信(上記以外)

256

出力キューの閉塞中

512

処理キューの登録失敗

65536

未送信

●データ名K

送信メッセージのサイズが返されます。

●データ名L

送信メッセージのアドレスが返されます。

ステータスコード

ここで示すステータスコードは,TP1/EEが返す値です。サービスプログラムが返す値ではありません。

ステータスコード

意味

00000

正常に終了しました(次のメッセージ情報なし)。

00001

TP1/EEの環境下にありません。

00003

正常に終了しました(次のメッセージ情報あり)。

00004

UOCから発行しているため,この機能は使用できません。

00005

オフラインバッチプロセスから発行しているため,この機能は使用できません。

08001

データ名に設定した値が間違っています。要求コード(データ名A)が間違っている場合も含みます。

08030

発行条件が不正です。

08050

メモリが不足しました。

CBLEEMCH('CMTSNDGT')がエラーになる場合

CBLEEMCH('CMTSNDGT')がエラーリターンする場合について説明します。

メモリ関連定義のsystem_work_sizeオペランドで指定したシステムワーク領域が不足した場合

CBLEEMCH('CMTSNDGT')は「08050」でエラーリターンします。