5.10.3 プログラム出力データファイルの割り当てをする

#-adsh_spoolfileコマンドを使用して,ユーザープログラムが実行結果の出力に使用するプログラム出力データファイルのファイルパスを自動生成し,シェル変数および環境変数に割り当てます。

<この項の構成>
(1) プログラム出力データファイルの割り当て
(2) プログラム出力データファイルの名称
(3) プログラム出力データファイルの使用例

(1) プログラム出力データファイルの割り当て

プログラム出力データファイルのファイルパスを自動生成し,指定されたファイル環境変数定義名と同名のシェル変数および環境変数に割り当てます。これらの変数は,ジョブステップまたはジョブ終了時に割り当て前の値に戻します。ファイルの実体は作成しません。

(2) プログラム出力データファイルの名称

プログラム出力データファイルの名称は,ジョブ名またはジョブステップ名や番号,#-adsh_spoolfile コマンドで指定されたファイル環境変数定義名などから,ジョブ定義スクリプト内のファイル定義ごとに一意の名称とします。割り当てるプログラム出力データファイルの格納ディレクトリは,環境設定パラメーターのSPOOL_DIRパラメーターに指定されたスプールルートディレクトリ内の,ジョブごとのディレクトリとなります。環境設定パラメーターに指定がない場合は,スプールルートディレクトリはSPOOL_DIRパラメーターの仮定値となります。

SPOOL_DIRパラメーターの詳細については,「7. 環境ファイルで設定するパラメーターとコマンド」を参照してください。

プログラム出力データファイル名の形式を次に示します。Windows の場合,次のファイル名の後ろに「.sysout」の拡張子が付きます。

(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の場合
  1. 0000_JOBSAMPL_001_SYS001.sysout
  2. 0000_JOBSAMPL_002_SYS002.sysout
  3. 0001_STEP01_001_SYS001.sysout
  4. 0001_STEP01_002_SYS002.sysout
  5. 0000_JOBSAMPL_003_SYS001.sysout
  6. 0000_JOBSAMPL_004_SYS002.sysout
  7. 0002_STEP02_001_SYS001.sysout
  8. 0002_STEP02_002_SYS002.sysout
  9. 0000_JOBSAMPL_005_SYS001.sysout
  10. 0000_JOBSAMPL_006_SYS002.sysout
UNIXの場合
  1. 0000_JOBSAMPL_001_SYS001
  2. 0000_JOBSAMPL_002_SYS002
  3. 0001_STEP01_001_SYS001
  4. 0001_STEP01_002_SYS002
  5. 0000_JOBSAMPL_003_SYS001
  6. 0000_JOBSAMPL_004_SYS002
  7. 0002_STEP02_001_SYS001
  8. 0002_STEP02_002_SYS002
  9. 0000_JOBSAMPL_005_SYS001
  10. 0000_JOBSAMPL_006_SYS002