Hitachi

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


8.1.4 機能

〈この項の構成〉

(1) UAP履歴情報の入力元

UAP履歴情報の入力元として次を指定できます。

ただし,テストモードを使用しているUAP履歴情報グループ,および,そのUAP履歴情報グループに登録されている取得用履歴情報表は指定できません。また,次以外の状態の取得用履歴情報表からは入力を行うことはできません。

(a) UAP履歴情報グループからの入力

指定したUAP履歴情報グループに登録されている取得用履歴情報表から入力します。

(b) 取得用履歴情報表からの入力

指定した取得用履歴情報表から入力します。

(c) リロード用履歴情報表からの入力

指定したリロード用履歴情報表から入力します。ただし,使用済み状態の取得用履歴情報表からアンロードした履歴情報表のアンロードファイルを,あらかじめリロードしておく必要があります。

(2) UAP履歴情報の検索

入力するUAP履歴情報の検索条件を指定できます。

(a) 累積データ通番による検索範囲の指定

UAP履歴情報に付与された累積データ通番の開始と終了を指定して,入力範囲を決めます。

(b) 世代番号による検索範囲の指定

UAP履歴情報を格納している履歴情報表の世代番号の開始と終了を指定して,入力範囲を決めます。

(c) 履歴情報種別による検索

UAP履歴情報の履歴情報種別を指定して,特定のUAP履歴情報だけを入力します。

PJの有無は,履歴情報種別によって変わりません。履歴情報種別とPJの有無の関係を次の図に示します。PJが設定されたA[2/2]は履歴情報種別による検索によって入力しませんが,入力対象の履歴情報表TBL1にはPJが設定されたA[2/2]が存在するため,トランザクションAで取得したUAP履歴情報A[1/2]はPJありの履歴情報です。一方,PJが設定されたB[3/3]は入力対象の履歴情報表TBL1に存在しないため,トランザクションBで取得したUAP履歴情報B[2/3]はPJなしの履歴情報です。

図8‒5 履歴情報種別とPJの有無の関係の例

[図データ]

(d) ルート世代番号による検索

UAP履歴情報を格納している履歴情報表のルート世代番号を指定して,特定のUAP履歴情報だけを入力します。

(3) UAP履歴情報の入力

(a) UAP履歴情報の入力

GET要求ではUAP履歴情報だけではなく,UAP履歴情報に関する情報と,終端を入力できます。

UAP履歴情報に関する情報の入力

UAP履歴情報に関する次の情報を入力できます。

  • UAP履歴情報のPJ有無

  • 同一トランザクションで取得した後続するUAP履歴情報の有無

  • 同一トランザクションで取得したUAP履歴情報の取得順序

  • UAP履歴情報の累積データ通番

  • UAP履歴情報の取得年月日と取得時刻

  • UAP履歴情報を格納している履歴情報表の世代番号

  • UAP履歴情報を格納している履歴情報表のルート世代番号

  • UAP履歴情報を取得したTP1/EEのランID

  • UAP履歴情報を取得したTP1/EEのノード識別子

  • UAP履歴情報を取得したサービス名

  • UAP履歴情報を取得したトランザクションの中央処理通番

UAP履歴情報のPJ有無,後続するUAP履歴情報有無,取得順序の入力例を次の図に示します。例の実行1では入力元の履歴情報表にTBL1とTBL2を指定しています。そのため,トランザクションAとBについてはPJが設定されたUAP履歴情報を入力できますが,トランザクションCについてはPJが設定されたUAP履歴情報を入力できません。よって,トランザクションAとBで取得したUAP履歴情報はPJあり,トランザクションCで取得したUAP履歴情報はPJなしとなります。また,A[1/1]はトランザクションAで取得した唯一のUAP履歴情報であるため,後続なしとなります。トランザクションBで取得した3つのUAP履歴情報のうち,1つ目のB[1/3]と2つ目のB[2/3]は後続あり,最後に取得したB[3/3]は後続なしとなります。トランザクションCで取得した4つのUAP履歴情報のうち,1つ目のC[1/4]は後続ありとなります。2つ目のC[2/4]は最後に取得したUAP履歴情報ではありませんが,今回の検索範囲では,後続するUAP履歴情報はないため,後続なしとなります。

