ジョブの構築について検討できたら,業務ごとにジョブの実行順序(ジョブフロー)について検討します。処理の流れや階層をチャートにしておくと,ジョブやジョブネットを定義する際に便利です。
ジョブフローの作成例を次に示します。
(1) 処理の経路が一つだけの例
ジョブ1,ジョブ2,ジョブ3という三つのジョブに順序性があり,処理の経路が一とおりだけある場合のジョブフローの作成例を次の図に示します。
図2-1 パスが一つだけのジョブフロー
(2) 処理の経路が複数ある例
処理の経路が複数ある場合のジョブフローの作成例を,次の図に示します。
図2-2 パスが複数ある場合のジョブフロー
この場合,ジョブAが実行されると,「ジョブA-ジョブB-ジョブC」というパスと「ジョブA-ジョブD-ジョブE」というパスの二つに処理が分岐されることになります。
(3) ネストジョブネットを使った例
ジョブフローにジョブネットを組み込むこともできます。ネストジョブネットの使用例を次に示します。
(a) ジョブネットを入れ子にする
ジョブフローに別のジョブネットを組み込む場合の例を,次の図に示します。
図2-3 ネストジョブネットの使用例
この場合,ジョブAの実行が終了したら,ジョブネット1に定義されているジョブが実行され,ジョブネット1の処理が終了したらジョブBが実行されます。
(b) 複数のジョブをまとめる
複数の後続ジョブを持つフローは推奨しません。複数のジョブを一つのジョブネットとしてまとめることで,管理しやすくできます。
複数のジョブをネストジョブネットとしてまとめた場合の例を,次の図に示します。
図2-4 複数のジョブをネストジョブネットとしてまとめた場合の例
(c) 二つの経路を一つにまとめる
ネストジョブネットを使って,二つの経路を一つにまとめることができます。
「日次処理1-日次処理2」と,「日次処理1-月次処理-日次処理2」という二つのパスを一つのフローにまとめる例を,次の図に示します。
図2-5 ジョブネットのフロー化
「日次処理1」および「日次処理2」は毎日実行され,「月次処理」は月に一度だけ実行される場合,JP1/AJS3ではその日に実行予定のないジョブネットをスキップして実行するため,一つのパスにまとめることができます。
(4) 異なるジョブネット間のジョブ同士を順序づけたい場合
JP1/AJS3では,異なるジョブネット間のジョブ同士を関連線で順序づけることはできません。
異なるジョブネット間のジョブ同士は,次の方法で順序づけることができます。
それぞれの場合について,次に説明します。
(a) ジョブネットを分割する
ジョブネットを分割する場合の例を,次の図に示します。
図2-6 ジョブネットを分割する例
(b) ジョブネットを統合する
ジョブネットを統合する場合の例を,次の図に示します。
図2-7 ジョブネットを統合する例
(c) ジョブネットコネクタを使用する
ジョブネットコネクタを使用すると,異なるルートジョブネット間の実行順序を制御できます。ジョブネットコネクタを使用する場合の例を,次の図に示します。
図2-8 ジョブネットコネクタを使用する例
ジョブネットコネクタの詳細については,「2.2.4 ジョブネットコネクタを使用したルートジョブネットの実行順序制御」を参照してください。
(d) 待ち合わせ条件を使用する
待ち合わせ条件を使用すると,異なるジョブネットの配下にあるユニット同士の実行順序を制御できます。待ち合わせ条件を使用する場合の例を,次の図に示します。
図2-9 待ち合わせ条件を使用する例
待ち合わせ条件の詳細については,「2.2.5 待ち合わせ条件を使用したユニットの実行順序制御」を参照してください。
(5) ジョブネットの階層化の考え方
ジョブネットを階層化する目的またはメリットとして,次のことが考えられます。
推奨するジョブネットの階層化の方法を次に示します。
図2-10 最上位のジョブネットの作成例
図2-11 それぞれのジョブネットが順序性を持つ場合の階層化の例
図2-12 処理サイクルごとのジョブネットの作成例
表2-5 処理サイクルごとにジョブネットを分けた場合のルール
処理サイクルごとのジョブネット | ルール |
---|---|
GROUP1 | 日次,週次,月次,半期,年次の業務が相互に関連を持ったグループ |
GROUP2 | 単独で実行される「日次業務」のグループ |
GROUP3 | 単独で実行される「週次業務」のグループ |
GROUP4 | 単独で実行される「月次業務」のグループ |
GROUP5 | 単独で実行される「半期業務」のグループ |
GROUP6 | 単独で実行される「年次業務」のグループ |
GROUP7 | 単独で実行される「不定期業務」のグループ |