ページの先頭行へ戻る
Systemwalker Operation Manager  使用手引書
FUJITSU Software

4.3.14 ジョブネット変数をジョブ間で利用する

ジョブネット内のジョブ間で、共通で利用したい情報をジョブネット変数として受け渡し、後続ジョブで利用することができます。例えば、ジョブが待ち合わせたメッセージ事象やファイル名の情報をジョブネット変数として受け渡すことによって、以降のジョブの実行処理内容を変えて、それぞれに対応した個別の処理をさせるなど柔軟な業務運用が行えます。

ジョブネット変数の利用の流れ

ジョブの定義でジョブネット変数の設定を行うと、ジョブの出力情報から“文字列(NAME)=文字列(VALUE)”形式の行が、ジョブネット変数として利用できます。

加えて、同一ジョブネット内の後続ジョブにおいて、ジョブネット変数を利用する定義を行います。後続ジョブでは、ジョブネット変数を業務に合わせて自由に利用することができます。

ジョブネット変数を利用するジョブでは、実行時にジョブネット変数値に置き換えたい箇所を“@ジョブネット変数名@”の形式で記述することで、ジョブ実行時に自動的に、設定済のジョブネット変数値に置き換わり動作します。

以下に、ジョブネット内のジョブでジョブネット変数を定義する場合のジョブネット変数を設定するジョブ/利用するジョブの定義、動作および結果についてのイメージを示します。

4.3.14.1 ジョブネット変数について

ジョブネット変数は、同一ジョブネット内のジョブ間で利用することができます。ジョブネット変数は、ジョブネット内のジョブ間で共有され、ジョブネットごとに独立して扱うことができる変数です。階層化されたジョブネットの場合も、親ジョブネットと子ジョブネットとの間でジョブネット変数が利用できます。

ジョブネット変数には以下の種類があります。

ジョブの出力情報から得られるジョブネット変数について

ジョブの実行結果として“文字列(NAME)=文字列(VALUE)”形式の行を出力させると、後続ジョブで“@ジョブネット変数名@”形式の記述箇所を“文字列(VALUE)”に置き換えて利用させることが可能です。このようにジョブの実行結果から得られる可変情報を扱うジョブネット変数について説明します。

ジョブネット変数名

ジョブネット変数名は、以下の形式です。

ジョブネット変数のプレフィックス+“.”+文字列(NAME)

ジョブネット変数名と変数値の例

定義可能な文字列

ジョブネット変数名とジョブネット変数値に定義可能な文字列は、以下のとおりです。

種類

定義可能な文字列

ジョブネット変数のプレフィックス

13バイト以内の半角英数字の文字列

変数名
(文字列(NAME))

半角英数字および“_”(半角アンダーバー)で構成される、1~50バイトの文字列
先頭と末尾の半角空白/タブは無視されます。
先頭と末尾の半角空白とタブを除いて50バイトを超える場合は、ジョブネット変数として扱われません。

ジョブネット変数値
(文字列(VALUE))

0~512バイトの文字列(注)
仮名半角とユーザ定義文字は使用できません。末尾の改行コードは含まれませんが、先頭と末尾の半角空白/タブは含まれます。
末尾の改行を除いて512バイトを超える場合、および、仮名半角およびユーザ定義文字が含まれる場合は、ジョブネット変数として扱われません。

注:ジョブネット変数の値には、起動するジョブの定義内にある“@変数名@”が置き換えられた
    ときに、その定義項目の使用不可文字が使われたり、文字列長の上限値を超えることが
    ないようにしてください。置き換えの結果、ジョブの定義が不正になった場合には、
    ジョブは実行されず異常終了となります。

ジョブネット変数の制限値

ジョブネット内でジョブの出力情報から取り込むことができるジョブネット変数は、640個までです。

階層化されたジョブネットの場合、使用できるジョブネット変数の上限は、親ジョブネットと子ジョブネットで合わせて640個までです。

システムが自動で設定するジョブネット変数について

システムが自動で設定するジョブネット変数は、変数名が固定です。変数値はジョブネット/ジョブごとに固有に設定され、ジョブネット実行中に値が変わることはありません。システムが自動で設定するジョブネット変数には、以下の種類があります。


システムが自動で設定するジョブネット変数

変数名

変数値

@.VPARAM@

“可変パラメタ”です。ジョブネットを起動するごとに指定できる可変の情報です。可変パラメタの値が設定されていない場合は、空文字列に置き換えられます。

@.PROJECT@

実行するジョブが登録されているプロジェクト名です。
マスタスケジュール管理機能を使用している場合は、運用日管理プロジェクト名です。

@.JOBNET@

