JP1/Automatic Job Management System 2 解説

[目次][用語][索引][前へ][次へ]


10.2.14 ジョブネットの実行登録を解除しないでジョブネットやジョブの定義を変更する

実行登録中のルートジョブネットの下位にあるジョブネットやジョブの定義を変更したいとき,ジョブネットを登録解除しないで定義を変更できます。

ルートジョブネットを登録解除しないで定義を変更するには,「サスペンド」という機能を使います。「サスペンド」とは,指定したルートジョブネットの全世代にわたってユニットの実行を抑止することです。サスペンドされると,ユニットは新たに実行されません。ただし,すでに実行状態にあるユニットの処理は続行されます。

サスペンドは,実行登録中のルートジョブネットの下位定義を変更する場合に,定義処理と実行制御処理のすれ違いなどの誤動作が起きることを防ぎます。ルートジョブネットをサスペンドすることで,実行制御処理と同期を取って定義を変更できます。

<この項の構成>
(1) 実行登録中の定義変更
(2) 定義変更の手順
(3) サスペンドの操作
(4) サスペンド中のジョブやジョブネットの状態遷移
(5) サスペンド解除後のスケジューリング
(6) イベントジョブを追加した場合のマクロ変数の引き継ぎ

(1) 実行登録中の定義変更

ルートジョブネットをサスペンドした状態で,ルートジョブネットの下位定義を変更できます。

実行登録中に定義を変更するためには,次の前提条件があります。

(a) 実行登録中に変更できる定義

ルートジョブネットの実行登録中に実行できる定義変更と,実行できない定義変更を次に示します。

実行できる定義変更
  • 新しいユニットの追加
  • 既存の定義の変更
  • 既存のユニットの削除
  • マップサイズの変更
  • 起動条件の追加
また,リモートジョブネットの下にあるユニットについては,実行登録中に定義を変更できます。

実行できない定義変更
  • 既存ユニットの名称変更
    ただし,サスペンド中に追加したユニットの名称は変更できます。
  • ユニットの移動
    移動元のユニットをコピーして移動先に貼り付けてから,移動元のユニットを削除してください。
  • 実行中のユニットの削除
  • ホストリンクジョブネットの追加,削除
  • ホストリンクジョブネットの上位ユニットの削除,貼り付け
    ホストリンクジョブネットの関連線,先行ユニットおよび後続ユニットは,追加,削除,編集ができます。
    また,ホストリンクジョブネットの上位ユニットの関連線,先行ユニットおよび後続ユニットも,追加,削除,編集ができます。
 

ルートジョブネットの実行登録中に実行できる定義変更のそれぞれについて,編集できる内容の詳細と注意事項を説明します。

新しいユニットの追加
新しいユニットを追加できます。追加したユニットの,サスペンド中の状態は,1階層上位のジョブネットの状態に依存します。追加したユニットの1階層上位にあるユニットの状態と,追加したユニットの状態を次の表に示します。

表10-7 サスペンド中に追加されたユニットの状態

追加したユニットの
1階層上位にある
ユニットの状態
追加したユニットの状態
待ち状態 未計画
実行中状態 未計画
終了状態 計画未実行

既存の定義の変更
既存の定義を変更できます。ただし,次の点に注意してください。
  • 既存のユニットの名称は変更できません。
    サスペンド中に追加したユニットの名称は変更できます。
  • 実行中のユニット定義の変更はできますが,削除はできません。
  • 既存の定義を変更しても,過去の実行結果は保持されます。
  • 既存の定義を変更した場合,過去に実行された時の構成と異なる場合があるため,再実行するときは注意してください。
  • デイリースケジュールおよびマンスリースケジュールに表示される,計画実行登録したジョブネットの擬似予定については,ジョブネットがサスペンド中でも,変更後の定義情報から算出した予定が表示されます。

既存のユニットの削除
既存のユニットを削除できます。ただし,次の点に注意してください。
  • 既存のユニットを削除すると,過去の実行結果も削除され,過去の実行結果は表示されなくなります。過去の履歴情報が必要な場合は,ログ情報を参照するか,ajsshowコマンドなどで情報を保存してから,ユニットを削除してください。
  • 既存のユニットを削除した場合,過去に実行された時の構成と異なるため,再実行するときは注意してください。

