Hitachi

Advanced Shell 


5.9.1 通常ファイルの割り当ておよび後処理をする

#-adsh_fileコマンド(スクリプト拡張コマンド)またはadshfileコマンド(シェル運用コマンド)を使用して,次の作業を実施します。

#-adsh_fileコマンドとadshfileコマンドの機能差異を次の表に示します。#-adsh_fileコマンドについては「#-adsh_fileコマンド(通常ファイルの割り当ておよび後処理を指定する)」を参照してください。adshfileコマンドについては「adshfileコマンド(通常ファイルの割り当ておよび後処理を指定する)」を参照してください。

機能

#-adsh_fileコマンド

adshfileコマンド

環境変数へのファイルパス設定

×

ファイルの後処理のタイミング

  • ステップ外の場合

    ジョブ終了時

  • ステップ内の場合

    ステップ終了時

ジョブ終了時またはステップ終了時を指定

.コマンドで記述する外部スクリプトでの記述可否

×

繰り返し処理内での記述可否

×

関数内での記述可否

×

ファイル割り当て処理中にエラーとなった場合の割り当て済み通常ファイルの後処理

keepを仮定し,ファイルを削除しません。

詳細については「#-adsh_fileコマンドの場合」を参照してください。

引数-aの指定に従います。

詳細については「adshfileコマンドの場合」を参照してください。

(凡例)

○:実行できます。

×:実行できません。

重要

adshfileコマンドと#-adsh_fileコマンドで割り当てた通常ファイルは別々に管理され,後処理はadshfileコマンド,#-adsh_fileコマンドの順に実行されます。そのため,両方のコマンドで同じファイルを割り当てると,ファイルの後処理が二重に実行されることになり,エラーが発生する場合があるので注意してください。

〈この項の構成〉

(1) 通常ファイルの割り当て

#-adsh_fileコマンドでは,指定した通常ファイルのファイルのパスを,ファイル環境変数定義名と同名のシェル変数および環境変数に割り当てます。

#-adsh_fileコマンドおよびadshfileコマンドは,指定した通常ファイルのファイルの実体は作成しません。

割り当て時にファイルが存在するかどうかを確認する場合は,#-adsh_fileコマンドでは-chkに,adshfileコマンドでは-cにexistを指定します。existが指定された場合,割り当て時にファイルが存在しなければエラーとなります。

ファイルが存在するかどうかに関係なく割り当てる場合は,#-adsh_fileコマンドでは-chkに,adshfileコマンドでは-cにnoを指定します。noが指定されたとき,ファイルが存在しなくてもエラーとしないで割り当てます。

#-adsh_fileコマンドで,通常ファイルtest1をFILEに割り当てる場合の使用例を次に示します。

UNIXの場合のchk属性の使用例を次に示します。

#-adsh_job FILE_CHK
#-adsh_step_start STEP01
  #-adsh_file FILE01 /home/test/test1 -chk no -normal keep -abnormal keep
  #-adsh_file FILE02 /home/test/test2 -chk exist -normal keep -abnormal keep
  cmdA ${FILE01} ${FILE02}
#-adsh_step_end

FILE01の割り当てでは,割り当て時にファイルが存在するかどうかを確認しません。したがって,/home/test/test1が存在しなくてもファイルを割り当てます。

FILE02の割り当てでは,割り当て時にファイルが存在するかどうかを確認します。したがって,/home/test/test2が存在しない場合,ファイル割り当て処理はエラーとなります。

(2) 通常ファイルの後処理

通常ファイルは,割り当てたジョブステップまたはジョブ終了時に後処理をします。#-adsh_fileコマンドの場合,後処理ではファイルパスを設定したシェル変数および環境変数を設定前の値に戻します。また,ジョブステップやジョブの終了状態と,コマンドの指定値に従って次に示す処理をします。

ジョブステップおよびジョブが正常終了した場合,#-adsh_fileコマンドの-normalまたはadshfileコマンドの-nの指定に従って後処理をします。指定値ごとの通常ファイルの後処理について次に示します。

ジョブステップまたはジョブがエラー終了した場合,#-adsh_fileコマンドの-abnormalまたはadshfileコマンドの-aの指定に従って後処理をします。指定値ごとの通常ファイルの後処理について次に示します。