また,例の実行1'では入力元の履歴情報表にTBL3だけを指定しています。PJが設定されたUAP履歴情報を入力できるため,トランザクションCで取得したUAP履歴情報はPJありとなります。ただし,最初に入力するC[3/4]の取得順序が1ではなく3であるため,途中からの入力であることを判断できます。

図8‒6 UAP履歴情報のPJ有無と後続有無の例

[図データ]

GET要求

入力する情報

UAP履歴情報

PJ有無

後続有無

取得順序

1.

A[1/1]

×

1

2.

B[1/3]

1

3.

B[2/3]

2

4.

B[3/3]

×

3

5.

C[1/4]

×

1

6.

C[2/4]

×

×

2

1.'

C[3/4]

3

2.'

C[4/4]

×

4

(凡例)

T[N/M]:トランザクションTで取得されたM個のUAP履歴情報のうち,N個目のUAP履歴情報

○:あり

×:なし

[図データ]:PJありのUAP履歴情報

[図データ]:PJなしのUAP履歴情報

終端の入力

終端を示す次の情報を入力できます。

  • 最終レコード(EOF)

  • 検索範囲の終端(EOR)

  • 最終の履歴情報表の終端(EOT)

最終レコード(EOF)とは,当該ルート世代番号で,最後のUAP履歴情報の入力が終了したことを意味します。

検索範囲の終端(EOR)とは,検索範囲を指定した検索で,最後のUAP履歴情報の入力が終了したことを意味します。

最終の履歴情報表の終端(EOT)とは,入力元の履歴情報表に取得されたUAP履歴情報のうち,最後のUAP履歴情報の入力が終了したことを意味します。現用状態の履歴情報表から入力している場合,現時点で取得されているUAP履歴情報をすべて入力した場合も含みます。この場合,EOTを入力した以降に取得されたUAP履歴情報は,データ抽出ユティリティを再度実行すると入力できます。

同一の履歴情報表で,それぞれの終端が存在する場合はEOF,EOR,EOTの順に優先して入力します。例えば,最終の履歴情報表で検索範囲の終端に達した場合は,EOTではなくEORを入力します。

終端の入力例を次の図に示します。

図8‒7 終端の例

[図データ]

(b) トランザクション単位の入力

1回のGET要求で1つのUAP履歴情報を入力しますが,1つのトランザクションで複数のUAP履歴情報を取得した場合は,そのトランザクションで取得したUAP履歴情報を連続して入力できます。

ある2つのUAP履歴情報について,次の方針に従って入力順序を決定します。ある2つのUAP履歴情報をXとYとした場合の,決定手順の詳細を次の表に示します。

PJありのUAP履歴情報同士

取得したトランザクションが同じ場合は,取得した順序どおりに入力します。

取得したトランザクションが異なる場合は,トランザクションをコミットした順序どおりに入力します。

PJなしのUAP履歴情報同士

取得したトランザクションが同じ場合は,取得した順序どおりに入力します。

取得したトランザクションが異なる場合は,順序を保証しません。

PJありのUAP履歴情報とPJなしのUAP履歴情報

PJありのUAP履歴情報を先に入力します。

表8‒3 入力順序の決定規則

規則

入力順序の判定条件

入力順序

1

P(X)かつP(Y)

T(X)=T(Y)

O(X)<O(Y)

X→Y

2

O(X)>O(Y)

Y→X

3

T(X)!=T(Y)

L(T(X))<L(T(Y))

X→Y

4

L(T(X))>L(T(Y))

Y→X

5

N(X)かつN(Y)

T(X)=T(Y)

O(X)<O(Y)

X→Y

6

O(X)>O(Y)

Y→X

7

T(X)!=T(Y)

保証しない

8

P(X)かつN(Y)

X→Y

9

N(X)かつP(Y)

Y→X

(凡例)

P(A):PJありのUAP履歴情報A

N(A):PJなしのUAP履歴情報A

T(A):UAP履歴情報Aを取得したトランザクション

O(A):1つのトランザクションで取得したUAP履歴情報のうち,UAP履歴情報Aの取得順序

L(T):トランザクションTで取得したUAP履歴情報のうち,PJが設定されたUAP履歴情報の累積データ通番

UAP履歴情報の入力順序の例を次に示します。

図8‒8 PJありのUAP履歴情報同士の入力順序の例

[図データ]

図8‒9 PJありのUAP履歴情報とPJなしのUAP履歴情報の入力順序の例