マップサイズの変更
ジョブネットの状態にかかわらず,サスペンド中はマップサイズを変更できます。

起動条件の追加
起動条件を使用する場合,まず起動条件オブジェクト(.CONDITION)を作成し,そのスケジュールをスケジュールルールに設定するか,計画一時変更で設定します。
ただし,実行登録の方法によってスケジュールの再計算方法が異なるため,起動条件が設定されていないジョブネットに起動条件を追加した場合,有効になるタイミングは次のようになります。
  • 即時実行登録の場合
    起動条件を追加しても,起動条件は有効になりません。
  • 計画実行登録の場合
    追加した起動条件は次回実行予定世代から有効になります。
  • 期間を指定した確定実行登録の場合
    起動条件を追加しても,起動条件は有効になりません。
  • 未来世代数を指定した確定実行登録の場合
    追加した起動条件はサスペンドを解除したあとに作成される世代から有効になります。ただし,ホストリンクジョブネットを含むルートジョブネットに起動条件を作成した場合は,サスペンド解除時にエラーが発生します。
     

実行登録中に定義を編集した場合,過去の実行結果,実行中および未来予定のすべての世代で定義編集が反映されます。例えば,定義を編集したあとに,過去の履歴を[ジョブネットモニタ]ウィンドウに表示すると,定義編集後のジョブネットの状態が表示されます。

(b) ユニットの種類や状態による変更の可否

実行登録中に変更できる定義は,ユニットの種類や状態によって異なります。

各ユニットで変更できる定義を,次の表に示します。

表10-8 ユニットと編集操作の対応表

  ユニット
ジョブ ジョブネット ホストリンクジョブネット 下位にホストリンクジョブネットを含むジョブネット
ユニット編集 ユニットの追加 × ×
ユニットの削除 実行中ユニット × × × ×
実行中でないユニット × ×
関連線の編集 関連線の追加
関連線の削除
ユニットの情報編集 ユニット名の変更 追加ユニット
既存ユニット × × × ×
コメントの変更
実行ホストの変更
定義の変更 ×
転送ファイルの変更
属性の
変更
種別
種別以外
その他 マップサイズの変更

(凡例)
○:編集できる。
×:編集できない。
−:該当しない。

また,編集の対象になっているユニットの状態によって,できる編集操作とできない編集操作があります。定義編集でできる操作とできない操作を,編集対象になっているユニットの状態ごとに,次の表以降に示します。

表10-9 ユニット(ホストリンクジョブネット以外)の状態と編集操作の可否対応表

  ユニットの状態
先行終了待ち 実行中 終了状態
ユニット編集 ユニットの追加
ユニットの削除 ×
関連線の編集 関連線の追加
関連線の削除
ユニットの情報編集 ユニット名の変更 追加ユニット
既存ユニット × × ×
コメントの変更
実行ホストの変更
定義の変更
転送ファイルの変更
属性の変更 種別 ×
種別以外
その他 マップサイズの変更
(ジョブネット)

(凡例)
○:編集できる。
×:編集できない。
−:該当しない。

表10-10 ホストリンクジョブネットの状態と編集操作の可否対応表

  ホストリンクジョブネットの状態
先行終了待ち 実行中 終了状態
ユニット編集 ユニットの追加
ユニットの削除 × × ×
関連線の編集 関連線の追加
関連線の削除
ユニットの情報編集 ユニット名の変更 追加ユニット
既存ユニット × × ×
コメントの変更
リンク先ネットグループ × × ×
定義の変更 × × ×
開始点の指定 × × ×
開始点詳細の変更 × × ×
終了点の指定 × × ×
終了点詳細の変更 × × ×

(凡例)
○:編集できる。
×:編集できない。
−:該当しない。

表10-11 起動条件の状態と編集操作の可否対応表

  起動条件の状態
起動条件なし 先行終了待ち 監視中 終了状態
起動条件 起動条件の設定
起動条件の削除
ユニット編集 ユニットの追加
ユニットの削除
ユニットの情報編集 ユニット名の変更 追加ユニット
既存ユニット × ×
コメントの変更
実行ホストの変更
定義の変更
属性の変更
その他 マップサイズの変更