#-adsh_fileコマンドに-abnormal,またはadshfileコマンドに-aオプションを指定した場合の,後処理の扱いを次の表に示します。

ジョブステップやジョブがエラーとなる要因

#-adsh_fileコマンドの割り当て済み通常ファイルの後処理

adshfileコマンドの割り当て済み通常ファイルの後処理

後続の#-adsh_fileコマンドの通常ファイル割り当て処理中にエラー

無条件にkeepが仮定される

各adshfileコマンドの-aオプションに従う

(keepは仮定されない)

後続のadshfileコマンドの通常ファイル割り当て処理中にエラー

各#-adsh_fileコマンドの-abnormalオプションに従う

各adshfileコマンドの-aオプションに従う

後続の#-adsh_tempコマンドの一時ファイル割り当て処理中にエラー

無条件にkeepが仮定される

各adshfileコマンドの-aオプションに従う

(keepは仮定されない)

後続の#-adsh_spoolfileコマンドのプログラム出力データファイル割り当て処理中にエラー

無条件にkeepが仮定される

各adshfileコマンドの-aオプションに従う

(keepは仮定されない)

後続の上記以外のコマンドやプログラムなどのエラー

各#-adsh_fileコマンドの-abnormalオプションに従う

各adshfileコマンドの-aオプションに従う

注※

割り当てエラー発生時に無条件にファイルを保持するよう運用したい場合は,#-adsh_fileコマンドを使用してください。

通常ファイルの割り当てではファイルの実体を作成しないため,後処理をするときに存在しないファイルは存在しない状態のままになります。

(a) #-adsh_fileコマンドの場合

Windowsでの後処理の実行例を次に示します。

#-adsh_job JOB
#-adsh_file FILE01 'C:\user\file01' -chk exist -normal keep -abnormal del
 
#-adsh_step_start STEP
    #-adsh_file FILE02 'C:\user\file02' -chk exist -normal del -abnormal del
    #-adsh_file FILE03 'C:\user\file03' -chk exist -normal keep -abnormal del 
    uap
#-adsh_step_end
 
#-adsh_file FILE04 'C:\user\file04' -chk exist -normal del -abnormal del
例1

FILE03の割り当てでエラーになった場合

  • FILE01に割り当てた通常ファイルは,ジョブ終了時に後処理をします。abnormal属性の指定に従って通常ファイルを削除します。

  • FILE02に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。normal属性およびabnormal属性の指定に関係なくkeepを仮定し,通常ファイルは削除しません。

  • FILE03に割り当てようとした通常ファイルは,割り当てが完了していないため後処理をしません。

  • FILE04の割り当て処理は動作しません。

例2

FILE04の割り当てでエラーになった場合

  • FILE01に割り当てた通常ファイルは,ジョブ終了時に後処理をします。normal属性およびabnormal属性の指定に関係なくkeepを仮定し,通常ファイルは削除しません。

  • FILE02に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。normal属性の指定に従って通常ファイルを削除します。

  • FILE03に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。normal属性の指定に従って通常ファイルは削除しません。

  • FILE04に割り当てようとした通常ファイルは,割り当てが完了していないため後処理をしません。

例3

uapでエラーになった場合

  • FILE01に割り当てた通常ファイルは,ジョブ終了時に後処理をします。abnormal属性の指定に従って通常ファイルを削除します。

  • FILE02に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。abnormal属性の指定に従って通常ファイルを削除します。

  • FILE03に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。abnormal属性の指定に従って通常ファイルを削除します。

  • FILE04の割り当て処理は動作しません。

例4

正常終了した場合

  • FILE01に割り当てた通常ファイルは,ジョブ終了時に後処理をします。normal属性の指定に従って通常ファイルは削除しません。

  • FILE02に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。normal属性の指定に従って通常ファイルを削除します。

  • FILE03に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。normal属性の指定に従って通常ファイルは削除しません。

  • FILE04に割り当てた通常ファイルは,ジョブ終了時に後処理をします。normal属性の指定に従って通常ファイルを削除します。

(b) adshfileコマンドの場合

後処理の実行例を次に示します。この例では通常ファイルのファイル名を「file01_実行日付」〜「file05_実行日付」とし,「実行日付」の部分にジョブの実行時刻を入れます。

#-adsh_job JOB
 
