4.3.1 ユニット定義の書き方
ここでは,エクスポートをするためにユニットの定義情報を管理テンプレートに入力する場合に,ジョブネットやジョブなどのユニットをどのように記述すればよいかを説明します。
定義情報管理テンプレートには,ユニット(ジョブグループ,ジョブネット,ジョブ)の情報を定義します。1行に一つのユニットを定義します。定義の際は,上位のユニットから記述します。下位のユニットを先に定義すると,エクスポート時にエラーになる場合があります。
複数のユニットを定義する場合は,途中に空行を入れないで記述してください。
定義情報管理テンプレートでユニットを定義する場合に入力する項目について,次に示します。
-
ユニット名
定義するユニットのユニット名を入力します。ユニット名は必ず入力してください。ユニット名が入力されていない行があると,そこが定義情報の終わりとみなされ,以降の行は処理が行われません。
-
上位ユニット完全名
定義するユニットの上位ユニットを完全名で入力します。ユニット名と上位ユニット完全名は,エクスポートするユニットを特定するために必要な情報です。必ず入力してください。ただし,上位ユニットがルートジョブネットの場合は,何も入力しないで空欄にします。
-
ユニット種別
ユニットの種別を表す1〜4文字の文字列を指定します。指定する文字列については,定義情報管理テンプレートのコメント,または「5.1 定義情報一覧」を参照してください。
-
その他の情報
3.で指定したユニット種別に対応する情報を定義できます。定義項目の詳細については,「5.1 定義情報一覧」を参照してください。ユニットの種別によっては,JP1/AJS3 - Definition Assistantで定義できない項目もあります。定義できない項目の詳細については,「5.2 JP1/AJS3 - View定義項目との対応」を参照してください。
- 〈この項の構成〉
(1) 関連線の定義方法
関連線を定義する場合は,[先行]フィールドに直前のユニット名を入力します。また,[接続種別]フィールドに,通常の接続なら「seq」を,条件接続なら「con」を入力します。
ジョブネットの先頭にあるユニットの場合は,[先行]フィールドを空欄にします。下記の例のジョブEのように先行するユニットが複数ある場合は,[先行]フィールドに先行ユニットを複数入力します。複数のユニット名の間には,改行([Alt]+[Enter]キー)を入力してください。
|
区分 |
ユニット名 |
上位ユニット 完全名 |
ユニット 種別 |
先行 |
接続 種別 |
---|---|---|---|---|---|
一括 |
ジョブネット |
n |
|||
一括 |
ジョブA |
/ジョブネット |
pj |
||
一括 |
ジョブB |
/ジョブネット |
pj |
ジョブA |
seq |
一括 |
ジョブC |
/ジョブネット |
pj |
ジョブB |
seq |
一括 |
ジョブD |
/ジョブネット |
pj |
ジョブB |
seq |
一括 |
ジョブE |
/ジョブネット |
pj |
ジョブC ジョブD |
seq seq |
(2) 階層の定義方法
ネストジョブネットなど,定義するユニットが複数の階層にわたる場合も,ユニットをまとめて定義できます。
ネストジョブネットを定義する場合の例を次に示します。ネストジョブネットを定義する場合は,ジョブネットの定義を先に記述し,そのあとにネストジョブネット内のジョブを記述します。
|
区分 |
ユニット名 |
上位ユニット 完全名 |
ユニット 種別 |
先行 |
接続 種別 |
---|---|---|---|---|---|
一括 |
ジョブネット1 |
n |
|||
一括 |
ジョブA |
/ジョブネット1 |
pj |
||
一括 |
ジョブB |
/ジョブネット1 |
pj |
ジョブネット2 |
seq |
一括 |
ジョブネット2 |
/ジョブネット1 |
n |
ジョブA |
seq |
一括 |
ジョブY |
/ジョブネット1/ジョブネット2 |
pj |
||
一括 |
ジョブZ |
/ジョブネット1/ジョブネット2 |
pj |
ジョブY |
seq |
(3) アイコンの位置の定義方法
一括定義では,ユニットの位置情報を定義できます。これは,マップ上のどの位置にアイコンを配置するかをテンプレートに指定します。
アイコンの位置は,ユニットアイコンの数を単位にして表します。マップエリアの左上隅を縦1横1とし,縦横それぞれアイコン何個分の位置にあるかで位置を表します。次の図では,参考のためにグリッドを書いています。例えば,次の図の「ジョブA」アイコンは,縦3 横5と表します。
単独定義の場合は,位置を定義しても無効になり,JP1/AJS3の仕様から,JP1/AJS3 - Viewの[ジョブネットエディタ]ウィンドウの左上から右下方向にかけて空いている場所に自動的に配置されます。
|
区分 |
ユニット名 |
上位ユニット 完全名 |
ユニット 種別 |
位置情報 |
サイズ |
||
---|---|---|---|---|---|---|---|
縦 |
横 |
縦 |
横 |
||||
一括 |
ジョブネット |
n |
8 |
10 |
|||
一括 |
JP1イベント送信 |
/ジョブネット |
evsj |
4 |
8 |
||
一括 |
eventlog |
/ジョブネット |
ntwj |
4 |
3 |
||
一括 |
ジョブA |
/ジョブネット |
pj |
3 |
5 |
||
一括 |
ジョブB |
/ジョブネット |
pj |
5 |
5 |
(4) スケジュールルールの定義方法
ジョブネットのスケジュールルールを複数定義する場合は,セル内に改行([Alt]+[Enter]キー)を入力して定義します。各セルの1行目がルール番号1のルール,2行目がルール番号2のルールとなります。
定義されているスケジュール定義情報を削除する場合は,ルール番号に対するセル内の行を空行にしてください。すべてのスケジュール定義を削除する場合は,ルール番号分の空行が必要です。
- 例4:複数のスケジュールルール
-
ルール番号1:実行開始日=2009/7/15(絶対日) 開始時刻=09:00
ルール番号2:実行開始日=2009/7最終運用日 開始時刻=18:00
表4‒5 例4:複数のスケジュールルールの定義例 区分
ユニット名
ユニット
種別
開始日
開始
時刻
種別
開始年月
開始日
一括
ジョブネット1
n
絶対日
運用日
2009/07
2009/07
15
最終
09:00
18:00
スケジュールルールの定義方法の詳細は,「4.5 JP1/AJS3 - Definition Assistantでのスケジュールルール」を参照してください。
(5) 引き継ぎ情報設定ジョブの定義方法
引き継ぎ情報設定ジョブを定義する場合は,ユニット定義情報部の[ユニット種別]のセルに「cpj」を,[カスタム種別]に「AJSVAR」を入力します。
また,引き継ぎ情報の定義方法は,環境設定パラメーター「USESET-PASSINGINFO」の値によって異なります。定義方法を次に示します。
(a) 環境設定パラメーター「USESET-PASSINGINFO」の値が「VIEW」の場合
この場合は,ツールユニット定義情報部の[引き継ぎ情報]に引き継ぎ情報を定義します。
[正規表現]のセルには,先行ジョブの標準出力ファイルから出力マクロ変数に設定する値を切り出す条件を,正規表現で指定します。
[出力マクロ変数]のセルには,マクロ変数名を「?AJS2xxxxx?」の形式で指定します。
ツールユニット定義情報 |
|
---|---|
引き継ぎ情報 |
|
正規表現 |
出力マクロ変数 |
DATE1(.*) DATE2(.*) |
?AJS2FILEDATE1? ?AJS2FILEDATE2? |
- 補足事項
-
出力マクロ変数に半角スペースまたは全角スペースが含まれる場合は,エクスポート時に取り除かれて定義されます。ただし,エクスポート実行結果ファイルの出力マクロ変数は,半角スペースまたは全角スペースが含まれたままになります(指定した値は変更されません)。半角スペースまたは全角スペースを使用している出力マクロ変数を特定したい場合は,エラーチェック機能を使用してください。
出力マクロ変数にスペースが含まれる場合の,エクスポート結果およびエラーチェック結果の例を次に示します。
- JP1/AJS3 - Definition Assistantでの定義例
-
例1:正規表現=DATE1(.*) 出力マクロ変数=?AJS2FILEDATE1?
例2:正規表現=○DATE2(.*) 出力マクロ変数=○?AJS2FILEDATE2?
例3:正規表現=○ 出力マクロ変数=?AJS2FILEDATE3?○
例4:正規表現=(値なし) 出力マクロ変数=?AJS2FILE○DATE4?
例5:正規表現=DATE5(.*) 出力マクロ変数=?AJS2○?
(凡例) ○:半角または全角スペース
上記に示した各例のエクスポート結果およびエラーチェック結果は次のとおりです。
表4‒7 エクスポート結果およびエラーチェック結果の例 #
エクスポート結果
(JP1/AJS3側のajsprintコマンドの出力結果)
エラーチェック結果
パラメーター(prm)
環境変数(env)
例1
△-o△FILEDATE1
env="AJS2SO_RE_FILEDATE1=DATE1(.*)";
入力エラーなし(KAVZ0250-I)
例2
△-o△FILEDATE2
env="AJS2SO_RE_FILEDATE2=○DATE2(.*)";
出力マクロ変数のエラー(KAVZ0259-E)
エラー要因:文字列不正
例3
△-o△FILEDATE3
env="AJS2SO_RE_FILEDATE3=○";
出力マクロ変数のエラー(KAVZ0259-E)
エラー要因:文字列不正
例4
△-o△FILEDATE4
env="AJS2SO_RE_FILEDATE4=";
正規表現のエラー(KAVZ0259-E)
エラー要因:使用値不正
出力マクロ変数のエラー(KAVZ0259-E)
エラー要因:文字列不正
例5
該当個所なし
該当個所なし
出力マクロ変数のエラー(KAVZ0259-E)
エラー要因:文字列不正
(凡例) ○:半角または全角スペース △:半角スペース
出力マクロ変数のスペースは取り除かれますが,正規表現はスペースを指定できるため,そのまま定義されます。
(b) 環境設定パラメーター「USESET-PASSINGINFO」の値が「COM」の場合
この場合は,標準ジョブ定義情報部の[実行ファイル名],[パラメーター],および[環境変数]に引き継ぎ情報を定義します。
[実行ファイル名]のセルには,固定値「$JP1AJS2_JPOEXEPATH$/jpqpinfoset」を指定します。
[パラメーター]のセルには,「-o△出力変数1△...△-o△出力変数n」の形式で出力変数を指定します(△は半角スペース)。
[環境変数]のセルには,2行の固定値「AJS2SO_GLOBMACFILE=?AJS2SO_GLOBMACFILE?」,「AJS2SO_STDOUTFILE=?AJS2SO_STDOUTFILE?」を入力します。また,3行目以降に「AJS2SO_RE_出力変数=正規表現」の形式で正規表現および出力変数を指定します。
標準ジョブ定義情報 |
||
---|---|---|
実行ファイル名 |
パラメーター |
環境変数 |
$JP1AJS2_JPOEXEPATH$/jpqpinfoset |
-o FILEDATE1 -o FILEDATE2 |
AJS2SO_GLOBMACFILE=?AJS2SO_GLOBMACFILE? AJS2SO_STDOUTFILE=?AJS2SO_STDOUTFILE? AJS2SO_RE_FILEDATE1=DATE1(.*) AJS2SO_RE_FILEDATE2=DATE2(.*) |
(c) 注意事項
-
次の定義項目は,引き継ぎ情報設定ジョブには無効な項目であるため指定しないでください。指定した場合,エラーチェック機能でのチェック時にエラーになります。
-
ユニット共通定義情報部の[実行エージェント]
-
標準ジョブ定義情報部の[判定結果]
-
-
引き継ぎ情報設定ジョブの定義をエクスポートする際は,実行前にエラーチェック機能でのチェックを実施することをお勧めします。
-
ツールユニット定義情報部の引き継ぎ情報(正規表現および出力マクロ変数)は,変更エクスポートができません。
-
同一行でツールユニット定義情報部の[正規表現]セルと[出力マクロ変数]セル内の行数が異なる場合は,[出力マクロ変数]セル内の行数分処理します。
(6) エラーになる定義内容
次のような定義の場合は,エラーになるため注意して定義してください。
(a) 区分に「一括」または「単独」を指定した場合
-
一括の上位ユニットが上の行で定義されていない。
-
一括で上位ユニットから下位ユニットの順番に定義されていない。
-
一括の先頭行で指定されたユニットより上位階層が指定されている。
-
単独を指定したユニット定義で,先行に指定したユニットがない。
-
同時に指定できない組み合わせの指定が含まれている。
-
同時に指定しなければならない定義情報が不足している。
-
ユニット階層の限界を超えている。
-
定義ユニットの個数が限界に達している。
-
ジョブネットの中にジョブグループ,プランニンググループまたはマネージャーユニットを作成しようとした。
-
ジョブ,マネージャーユニット,ホストリンクジョブネット,または起動条件ユニットの中にユニットを作成しようとした。
-
ルートジョブネットに指定できない定義情報が含まれている。
-
起動条件の中に32個を超えるイベントジョブを作成しようとした。
-
指定できない組み合わせの関連定義が指定されている。
-
起動条件の中に,イベントジョブ以外のユニット,またはリカバリー属性のユニットを作成しようとした。
-
ホストリンクジョブネットの上位パスに,リモートジョブネットが指定されている。
-
待ち合わせ条件定義情報部の待ち合わせ対象ユニット名を指定しないで,待ち合わせ条件定義情報部のそれ以外の定義項目を設定している。
-
フレキシブルジョブ定義情報部の[宛先/一斉配信エージェント]を指定しないで,フレキシブルジョブを作成しようとした。
-
標準ジョブ定義情報部の[実行ファイル名]を指定しないで,フレキシブルジョブを作成しようとした。
-
標準ジョブ定義情報部の[終了判定]−[判定結果]にmdf,exfのどちらかを指定し,[終了判定]−[ファイル名]を指定しないで,フレキシブルジョブを作成しようとした。
-
HTTP接続ジョブ定義情報部の次のどれかの項目を指定しないで,HTTP接続ジョブを作成しようとした。
-
接続設定ファイル名
-
ステータス格納ファイル名
-
受信ヘッダ格納ファイル名
-
-
HTTP接続ジョブ定義情報部の[受信データ格納方式]に「別ファイル」を指定するか,値の指定を省略し,かつ[受信ボディ格納ファイル]の指定をしないで,HTTP接続ジョブを作成しようとした。
-
標準ジョブ定義情報部の[環境変数]に10,240バイトより大きい値を指定してフレキシブルジョブを作成しようとした。
-
R/3ジョブ定義情報部の[環境変数]で設定された文字の合計数が20,479バイトより大きいSAPジョブを作成しようとした。
(b) 区分に「変更」を指定した場合
-
終了判定に「しきい値による判定」以外を設定しているユニットに対して,標準ジョブ定義情報部の「異常終了時リトライ」の値に「リトライする」を設定して,変更対象としている(マーキングしている)。
-
待ち合わせ条件が設定されていないユニットに対して,待ち合わせ対象ユニット名,待ち合わせ方法,および待ち合わせる世代がない場合の設定をすべて変更対象にしていない(マーキングしていない)。
-
待ち合わせ条件定義情報部の待ち合わせ対象ユニット名を「:X」で削除するように設定した場合,待ち合わせ条件定義情報部のそれ以外の定義項目の設定を変更対象にしていない。
(c) 区分に「削除」を指定した場合
-
削除するユニットの下位ユニットが下の行に定義されている。
(7) 複数項目から構成する定義
エクスポート時に複数の定義項目で一つの定義を構成するものがあります。次の定義項目を定義する場合は,注意してください。
(a) 区分に「一括」または「単独」を指定した場合
-
ユニット定義情報:位置情報の縦,横※1
-
ユニット定義情報:サイズの縦,横※1
-
ユニット共通定義情報:先行※2,接続種別
-
スケジュール定義情報:種別※2,開始年月,開始日
-
スケジュール定義情報:起算スケジュール※2,起算猶予日数
- 注※1
-
項目すべてが設定されている場合に処理対象になります。
- 注※2
-
定義数の基準となる定義項目。
この項目が定義されている行数分が処理対象になります。
(b) 区分に「変更」を指定した場合
-
次のペアとなっている定義項目のうち一つでも変更対象であれば,ほかの定義項目の内容も変更対象になります。
-
ユニット共通定義情報:先行※,接続種別
-
スケジュール定義情報:種別※,開始年月,開始日
-
スケジュール定義情報:起動条件の回数,時間
- 注※
-
定義数の基準となる定義項目。
この項目が定義されている行数分が処理対象になります。
-
-
判定ジョブ定義情報部の定義項目を変更対象とする場合,判定情報部の[条件]にri,ro,vri,vroのどれかを指定したときは,次に示す定義項目の内容も変更対象になります(マーキングされていなくても変更対象になります)。
-
「条件」にriまたはroを指定した場合
終了コード(下限),判定条件(下限),終了コード(上限),判定条件(上限)の内容も変更対象になります。
-
「条件」にvriまたはvroを指定した場合
変数(数値)(下限),判定条件(下限),変数(数値)(上限),判定条件(上限)の内容も変更対象になります。
-
-
フレキシブルジョブの標準ジョブ定義情報部の[終了判定]−[判定結果]にmdf,exfのどちらかを指定したときは,[終了判定]−[ファイル名]の内容も変更対象になります(マーキングされていなくても変更対象になります)。
-
HTTP接続ジョブ定義情報部の[受信データ格納方式]に「別ファイル」を指定するか,値の指定を省略したときは,[受信ボディ格納ファイル]の内容も変更対象になります(マーキングされていなくても変更対象になります)。