(凡例)
○:編集できる。
×:編集できない。
−:該当しない。

(2) 定義変更の手順

(a) 定義変更の基本手順

実行登録中のルートジョブネットの下位にある定義を変更する手順を,次に示します。

  1. 実行登録中のルートジョブネットをサスペンドする。
  2. ルートジョブネットの下位にある定義を編集する。
  3. サスペンドを解除する。

起動条件監視中の定義を変更する場合は,ルートジョブネットをサスペンドする前に,起動条件監視ジョブを強制終了させてください。起動条件監視中の定義変更の手順を次に示します。

  1. 起動条件監視ジョブを強制終了させる。
  2. ルートジョブネットをサスペンドする。
  3. 定義を編集する。
  4. サスペンドを解除する。
  5. スケジュール追加でルートジョブネットを実行する。

(b) サスペンドを有効にする

サスペンドを実行する場合は,前もってajssetupコマンドを実行してサスペンド機能を有効にしておく必要があります。サスペンド機能を有効にするには,次のようにコマンドを実行します。

 
ajssetup -F スケジューラーサービス名 -m
 

ajssetupコマンドは,スケジューラーサービス起動中でも実行できますが,設定内容が有効になるのは,スケジューラーサービスの再起動後です。そのため,ajssetupコマンド実行後,スケジューラーサービスを再起動してください。サスペンド機能を有効にする手順を次に示します。

  1. JP1/AJS2 - Viewに接続している場合は,接続を解除する。
  2. JP1/AJS2サービスを停止する。
  3. 「ajssetup -F スケジューラーサービス名 -m」コマンドを実行する。
  4. JP1/AJS2サービスを再起動する。

注意事項
ajssetup -mコマンドでいったんサスペンド機能を有効にすると,設定を元に戻すことはできません。

(3) サスペンドの操作

(a) サスペンドを実行する

ルートジョブネットのサスペンドは,[JP1/AJS2 - View]ウィンドウ,またはコマンドで実行します。

サスペンドの前提条件
ルートジョブネットをサスペンドするための前提条件は,次のとおりです。
  • JP1/AJS2サービスが起動されている
  • 起動条件監視中の世代が存在しない(起動条件の状態が,待ち状態または終了状態)
  • 実行ユーザーが操作権限を持っている

[JP1/AJS2 - View]ウィンドウでサスペンドを実行する場合
[JP1/AJS2 - View]ウィンドウの[操作]メニューから[サスペンド]−[サスペンド実行]を選択します。操作の詳細については,マニュアル「JP1/Automatic Job Management System 2 操作ガイド 9.13 実行登録中のジョブネットをサスペンドして下位定義を変更する」を参照してください。

コマンドでサスペンドをする場合
ajssuspendコマンドに-S オプションを指定して実行します。詳細については,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド ajssuspend」を参照してください。

サスペンドの実行時には,実行中のユニットがあった場合にサスペンドするかどうかを指示できます。

(b) サスペンド状態かどうかを確認する

ルートジョブネットがサスペンド状態かどうかは,[JP1/AJS2 - View]ウィンドウ,またはコマンドで確認できます。

[JP1/AJS2 - View]ウィンドウで確認する場合
[JP1/AJS2 - View]ウィンドウのリストエリアに,サスペンド状態を示すアイコンが表示されます。

コマンドで確認する場合
ajsshowコマンドに-i オプションと2バイトフォーマット指示子%SPを指定して実行します。
コマンドの指定形式を次に示します。
 
ajsshow -i %SP
 
コマンドの詳細については,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド ajsshow」を参照してください。

(c) サスペンドを解除する

ルートジョブネットのサスペンドは,[JP1/AJS2 - View]ウィンドウ,またはコマンドで実行します。

サスペンド解除の前提条件
サスペンドを解除するための前提条件は,次のとおりです。
  • JP1/AJS2サービスが起動されている。
  • 実行ユーザーが操作権限を持っている。
  • ほかで排他編集されていない。

