JP1/Advanced Shell
#-adsh_spoolfileコマンドを使用して,ユーザープログラムが実行結果の出力に使用するプログラム出力データファイルのファイルパスを自動生成し,シェル変数および環境変数に割り当てます。
- <この項の構成>
- (1) プログラム出力データファイルの割り当て
- (2) プログラム出力データファイルの名称
- (3) プログラム出力データファイルの使用例
(1) プログラム出力データファイルの割り当て
プログラム出力データファイルのファイルパスを自動生成し,指定されたファイル環境変数定義名と同名のシェル変数および環境変数に割り当てます。これらの変数は,ジョブステップまたはジョブ終了時に割り当て前の値に戻します。ファイルの実体は作成しません。
(2) プログラム出力データファイルの名称
プログラム出力データファイルの名称は,ジョブ名またはジョブステップ名や番号,#-adsh_spoolfile コマンドで指定されたファイル環境変数定義名などから,ジョブ定義スクリプト内のファイル定義ごとに一意の名称とします。割り当てるプログラム出力データファイルの格納ディレクトリは,環境設定パラメーターのSPOOL_DIRパラメーターに指定されたスプールルートディレクトリ内の,ジョブごとのディレクトリとなります。環境設定パラメーターに指定がない場合は,スプールルートディレクトリはSPOOL_DIRパラメーターの仮定値となります。
SPOOL_DIRパラメーターの詳細については,「7. 環境ファイルで設定するパラメーターとコマンド」を参照してください。
プログラム出力データファイル名の形式を次に示します。Windows の場合,次のファイル名の後ろに「.sysout」の拡張子が付きます。
- ジョブステップ外で割り当てた場合
0000_ジョブ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名- ジョブステップ内で割り当てた場合
ステップ番号_ステップ名_ファイル環境変数定義名通し番号_ファイル環境変数定義名
- ステップ番号
- すべてのジョブステップの通し番号です。ステップ番号は4桁の10進数で,先頭ジョブステップのステップ番号は1です。
- 例: 0001,0034,4095
- ジョブ名
- #-adsh_jobコマンドで指定したジョブ名です。可変長で,最大8バイトです。指定した文字列が8バイトを超える場合は,最初の8バイトをジョブ名とします。
- ステップ名
- #-adsh_step_startコマンドで指定したジョブステップ名です。可変長で,最大8バイトです。指定した文字列が8バイトを超える場合は,最初の8バイトをジョブステップ名とします。
- ファイル環境変数定義名通し番号
- ジョブステップ外で割り当てたプログラム出力データファイルの連番,または各ジョブステップ内で割り当てたプログラム出力データファイルの連番です。ファイル環境変数定義名通し番号は3桁の10進数です。ジョブステップ外および各ジョブステップ内で1から255の値になります。
- 例: 001,034,255
- ファイル環境変数定義名
- #-adsh_spoolfileコマンドで指定したファイル環境変数定義名です。
(3) プログラム出力データファイルの使用例
#-adsh_job JOBSAMPLE001 #-adsh_spoolfile SYS001 →1. #-adsh_spoolfile SYS002 →2. echo "----- job01 --------" 1>&2 echo "SYS001" > $SYS001 echo "SYS002" > $SYS002 #-adsh_step_start STEP01 #-adsh_spoolfile SYS001 →3. #-adsh_spoolfile SYS002 →4. echo "----- Step001 --------" 1>&2 echo "SYS001" > $SYS001 echo "SYS002" > $SYS002 #-adsh_step_end #-adsh_spoolfile SYS001 →5. #-adsh_spoolfile SYS002 →6. echo "----- job02 --------" 1>&2 echo "SYS001" > $SYS001 echo "SYS002" > $SYS002 #-adsh_step_start STEP02 #-adsh_spoolfile SYS001 →7. #-adsh_spoolfile SYS002 →8. echo "----- Step002 --------" 1>&2 echo "SYS001" > $SYS001 echo "SYS002" > $SYS002 #-adsh_step_end #-adsh_spoolfile SYS001 →9. #-adsh_spoolfile SYS002 →10. echo "----- job03 --------" 1>&2 echo "SYS001" > $SYS001 echo "SYS002" > $SYS002ジョブ定義スクリプトを実行した場合,次のファイル名のプログラム出力データファイルが作成されます。
- Windowsの場合
- 0000_JOBSAMPL_001_SYS001.sysout
- 0000_JOBSAMPL_002_SYS002.sysout
- 0001_STEP01_001_SYS001.sysout
- 0001_STEP01_002_SYS002.sysout
- 0000_JOBSAMPL_003_SYS001.sysout
- 0000_JOBSAMPL_004_SYS002.sysout
- 0002_STEP02_001_SYS001.sysout
- 0002_STEP02_002_SYS002.sysout
- 0000_JOBSAMPL_005_SYS001.sysout
- 0000_JOBSAMPL_006_SYS002.sysout
- UNIXの場合
- 0000_JOBSAMPL_001_SYS001
- 0000_JOBSAMPL_002_SYS002
- 0001_STEP01_001_SYS001
- 0001_STEP01_002_SYS002
- 0000_JOBSAMPL_003_SYS001
- 0000_JOBSAMPL_004_SYS002
- 0002_STEP02_001_SYS001
- 0002_STEP02_002_SYS002
- 0000_JOBSAMPL_005_SYS001
- 0000_JOBSAMPL_006_SYS002
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.