実行するジョブが登録されているジョブネット名です。

@.JOBNAME@

ジョブの登録情報の[ジョブ名]が登録されている場合、そのジョブ名です。
[ジョブ名]が登録されていない場合、空文字に置き換えられます。

@.SUB_SYSTEM@

[SE版]
置き換えられません。
[EE/GEE版]
実行するジョブが登録されているサブシステム番号(0~9)です。
複数サブシステム運用でない場合は、“0”が設定されます。

@.MASTER_PROJECT@

[SE版]
置き換えられません。
[EE/GEE版]
【マスタスケジュール管理機能が有効の場合】
マスタスケジュール管理機能のマスタプロジェクト名です。実行するジョブが登録されているプロジェクト名の末尾が“+mmdd”形式または“=mmdd”形式(mmddは数字4桁)のプロジェクト名の場合に、“+mmdd”“=mmdd”を取り除いた名前になります。
プロジェクト名の末尾が“+mmdd”または“=mmdd”でない場合は、空文字に置き換えられます。
【マスタスケジュール管理機能が無効の場合】
空文字に置き換えられます。

4.3.14.2 ジョブでジョブネット変数を設定する

ジョブでジョブネット変数を設定する方法について説明します。

ジョブネット変数を設定するジョブの定義

ジョブネット変数を設定するためのジョブの作成および定義において必要な作業は、以下のとおりです。

  1. ジョブ(実行ファイル)を作成

    実行時に変数および値を“文字列(NAME)=文字列(VALUE)”形式で出力させるようなジョブを作成します。

  2. [登録-ジョブ]ウィンドウでの設定

    • [基本情報]シート

      • [標準出力/エラー出力を保存しない]のチェックをはずす

        チェックがされていた場合、ジョブ出力情報が出力されないため、ジョブネット変数が設定されません。

    • [詳細情報]シート

      • [ジョブの出力情報の"NAME=VALUE"形式の行をジョブネット変数に設定する]にチェック

      • [ジョブネット変数のプレフィックス]にジョブ固有の値を設定

図4.48 [登録-ジョブ]ウィンドウ-[基本情報]シート

図4.49 [登録-ジョブ]ウィンドウ-[詳細情報]シート

ジョブネット変数に設定可能なジョブについて

ジョブネット変数は、前述の定義可能な文字列に従って自由に設定することができます。

また、Systemwalker Operation Managerが提供している、待ち合わせジョブと一部の判定ジョブは、ジョブネット変数に利用可能な形式“文字列(NAME)=文字列(VALUE)”で情報を出力します。これらのジョブの種類、変数名および出力される値について説明します。

各情報は、標準出力に“変数名=出力される値”の形式で出力されます。


ファイル待ち合わせジョブ/ファイル存在判定ジョブ(chkfile/jobschchkfileコマンド)

変数名

出力される値

出力される場合

CF_FILENAME

変更があったファイルのファイル名(フルパス表示)

作成(-fwait)/削除(-fdelete)/更新(-fupdate)/サイズ変更(-fsize)のいずれかが指定された場合

CF_CHKTYPE

変更の種類
“fwait”/“fdelete”/“fupdate”/“fsize”のいずれかです。

作成(-fwait)/削除(-fdelete)/更新(-fupdate)/サイズ変更(-fsize)のいずれかが指定された場合

CF_FILESIZE

ファイルサイズ(バイト)

作成(-fwait)/更新(-fupdate)/サイズ変更(-fsize)のいずれかが指定された場合

CF_FILEYEAR

ファイルの更新年“yyyy”

作成(-fwait)/更新(-fupdate)/サイズ変更(-fsize)のいずれかが指定された場合

CF_FILEDATE

ファイルの更新日付“mmdd”

作成(-fwait)/更新(-fupdate)/サイズ変更(-fsize)のいずれかが指定された場合

CF_FILETIME

ファイルの更新時分“hhmm”

作成(-fwait)/更新(-fupdate)/サイズ変更(-fsize)のいずれかが指定された場合


メッセージ事象待ち合わせジョブ(jobschchkmsgevtコマンド)

変数名

出力される値

出力される場合

CM_MSGEVENT

発生したメッセージ事象名

必ず出力されます

CM_PRJNAME

メッセージ事象が発生したプロジェクト名

プロジェクト名が指定されて、メッセージ事象が発生した場合

CM_NETNAME

メッセージ事象が発生したジョブネット名

ジョブネット名が指定されてメッセージ事象が発生した場合

CM_VPARAM

メッセージ事象発生時に指定された可変パラメタ

可変パラメタが指定されて、メッセージ事象が発生した場合

CM_EVLOGSRC