[JP1/AJS2 - View]ウィンドウでサスペンドを実行する場合
[JP1/AJS2 - View]ウィンドウの[操作]メニューから[サスペンド]−[サスペンド解除]を選択します。操作の詳細については,マニュアル「JP1/Automatic Job Management System 2 操作ガイド 9.13 実行登録中のジョブネットをサスペンドして下位定義を変更する」を参照してください。

コマンドで確認する場合
ajssuspendコマンドに-C オプションを指定して実行します。コマンドの詳細については,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド ajssuspend」を参照してください。

また,JP1/AJS2サービスをコールドスタートすると,自動的にサスペンドが解除され,実行登録も自動的に解除されます。

(d) サスペンド解除後の追加ユニットの動作

サスペンドの解除時には,実行中のジョブネットの直下に追加したユニットの動作を指定できます。ただし,リモートジョブネットに追加されたユニットの場合は,指定は無効です。

指定できるオプションは,次の三つです。指定できるオプションと,サスペンド解除後のユニットの動作を次に説明します。

実行する
追加したユニットを実行します。
サスペンドを解除すると,実行中のジョブネットの直下に追加したユニットは,先行終了待ち状態になり,先行ユニットが終了してから実行されます。サスペンドを解除したときに,すべての先行ユニットが正常終了している場合は,すぐに実行されます。
オプションを何も指定しないでコマンドを実行した場合,このオプションが仮定されます。

実行しない(実行中止)
追加したユニットの実行を中止します。
サスペンドを解除すると,実行中のジョブネットの直下に追加したユニットの実行が中止され,計画未実行状態になります。

保留する
追加したユニットを一時変更による保留状態にします。
サスペンドを解除すると,実行中のジョブネットの直下に追加したユニットは,一時変更による保留状態になります。
 

オプションを指定してサスペンドを解除したときの追加ユニットの状態は,追加したユニットの1階層上位にあるユニットの状態によって異なります。上位ユニットの状態と追加ユニットの状態の関係を,次の表に示します。

表10-12 オプションを指定してサスペンドを解除した時の追加ユニットの状態


追加ユニットの
1階層上位にある
ユニットの状態
オプションの種類
実行する
または
オプション指定なし
実行しない
(実行中止)
保留する
実行状態 先行終了待ち
(先行ユニットが正常終了した場合は実行中)
計画未実行 先行終了待ち
(先行ユニットが正常終了した場合は保留中)
待ち状態 先行終了待ち 先行終了待ち 先行終了待ち
終了状態 計画未実行 計画未実行 計画未実行

注意事項
サスペンド中に追加したユニットが計画未実行になる場合,そのユニットは計画一時変更の実行中止状態になります。再実行などで実行する必要がある場合には,実行する前に,計画一時変更の変更解除,または日時変更(ユニットがジョブネットの場合だけ)で実行スケジュールを追加しておいてください。

(4) サスペンド中のジョブやジョブネットの状態遷移

(a) サスペンド中のジョブの状態遷移

サスペンド中のジョブの状態遷移について,次に説明します。

(b) サスペンド中のジョブネット(ホストリンクジョブネットとリモートジョブネットを除く)の状態遷移

ホストリンクジョブネットとルートジョブネットを除く,サスペンド中のジョブネットの状態遷移を次に示します。

(c) サスペンド中のホストリンクジョブネットおよびリモートジョブネットの状態遷移

ルートジョブネットをサスペンドした場合,実行中のホストリンクジョブネットおよびリモートジョブネットだけ状態が遷移します。このとき,後続ジョブや上位のユニットの状態は遷移しません。

(d) サスペンド中にJP1/AJS2サービスをホットスタートで再起動した場合の状態遷移

ルートジョブネットのサスペンド中にJP1/AJS2のサービスが停止し,ホットスタートで再起動した場合,実行中だったジョブの実行は継続されますが,ジョブの実行が終了しても終了状態にはなりません。サスペンド解除後に,ジョブの状態が終了状態になります。

図10-28 サスペンド中にJP1/AJS2サービスをホットスタートで再起動した場合の状態遷移

[図データ]

