拡張子“.bat”を使用する

A-AUTOでは、ジョブが正常終了したかどうかの判断にマックスリターンコード(MAX-RC)を使用します。
A-AUTOでは実行したジョブのexitコードが、マックスリターンコードに指定した値以上である場合、異常終了とみなします。
このとき、exitコマンドを使用せずにバッチジョブを終了させると、バッチジョブの終了コードが不定となり、マックスリターンコードによる制御が正しく行えなくなります。
このため、A-AUTOで実行するバッチジョブは、必ずexitコマンドを使用して終了させる必要があります。
なお、exitコマンドに渡す終了コードは、直接値を設定せず、 %ERRORLEVEL%や、バッチ内変数等で処理の終了状況が取得出来るように設定してください。

    バッチファイルサンプル

    @echo off
    rem @@@ A-AUTO FinalSchedule Utility
    set autofiles=C:bspauwfiles
    set autoutil=C:bspauwbin
    cd %autofiles%
    rmdir %autofiles%fin_temp
    rmdir %autofiles%fin_temp2
    schexrt -mf -ffin_def -wfin_temp -dautodate
    auwninf -mf -wfin_temp -rfin_temp2
    auwfin -mr -rfin_temp2
    esvdel -k 7
    crtaja -rfin_temp2
    exit %errorlevel%

exit使用上の注意点

  1. exit /b オプションを使用すると、終了コードを正当に認識できないため、使用しないでください。
  2. exitで引き渡す終了コードの値は0~255 が使用可能です。
  3. 256以上の値を返却する場合は、exitの代わりにA-AUTOで用意しているユーティリティaexitを使用して終了コードを指定してください。
    ※aexitでは0~255以外の値を指定した場合、255を返す仕様としています
      なお、aexitは終了コードを設定するもので、ジョブを終了するものではありません。
      ジョブを終了するには、exitを使用してください。
    aexit使用例

    @echo off

    echo “TESTJOB.BAT STARTED”

    rem お客様アプリケーション
    c:bspautotestapp.exe
    if errorlevel 1 goto ABEND
    if errorlevel 0 goto NORMAL

    :ABEND
    echo “TESTJOB.BAT ABENDED”
    aexit 99

    GOTO DONE

    :NORMAL
    echo “TESTJOB.BAT NORMAL ENDED”
    aexit 0

    :DONE
    exit

【exitコードとマックスリターンコードで指定できる値の違い】

A-AUTOのネットワークマスタ上、ジョブ毎に設定できるマックスリターンコードの値は、0~127であり、128~255の範囲でのエラーハンドリングは行えません。