Hitachi

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


CBLEEDBQ('OBSSKIP ')

〈このページの構成〉

名称

メッセージの読み出しスキップ

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEEDBQ' USING 一意名1 一意名2

DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(8) VALUE 'OBSSKIP '.
   02 データ名B  PIC X(5).
   02 FILLER    PIC X(3).
   02 データ名C  PIC S9(9) COMP VALUE ZERO.
01 一意名2.
   02 データ名D  PIC X(28).
   02 データ名E  PIC X(24).
   02 データ名F  PIC X(1).

機能

データ型オンラインバッチ処理の場合に,指定されたロットのメッセージを読み出し済みにします。

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

●データ名A

オンラインバッチ処理の終了要求を示す要求コードを「VALUE 'OBSSKIP△'」と設定します。

●データ名C

0を設定します。

●データ名D

DBキュー名を27バイト以内のアスキー文字列で設定します。文字列の末尾には空白を付けてください。この空白は文字列の長さに数えません。

●データ名E

ロット名を23バイト以内のアスキー文字列で設定します。文字列の末尾には空白を付けてください。この空白は文字列の長さに数えません。

●データ名F

要求種別を設定します。

VALUE'A'

指定されたロットのすべてのメッセージを読み出し済みにします。

VALUE'O'

未読み出しの先頭にある1メッセージだけを読み出し済みにします。

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

●データ名B

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

ステータスコード

意味

00000

正常に終了しました。

00001

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

00004

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

00005

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

05601

データ名に設定した値が間違っています。

05602

DBキュー機能は使用できません。

05603

この関数を呼び出せる状態ではありません。

05604

データ名に設定したDBキュー名は存在しません。

05605

該当するスレッドではリソースマネジャに接続されていません。

05608

メモリが不足しました。

05615

そのほかのエラーが発生しました。

05621

関数の呼び出し条件が不正です。

05623

オンラインバッチ機能のライブラリがリンケージされていません。

05626

この要求で読み出し済みにするメッセージはありません。

05631

データ名に設定したロット名は存在しません。または,対象のロットではありません。

05634

該当するロットが次に示す状態でないため,要求を受け付けられません。

  • 障害による読み出し中断中

  • 運用による読み出し中断中

  • 該当するロットに対して関数を発行したトランザクションがコミットまたはロールバックしている

05636

該当するロットのタイプはこの要求では受け付けません。

注意事項

  1. スキップの処理中(コミットされるまで)は別のスキップを受け付けません。

  2. 運用または障害によって,該当するロットが中断中の場合だけ呼び出せます。

  3. 呼び出し元トランザクションがコミットしたときに,メッセージが読み出し済みになります。

  4. 呼び出し元トランザクションがコミットまたはロールバックするまでの間,該当するロットが受け付けられるオンラインバッチの関数は,CBLEEDBQ('OBSINQ '),またはCBLEEDBQ('OBSCDT ')だけです。ほかのオンラインバッチの関数は受け付けません。