[図データ]

(c) UAP履歴情報の先読み

トランザクション単位の入力を実現するために,1回のGET要求では次のどれかを検知するまでUAP履歴情報の読み込みを行います。

  • PJが設定されたUAP履歴情報

  • 最終レコード(EOF)

  • 検索範囲の終端(EOR)

  • 最終の履歴情報表の終端(EOT)

そのため,1回のGET要求で2つ以上のUAP履歴情報を読み込む場合があります。1回のGET要求では1つのUAP履歴情報を入力するため,入力しなかったUAP履歴情報を次回のGET要求に備えてメモリ上に退避します。

UAP履歴情報の先読みの例を次の図に示します。まず,GET要求1.では履歴情報表からPJが設定されたA[3/3]までを読み込みます。そして,A[1/3]を入力し,A[2/3],B[1/3],A[3/3]をメモリ上に退避します。GET要求2.とGET要求3.では,メモリ上にPJが設定されたA[3/3]が退避されているため,履歴情報表からは読み込まないでメモリ上のA[2/3]とA[3/3]をそれぞれ入力します。そして,入力したA[2/3]とA[3/3]をメモリ上からそれぞれ削除します。GET要求4.では,メモリ上にはPJが設定されたUAP履歴情報が退避されてないため,履歴情報表からB[3/3]までを読み込みます。そして,B[1/3]を入力し,B[2/3]とB[3/3]をメモリ上に退避します。

図8‒10 UAP履歴情報の先読みの例

[図データ]

(d) UAP履歴情報の一括読み込み

UAP履歴情報の読み込み性能の向上を目的として,1回のSELECTで複数行に格納されたUAP履歴情報を一括して読み込むことができます。一括して読み込む行数のことを,一括読み込みブロック数と呼びます。

UAP履歴情報の一括読み込みの例を次の図に示します。例では,1回のGET要求を実行したときの,一括読み込みブロック数に応じたSELECTの実行回数と範囲,および,メモリ上に退避するUAP履歴情報を表しています。ここで,1行には1つのUAP履歴情報が格納されているとします。一括読み込みブロック数が1の場合は,PJが設定されたA[3/3]までの4つのUAP履歴情報を読み込むために,SELECTを4回実行します。一方,一括読み込みブロック数が2の場合は2回,一括読み込みブロック数が4の場合は1回のSELECTの実行で4つのUAP履歴情報を読み込みます。一括読み込みブロック数が3の場合は,2回目のSELECTで一括して3行を読み込むため,A[3/3]で読み込みを終了しません。そのため,B[3/3]までを読み込み,メモリ上にはA[2/3]〜A[3/3]に加えてB[2/3]とB[3/3]も退避します。一括読み込みブロック数が5と6の場合も同様に,A[3/3]で読み込みを終了しないで,B[2/3]とB[3/3]までをそれぞれ読み込みます。

以降,特に断りがないかぎりは一括読み込みブロック数を1として説明します。

図8‒11 UAP履歴情報の一括読み込みの例

[図データ]

(e) オンラインとの競合回避

オンライン(TP1/EE)で現用として使用している取得用履歴情報表から入力する場合,オンラインで実行するUAP履歴情報取得処理と,GET要求による入力処理が同時に動作することになり,オンライン性能に影響を与えます。また,現用として使用していない取得用履歴情報表やリロード用履歴情報表から入力する場合でも,DBMSサーバへのアクセス集中によって同じDBMSサーバにアクセスしているオンライン性能に影響を与えることが考えられます。

オンライン性能に対する影響を軽減させることを目的として,GET要求での履歴情報表からの読み込みの実行間隔を指定できます。この実行間隔のことを読み込み実行間隔と呼びます。読み込み実行間隔に大きな値を指定することで,データ抽出ユティリティによる入力処理の性能は低下しますが,オンライン性能に対する影響を軽減できます。

1回のGET要求で2回以上SELECTを実行する場合,指定された読み込み実行間隔を待ち合わせてから次のSELECTを実行します。最後のSELECTの実行後は待ち合わせを行いません。

読み込み実行間隔による待ち合わせの例を次の図に示します。ここで,1行には1つのUAP履歴情報が格納されているとします。例では,1回のGET要求で4回のSELECTを実行するため,待ち合わせを3回行います。

図8‒12 読み込み実行間隔による待ち合わせの例

[図データ]