VAL01=file01_`date +%y%m%d`
VAL02=file02_`date +%y%m%d`
VAL03=file03_`date +%y%m%d`
VAL04=file04_`date +%y%m%d`
VAL05=file05_`date +%y%m%d`
 
 
adshfile -s job -n keep -a del ${VAL01}
 
#-adsh_step_start STEP
    adshfile -s step -n del -a del ${VAL02}
    adshfile -s step -n keep -a keep ${VAL03}
    adshfile -s step -n keep -a del ${VAL04}
    uap
#-adsh_step_end
 
adshfile -s job -n del -a del ${VAL05}
例1

VAL04の割り当てでエラーになった場合

  • VAL01に割り当てた通常ファイルは,ジョブ終了時に後処理をします。-aの指定に従って通常ファイルを削除します。

  • VAL02に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-aの指定に従って通常ファイルを削除します(#-adsh_fileコマンドと異なり,keepは仮定されないで,-aオプションの指定に従って後処理をします)。

  • VAL03に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-aの指定に従って通常ファイルを削除しません。

  • VAL04はコマンドエラーとなり,割り当てようとした通常ファイルは,割り当てが完了していないため後処理をしません。

  • VAL05の割り当て処理は動作しません。

例2

VAL05の割り当てでエラーになった場合

  • VAL01に割り当てた通常ファイルは,ジョブ終了時に後処理をします。-aの指定に従って通常ファイルを削除します(#-adsh_fileコマンドと異なり,keepは仮定されないで,-aオプションの指定に従って後処理をします)。

  • VAL02に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-nの指定に従って通常ファイルを削除します。

  • VAL03に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-nの指定に従って通常ファイルは削除しません。

  • VAL04に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-nの指定に従って通常ファイルは削除しません。

  • VAL05はコマンドエラーとなり,割り当てようとした通常ファイルは,割り当てが完了していないため後処理をしません。

例3

uapでエラーになった場合

  • VAL01に割り当てた通常ファイルは,ジョブ終了時に後処理をします。-aの指定に従って通常ファイルを削除します。

  • VAL02に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-aの指定に従って通常ファイルを削除します。

  • VAL03に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-aの指定に従って通常ファイルを削除しません。

  • VAL04に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-aの指定に従って通常ファイルを削除します。

  • VAL05の割り当て処理は動作しません。

例4

正常終了した場合

  • VAL01に割り当てた通常ファイルは,ジョブ終了時に後処理をします。-nの指定に従って通常ファイルは削除しません。

  • VAL02に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-nの指定に従って通常ファイルを削除します。

  • VAL03に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-nの指定に従って通常ファイルは削除しません。

  • VAL04に割り当てた通常ファイルは,ジョブステップ終了時に後処理をします。-nの指定に従って通常ファイルは削除しません。

  • VAL05に割り当てた通常ファイルは,ジョブ終了時に後処理をします。-nの指定に従って通常ファイルを削除します。

(3) adshfileコマンドの指定例(繰り返し処理内に指定した場合)

UNIXでadshfileコマンドを繰り返し処理内に指定する例を次に示します。

********  ジョブコントローラのメッセージ出力  ********
11:29:54 000053 KNAX0091-I LOOP ジョブが開始しました。
11:29:54 000053 KNAX7901-I ジョブコントローラは,ジョブ終了時にすべての非同期実行プロセスの完了を待ちます。
11:29:54 000053 KNAX7902-I ジョブコントローラは,"端末入力モード"で動作します。
11:29:54 000053 KNAX6112-I コマンド(echo, 行番号=3)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/cmd/ls, 行番号=4)が正常終了しました。rc=0 E-Time=0.003s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=8)が正常終了しました。rc=0 E-Time=0.004s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=9)が正常終了しました。rc=0 E-Time=0.004s C-Time=0.000s
11:29:54 000053 KNAX6112-I コマンド(echo, 行番号=10)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:29:54 000053 KNAX6112-I コマンド(echo, 行番号=11)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/cmd/cat, 行番号=12)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.010s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=8)が正常終了しました。rc=0 E-Time=0.002s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=9)が正常終了しました。rc=0 E-Time=0.002s C-Time=0.000s
11:29:54 000053 KNAX6112-I コマンド(echo, 行番号=10)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:29:54 000053 KNAX6112-I コマンド(echo, 行番号=11)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/cmd/cat, 行番号=12)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=8)が正常終了しました。rc=0 E-Time=0.002s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=9)が正常終了しました。rc=0 E-Time=0.002s C-Time=0.000s
11:29:54 000053 KNAX6112-I コマンド(echo, 行番号=10)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:29:54 000053 KNAX6112-I コマンド(echo, 行番号=11)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:29:54 000053 KNAX6116-I コマンド(/opt/jp1as/cmd/cat, 行番号=12)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:29:54 000053 KNAX1890-I ファイル割り当て処理指定("keep")に従って解放しました。path=/home/user001/test.txt
11:29:54 000053 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/output_test.txt
11:29:54 000053 KNAX1604-I 後処理指定値によってファイル(/home/user001/output_test.txt)を削除しました。
11:29:54 000053 KNAX1890-I ファイル割り当て処理指定("keep")に従って解放しました。path=/home/user001/test01.txt
11:29:54 000053 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/output_test01.txt
11:29:54 000053 KNAX1604-I 後処理指定値によってファイル(/home/user001/output_test01.txt)を削除しました。
11:29:54 000053 KNAX1890-I ファイル割り当て処理指定("keep")に従って解放しました。path=/home/user001/test02.txt
11:29:54 000053 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/output_test02.txt
11:29:54 000053 KNAX1604-I 後処理指定値によってファイル(/home/user001/output_test02.txt)を削除しました。
11:29:54 000053 KNAX0098-I LOOP ジョブが終了しました。rc=0 E-Time=0.030s C-Time=0.020s

