Hitachi

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


7.4.2 再開始時のユーザデータ(UJ)の入力

〈この項の構成〉

(1) ユーザデータ(UJ)の引き継ぎ

データ連携支援では,反映先指定UOCに引き渡していないPJ未検出のユーザデータ(UJ)がある状態で中断する場合,再開始に備えて,PJ突き合わせ表にPJ未検出のユーザデータ(UJ)を退避します。またPJ管理表に,再開始時にユーザデータ(UJ)を抽出するときの読み込み位置の情報などを引き継ぎ用の管理情報として退避します。

これによって,再開始時は,データ連携支援を中断した位置からユーザデータ(UJ)を反映先指定UOCに引き渡すことができます。

ユーザデータ(UJ)抽出中にデータ連携支援が中断したときの流れを次に示します。

  1. データ通番101とデータ通番102のUJを抽出します。

  2. 反映先指定UOCにトランザクションTRN_2のUJを引き渡します。

  3. データ通番103のUJを抽出します。

  4. 中断条件を満たしたため,呼び出し種別(EN:終了)で開始終了UOCを呼び出します。

  5. 開始終了UOCリターン後,PJ未検出のユーザデータをPJ突き合わせ表に退避します。

  6. ユーザ引き継ぎエリアにユーザ引き継ぎ情報が設定されているときは,PJ管理表に退避します。また,引き継ぎ用の管理情報もPJ管理表に退避します。

  7. データ連携支援を再開始すると,データ通番104からUJを抽出します。

    図7‒17 PJ未検出ユーザデータ(UJ)の引き継ぎ

    [図データ]

データ連携支援では,実行中にサーバダウンや,データベースへのアクセスエラーなど,継続不可の状態となったときに,再開始時の性能が低下するのを防ぐために,一定のタイミング(EEFDPARMパラメタのCONTROL文のPJBKUPオペランド)で,PJ突き合わせ表にPJ未検出のユーザデータ(UJ)を退避しています。

ユーザデータ(UJ)抽出中にデータ連携支援が強制停止したときの流れを次に示します。

  1. データ通番99999とデータ通番100000のUJを抽出します。

  2. 反映先指定UOCにトランザクションTRN_2のUJを引き渡します。

  3. 退避するタイミングに到達しました。

  4. PJ未検出のユーザデータをPJ突き合わせ表に退避します。

  5. ユーザ引き継ぎエリアにユーザ引き継ぎ情報が設定されているときは,PJ管理表に退避します。また,引き継ぎ用の管理情報もPJ管理表に退避します。

  6. データ連携支援を再開始すると,データ通番100001からUJを抽出します。

    図7‒18 PJ未検出ユーザデータ(UJ)の引き継ぎ(強制停止したときの場合)

    [図データ]

(2) PJ突き合わせ表のユーザデータ(UJ)からの入力

データ連携支援の再開始時,前回実行時にPJ突き合わせ表に退避したユーザデータ(UJ)を取得し,そのあと,前回の続きからユーザデータ(UJ)の抽出を再開します。

データ連携支援を再開始したときの流れを次に示します。

  1. PJ管理表から管理情報とユーザ引き継ぎ情報を取得します。

  2. PJ突き合わせ表に退避したUJ(データ通番101と103)を取得し,呼び出し種別(ST:開始)で開始終了UOCを呼び出します。

  3. 開始終了UOCリターン後,履歴情報表からデータ通番104のUJを抽出します。

  4. 反映先指定UOCにトランザクションTRN_1のUJを引き渡します。

    図7‒19 引き継ぎユーザデータ(UJ)からの入力

    [図データ]

強制停止したあとに,データ連携支援を再開始したときの流れを次に示します。

  1. PJ管理表から管理情報とユーザ引き継ぎ情報を取得します。

  2. PJ突き合わせ表に退避したUJ(データ通番99999)を取得し,呼び出し種別(ST:開始)で開始終了UOCを呼び出します。

  3. 開始終了UOCリターン後,履歴情報表からデータ通番100001のUJを抽出します。反映先指定UOCに引き渡すか破棄するかどうかは,PJ管理表に実行状態を退避できたかに依存します。退避できた場合は破棄するが,そうでない場合は2重入力となります。詳細は「(3) PJ管理表による再開始」を参照してください。

  4. 履歴情報表からデータ通番100002のUJを抽出します。

  5. 反映先指定UOCにトランザクションTRN_1のUJを引き渡します。

    図7‒20 引き継ぎユーザデータ(UJ)からの入力(強制停止したあとの場合)

    [図データ]

(3) PJ管理表による再開始

データ連携支援では,実行中にサーバダウンや,データベースへのアクセスエラーなど,継続不可の状態となったときに,前回の状態から継続してユーザデータ(UJ)を抽出できるよう,反映処理が完了したときに共有メモリとPJ管理表にデータ連携支援の実行状態を退避しています。ただし,障害発生タイミングによっては,2重入力となるケースがありますので,ユーザで対処してください。

データ連携支援実行中に障害で中断したときの再開始時のユーザデータ(UJ)の抽出開始位置を示します。

図7‒21 データ連携支援の中断タイミング

[図データ]

表7‒13 データ連携支援を再開始したときのユーザデータ(UJ)の抽出開始位置

項番

中断位置

HiRDB障害などの障害

データ連携支援ダウン

マシンダウン

(共有メモリ参照不可)

1

1.

データ通番102から抽出

データ通番102から抽出

データ通番102から抽出

2

2.

データ通番102から抽出

(2重入力あり)

データ通番102から抽出

(2重入力あり)

3

3.

データ通番103から抽出

データ通番103から抽出

データ通番103から抽出

(4) PJ管理表の更新タイミング変更

データ連携支援の実行状態やユーザ引き継ぎ情報について,PJ管理表へ更新するタイミングを,EEFDPARMパラメタのCONTROL文のPJUPITVLオペランドの指定で変更できます。本機能使用時,オペランド指定値の回数分,反映先指定UOCを実行し,反映処理が完了したあとに,PJ管理表を更新するようになり,DBへのアクセス(UPDATE/COMMIT)回数が削減できるため,性能向上を図ることができます。ただし,前回のPJ管理表の更新から,EEFDPARMパラメタのCONTROL文のPJUPTIMEITVLオペランドで指定した時間が経過したときは,反映処理が完了しているユーザデータ(UJ)について,実行状態やユーザ引き継ぎ情報をPJ管理表へ更新します。本機能を使用するときの注意事項については,PJUPITVLオペランドの説明を参照してください。

本機能を使用し,データ連携支援実行中に障害で中断したときの再開始時のユーザデータ(UJ)の抽出開始位置を次に示します。

図7‒22 データ連携支援の中断タイミング

[図データ]

表7‒14 データ連携支援を再開始したときのユーザデータ(UJ)の抽出開始位置

項番

中断位置

HiRDB障害などの障害

データ連携支援ダウン

マシンダウン

(共有メモリ参照不可)

1

1.

データ通番100から抽出

データ通番100から抽出

データ通番100から抽出

2

2.

データ通番102から抽出

データ通番102から抽出

データ通番102から抽出

3

3.

データ通番104から抽出

データ通番104から抽出

データ通番104から抽出