UAP履歴情報の先読みや一括読み込みによって,1回のGET要求で実行するSELECTの回数は毎回異なることがあります。1回のGET要求で2回以上SELECTを実行しない場合,読み込み実行間隔を指定してもオンライン性能への影響を軽減することはできません。そのため,読み込み実行間隔を指定してもオンライン性能への影響がある場合は,次の図のようにUAPでGET要求間の待ち合わせを行う必要があります。

図8‒13 UAPによるGET要求間の待ち合わせの例

[図データ]

(f) UAP履歴情報の読み込み終了

データ抽出ユティリティでは,複数の履歴情報表からUAP履歴情報を読み込みますが,読み込みを終了する契機を次に示します。

  • 単一履歴情報表の終了契機

    1つの履歴情報表からの読み込みを終了する契機です。1つの履歴情報表からの読み込みを終了しても,入力元に指定した未入力の履歴情報表が残っていれば読み込みを継続します。

  • 全履歴情報表の終了契機

    すべての履歴情報表からの読み込みを終了する契機です。入力元に指定した未入力の履歴情報表が残っていても読み込みを継続しません。

読み込み範囲と終了契機の例を次の図に示します。例では,履歴情報表TBL1とTBL2の読み込みは,単一履歴情報表の終了契機によって終了しているため,読み込みを継続します。履歴情報表TBL3の読み込みは,全履歴情報表の終了契機によって終了しているため,読み込みを継続しません。

図8‒14 読み込み範囲と終了契機の例

[図データ]

単一履歴情報表の終了契機

1つの履歴情報表からの読み込みは,次の表に示す契機に達したときに終了します。ここで,単一履歴情報表の終了契機に達することを,表終端(EOV)を検知した,または,EOVの検知ありと呼びます。

表8‒4 単一履歴情報表の終了契機

項番

終了契機

1

当該履歴情報表に取得されているUAP履歴情報のうち,最後のUAP履歴情報を読み込んだとき。

注※

UAP履歴情報の取得を行ったが,トランザクションのロールバックによって取り消されたUAP履歴情報も含みます。

全履歴情報表の終了契機

すべての履歴情報表からの読み込みは,次の表に示す契機に達したときに終了します。複数の検索範囲を指定した場合は,どれかの終了契機に達した時点で読み込みを終了します。

表8‒5 全履歴情報表の終了契機

項番

検索範囲

終了契機

備考

1

指定あり

累積データ通番

指定した終了累積データ通番の行を読み込んだとき。

EORを入力する。

2

世代番号

指定した終了世代番号の履歴情報表のEOVを検知したとき。

EORを入力する。

3

入力対象の履歴情報表のうち,最後の履歴情報表のEOVを検知したとき。

EOTを入力する。

4

現用状態の履歴情報表の,現時点で取得されている最後のUAP履歴情報を入力したとき。

EOTを入力する。

5

ルート世代番号の最後のUAP履歴情報を入力したとき。

EOFを入力する。

(凡例)

−:該当しません

検索範囲に応じた読み込み範囲の例を次の図に示します。検索範囲の終了累積データ通番に2000を指定した場合(1.),累積データ通番2000までの行を読み込みます。

終了世代番号に10を指定した場合(2.),TBL10のEOVを検知するまで読み込みます。

検索範囲を指定しない場合(3.),履歴情報表TBL11のEOVを検知するまで読み込みます。

図8‒15 読み込み範囲の例

[図データ]

(g) 更新抑止情報の設定

現用の取得用履歴情報表から入力する場合,タイミングによってオンライン側の一括書き込みより先に読み込みが行われること(データ抽出による追い抜き)があります。データ抽出による追い抜きの詳細は,「3.12.3(4) データ抽出による追い抜き後のUAP履歴情報の一括書き込み」を参照してください。

データ抽出による追い抜きが発生したときは,オンライン側で別の行に対して再度一括書き込みができるよう更新抑止情報を設定します。更新抑止情報の設定が多発すると,性能に影響します。

更新抑止情報を設定する条件を次に示します。

  • オンライン側で一括書き込み先の行を決定してから,一括書き込みを行うまでの間に,データ抽出ユティリティが該当行の読み込みを行った場合

  • 履歴情報表の横分割機能によって空白行が発生した場合

  • オンライン側で一括書き込み要求を行ったあとにトランザクションがロールバックした場合

