5.9.1 通常ファイルの割り当ておよび後処理をする
#-adsh_fileコマンド(スクリプト拡張コマンド)またはadshfileコマンド(シェル運用コマンド)を使用して,次の作業を実施します。
-
該当するジョブステップまたはジョブの結果によって,割り当てたファイルの後処理をします。
-
#-adsh_fileコマンドの場合は,ジョブ,ジョブステップ,およびこれらから起動するコマンドで使用する通常ファイルについて,ファイルパスをシェル変数および環境変数に割り当てます。
#-adsh_fileコマンドとadshfileコマンドの機能差異を次の表に示します。#-adsh_fileコマンドについては「#-adsh_fileコマンド(通常ファイルの割り当ておよび後処理を指定する)」を参照してください。adshfileコマンドについては「adshfileコマンド(通常ファイルの割り当ておよび後処理を指定する)」を参照してください。
機能 |
#-adsh_fileコマンド |
adshfileコマンド |
---|---|---|
環境変数へのファイルパス設定 |
○ |
× |
ファイルの後処理のタイミング |
|
ジョブ終了時またはステップ終了時を指定 |
.コマンドで記述する外部スクリプトでの記述可否 |
× |
○ |
繰り返し処理内での記述可否 |
× |
○ |
関数内での記述可否 |
× |
○ |
ファイル割り当て処理中にエラーとなった場合の割り当て済み通常ファイルの後処理 |
keepを仮定し,ファイルを削除しません。 詳細については「5.9.1(2)(a) #-adsh_fileコマンドの場合」を参照してください。 |
引数-aの指定に従います。 詳細については「5.9.1(2)(b) 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に割り当てる場合の使用例を次に示します。
-
Windowsの場合
#-adsh_file FILE 'C:\home\test\test1' -chk exist -normal keep -abnormal keep
-
UNIXの場合
#-adsh_file FILE /home/test/test1 -chk exist -normal keep -abnormal keep
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の指定に従って後処理をします。指定値ごとの通常ファイルの後処理について次に示します。
-
delを指定した場合,ジョブステップまたはジョブの終了時に通常ファイルを削除します。
-
keepを指定した場合,ジョブステップまたはジョブの終了時に通常ファイルを削除しません。
ジョブステップまたはジョブがエラー終了した場合,#-adsh_fileコマンドの-abnormalまたはadshfileコマンドの-aの指定に従って後処理をします。指定値ごとの通常ファイルの後処理について次に示します。
-
delを指定した場合,ジョブステップまたはジョブの終了時に通常ファイルを削除します。
-
keepを指定した場合,ジョブステップまたはジョブの終了時に通常ファイルを削除しません。
#-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オプションに従う |
通常ファイルの割り当てではファイルの実体を作成しないため,後処理をするときに存在しないファイルは存在しない状態のままになります。
(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コマンドを繰り返し処理内に指定する例を次に示します。
[user001@HOST01 ~]$ adshexec Tloop.ash KNAX7901-I adshexec waits for all asynchronous processes at the end of the job. KNAX0724-I Jobid was assigned. Jobid=015820 --------------------------------------------------------------- JP1/Advanced Shell 10-10 [Information] Jobid : 015820 Spool Directory : /var/opt/jp1as/spool/015820/ Date : 2013/03/06 Config-system : Config-job : HostName : HOST01 [JP1 Parameter] --------------------------------------------------------------- ******** JP1/Advanced Shell MESSAGE ******** 09:28:05 015820 KNAX0091-I LOOP Job started. 09:28:05 015820 KNAX7901-I adshexec waits for all asynchronous processes at the end of the job. 09:28:05 015820 KNAX7902-I adshexec will run in tty stdin mode. 09:28:05 015820 KNAX6112-I Command echo(line=3) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /bin/ls(line=4) succeeded. rc=0 E-Time=0.002s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=8) succeeded. rc=0 E-Time=0.002s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=9) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:05 015820 KNAX6112-I Command echo(line=10) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX6112-I Command echo(line=11) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /bin/cat(line=12) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=8) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=9) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:05 015820 KNAX6112-I Command echo(line=10) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX6112-I Command echo(line=11) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /bin/cat(line=12) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=8) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=9) succeeded. rc=0 E-Time=0.001s C-Time=0.010s 09:28:05 015820 KNAX6112-I Command echo(line=10) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX6112-I Command echo(line=11) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX6116-I Command /bin/cat(line=12) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:05 015820 KNAX1890-I File is deallocated as "keep". path=/home/user001/test.txt 09:28:05 015820 KNAX1890-I File is deallocated as "del". path=/home/user001/output_test.txt 09:28:05 015820 KNAX1604-I /home/user001/output_test.txt is deleted. 09:28:05 015820 KNAX1890-I File is deallocated as "keep". path=/home/user001/test01.txt 09:28:05 015820 KNAX1890-I File is deallocated as "del". path=/home/user001/output_test01.txt 09:28:05 015820 KNAX1604-I /home/user001/output_test01.txt is deleted. 09:28:05 015820 KNAX1890-I File is deallocated as "keep". path=/home/user001/test02.txt 09:28:05 015820 KNAX1890-I File is deallocated as "del". path=/home/user001/output_test02.txt 09:28:05 015820 KNAX1604-I /home/user001/output_test02.txt is deleted. 09:28:05 015820 KNAX0098-I LOOP Job ended. rc=0 E-Time=0.028s C-Time=0.020s ******** Script IMAGE ******** ***** /home/user001/Tloop.ash ***** 0001 : #-adsh_job LOOP 0002 : 0003 : echo -E "<<< list >>>" >&2 0004 : 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 : cat output_$MEMBER >&2 0013 : done 0014 : ***** CONVERSION INFORMATION ***** ******** JOB SCOPE 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 Job ended. rc=0 E-Time=0.028s C-Time=0.020s ******** JOBSTEP OUTPUT ******** KNAX6380-I Job name will be added to spool job directory. spool job directory="/var/opt/jp1as/spool/015820-LOOP/" KNAX7999-I JP1/Advanced Shell ended. rc=0 [user001@HOST01 ~]$
(4) adshfileコマンドの指定例(関数内に指定した場合)
UNIXでadshfileコマンドを関数内に指定する例を次に示します。
[user001@HOST01 ~]$ adshexec Tloop.ashls test*./test*adshexec Tloop.ashfunction.ash KNAX7901-I adshexec waits for all asynchronous processes at the end of the job. KNAX0724-I Jobid was assigned. Jobid=015821 --------------------------------------------------------------- JP1/Advanced Shell 10-10 [Information] Jobid : 015821 Spool Directory : /var/opt/jp1as/spool/015821/ Date : 2013/03/06 Config-system : Config-job : HostName : HOST01 [JP1 Parameter] --------------------------------------------------------------- ******** JP1/Advanced Shell MESSAGE ******** 09:28:09 015821 KNAX0091-I FUNCTION Job started. 09:28:09 015821 KNAX7901-I adshexec waits for all asynchronous processes at the end of the job. 09:28:09 015821 KNAX7902-I adshexec will run in tty stdin mode. 09:28:09 015821 KNAX0092-I FUNCTION.STEP001 Step started. 09:28:09 015821 KNAX6112-I Command echo(line=15) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=4) succeeded. rc=0 E-Time=0.002s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=5) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /bin/cp(line=6) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6112-I Command echo(line=7) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /bin/cat(line=8) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6112-I Command echo(line=15) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=4) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=5) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /bin/cp(line=6) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6112-I Command echo(line=7) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /bin/cat(line=8) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6112-I Command echo(line=15) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=4) succeeded. rc=0 E-Time=0.001s C-Time=0.010s 09:28:09 015821 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=5) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /bin/cp(line=6) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6112-I Command echo(line=7) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /bin/cat(line=8) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6112-I Command echo(line=15) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=4) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /opt/jp1as/bin/adshfile(line=5) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /bin/cp(line=6) succeeded. rc=0 E-Time=0.001s C-Time=0.000s 09:28:09 015821 KNAX6112-I Command echo(line=7) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX6116-I Command /bin/cat(line=8) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX1890-I File is deallocated as "del". path=/home/user001/infile1 09:28:09 015821 KNAX1604-I /home/user001/infile1 is deleted. 09:28:09 015821 KNAX1890-I File is deallocated as "del". path=/home/user001/outfile1 09:28:09 015821 KNAX1604-I /home/user001/outfile1 is deleted. 09:28:09 015821 KNAX1890-I File is deallocated as "del". path=/home/user001/infile2 09:28:09 015821 KNAX1604-I /home/user001/infile2 is deleted. 09:28:09 015821 KNAX1890-I File is deallocated as "del". path=/home/user001/outfile2 09:28:09 015821 KNAX1604-I /home/user001/outfile2 is deleted. 09:28:09 015821 KNAX1890-I File is deallocated as "del". path=/home/user001/infile3 09:28:09 015821 KNAX1604-I /home/user001/infile3 is deleted. 09:28:09 015821 KNAX1890-I File is deallocated as "del". path=/home/user001/outfile3 09:28:09 015821 KNAX1604-I /home/user001/outfile3 is deleted. 09:28:09 015821 KNAX1890-I File is deallocated as "del". path=/home/user001/infile4 09:28:09 015821 KNAX1604-I /home/user001/infile4 is deleted. 09:28:09 015821 KNAX1890-I File is deallocated as "del". path=/home/user001/outfile4 09:28:09 015821 KNAX1604-I /home/user001/outfile4 is deleted. 09:28:09 015821 KNAX6597-I FUNCTION.STEP001 Step succeeded. rc=0 E-Time=0.037s C-Time=0.020s 09:28:09 015821 KNAX6112-I Command echo(line=21) succeeded. rc=0 E-Time=0.000s C-Time=0.000s 09:28:09 015821 KNAX0098-I FUNCTION Job ended. rc=0 E-Time=0.039s C-Time=0.020s ******** Script IMAGE ******** ***** /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 ***** CONVERSION INFORMATION ***** ******** JOB SCOPE STDERR ******** KNAX6597-I FUNCTION.STEP001 Step succeeded. rc=0 E-Time=0.037s C-Time=0.020s JOB_FUNCTION_END KNAX0098-I FUNCTION Job ended. rc=0 E-Time=0.039s C-Time=0.020s ******** JOBSTEP OUTPUT ******** KNAX0719-I STEP 0001,STEP001,STDERR <<< outfile1 >>> dddd1 <<< outfile2 >>> dddd2 <<< outfile3 >>> dddd3 <<< outfile4 >>> dddd4 KNAX6380-I Job name will be added to spool job directory. spool job directory="/var/opt/jp1as/spool/015821-FUNCTION/" KNAX7999-I JP1/Advanced Shell ended. rc=0 [user001@HOST01 ~]$