********   ジョブ定義スクリプトの内容    ********

***** /home/user001/Tloop.ash *****
0001 : #-adsh_job LOOP
0002 :
0003 : echo -E "<<< list >>>" >&2
0004 : "${ADSH_DIR_CMD}ls" test* >&2
0005 :
0006 : for MEMBER in test*
0007 : do
0008 :   "${ADSH_DIR_BIN}adshfile" -s job -n keep -a keep $MEMBER
0009 :   "${ADSH_DIR_BIN}adshfile" -s job -n del -a del output_$MEMBER
0010 :   echo -E "MEMBER=$MEMBER" >output_$MEMBER
0011 :   echo -E "<<< output_$MEMBER >>>" >&2
0012 :   "${ADSH_DIR_CMD}cat" output_$MEMBER >&2
0013 : done

***** パス変換情報 *****

********   実行ジョブのSTDERRファイルの内容    ********
<<< list >>>
test.txt
test01.txt
test02.txt
<<< output_test.txt >>>
MEMBER=test.txt
<<< output_test01.txt >>>
MEMBER=test01.txt
<<< output_test02.txt >>>
MEMBER=test02.txt
KNAX0098-I LOOP ジョブが終了しました。rc=0 E-Time=0.030s C-Time=0.020s

******** ジョブステップの出力 ********
KNAX6380-I ルートジョブのスプールジョブディレクトリにジョブ名を付加します。spool job directory="/var/opt/jp1as/spool/000053-LOOP/"
KNAX7999-I ルートジョブのジョブコントローラがバッチジョブを終了しました。rc=0

(4) adshfileコマンドの指定例(関数内に指定した場合)

UNIXでadshfileコマンドを関数内に指定する例を次に示します。