なお,ルートジョブネットのサスペンド中に,JP1/AJS2サービスをホットスタートで再起動したあと,実行中のユニットの先行ユニットとしてユニットを追加し,サスペンド解除時に「実行する」オプションを指定した場合は,先行ユニットとして追加したユニットの終了後に,実行中だったユニットの状態が終了状態になります。

図10-29 サスペンド中にJP1/AJS2サービスをホットスタートで再起動した場合の状態遷移(「実行する」オプション指定時)

[図データ]

(e) サスペンド中にJP1/AJS2サービスをウォームスタートで再起動した場合の状態遷移

ルートジョブネットのサスペンド中にJP1/AJS2のサービスが停止し,ウォームスタートで再起動した場合は,サスペンド状態は継続されますが,実行中だったジョブは「終了状態不明」に,実行中のジョブネットは「中断」に,実行中のジョブネットの下に追加したユニットは「計画未実行」になります。

また,サスペンド中に遅延監視時間に到達したユニットがあっても,遅延時間の到達は検知されません。

図10-30 サスペンド中にJP1/AJS2サービスをウォームスタートで再起動した場合の状態遷移

[図データ]

(f) サスペンド中にJP1/AJS2サービスをコールドスタートで再起動した場合の注意事項

ルートジョブネットのサスペンド中にJP1/AJS2のサービスが停止し,コールドスタートで再起動した場合,サスペンド中に削除したユニットレコードが,無効なレコードとしてデータベース上に残ってしまいます。この場合は,次に示すコマンドを実行して,無効なレコードを削除する操作を,すべてのルートジョブネットに対して実施してください。

 
ajssuspend -U -R -T /
 

(5) サスペンド解除後のスケジューリング

(a) サスペンド解除時のスケジュールの割り当て

サスペンドを解除したときの,ユニットのスケジュールの割り当てについて,実行登録の種類ごとに説明します。

即時実行登録,および日付指定の確定実行登録の場合
通常の即時実行登録,および日付を指定した通常の確定実行登録と同様に,確定実行登録時に指定した日時が開始予定時刻として割り当てられます。ただし,上位のジョブネットに実行予定がない(実行中止されている)場合は,追加されたジョブネットの開始予定時刻は割り当てられますが,上位のジョブネットの開始予定時刻がないため,追加されたジョブネットの開始予定時刻は「なし」になります。
即時実行登録したルートジョブネットをサスペンドし,ユニットを追加する例を,次に示します。

図10-31 即時実行登録したルートジョブネットにユニットを追加する例

[図データ]
サスペンド解除後に割り当てられるスケジュールは,次のとおりです。

表10-13 サスペンド解除後のスケジュール(即時実行登録,日付指定の確定実行登録の場合)

ユニット 11/30 12/1 12/2 12/3
A 12:00
B 12:00
C 12:00
D 12:00
E 12:00

(凡例)
−:該当しない。

計画実行登録の場合
ルートジョブネットが再実行でない待ち状態の世代については,すべてのジョブネットのスケジュールが再計算されます。ルートジョブネットが実行中,または再実行中の世代のジョブネットに関しては,追加されたジョブネットのスケジュールだけが再計算されます。
計画実行登録したルートジョブネットをサスペンドし,ユニットを追加する例を,次に示します。

図10-32 計画実行登録したルートジョブネットにユニットを追加する例

[図データ]
現在日が12/1(金)で,12/1(金)の業務開始前に構成を変更し,11/30(木)分は再実行中で,現在Bのジョブネットを実行中の場合,サスペンド解除後に割り当てられるスケジュールは次のとおりです。

表10-14 サスペンド解除後のスケジュール(計画実行登録の場合)

ジョブネット 11/24
(金)
11/25
(土)
11/26
(日)
11/27
(月)
11/28
(火)
11/29
(水)
11/30
(木)
12/1
(金)
12/2
(土)
A (○)
B (◎)
C (◎) (◎)
D (□) (◎)
E (◎) (□)

(凡例)
●:正常終了
■:計画未実行
▲:実行中
○:開始時刻待ち
◎:先行終了待ち
□:未計画
():スケジュール再計算部分
11/30分のスケジュール再計算の対象は,ジョブネットCとジョブネットCの下のジョブネット(DとE)です。そのため,ジョブネットBとジョブネットCに排他スケジュール定義があっても無効になります。12/1分は,最上位ジョブネットからスケジュールが再計算されるため,排他スケジュールが有効になります。

