2.7.2 ジョブネットを定義して実行する
JP1/AJSでジョブの実行を自動化する場合,登録したカスタムジョブ,PCジョブ(Windowsの場合),UNIXジョブ(UNIXの場合),またはGUIアプリケーション実行ジョブをJP1/AJS - Viewでジョブネットに定義し,ジョブネットを実行します。JP1/AJS - Viewの詳細については,マニュアル「JP1/Automatic Job Management System 3 操作ガイド」のジョブ定義の説明を参照してください。
JP1/AJS3 - Viewでのジョブネットを定義して実行する手順を次に示します。
Windowsの[スタート]メニューから,[すべてのプログラム]−[JP1_Automatic Job Management System 3 - View]−[ジョブシステム運用]を選択する。
[ログイン]画面が表示されます。
ユーザー名,パスワード,および接続ホスト名を指定してログインする。
[JP1/AJS3 - View]ウィンドウが表示されます。
[編集]−[新規作成]−[ジョブネット]を選択する。
[詳細定義]−[ジョブネット]ダイアログボックスが表示されます。
ジョブネットに属性などを定義して,[OK]ボタンをクリックする。
運用環境に応じて,[実行エージェント]に適切な内容を指定してください。省略することもできます。JP1/AJSの項目については,JP1/AJSのマニュアルを参照してください。
これによってジョブネットが作成され,リストエリアに表示されます。
作成したジョブネットをダブルクリックする。
[ジョブネットエディタ]ウィンドウが表示されます。
ジョブを定義したり関連づけたりするときにほかのユーザーがアクセスできないように,[排他編集]をチェックする。
アイコンリストから必要なカスタムジョブ,PCジョブ,UNIXジョブ,またはGUIアプリケーション実行ジョブのアイコンをマップエリアへドラッグする。
[詳細定義-[Custom Job]]ダイアログボックス,[詳細定義−[PC Job]]ダイアログボックス,または[詳細定義−[UNIX Job]]ダイアログボックスが表示されます。
以降の手順では,カスタムジョブでの定義方法を示します。PCジョブまたはUNIXジョブを使用する場合にAdvanced Shellで必要な設定については,「2.7.3 PCジョブ/UNIXジョブによるジョブの定義」を参照してください。
-
[詳細定義-[Custom Job]]ダイアログボックスでジョブに属性などを定義する。
JP1/AJSのマニュアルに従って,[定義]タブを指定した場合と[属性]タブを指定した場合の両方に適切な内容を指定します。
また,運用環境に応じて,[実行エージェント]に適切な内容を指定してください。省略することもできます。
なお,PCジョブ,UNIXジョブの場合で次のどちらかが指定されているとき,[定義]タブで[標準出力ファイル名]を指定すると,空のファイルが出力されます。
-
adshexecコマンドの-sオプション,または環境ファイルのOUTPUT_STDOUTパラメーターにSPOOLを指定(標準出力をスプール内のファイルに出力)
-
OUTPUT_MODE_ROOTパラメーターでEXTENDEDを指定(拡張出力モードを選択)
標準出力の内容はAdvanced Shellのジョブコントローラで別ファイルに出力していて,JP1/AJSに返す標準出力には何も出力していないためです。
-
-
[定義]タブを選択して[詳細]ボタンをクリックする。
カスタムジョブの種類に対応した,[実行定義]ダイアログボックスが表示されます。Windows,UNIX,およびGUIアプリケーション実行ジョブの場合の表示を次に示します。
-
Windowsの場合
-
UNIXの場合
-
GUIアプリケーション実行ジョブの場合
手順9.と手順10.については,「(2) カスタムジョブによるジョブネットの定義手順に関する補足」に示す補足も参照してください。
-
-
[実行定義]ダイアログボックスにAdvanced Shellのジョブコントローラの実行に必要な情報を設定して[OK]ボタンをクリックする。
PCジョブ,UNIXジョブの場合
-
ジョブ定義スクリプトファイル名 ~<パス名>Windowsの場合:((1~247バイト)),UNIXの場合:((1~1,023バイト))
ジョブ定義スクリプトファイル名を指定します。省略できません。
-
実行時パラメーター~<ASCII文字列>((0~1,022バイト))
ジョブ定義スクリプトファイルの実行時に渡すパラメーターを定義します。複数のパラメーターを定義する場合は,スペースで区切って指定します。
-
ジョブ環境ファイル名~<パス名>Windowsの場合:((0~247バイト)),UNIXの場合:((0~1,023バイト))
ジョブ環境ファイル名を指定します。
ジョブ環境ファイル名に指定がある場合はAdvanced Shellのジョブコントローラの環境で環境変数ADSH_ENVが定義されていても,ジョブ環境ファイル名に指定した値を優先して使用して実行します。
ジョブ環境ファイル名に指定がなく,Advanced Shellのジョブコントローラの環境で環境変数ADSH_ENVが定義されている場合は,環境変数ADSH_ENVの値を使用して実行します。
ジョブ環境ファイル名に指定がなく,環境変数ADSH_ENVの指定もない場合,ジョブ環境ファイルの指定はないものとして実行します。ジョブ環境ファイルの指定は省略できます。
JP1/AJSが起動したAdvanced Shellのジョブコントローラは,使用したジョブ環境ファイルのパスを環境変数ADSH_ENVに設定してから,ジョブの実行を開始します。別のジョブコントローラやジョブ環境ファイルを読み込むほかのコマンドを子孫プロセスとして起動する場合,それらのジョブコントローラやコマンドは環境変数ADSH_ENVの値を使用します。したがって,ジョブ実行中に環境変数ADSH_ENVの値を再設定していない場合,JP1/AJSが起動したAdvanced Shellのジョブコントローラと同一のジョブ環境ファイルを使用します。ジョブ実行中に環境変数ADSH_ENVの値を再設定している場合,再設定した値のジョブ環境ファイルを使用します。
-
論理ホスト
論理ホストで実行するかどうかを指定します。チェックボックスをチェックして実行した場合,JP1/AJSで設定された論理ホスト(環境変数JP1_HOSTNAMEの値)で実行します。
-
事前チェック
ジョブの内容を事前にチェックするかどうかを指定します。事前チェックのチェックボックスにチェックして実行した場合,ジョブ定義スクリプトファイルを実行しないでジョブ定義スクリプトファイルの内容をチェックします。
GUIアプリケーション実行ジョブの場合
-
コマンドライン ~<ASCII文字列> ((1~1,022バイト))
実行アプリケーションのファイル名および実行アプリケーションの実行時に指定するパラメーターを指定します。省略できません。
-
実行アプリケーションのパス名 ~<ASCII文字列> ((1~247バイト))
実行アプリケーション名のパス名を指定します。
-
実行アプリケーションの引数 ~<ASCII文字列> ((0~1,023バイト))
実行アプリケーションの引数を指定します。
-
ワークフォルダ ~<パス名>((0~247バイト))
実行アプリケーションの実行時のワークフォルダを指定します。
ワークフォルダは省略できます。省略した場合は,JP1/AJS-Agent(またはJP1/AJS-Manager)がGUIアプリケーション実行プログラムを起動するときの実行時ディレクトリ(ワークディレクトリ)になります。JP1/AJS-Agent(またはJP1/AJS-Manager)がAdvanced Shellのジョブコントローラを起動するときの実行時ディレクトリ(ワークディレクトリ)については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド」を参照してください。
表示名 ~<ASCII文字列>((0~247バイト)) アプリケーション実行エージェントアイコンを左クリックしたときに表示される表示名を指定します。表示名は省略できます。省略した場合はコマンドラインの内容となります。
-
実行アプリケーション実行後の動作
実行アプリケーション実行後に終了を待たないかどうかを指定します。実行アプリケーション実行後の動作のチェックボックスで,チェックをしないで実行した場合,実行アプリケーション実行後に終了を待ちます。実行アプリケーション実行後の動作のチェックボックスで,チェックをして実行した場合,実行アプリケーション実行後に終了を待ちません。
-
メッセージの出力
メッセージの出力を抑止するかどうかを指定します。「標準エラー出力への出力を抑止する」のチェックボックスで,チェックをして実行した場合,標準エラー出力へメッセージの出力を抑止します。
-
-
[詳細定義-[Custom Job]]ダイアログボックスに戻ってから[OK]ボタンをクリックする。
ジョブネットにジョブが定義されます。必要に応じて,同様の手順で,ジョブを定義してください。
-
ジョブ同士を実行順序に従って関連づける。
ジョブネットが定義されます。JP1/AJS - Viewでのジョブの定義例を次に示します。
-
JP1/AJSの操作によってジョブネットを実行する。
Advanced Shellのジョブコントローラの終了コードをジョブの終了コードとしてJP1/AJSに返します。
(1) ジョブネットの定義内容に関する注意事項
-
カバレージの指定
カスタムジョブからカバレージを有効にしたい場合は,環境ファイルにカバレージ採取の一括有効化機能を指定してください。
JP1/AJSからAdvanced Shellのジョブコントローラを起動したときの実行時ディレクトリ
JP1/AJSからAdvanced Shellのジョブコントローラを起動した場合の実行時ディレクトリは,JP1/AJS - Agent(またはJP1/AJS - Manager)がAdvanced Shellのジョブコントローラを起動するときの実行時ディレクトリになります。JP1/AJS - Agent(またはJP1/AJS - Manager)がAdvanced Shellのジョブコントローラを起動するときの実行時ディレクトリについては,マニュアル「JP1/Automatic Job Management System 3 構築ガイド」を参照してください。実行時ディレクトリは,JP1/AJSのマニュアルでは,ワークパス(ワークディレクトリ)と表記されています。
JP1/AJSからAdvanced Shellのジョブコントローラを起動したときの環境変数
JP1/AJSからWindowsのAdvanced Shellのジョブコントローラを起動した場合,通常JP1/AJSサービス起動時にはシステム環境変数の設定を有効にし,ユーザー環境変数は読み込まれません。詳細はJP1/AJSのマニュアルを参照してください。
言語種別を英語に設定した海外版のJP1/AJS - Managerと接続して使用する
言語種別を英語に設定した海外版のJP1/AJS - Managerと接続してジョブを定義する場合,[実行定義]ダイアログボックスのジョブの定義情報には英数字(ASCII)だけを使用してください。
-
Shift-JIS以外の文字コード種別を設定したJP1/AJSからジョブコントローラを起動したときの定義情報の入力範囲【UNIX限定】
カスタムジョブの[実行定義]ダイアログボックスのジョブ定義スクリプトファイル名とジョブ環境ファイル名の設定項目では,入力バイト数のチェックをShift-JISのバイト数でしています。ただし,実行環境の文字コードがShift-JIS以外の場合は,[実行定義]ダイアログボックスに入力できるファイル名であっても,実行環境の文字コードに変換したバイト数がOSが定めるファイル名長の制限を超えていると,ジョブコントローラがエラーとなります。この場合は,ジョブコントローラのエラーメッセージを参照して正しい定義情報を入力するようにしてください。
-
JP1/AJSからGUIアプリケーション実行プログラムを起動したときの環境変数
JP1/AJSからGUIアプリケーション実行プログラムを起動した場合,実行ユーザーの環境変数を使用します。
(2) カスタムジョブによるジョブネットの定義手順に関する補足
「2.7.2 ジョブネットを定義して実行する」の手順9と手順10の実行定義の設定について,JP1/AJSのajsdefineコマンドのユニット定義,およびJP1/AJS - Definition Assistantのジョブの定義で定義することもできます。
ユニット定義の詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス」を参照してください。
JP1/AJS - Definition Assistantについては,マニュアル「JP1/Automatic Job Management System 3 - Definition Assistant」を参照してください。
カスタムジョブを使用する場合の,ユニット定義およびJP1/AJS - Definition Assistantで記述する環境変数とパラメーターの詳細を次に記載します。
(a) PCジョブ,UNIXジョブの場合
-
Advanced Shellの[実行定義]ダイアログボックスで設定する環境変数
ADSH_AJS_SCRF:ジョブ定義スクリプトファイル名
ADSH_AJS_ENVF:ジョブ環境ファイル名
ADSH_AJS_LHOST:論理ホスト
ADSH_AJS_GCHE:事前チェック
-
Advanced Shellのジョブコントローラに渡す環境変数
ユニット定義ファイルのenvパラメーターとして環境変数を定義します。
Advanced Shellのジョブコントローラに渡す環境変数の設定項目を次の表に示します。
表2‒26 Advanced Shellのジョブコントローラに渡す環境変数の設定項目 項目名
説明
入力範囲
環境変数の値として指定できる文字列("="の後ろの文字列)のバイト数(Shift-JIS)
設定値
定義できる文字の種類
-
文字列:制御文字(0x00〜0x1f,0x7f)以外の文字
-
記号名称:半角英数字および「@」「#」「_」
-
数字
初期値
新規作成ジョブとしてカスタムジョブを起動したときに読み込む値
省略
値を省略できないものは,Advanced Shellのジョブコントローラでエラーとなります。
Advanced Shellのジョブコントローラに渡す環境変数の設定項目の入力範囲と設定値を次の表に示します。
表2‒27 Advanced Shellのジョブコントローラに渡す環境変数の設定項目の入力範囲と設定値 環境変数
入力範囲
設定値
初期値
省略
ADSH_AJS_SCRF
PCジョブ:1〜247バイト
UNIXジョブ:1〜1,023バイト
文字列
空文字列
できない
ADSH_AJS_ENVF
PCジョブ:0〜247バイト
UNIXジョブ:0〜1,023バイト
文字列
空文字列
できる
ADSH_AJS_LHOST
0〜2バイト
-
チェックありの場合
-h
-
チェックなしの場合
空文字列
空文字列
できる
ADSH_AJS_GCHE
0〜2バイト
-
チェックありの場合
-c
-
チェックなしの場合
空文字列
空文字列
できる
AJS_BJEX_STOP
4バイト
"TERM"
"TERM"
できない
-
-
Advanced Shellのジョブコントローラに渡すパラメーターの詳細
フィールド「実行時パラメーター」はユニット定義ファイルのprmパラメーターとして定義し,Advanced Shellのジョブコントローラに対するパラメーターとして渡します。指定できる値は次のとおりです。
入力範囲:1〜1,023バイト※
設定値:文字列
初期値:空文字列
省略:できる
実行時パラメーターでは,[実行定義]ダイアログボックスの指定の空文字列と同等の定義をする場合は,ユニット定義ファイルのprmパラメーターにスペース1バイト分を定義してください。
- 注※
-
prmパラメーターに1,023バイトまで入力できるのは,スペースだけの文字列だけです。スペース以外の文字列を入力する場合は1,022バイトまでで指定してください。prmパラメーターにスペースだけの文字列を指定した場合,[実行定義]ダイアログボックスの[実行時パラメーター]のテキストボックスにスペースを1バイト分削除して表示します。
- 重要
-
ユニット定義ファイルで定義情報を削除する場合は,次の点に注意してください。
・envパラメーターは環境変数の値(「=」の後ろの文字列)を削除するか,envパラメーターの指定そのものを削除してください。
・prmパラメーターはprmの値に1バイト分のスペースを指定するか,prmパラメーターの指定を削除してください。
ユニット定義の例を次に示します。
unit=ユニット名,,実行ユーザー,; { ty=cpj; cty="ADSHUX"; sc="/opt/jp1as/bin/adshexec"; env="AJS_BJEX_STOP=TERM"; →1. env="ADSH_AJS_SCRF=/tmp/JP1AS/scr/samplescrfile.ash"; →2. prm="param1 param2"; →3. env="ADSH_AJS_ENVF=/tmp/JP1AS/env/sampleenvfile"; →4. env="ADSH_AJS_LHOST=-h"; →5. env="ADSH_AJS_GCHE=-c"; →6. tho=0; }
例の右側に付記した番号に対応する説明を次に示します。
-
AJS_BJEX_STOP:AJS_BJEX_STOP環境変数はシステムで使用するため,設定値にTERMを指定して必ず定義してください。
-
ADSH_AJS_SCRF:ジョブ定義スクリプトファイル名を指定します。
ADSH_AJS_SCRF環境変数は必ず定義してください。
-
ユニット定義ファイルのprmパラメーターを指定します。
-
ADSH_AJS_ENVF:ジョブ環境ファイル名を指定します。
-
ADSH_AJS_LHOST:論理ホストで実行する場合は-hを指定し,実施しない場合は何も指定しません。
-
ADSH_AJS_GCHE:事前チェックを実施する場合は-cを指定し,実施しない場合は何も指定しません。
ユニット定義ファイルを作成したあと,JP1/AJSのajsdefineコマンドおよびJP1/AJS3 - Definition Assistantでジョブを定義できます。
(b) GUIアプリケーション実行ジョブの場合
-
Advanced Shellの[実行定義]ダイアログボックスで設定する環境変数
ADSH_AJS_APPNAME:実行アプリケーションのパス名
ADSH_AJS_APPARG:実行アプリケーションの引数
ADSH_AJS_WORKF:ワークフォルダ
ADSH_AJS_SHOWN:表示名
ADSH_AJS_AFEXECMV:実行アプリケーション実行後の動作
ADSH_AJS_MESOUT:メッセージの出力
-
GUIアプリケーション実行プログラムに渡す環境変数
ユニット定義ファイルのenvパラメーターとして環境変数を定義します。
GUIアプリケーション実行プログラムに渡す環境変数の設定項目を次の表に示します。
表2‒28 Advanced Shellのジョブコントローラに渡す環境変数の設定項目 項目名
説明
入力範囲
環境変数の値として指定できる文字列("="の後ろの文字列)のバイト数(Shift-JIS)
設定値
定義できる文字の種類
-
文字列:制御文字(0x00~0x1f,0x7f)以外の文字
-
記号名称:半角英数字および「@」「#」「_」
-
数字
初期値
新規作成ジョブとしてカスタムジョブを起動したときに読み込む値
省略
値を省略できないものは,GUIアプリケーション実行プログラムでエラーとなります。
GUIアプリケーション実行プログラムに渡す環境変数の設定項目の入力範囲と設定値を次の表に示します。
表2‒29 GUIアプリケーション実行プログラムに渡す環境変数の設定項目の入力範囲と設定値 環境変数
入力範囲
設定値
初期値
省略
ADSH_AJS_APPNAME
1~247バイト
文字列
空文字列
できない
ADSH_AJS_APPARG
0~1,023バイト
文字列
空文字列
できる
ADSH_AJS_WORKF
0~247バイト
文字列
空文字列
できる
ADSH_AJS_SHOWN
0~247バイト
文字列
空文字列
できる
ADSH_AJS_AFEXECMV
0~2バイト
-
チェックありの場合
-n
-
チェックなしの場合
空文字列
空文字列
できる
ADSH_AJS_MESOUT
0~2バイト
-
チェックありの場合
-m
-
チェックなしの場合
空文字列
空文字列
できる
ADSH_AJS_APPEXEC
7バイト
" APPEXEC "
" APPEXEC "
できない
-
- 重要
-
ユニット定義ファイルで定義情報を削除する場合は,envパラメーターは環境変数の値(「=」の後ろの文字列)を削除するか,envパラメーターの指定そのものを削除してください。
ユニット定義の例を次に示します。
unit=ユニット名,,実行ユーザー,; { ty=cpj; cty="ADSHAPPEXEC"; sc=" C:\Program Files\HITACHI\JP1AS\JP1ASE\bin\adshappexec.exe"; env="ADSH_AJS_APPEXEC=APPEXEC"; →1. env="ADSH_AJS_APPNAME=C:\ExecApp.exe"; →2. env="ADSH_AJS_APPARG=param1 param2"; →3. env="ADSH_AJS_WORKF=C:\work-folder"; →4. env="ADSH_AJS_SHOWN=ExecApplication"; →5. env="ADSH_AJS_AFEXECMV=-n"; →6. env="ADSH_AJS_MESOUT=-m"; →7. tho=0; }
例の右側に付記した番号に対応する説明を次に示します。
-
ADSH_AJS_APPEXEC環境変数はシステムで使用するため,設定値にAPPEXECを指定して必ず定義してください。
-
ADSH_AJS_APPNAME:実行アプリケーションのパス名を指定します。
ADSH_AJS_APPNAMEは必ず定義してください。
-
ADSH_AJS_APPARG:実行アプリケーションの引数を指定します。
-
ADSH_AJS_WORKF:ワークフォルダを指定します。
-
ADSH_AJS_SHOWN:表示名を指定します。
-
ADSH_AJS_AFEXECMV:実行アプリケーション実行後の動作で終了を待たない場合は-nを指定し,実施しない場合は何も指定しません。
-
ADSH_AJS_MESOUT:標準エラー出力への出力を抑止する場合は-mを指定し,実施しない場合は何も指定しません。
ユニット定義ファイルを作成したあと,JP1/AJSのajsdefineコマンドおよびJP1/AJS3 - Definition Assistantでジョブを定義できます。