********  ジョブコントローラのメッセージ出力  ********
11:56:29 000055 KNAX0091-I FUNCTION ジョブが開始しました。
11:56:29 000055 KNAX7901-I ジョブコントローラは,ジョブ終了時にすべての非同期実行プロセスの完了を待ちます。
11:56:29 000055 KNAX7902-I ジョブコントローラは,"端末入力モード"で動作します。
11:56:29 000055 KNAX0092-I FUNCTION.STEP001 ステップが開始しました。
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=15)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=4)が正常終了しました。rc=0 E-Time=0.003s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=5)が正常終了しました。rc=0 E-Time=0.002s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/cmd/cp, 行番号=6)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=7)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/cmd/cat, 行番号=8)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=15)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=4)が正常終了しました。rc=0 E-Time=0.002s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=5)が正常終了しました。rc=0 E-Time=0.002s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/cmd/cp, 行番号=6)が正常終了しました。rc=0 E-Time=0.003s C-Time=0.000s
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=7)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/cmd/cat, 行番号=8)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=15)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=4)が正常終了しました。rc=0 E-Time=0.002s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=5)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.010s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/cmd/cp, 行番号=6)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=7)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/cmd/cat, 行番号=8)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=15)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=4)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/bin/adshfile, 行番号=5)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/cmd/cp, 行番号=6)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.000s
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=7)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX6116-I コマンド(/opt/jp1as/cmd/cat, 行番号=8)が正常終了しました。rc=0 E-Time=0.001s C-Time=0.010s
11:56:29 000055 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/infile1
11:56:29 000055 KNAX1604-I 後処理指定値によってファイル(/home/user001/infile1)を削除しました。
11:56:29 000055 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/outfile1
11:56:29 000055 KNAX1604-I 後処理指定値によってファイル(/home/user001/outfile1)を削除しました。
11:56:29 000055 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/infile2
11:56:29 000055 KNAX1604-I 後処理指定値によってファイル(/home/user001/infile2)を削除しました。
11:56:29 000055 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/outfile2
11:56:29 000055 KNAX1604-I 後処理指定値によってファイル(/home/user001/outfile2)を削除しました。
11:56:29 000055 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/infile3
11:56:29 000055 KNAX1604-I 後処理指定値によってファイル(/home/user001/infile3)を削除しました。
11:56:29 000055 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/outfile3
11:56:29 000055 KNAX1604-I 後処理指定値によってファイル(/home/user001/outfile3)を削除しました。
11:56:29 000055 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/infile4
11:56:29 000055 KNAX1604-I 後処理指定値によってファイル(/home/user001/infile4)を削除しました。
11:56:29 000055 KNAX1890-I ファイル割り当て処理指定("del")に従って解放しました。path=/home/user001/outfile4
11:56:29 000055 KNAX1604-I 後処理指定値によってファイル(/home/user001/outfile4)を削除しました。
11:56:29 000055 KNAX6597-I FUNCTION.STEP001 ジョブステップが正常終了しました。rc=0 E-Time=0.040s C-Time=0.030s
11:56:29 000055 KNAX6112-I コマンド(echo, 行番号=21)が正常終了しました。rc=0 E-Time=0.000s C-Time=0.000s
11:56:29 000055 KNAX0098-I FUNCTION ジョブが終了しました。rc=0 E-Time=0.041s C-Time=0.030s

********   ジョブ定義スクリプトの内容    ********

***** /home/user001/Tfunction.ash *****
0001 : #-adsh_job FUNCTION
0002 :
0003 : myfunc(){
0004 :   ${ADSH_DIR_BIN}adshfile -s step -n del -a del -c exist $1
0005 :   ${ADSH_DIR_BIN}adshfile -s step -n del -a del $2
0006 :   ${ADSH_DIR_CMD}cp $1 $2
0007 :   echo -E "<<< $2 >>>" >&2
0008 :   ${ADSH_DIR_CMD}cat $2 >&2
0009 : }
0010 :
0011 : #-adsh_step_start STEP001
0012 :
0013 : for CNT in 1 2 3 4
0014 : do
0015 :   echo -E "dddd$CNT" >infile$CNT
0016 :   myfunc infile$CNT outfile$CNT
0017 : done
0018 :
0019 : #-adsh_step_end
0020 :
0021 : echo -E "JOB_FUNCTION_END" >&2

***** パス変換情報 *****

********   実行ジョブのSTDERRファイルの内容    ********
KNAX6597-I FUNCTION.STEP001 ジョブステップが正常終了しました。rc=0 E-Time=0.040s C-Time=0.030s
JOB_FUNCTION_END
KNAX0098-I FUNCTION ジョブが終了しました。rc=0 E-Time=0.041s C-Time=0.030s

******** ジョブステップの出力 ********
KNAX0719-I STEP ステップ番号=0001 ステップ名=STEP001 出力先=STDERR
<<< outfile1 >>>
dddd1
<<< outfile2 >>>
dddd2
<<< outfile3 >>>
dddd3
<<< outfile4 >>>
dddd4

KNAX6380-I ルートジョブのスプールジョブディレクトリにジョブ名を付加します。spool job directory="/var/opt/jp1as/spool/000055-FUNCTION/"
KNAX7999-I ルートジョブのジョブコントローラがバッチジョブを終了しました。rc=0