Hitachi

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


2.3.6 時刻または経過時間の指定とTP1/EEサービス定義との関係

タイマトランザクションの開始を時刻または経過時間で指定する場合のTP1/EEサービス定義との関係を説明します。

〈この項の構成〉

(1) タイマトランザクション起動時の誤差

時刻指定と経過時間指定のどちらの場合も,タイマトランザクションの起動時には,最大で次の合計値が誤差として発生するおそれがあります。

(2) 先行許容時間/後退許容時間と指定時刻の関係

時刻指定の場合,先行許容時間および後退許容時間の範囲内の時刻を指定します。先行許容時間および後退許容時間は,プロセス関連定義のexecap_permission_timeオペランドに指定します。

起動タイミングとして指定した時刻が,現在時刻以降の時刻の場合,先行許容時間の指定値に従って処理をします。起動タイミングとして指定した時刻が,先行許容時間内の時刻のときは,指定時刻にタイマトランザクションを起動します。起動タイミングとして指定した時刻が,先行許容時間外の時刻のときは,タイマトランザクションの起動要求はエラーリターンします。

起動タイミングとして指定した時刻が,現在時刻以前の時刻の場合,後退許容時間の値に従って処理をします。起動タイミングとして指定した時刻が,後退許容時間内の時刻のときは,タイマトランザクションを即時起動します。起動タイミングとして指定した時刻が,後退許容時間外の時刻のときは,タイマトランザクションの起動要求はエラーリターンします。

なお,トランザクション同期登録方式で登録要求した場合,ee_tim_execap関数の呼び出し時に先行許容時間および後退許容時間をチェックします。

現在時刻が12時00分00秒の場合の,先行許容時間,後退許容時間と,起動タイミングとして指定した時刻との関係を次の表および図に示します。

表2‒4 先行許容時間/後退許容時間と起動タイミングの指定時刻との関係

項番

execap_permission_time

オペランドの指定値(単位:分)

起動タイミングの指定時刻

起動要求の処理

先行許容時間

後退許容時間

1

180

180

9:00:00〜12:00:00

(32400〜43200)

正常(即時起動)

2

12:00:01〜15:00:00

(32401〜54000)

正常(指定時刻で起動)

3

上記以外

エラーリターン

4

1

180

9:00:00〜12:00:00

(32400〜43200)

正常(即時起動)

5

12:00:01〜12:01:00

(43201〜43260)

正常(指定時刻で起動)

6

上記以外

エラーリターン

7

180

1

11:59:00〜12:00:00

(43140〜43200)

正常(即時起動)

8

12:00:01〜15:00:00

(43201〜54000)

正常(指定時刻で起動)

9

上記以外

エラーリターン

10

1

1

11:59:00〜12:00:00

(43140〜43200)

正常(即時起動)

11

12:00:01〜12:01:00

(43201〜43260)

正常(指定時刻で起動)

12

上記以外

エラーリターン

図2‒28 先行許容時間/後退許容時間と起動タイミングの指定時刻との関係

[図データ]

先行許容時間と後退許容時間との合計が,1440(24時間)になる場合,両方の許容時間の範囲内になる時刻が存在します。この場合,後退許容時間内の時刻と判断します。例えば,現在時刻が12時00分00秒の場合に,先行許容時間に1260(21時間),後退許容時間に180(3時間)を指定すると,9時00分00秒が,両方の許容時間の範囲内になります。この状態で,タイマトランザクションを起動する時刻に32400(9時00分00秒)を指定すると,当日の9時00分00秒,または翌日の9時00分00秒が起動時刻になる可能性があります。この場合,後退許容時間内の時刻と判断して,当日の9時00分00秒を起動時刻とします。当日の9時00分00秒は過ぎているので,タイマトランザクションを即時起動します。

[図データ]

注※1

タイマトランザクションを即時起動する範囲です。

注※2

指定した時刻にタイマトランザクションを起動する範囲です。