Hitachi

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


CBLEEDBQ('OBSSTART')

〈このページの構成〉

名称

オンラインバッチ処理の開始

形式

PROCEDURE DIVISIONの指定

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

DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(8) VALUE 'OBSSTART'.
   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(32).
   02 データ名G  PIC X(1).
01 一意名3.
   02 データ名H  PIC 9(9) COMP.
   02 データ名I  PIC X(n).

機能

オンラインバッチ処理の開始要求を行います。

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

●データ名A

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

●データ名C

0を設定します。

●データ名D

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

データ型オンラインバッチ処理を起動する場合は,定義ファイルで定義されているDBキュー名を指定してください。イベント型オンラインバッチ処理を起動する場合は,任意のDBキュー名を指定してください。オンラインバッチ処理開始以降の関数を呼び出すときに指定するDBキュー名は,この関数で指定したDBキュー名を指定します。

●データ名E

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

●データ名F

該当するロットでの読み出しトランザクションを起動するサービス名を31バイト以内のアスキー文字列で設定します。文字列の末尾には空白を付けてください。この空白は文字列の長さに数えません。

●データ名G

オンラインバッチ処理形態を設定します。

VALUE 'D'

データ型オンラインバッチ処理を起動します。

VALUE 'E'

イベント型オンラインバッチ処理を起動します。

●データ名H

引き継ぎ情報のサイズを設定します。0〜256バイトの範囲で設定できます。

●データ名I

引き継ぎ情報を格納している領域を設定します。不要な場合(データ名Hに0を設定した場合),設定する必要はありません。

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

●データ名B

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

ステータスコード

意味

00000

正常に終了しました。

00001

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

00004

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

00005

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

05601

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

05602

オンラインバッチ機能は使用できません。

05603

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

05604

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

05605

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

05608

メモリが不足しました。

05609

リソースマネジャへのアクセス時にエラーが発生しました。

05611

データ名に設定したサービス名は存在しません。

05615

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

05617

データ名に設定したサービス名はエントリポイントが存在しないため使用できません。

05621

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

05623

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

05631

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

05632

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

  • 初期状態

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

05633

ロット管理テーブルの面数が不足しました。

05634

同一トランザクションで以前に行われた開始要求がエラーリターンしたあと,ロールバック処理が行われていないため,要求を受け付けません。

05635

引き継ぎ情報を格納している領域のサイズが指定範囲外です。

05637

オンラインバッチ処理終了のためのサービスにエントリポイントが存在しないため,要求を受け付けません。

注意事項

  1. ステータスコードが00000以外のときは必ずロールバックを行ってください。

  2. 呼び出し元トランザクションがコミットしたときに,オンラインバッチ処理は開始します。

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