確定実行登録の場合
ルートジョブネットが待ち状態,または実行中のジョブネットに追加されたジョブネットのスケジュールだけが再計算されます。
確定実行登録されているルートジョブネットをサスペンドし,ユニットを追加する例を,次に示します。

図10-33 確定実行登録されているルートジョブネットにユニットを追加する例

[図データ]
現在日が12/1(金)で,12/1(金)の業務開始前に構成を変更し,11/30(木)分は再実行中で,現在Bのジョブネットを実行中の場合,サスペンド解除後に割り当てられるスケジュールは,次のとおりです。また,12/6まで確定実行登録済みと仮定します。

表10-15 サスペンド解除後のスケジュール(確定実行登録の場合)

ジョブネット 11/29
(水)
11/30
(木)
12/1
(金)
12/2
(土)
12/3
(日)
12/4
(月)
12/5
(火)
12/6
(水)
A
B
C (◎) (◎) (◎) (◎) (◎) (◎) (◎)
D (□) (◎) (□) (□) (□) (□) (□)
E (◎) (□) (□) (□) (□) (□) (□)

(凡例)
●:正常終了
■:計画未実行
▲:実行中
○:開始時刻待ち
◎:先行終了待ち
□:未計画
():スケジュール再計算部分
確定実行登録の性質上,すでに確定している期間については,サスペンド解除時に既存の世代に対するスケジュール再計算は実行されません。そのため,確定している期間に対して追加されたジョブネットの階層に対する排他スケジュールは無効です(ジョブネットBとCの階層)。未来世代数による確定実行登録については,サスペンド解除後に作成される世代に対して排他スケジュールが有効になります。

(b) サスペンド解除後の実行スケジュール

計画実行登録,および未来世代数を指定した確定実行登録では,ジョブネットが実行されるたびに新たな世代を割り当てます。そのため,マンスリースケジュール,デイリースケジュール,ajsshowコマンドなどで予実績を表示する場合,次に示す実行予定については,スケジュールシミュレーションを実行した結果を表示しています。

 

そのため,ルートジョブネットの次回実行予定までにサスペンドが解除されないと,サスペンド解除時に行われる繰り越し処理などによって,ジョブネットの実行スケジュールに影響が出る場合があります。サスペンド操作の時間は,複数世代にまたがらないよう注意してください。

6/12に計画実行登録されたジョブネットの例を,次の表に示します。

表10-16 6/12に計画実行登録したジョブネットの例

ジョブネット 6/10 6/11 6/12 6/13 6/14 6/15 6/16 6/17 6/18 6/19 6/20
Jobnet

(凡例)
●:正常終了
○:次回予定
◎:スケジュールシミュレーション

上の表の場合,6/12で計画実行登録されたジョブネット(Jobnet)については,JP1/AJS2のデータベース上では6/13の世代の情報が格納されています。このジョブネットを,6/12の実行が終了した時点でサスペンドし,6/14以降までサスペンドを解除しないと,6/13の予定がそのまま残ってしまい,サスペンド解除後に初めて繰り越し処理などの対象になります。そのため,繰り越し未実行の世代が作成されたり,実行スケジュールがスキップされたりする場合があります。

(6) イベントジョブを追加した場合のマクロ変数の引き継ぎ

マクロ変数は,後続ユニットが実行待ち状態から実行状態に遷移したときに引き継がれます。

実行登録中にルートジョブネットの下位の定義を変更したときの,マクロ変数の引き継ぎの動作について,次に説明します。

サスペンドを解除したあとのマクロ変数の引き継ぎの動作は,追加したイベントジョブの後続ユニットの状態によって異なります。後続ユニットの状態ごとの動作を次に示します。

[目次][前へ][次へ]


[他社商品名称に関する表示]

Copyright (C) 2006, 2010, Hitachi, Ltd.
Copyright (C) 2006, 2010, Hitachi Software Engineering Co., Ltd.