5.4.4 運用コマンド,APIによるOBMとロットの状態遷移
OBMとロットの状態は,運用コマンドおよびAPIによって遷移できます。OBMとロットの状態を遷移できるAPIとコマンドを次に示します。APIとコマンドの詳細は,「30. 運用コマンド」およびマニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。なお,ここで示す状態遷移の例では,C言語のAPI名で記載しますが,COBOLのAPIで対応するC言語の関数と同様の動作をします。
-
eeobmstartコマンド(OBMの開始/再開始)
-
eeobmstopコマンド(OBMの強制停止/計画停止)
-
eeobmcancelコマンド(OBMの強制終了)
-
ee_obm_lot_end(),CBLEEOBM('LOTEND') (ロットの正常終了)
-
ee_obm_lot_stop,CBLEEOBM('LOTSTOP') (ロットの強制停止/計画停止)
-
ee_obm_stop,CBLEEOBM('STOP') (OBMの強制停止/計画停止)
-
ee_obm_any_stop,CBLEEOBM('ANYSTOP') (任意のOBMの強制停止/計画停止)
次にロット階層が3の場合の状態遷移例を示します。
ここでは特に断りがないかぎりOBM開始/再開始UOC,オープントランザクション,クローズトランザクション,OBM終了/停止UOCは正常に終了したものと扱い,OBMの状態のうち初期化中,終了中,停止処理中,再開始処理中への遷移の記載は省略します(それぞれ,実行中,未実行,計画停止または強制停止,実行中への遷移として記述します)。また,実行待ち状態となったロットの実行中状態への遷移についても省略し,実行待ち状態になるまでを記載します。ただし,実行待ち状態から実行中状態にならないで,計画停止または強制停止になるようなケースについては記載します。
|
項番 |
コマンド/API実行前のOBM,ロット状態 |
実行するコマンド/API |
コマンド/API実行後のOBM,ロット状態 |
説明 |
---|---|---|---|---|
1 |
|
eeobmstart -o A 【イベント型】 【データ型】 |
|
OBMは実行中状態になります。 全ロットが実行待ち状態になります。 |
2 |
|
eeobmstart -o A -l E (Aが優先スケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 指定した2階層目のロットと,その上位ロット,すべての下位ロットが実行待ち状態になります。 |
3 |
|
eeobmstart -o A -l E (Aがシリアルスケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 指定した2階層目のロットと,その上位ロット,すべての下位ロットが実行待ち状態になります。 |
↓ |
||||
|
スケジュール可能なロットがないためOBMが計画停止します。 |
|||
4 |
|
eeobmstart -o A -l E,G (A,Eが両方優先スケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 指定した3階層目のロットと,その上位ロット(最上位ロット含む)が実行待ち状態になります。 |
5 |
|
eeobmstart -o A -l E,G (A,Eどちらかがシリアルスケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 指定した3階層目のロットと,その上位ロット(最上位ロット含む)が実行待ち状態になります。 |
↓ |
||||
|
しかし,スケジュール可能なロットがないためOBMが計画停止します。 |
|||
6 |
|
eeobmstart -o A -l E 【データ型】 |
|
データ型ではロット名指定で開始できないためOBMの状態は変わりません。 |
7 |
|
eeobmstop -o A ee_obm_any_stop (強制停止,計画停止とも) 【イベント型】 【データ型】 |
|
OBMを停止できる状態ではないためOBMの状態は変わりません。 |
8 |
|
eeobmcancel -o A 【イベント型】 【データ型】 |
|
OBMを強制終了できる状態ではないためOBMの状態は変わりません。 |
9 |
|
eeobmstart -o A 【データ型】 |
|
データ型ではロットが計画停止状態とならないため,eeobmstartコマンドは受け付けられません。OBMの状態は変わりません。 |
10 |
|
eeobmstart -o A 【イベント型】 |
|
OBM名を指定してすべての計画停止中のロットを実行待ち状態とします。 ↓ 計画停止中ロットが複数の場合の例です。 |
11 |
|
eeobmstart -o A 【イベント型】 |
|
|
12 |
|
eeobmstart -o A -l E 【イベント型】 |
|
2階層目のロット名を指定してロットを再開始します。 |
13 |
|
eeobmstart -o A -l E 【イベント型】 |
|
指定したロットの状態が計画停止ではないため,OBMの状態は変わりません。 |
14 |
|
eeobmstart -o A -l E,F 【イベント型】 |
|
3階層目のロット名を指定してロットを再開始します。 |
15 |
|
eeobmstart -o A -l E,F 【イベント型】 |
|
指定したロットの状態が計画停止ではないため,OBMの状態は変わりません。 |
16 |
|
eeobmstop -o A ee_obm_any_stop(A) (計画停止) 【データ型】 |
|
データ型OBMは計画停止できないため,OBMの状態は変わりません。 |
17 |
|
eeobmstop -o A ee_obm_any_stop(A) (計画停止) 【イベント型】 |
|
OBMの状態が計画停止になります。実行中,実行待ちロットの状態も計画停止状態になります。 |
18 |
|
eeobmstop -o A ee_obm_any_stop(A) (計画停止) 【イベント型】 |
|
実行中,実行待ちの最下位ロットは計画停止状態になります。上位ロットは,下位ロットに強制停止状態のロットがあるため強制停止になります。 OBMの状態は,強制停止状態となります。 |
19 |
|
eeobmstop -o A ee_obm_any_stop(A) (計画停止) 【イベント型】 【データ型】 |
|
OBMの状態は強制停止状態になります。 実行中のロットは実行待ち状態になります。 |
20 |
|
eeobmcancel -o A 【イベント型】 【データ型】 |
|
OBMを強制終了できる状態ではないためOBMの状態は変わりません。 |
21 |
|
Gのノーマルトランザクションで ee_obm_lot_end() 【イベント型】 |
|
Gのロット状態が実行済みになります。実行中のほかのロット,OBMの状態は変わりません。 |
22 |
|
Gのノーマルトランザクションで ee_obm_lot_end() 【イベント型】 |
|
G,Eが実行済みになります(子ロットがすべて実行済みとなるため)。ほかのロット,OBMの状態は変わりません。 |
23 |
|
Gのノーマルトランザクションで ee_obm_lot_end() 【イベント型】 |
|
G,E,Aが実行済みになります。 OBMの状態は未実行になります。 |
24 |
|
Gのノーマルトランザクションで ee_obm_lot_end() 【イベント型】 |
|
Gが実行済みになります。 E,A,OBMの状態は,計画停止状態のロットFがあるため計画停止状態になります。 |
25 |
|
Gのノーマルトランザクションで ee_obm_lot_end() 【イベント型】 |
|
Gが実行済みになります。 E,A,OBMの状態は,強制停止状態のロットFがあるため強制停止状態になります。 |
26 |
|
Gのノーマルトランザクションで ee_obm_lot_end() 【データ型】 |
|
データ型では,ee_obm_lot_end()は受け付けられません。OBMの状態は変わりません。 |
27 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (計画停止) 【イベント型】 |
|
Gが計画停止状態になります。 ほかのロット,OBMの状態は変わりません。 |
28 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (計画停止) 【イベント型】 |
|
G,Eが計画停止状態になります。ほかのロット,OBMの状態は変わりません。 |
29 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (計画停止) 【イベント型】 |
|
G,E,Aが計画停止状態になります。 OBMの状態も計画停止状態になります。 |
30 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (計画停止) 【イベント型】 |
|
Gが計画停止状態になります。 E,A,OBMの状態は,強制停止状態のロットFがあるため強制停止状態になります。 |
31 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (計画停止) 【データ型】 |
|
データ型では計画停止要求は受け付けません。ロット状態,OBMの状態は変わりません。 |
32 |
|
Cのノーマルトランザクションで ee_obm_lot_stop() (計画停止) (A,Bがシリアルスケジュールの場合) 【イベント型】 |
|
C,B,Aだけでなく実行待ちロットも計画停止状態となります。 OBMは計画停止状態になります。 |
33 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (強制停止) 【イベント型】 【データ型】 |
|
Gの状態が強制停止状態になります。ほかのロット,OBMの状態は変わりません※。 |
34 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (強制停止) 【イベント型】 【データ型】 |
|
G,Eが強制停止状態になります。ほかのロット,OBMの状態は変わりません※。 |
35 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (強制停止) 【イベント型】 【データ型】 |
|
G,E,Aが強制停止状態になります。 OBMの状態も強制停止状態になります※。 |
36 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (強制停止) 【イベント型】 【データ型】 |
|
G,E,Aが強制停止状態になります。 OBMの状態も強制停止状態になります※。 |
37 |
|
Cのノーマルトランザクションで ee_obm_lot_stop() (強制停止) (A,Bがシリアルスケジュールの場合) 【イベント型】 【データ型】 |
|
Cが強制停止状態になります。A,Bは実行待ちとなります。 OBMは強制停止状態になります※。 |
38 |
|
Gのノーマルトランザクションで ee_obm_stop() (計画停止) 【イベント型】 |
|
全ロット,OBMの状態が計画停止状態になります。 |
39 |
|
Gのノーマルトランザクションで ee_obm_stop() (計画停止) 【イベント型】 |
|
すでに実行済みのロット以外の全ロット,およびOBMの状態が計画停止状態になります。 |
40 |
|
Gのノーマルトランザクションで ee_obm_stop() (計画停止) 【イベント型】 |
|
すでに実行済みのロット以外の全ロット,およびOBMの状態が計画停止状態になります。 |
41 |
|
Gのノーマルトランザクションで ee_obm_stop() (計画停止) 【イベント型】 |
|
Gが計画停止状態になります。 E,A,OBMの状態は,強制停止状態のロットFがあるため強制停止状態になります。 |
42 |
|
Gのノーマルトランザクションで ee_obm_stop() (計画停止) 【データ型】 |
|
データ型では計画停止要求は受け付けません。ロット状態,OBMの状態は変わりません。 |
43 |
|
Cのノーマルトランザクションで ee_obm_stop() (計画停止) 【イベント型】 |
|
C,B,Aだけでなく実行待ちロットも計画停止状態となります。 OBMは計画停止状態になります。 |
44 |
|
Gのノーマルトランザクションで ee_obm_stop() (強制停止) 【イベント型】 【データ型】 |
|
OBMの状態が強制停止状態になります。実行中ロットは実効待ち状態になります※。 |
45 |
|
Gのノーマルトランザクションで ee_obm_lot_stop() (強制停止) 【イベント型】 【データ型】 |
|
OBMの状態が強制停止状態になります。実行中ロットは実効待ち状態になります※。 |
46 |
|
Gのノーマルトランザクションで ee_obm_stop() (強制停止) 【イベント型】 【データ型】 |
|
OBMの状態が強制停止状態になります。実行中ロットは実効待ち状態になります※。 |
47 |
|
Gのノーマルトランザクションで ee_obm_stop() (強制停止) 【イベント型】 【データ型】 |
|
OBMの状態が強制停止状態になります。実行中ロットは実効待ち状態になります※。 |
48 |
|
Cのノーマルトランザクションで ee_obm_stop() (強制停止) 【イベント型】 【データ型】 |
|
OBMは強制停止状態になります。 A,B,Cが実行待ちとなります※。 |
49 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (計画停止) 【イベント型】 |
|
全ロット,OBMの状態が計画停止状態になります。 |
50 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (計画停止) 【イベント型】 |
|
すでに実行済みのロット以外の全ロット,およびOBMの状態が計画停止状態になります。 |
51 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (計画停止) 【イベント型】 |
|
すでに実行済みのロット以外の全ロット,およびOBMの状態が計画停止状態になります。 |
52 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (計画停止) 【イベント型】 |
|
Gが計画停止状態になります。 E,A,OBMの状態は,強制停止状態のロットFがあるため強制停止状態になります。 |
53 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (計画停止) 【データ型】 |
|
データ型では計画停止要求は受け付けません。ロット状態,OBMの状態は変わりません。 |
54 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (計画停止) 【イベント型】 |
|
C,B,Aだけでなく実行待ちロットも計画停止状態となります。 OBMは計画停止状態になります。 |
55 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (強制停止) 【イベント型】 【データ型】 |
|
OBMの状態が強制停止状態になります。実行中ロットは実効待ち状態になります※。 |
56 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (強制停止) 【イベント型】 【データ型】 |
|
OBMの状態が強制停止状態になります。実行中ロットは実効待ち状態になります※。 |
57 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (強制停止) 【イベント型】 【データ型】 |
|
OBMの状態が強制停止状態になります。実行中ロットは実効待ち状態になります※。 |
58 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (強制停止) 【イベント型】 【データ型】 |
|
OBMの状態が強制停止状態になります。実行中ロットは実効待ち状態になります※。 |
59 |
|
任意のトランザクションでee_obm_any_stopまたはeeobmstop (強制停止) 【イベント型】 【データ型】 |
|
OBMは強制停止状態になります。 A,B,Cが実行待ちとなります※。 |
60 |
|
eeobmstart -o A 【イベント型】 |
|
OBMは実行中状態になります。 計画停止状態のロットは実行待ちとなります。 |
61 |
|
eeobmstart -o A,B,D 【イベント型】 |
|
実行済みのロットを指定してもOBMの状態,ロットの状態は変わりません。 |
62 |
|
eeobmstart -o A,B,D (Bが優先スケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 指定した3階層目のロットと,その上位ロット(最上位ロット含む)が実行待ち状態になります。 |
63 |
|
eeobmstart -o A,B,D (Bがシリアルスケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 指定した3階層目のロットと,その上位ロット(最上位ロット含む)が実行待ち状態になります。 |
↓ |
||||
|
しかし,スケジュール可能なロットがないためOBMが計画停止します。 |
|||
64 |
|
eeobmstart -o A,B 【イベント型】 |
|
OBMは実行中状態になります。 指定した2階層目のロットと,その上位ロット,計画停止状態の下位ロットが実行待ち状態になります。 |
65 |
|
eeobmstop -o A ee_obm_any_stop (強制停止,計画停止とも) 【イベント型】 【データ型】 |
|
OBMはすでに停止しているため状態は変わりません。 |
66 |
|
eeobmcancel -o A 【イベント型】 【データ型】 |
|
OBMの状態が未実行になります。 |
67 |
|
eeobmstart -o A 【イベント型】 【データ型】 |
|
OBMは実行中状態になります。 強制停止状態のロットは実行待ちとなります。 |
68 |
|
eeobmstart -o A 【イベント型】 【データ型】 |
|
OBMは実行中状態になります。 ロットは変わりません。 |
69 |
|
eeobmstart -o A 【イベント型】 |
|
OBMは実行中状態になります。 強制停止状態のロットは実行待ちとなります。 |
70 |
|
eeobmstart -o A (Bが優先スケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 強制停止状態のロットは実行待ちとなります。 |
71 |
|
eeobmstart -o A (Bがシリアルスケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 強制停止状態のロットは実行待ちとなります。 |
↓ |
||||
|
しかし,スケジュール可能なロットがないためOBMが計画停止します。 |
|||
72 |
|
eeobmstart -o A,B,D 【イベント型】 |
|
強制停止状態のロットを指定してもOBMの状態,ロットの状態は変わりません。 |
73 |
|
eeobmstart -o A,B,D (Bが優先スケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 指定した3階層目のロットと,その上位ロット(最上位ロット含む)が実行待ち状態になります。 |
74 |
|
eeobmstart -o A,B,D (Bがシリアルスケジュールの場合) 【イベント型】 |
|
OBMは実行中状態になります。 指定した3階層目のロットと,その上位ロット(最上位ロット含む)が実行待ち状態になります。 |
↓ |
||||
|
しかし,スケジュール可能なロットがないためOBMが強制停止します |
|||
75 |
|
eeobmstart -o A,B 【イベント型】 |
|
強制停止状態のロットを指定してもOBMの状態,ロットの状態は変わりません。 |
76 |
|
eeobmstop -o A ee_obm_any_stop (強制停止,計画停止とも) 【イベント型】 【データ型】 |
|
OBMはすでに停止しているため状態は変わりません。 |
77 |
|
eeobmcancel -o A 【イベント型】 【データ型】 |
|
OBMの状態が未実行になります。 |
- 注※
-
データ型OBMで,最終データのノーマルトランザクション(トレーラレコードのノーマルトランザクションを起動する場合は,トレーラレコードのノーマルトランザクション)でAPIを実行した場合もロットは実行済みとならないで,強制停止または実行待ちになります。OBMを再開始したときに,ノーマルトランザクションを起動しないで実行済み状態になります。