(4) 引き継ぎ情報の管理

PJ突き合わせ表およびPJ管理表を使用すると,次の表に示す情報を次回のデータ抽出ユティリティの実行に引き継ぐことができます。次回のデータ抽出ユティリティの実行に引き継ぐ情報のことを,引き継ぎ情報と呼びます。

PJ突き合わせ表およびPJ管理表を使用しないと,引き継ぎ情報を使用することはできません。引き継ぎ情報を使用しないと,データ抽出ユティリティが異常終了した場合の再開や,データ抽出ユティリティ実行間でのPJなしUAP履歴情報の引き継ぎなどができません。そのため,テストやトラブルシュートを目的とする場合以外は,PJ突き合わせ表およびPJ管理表を使用してください。

表8‒6 引き継ぎ情報

項番

引き継ぎ情報

内容

1

再開情報

データ抽出ユティリティの再開に必要な情報。

次回の読み込み開始位置に関する情報やUAP履歴情報など。

2

ユーザプログラム情報

ユーザ任意の情報。

(a) 再開情報の引き継ぎ

入力の途中でデータ抽出ユティリティが異常終了した場合に備えて,再開情報として次の情報をPJ管理表とPJ突き合わせ表に退避します。

  • PJ管理表に退避する情報

    読み込みが終了した履歴情報表の世代番号など次回の開始位置に関する情報

  • PJ突き合わせ表に退避する情報

    メモリ上に退避してあるUAP履歴情報

そして,次回の実行時,前回読み込みが終了した履歴情報表の次世代の履歴情報表の先頭から読み込みを再開し,PJ突き合わせ表に退避してあるUAP履歴情報とあわせて入力します。ただし,データ抽出ユティリティが異常終了したタイミングによっては,次回の実行時に前回と同じUAP履歴情報を再度入力するおそれがあります。

UAP履歴情報をPJ突き合わせ表に退避するとき,すでにPJ突き合わせ表に退避してあるUAP履歴情報を,今回退避するUAP履歴情報で上書きします。退避するUAP履歴情報がない場合は,PJ突き合わせ表に退避してあるUAP履歴情報をすべて削除します。

再開情報の引き継ぎは,GET要求時に次のどちらかの条件を満たす場合に行います。

  • 今回のGET要求で2つ目以降の履歴情報表を読み始める

  • 今回のGET要求で次のどちらかを入力する

    • EOT

    • PJなしのUAP履歴情報

再開情報の引き継ぎの例を次の図に示します。なお,例では入力元に履歴情報表TBL1とTBL2だけを指定しているとします。

まず,GET要求1.では,TBL1からA[1/2],B[1/2],C[1/1]を読み込み,C[1/1]を入力します。

次に,GET要求2.では,2つ目の履歴情報表であるTBL2から読み込みを開始するため,再開情報の引き継ぎ1.を行います。このとき,メモリ上のA[1/2]とB[1/2]をPJ突き合わせ表に退避します。

そして,GET要求4.では,PJなしのUAP履歴情報であるA[1/2]を入力するため,再開情報の引き継ぎ2.を行います。このとき,メモリ上のA[1/2]をPJ突き合わせ表に退避します。

また,それぞれの再開情報の引き継ぎ前後でデータ抽出ユティリティが異常終了したあとに,入力元に履歴情報表TBL1とTBL2を指定して再度データ抽出ユティリティを実行したときの読み込み開始位置と,GET要求で入力するUAP履歴情報も次の図に示します。

図8‒16 再開情報の引き継ぎの例(入力元にTBL1とTBL2を指定)

[図データ]

データ抽出ユティリティの異常終了位置

PJ突き合わせ表に退避してあるUAP履歴情報

次回の読み込み開始位置

次回のGET要求で入力するUAP履歴情報

〜再開情報の引き継ぎ1.完了前

なし

TBL1のA[1/2]

C[1/1],B[1/2],…

再開情報の引き継ぎ1.完了後

〜再開情報の引き継ぎ2.完了前

A[1/2],B[1/2]

TBL2のB[2/2]

B[1/2],B[2/2],…

再開情報の引き継ぎ2.完了後〜

A[1/2]

TBL3のA[2/2]

A[1/2],A[2/2]

(凡例)

T[N/M]:トランザクションTで取得されたM個のUAP履歴情報のうち,N個目のUAP履歴情報

