Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Financial Service Platform 使用の手引


6.7.1 処理の流れ

〈この項の構成〉

(1) 2重起動チェック

オフラインバッチ実行環境下で,同一ジョブ名のオフラインバッチが実行中かどうかをチェックします。実行中だった場合は,KFSB95503-Eメッセージを出力後,オフラインバッチは終了します。

(2) 初期化1

オフラインバッチ定義ファイル解析,メモリ確保,UAPライブラリローディング,各種スレッド生成などを行います。エラーが発生した場合はエラーメッセージを出力後,オフラインバッチは終了します。成功した場合は,保守情報として定義ファイルをジョブ実行環境下(「$EEBPPDIR/job/ジョブ名/conf」)下に複写します。

表6‒7 スレッド一覧

項番

スレッド種別

生成有無

生成数

1

メインスレッド

1

2

モニタスレッド

1

3

処理スレッド

3

4

予備処理スレッド

×

5

コマンドスレッド

×

6

受信スレッド

×

7

TASKTMスレッド

1

8

送信スレッド

×

9

シグナルスレッド

1

10

応答受信スレッド

×

11

通信障害監視スレッド

×

12

RM障害監視スレッド

×

13

回復スレッド

×

14

rap受信スレッド

×

15

DBQ受信スレッド

×

16

統計情報スレッド

オフラインバッチ定義のtrb_stc_useが「Y」の場合は1,「N」の場合は0

17

ネームスレッド

×

18

転送スレッド

×

19

rapクライアントスレッド

×

20

XDBトレーススレッド

×

21

UDP受信スレッド

×

22

系監視スレッド

×

23

PPトレーススレッド

×

24

MCP受信スレッド

×

25

履歴情報監視スレッド

×

(凡例)

○:生成します

×:生成しません

−:該当しません

(3) 初期化2

HiRDB(SDB)からSDBデータベース定義情報を取得します。エラーが発生した場合はエラーメッセージを出力後,オフラインバッチは終了します。

(4) BSトランザクション

唯一のユーザトランザクションであり,オフラインバッチで1回だけ起動します。トランザクションが終了(UAPリターン)すると,自動的にオフラインバッチも終了し,eebpprunコマンドがリターンします。

(a) サービス関数

オフラインバッチ定義のuser_bpp_bsオペランド,または環境変数のEEBPPBSENTPTRで指定したエントリポインタをサービス関数として実行します。

eebpprunコマンドの-mオプションで指定したユーザパラメタの値およびサイズが,サービス関数引数のinおよびin_lenとして渡されます。

サービス関数の詳細はマニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。

(b) トランザクション処理時間監視

トランザクション処理時間監視を行う場合,オフラインバッチ定義のtrn_expiration_time_bsオペランドに1以上の値を指定してください。省略または0を指定した場合は,トランザクション処理時間監視を行いません。

(c) eebpprunコマンドのexitコード設定

eebpprunコマンドリターンのexitコード値で処理を分岐させるなどの運用を行う場合,ee_bpp_setrc()/CBLEEBPP('SETRC')を実行しexitコードを指定します。提供APIを発行しなかった場合は,exitコードは0となります。

ただし,提供APIを発行してexitコードを指定しても,それ以降に何らかの異常が発生した場合は,指定値を無視し,エラーに応じたexitコードを返却します。