メッセージテーブルで定義した、イベントログのソース名

メッセージテーブルの定義により、メッセージ事象が発生した場合

CM_EVLOGEID

メッセージテーブルで定義した、イベントログのイベントID

メッセージテーブルの定義により、メッセージ事象が発生した場合

CM_MAILFILE

メール受信によるメッセージ事象のメールファイル名

メール受信により、メッセージ事象が発生した場合


ログファイル解析ジョブ(jobschchecklogコマンド)

変数名

出力される値

出力される場合

CL_FILENAME

-fオプションに指定した解析対象のログファイル名

-hまたは-vオプションが指定された場合は、出力されません

CL_LOGCOUNT

解析した結果、条件に合致した行の数

-hまたは-vオプションが指定された場合は、出力されません

CL_LOGTEXT

解析した結果、条件に合致した中で最後に合致した行の内容

以下の条件の場合、出力されません。
・hまたは-vオプションが指定された場合
・解析した結果、合致した行数が0の場合


時刻待ち合わせジョブ(jobschchecktimeコマンド)

変数名

出力される値

出力される場合

CT_WTIME

指定された待ち合わせ時刻“hhmm”

必ず出力されます

CT_LTIME

指定された最大待ち合わせ時刻“hhmm”

-ltオプションが指定された場合


指定時間待ち合わせジョブ(jobschsleepコマンド)

変数名

出力される値

出力される場合

SL_SLEEPSEC

指定された待ち合わせ時間(秒)

必ず出力されます

ジョブネット変数の設定について

4.3.14.3 ジョブネット変数を置き換えてジョブを実行する

ジョブネット変数名を記述して後続ジョブを定義することで、ジョブネット変数に設定された値を後続ジョブで利用することができます。

ジョブネット変数を利用する側のジョブの定義について説明します。

ジョブネット変数を利用するジョブの定義

[登録-ジョブ]ウィンドウで、ジョブの実行時にジョブネット変数値に置き換えて実行させたい項目にジョブネット変数を定義しておきます。

図4.50 [登録-ジョブ]ウィンドウ-[基本情報]シート

ジョブネット変数(@変数名@)の利用について

ジョブネット変数値について

利用したジョブネット変数値の確認

ジョブネット変数を利用するジョブでは、実行時にジョブネット変数が変数値に置き換わって動作します。実際に置き換わったジョブネット変数の値は、[監視-ジョブ]ウィンドウ-[前回履歴]シートで確認することができます。

図4.51 [監視-ジョブ]ウィンドウ-[前回履歴]シート

[ジョブネット変数]

ジョブ実行時にジョブネット変数として利用された情報です。ジョブの定義内にジョブネット変数“@変数名@”を使用していない場合は表示されません。

システムが自動で設定するジョブネット変数については、常に表示されません。

可変パラメタ起動で指定したパラメタ情報は、ジョブの定義で使用されているかどうかに関わらず、表示されます。

参考

ジョブネット変数判定ジョブを利用する

先行ジョブの実行時に設定されたジョブネット変数の変数値が、想定した文字列や数値であるかどうかを、ジョブネット変数判定ジョブによって判定することができます。

ジョブネット変数判定ジョブによる判定を実施した結果によって、後続ジョブの処理を切り分けるなどに利用できます。

ジョブネット変数判定ジョブでは、以下の比較が可能です。

  • 文字列の比較判定

    • 変数値が比較文字列と一致/不一致、または比較文字列を含む

  • 数値の比較判定

    • 変数値が指定値と一致/不一致、または、大きさの比較

  • 数値の範囲判定

    • 変数値が指定値1と指定値2の範囲に含まれるかどうか

なお、ジョブネット変数判定ジョブで、システムが自動で設定するジョブネット変数を判定することはできません。

参考

ジョブネット変数情報ファイルについて

ジョブネット変数の取り込み結果やジョブ実行時の変数情報は、“ジョブネット変数情報ファイル”に格納されます。ジョブの異常終了時などにジョブネット変数に関する調査が必要な場合、ジョブネット変数情報ファイルを直接参照してください。ジョブネット変数情報ファイルで確認できる情報は以下のとおりです。

  • 各ジョブがジョブの出力情報から取り込んだ変数

  • 各ジョブがジョブ実行時に利用した変数

  • ジョブネット終了時点における変数の一覧

ジョブネット変数情報ファイルは、ジョブネット実行中に随時更新されるファイルです。ジョブネットが実行中の間は、対象のジョブネット変数情報ファイルを参照しないでください。

ジョブネット変数情報ファイルについて詳細は、“Systemwalker Operation Manager リファレンスマニュアル”を参照してください。