注※

次回の入力元に履歴情報表TBL3を指定した場合

再開情報の引き継ぎ1.の完了前に異常終了した場合は,再開情報が何も設定されていないため,次回はTBL1の先頭から読み込みを開始します。

再開情報の引き継ぎ1.の完了後〜再開情報の引き継ぎ2.の完了前に異常終了した場合は,すでにTBL1からの読み込みは終了しているため,次回はTBL2の先頭から読み込みを開始し,PJ突き合わせ表に退避してあるA[1/2]とB[1/2]とあわせて入力します。

再開情報の引き継ぎ2.の完了後に異常終了した場合は,TBL2からの読み込みは完了しているため,入力元にTBL1とTBL2を指定して再開することはできません。入力元に世代番号が3である履歴情報表TBL3を指定して再開すると,TBL3の先頭から読み込みを開始し,PJ突き合わせ表に退避してあるA[1/2]とあわせて入力します。

(b) UAP履歴情報の引き継ぎ

再開情報の引き継ぎでPJなしのUAP履歴情報をPJ突き合わせ表に退避することで,次回の実行にPJなしのUAP履歴情報を引き継ぐことができます。これによって,次回の実行時にPJなしのUAP履歴情報を格納していた履歴情報表を入力元に指定することなく,すべてのUAP履歴情報を入力できます。なお,次回の実行でもPJが設定されたUAP履歴情報を読み込むことができない場合は,PJ突き合わせ表に退避してあるUAP履歴情報と,次回の実行で読み込んだUAP履歴情報の両方を,PJなしのUAP履歴情報として入力します。

トランザクションAで取得した3つのUAP履歴情報が,履歴情報表TBL1,TBL2,TBL3にわたって格納されている場合で,UAP履歴情報の引き継ぎ機能を使用しない例を図8-17,使用する例を図8-18に示します。図8-17では,実行2で履歴情報表TBL2からはA[2/3]しか読み込めないため,PJなしのUAP履歴情報として入力します。実行3では,履歴情報表TBL3からはA[3/3]しか読み込めませんが,PJが設定されているためPJありのUAP履歴情報として入力します。

一方,図8-18では,実行1でA[1/3]をPJ突き合わせ表に退避します。実行2では,UAP履歴情報TBL2から読み込んだA[2/3]にはPJが設定されていないため,PJ突き合わせ表に退避されたA[1/3]とあわせてPJなしのUAP履歴情報として入力します。実行3では,履歴情報表TBL3からはA[3/3]しか読み込めませんが,PJ突き合わせ表からA[1/3]とA[2/3]を読み込めます。よって,PJありのUAP履歴情報としてA[1/3],A[2/3],A[3/3]のすべてを入力できます。

図8‒17 UAP履歴情報の引き継ぎ機能を使用しない場合

[図データ]

図8‒18 UAP履歴情報の引き継ぎ機能を使用する場合

[図データ]

PJ突き合わせ表からUAP履歴情報を読み込む場合の,UAP履歴情報の入力順序の例を次の図に示します。

図8‒19 PJ突き合わせ表から入力する場合の入力順序の例

[図データ]

(c) UAP履歴情報入力の中断

GET要求でEOFを入力する前にTERM要求を実行することで,GET要求時以外でも再開情報の引き継ぎができます。これによって,任意のタイミングでUAP履歴情報の入力を中断できます。中断した場合,次回の実行では前回の続きから入力できます。ただし,TERM要求時にユーザプログラム引き継ぎ情報を退避する必要があります。ユーザプログラム引き継ぎ情報の退避については「(e) ユーザプログラム情報の引き継ぎ」を参照してください。TERM要求時にユーザプログラム引き継ぎ情報を退避しない場合,中断にはなりません。また,最後に入力したUAP履歴情報情報が後続ありの場合,次回の実行時には後続するUAP履歴情報を入力することはできません。

注※

再開情報の引き継ぎによって再開情報が設定されている場合は,次回の実行では続き(前回入力が終了した履歴情報表の次世代の履歴情報表の先頭)から入力します。再開情報が設定されていない場合は,次回の実行時に指定された入力元や検索条件に従って入力します。

