7.3.5 データ連携支援の終了
データ連携支援は,コマンドによる終了,UOCによる終了,または自動終了のどれかの終了条件を満たすと,終了メッセージを出力しジョブを終了します。
また,終了形態は次の表に示す3種類があります。
項番 |
データ連携支援の終了形態 |
データ連携支援の動作 |
---|---|---|
1 |
正常終了 |
抽出対象の履歴情報表でEOF情報を検知し,それまでに抽出 したユーザデータ(UJ)の反映処理を完了したあとに,データ連携支援を終了します。なお,このときに呼び出し種別('EN':終了)で開始終了UOCを呼び出します。 |
2 |
中断 |
特定のユーザデータ(UJ)までの反映サービスがすべて完了したあとに,データ連携支援を終了します。なお,このときに呼び出し種別('EN':終了)で開始終了UOCを呼び出します。 |
3 |
強制停止 |
実行中の反映サービスの終了を待たないで,データ連携支援を強制的に終了します。なお,このときに呼び出し種別('EN':終了)で開始終了UOCを呼び出します。 ただし,次の場合は開始終了UOCを呼び出しません。
|
(1) コマンドによる終了
中断コマンドを入力すると,データ連携支援は抽出処理を中断して終了します。抽出処理中断後の処理は,中断コマンドにオプションフラグを指定することで次から選択できます。
そのあと,データ連携支援を起動すると再開始モードとなり中断した処理を引き継ぎます。
-
抽出済みの全ユーザデータの反映サービスが終了したあとにデータ連携支援を中断
-
実行中の反映サービスが終了したあとにデータ連携支援を中断
-
実行中の反映サービスの終了を待たないでデータ連携支援を強制停止
このときに呼び出し種別('EN':終了)で開始終了UOCの呼び出しは行いません。
(2) UOCによる終了
UOCのリターンコードに中止要求を設定すると,リターンコードに応じた処理を行ったあとに終了します。そのあと,データ連携支援を起動すると再開始モードとなり中断した処理を引き継ぎます。
項番 |
リターンコード |
データ連携支援の動作 |
|
---|---|---|---|
C言語 |
COBOL |
||
1 |
EETRN_RKS_RTN_12 |
12 |
中止要求を行ったユーザデータ(UJ)の前までの反映サービスがすべて完了したあとにデータ連携支援を中断します。 |
2 |
EETRN_RKS_RTN_16 |
16 |
中止要求を行ったユーザデータ(UJ)までの反映サービスがすべて完了したあとにデータ連携支援を中断します。 |
3 |
EETRN_RKS_RTN_20 |
20 |
中止要求を行ったユーザデータ(UJ)の前までの反映サービスがすべて完了したあとにデータ連携支援を一時中断し,そのあと自動再実行を行います。 |
4 |
EETRN_RKS_RTN_100 |
100 |
実行中の反映サービスの終了を待たないでデータ連携支援を強制停止します。 ただし,次のUOCの場合,呼び出し種別('EN':終了)で開始終了UOCの呼び出しは行いません。
|
(3) 障害検知による終了
(a) データベース障害検知による終了
データ連携支援はグループ管理表,履歴情報表,PJ管理表,またはPJ突き合わせ表のデータベース障害を検知すると,実行中の反映サービスの終了を待たないで強制停止します。そのあと,引き継ぎ情報に障害がなければ,データ連携支援を起動すると再開始モードとなり中断した処理を引き継ぎます。
(b) DBキュー障害による終了
データ連携支援はDBキューの反映サービスでDBキューのデータベース障害,DBキューの満杯,またはDBキューの書き込み抑止を検知すると抽出処理を中断して,実行中のほかの反映サービスの終了を待たないで強制停止します。そのあと,データ連携支援を起動すると再開始モードとなり中断した処理を引き継ぎます。
(c) RPC障害による終了
データ連携支援はRPCの反映サービスでRPC障害を検知,またはRPC送信先サービスから異常が応答されると抽出処理を中断して,実行中のほかの反映サービスの終了を待たないで強制停止します。そのあと,データ連携支援を起動すると再開始モードとなり中断した処理を引き継ぎます。
ユーザ任意処理でRPCによる送信を行いRPC障害を検知した場合は,反映UOCのリターンコードに中止要求を設定することでデータ連携支援を終了できます。反映UOCのリターンコードに中止要求を設定しなかった場合は,抽出処理,反映サービスの実行を続けます。
(4) APIによる終了
UOC内で終了API(ee_bpp_term()/CBLEEBPP('TERM'))を発行すると,終了APIの延長で即時に強制的に終了します。なお,このときに呼び出し種別('EN':終了)で開始終了UOCの呼び出しは行いません。そのあと,データ連携支援を起動すると再開始モードとなり中断した処理を引き継ぎます。
(5) 自動終了
データ連携支援は,ユーザデータの抽出を開始したあとに,履歴情報表のヘッダ部の情報を参照して,次の状態を検知すると自動終了します。
-
すべてのTP1/EEが正常終了(EOF検知)
-
計画停止によるスワップの発生(計画停止EOV検知)
-
抽出可能なユーザデータ(UJ)の抽出終了
(a) すべてのTP1/EEが正常終了
ほかのTP1/EEがすべて正常終了状態でTP1/EEを正常終了すると,終了時に履歴情報表のヘッダ部にEOF情報を出力します。データ連携支援は,抽出対象の履歴情報表でEOF情報を検知すると,当該表の有効レコードを抽出したあとに正常終了します。
なお,ほかのTP1/EEが正常終了でない状態でTP1/EEを正常終了しても,EOF情報は出力しません。
(b) 計画停止によるスワップの発生
共用するほかのTP1/EEがすべて正常終了または計画停止の状態で,トランザクション関連定義trn_aph_planend_swapオペランドにYを指定したTP1/EEを計画停止Aで終了すると,終了時にスワップを行い,スワップ元履歴情報表のヘッダ部に計画停止EOV情報を出力します。
EEFDPARMパラメタのCONTROL文PLANENDオペランドにYESを指定したデータ連携支援で,抽出対象の履歴情報表の計画停止EOV情報を検知すると,当該表の有効レコードを抽出したあとに中断します。
そのあと,データ連携支援を起動すると再開始モードとなり中断した処理を引き継ぎます。
ただし,PLANENDオペランドにNOを指定,またはPLANENDオペランドを省略したデータ連携支援は,計画停止EOV情報を検知しても中断しません。
(c) 抽出可能なユーザデータ(UJ)の抽出終了
EEINPARMパラメタのTABLE文のUAPTBLオペランドで指定した履歴情報表からすべてのユーザデータ(UJ)を抽出したあとに中断します。
そのあと,データ連携支援を起動すると再開始モードとなり中断した処理を引き継ぎます。
(6) 終了条件の例
データ連携支援の終了条件の例を次に示します。