TERM要求(ユーザプログラム引き継ぎ情報の退避あり)を実行したとき,メモリ上に退避してあるUAP履歴情報をPJ突き合わせ表に退避します。ただし,すでに入力したUAP履歴情報に後続するUAP履歴情報については退避しません。また,次回の開始位置を再開情報としてPJ管理表に設定します。次回の実行では,前回の続きから読み込みを開始し,PJ突き合わせ表に退避してあるUAP履歴情報とあわせて入力します。

UAP履歴情報の中断の例を次の図に示します。

GET要求1.の後にTERM要求を実行した場合,PJ突き合わせ表にはB[1/3]だけを退避します。すでに入力したA[1/3]に後続するA[2/3]とA[3/3]は退避しません。次回の実行では,履歴情報表TBL1のB[2/3]から読み込みを開始し,GET要求ではB[1/3]から入力します。

GET要求4.の後にTERM要求を実行した場合,メモリ上にはすでに入力したB[1/3]に後続するB[2/3]とB[3/3]しか退避されていないため,PJ突き合わせ表には何も退避しません。次回の実行では,履歴情報表TBL2の先頭から読み込みを開始し,GET要求ではC[1/2]から入力します。

図8‒20 UAP履歴情報入力の中断の例

[図データ]

TERM要求の実行位置

PJ突き合わせ表に退避するUAP履歴情報

次回の読み込み開始位置

次回のGET要求で入力するUAP履歴情報

備考

GET要求1.後

B[1/3]

TBL1のB[2/3]

B[1/3],B[2/3],…

A[2/3]とA[3/3]は破棄

GET要求2.後

B[1/3]

TBL1のB[2/3]

B[1/3],B[2/3],…

A[3/3]は破棄

GET要求3.後

B[1/3]

TBL1のB[2/3]

B[1/3],B[2/3],…

GET要求4.後

なし

TBL2のC[1/2]

C[1/2],C[2/2],…

B[2/3]とB[3/3]は破棄

GET要求5.後

なし

TBL2のC[1/2]

C[1/2],C[2/2],…

B[3/3]は破棄

GET要求6.後

なし

TBL2のC[1/2]

C[1/2],C[2/2],…

GET要求7.後

なし

TBL2のD[1/1]

D[1/1],…

C[2/2]は破棄

GET要求8.後

なし

TBL2のD[1/1]

D[1/1],…

(凡例)

T[N/M]:トランザクションTで取得されたM個のUAP履歴情報のうち,N個目のUAP履歴情報

[図データ]:PJありのUAP履歴情報

(d) データ抽出ユティリティの強制実行

強制実行した場合,データ抽出ユティリティは次のとおり動作します。

  • 現用状態の取得用履歴情報表を入力対象外としている場合でも,現用状態の取得用履歴情報表から入力します。

  • PJ管理表に設定された再開情報を無視して,今回指定した検索範囲の先頭から入力を開始します。

  • PJ突き合わせ表に退避されたUAP履歴情報の入力は行いません。ただし,今回の実行で読み込んだPJなしのUAP履歴情報の退避は行います。

(e) ユーザプログラム情報の引き継ぎ

TERM要求時にユーザプログラム情報をPJ管理表に退避できます。また,GET要求時にPJ管理表に退避したユーザプログラム引き継ぎ情報を入力することもできます。

(5) 表のチェック

(a) 現用有無の取得

入力元の履歴情報表をオンラインで現用として使用しているかどうかを取得できます。

(6) 表の運用支援

(a) PJ突き合わせ表とPJ管理表の作成

eeaphpjtblhコマンドでPJ突き合わせ表とPJ管理表を作成できます。

(b) PJ突き合わせ表とPJ管理表の削除

eeaphpjtblrmhコマンドでPJ突き合わせ表とPJ管理表を削除できます。

(c) PJ突き合わせ表とPJ管理表の再使用

GET要求でEOFを入力した後にTERM要求を行うことで,PJ突き合わせ表とPJ管理表の初期化を行い再使用可能な状態にできます。

(7) API

(a) INIT要求

ee_trn_ioa_init関数(CBLEETRN('IOAINIT '))を発行することで,INIT要求を行うことができます。詳細は,マニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。

(b) GET要求

ee_trn_ioa_get関数(CBLEETRN('IOAGET '))を発行することで,GET要求を行うことができます。詳細は,マニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。

(c) TERM要求

ee_trn_ioa_term関数(CBLEETRN('IOATERM '))を発行することで,TERM要求を行うことができます。詳細は,マニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。