戻りコードとユーザー、システム、および RTS の ABEND 処理

ジョブ ステップでユーザー、システム、または RTS の異常終了が発生した場合、MFBSIJCL は、ユーザー、システム、または RTS のステータス コードの 10 進値をデフォルトで返します。この値が 199 よりも大きい場合、MFBSIJCL はスケジューラに最終戻りコード 16 を返します。それ以外の場合は、戻りコードはステータス コードに対応します。例えば、戻りコードが 12 のユーザー異常終了は、コード 12 を返します。

ただし、USR、SYS、または RTS 異常終了は、指定された戻りコードをスケジューラに返すことができます。MFBSI 構成ファイルでは、このような場合に OS 戻りコードを強制的にスケジューラに返すように SYS-ABEND-RCUSR-ABEND-RC、および RTS-ABEND-RC パラメーターを設定できます。

注: これらのパラメーターは、MFBSIJCL のコマンド ラインでは設定できません。構成ファイルで設定する必要があります。

MFBSIJCL から返される特定の OS コードをいくつか次の表に示します。

戻りコード 説明
200-250

これらの値は MFBSIJCL で使用するために予約されています。

未設定の MFBSI_DIR、不明なパラメーター、欠如しているパラメーター、ジョブ サブミッション (CASSUB/CASOUT) 中のエラーなど、MFBSIJCL に固有のエラーを示します。

各戻りコードの説明については、MFBSIJCL によって発行されている特定の戻りコードに関するトピックを参照してください。

208 JES/JCL エラーが検出されました。
209 ジョブのサブミッションに失敗しました (JobLog の出力を参照)。
211 ジョブ終了時に数値 RC が返されませんでした。
0-16 Enterprise Server/MSS JCL (ジョブ実行) によって返された通常のエラー コード。
0 ジョブ実行に成功しました。
16 ジョブ実行に失敗しました。

MFBSI に固有の戻りコードの全リストを確認するには、Enterprise Developer コマンド プロンプト (Windows) または $COBDIR が設定された UNIX コマンド シェルから、次のいずれかのコマンドを実行します。

mfbsijcl /rc
mfbsijcl -h
mfbsijcl -help
mfbsijcl -?
注: パラメーターは大文字と小文字が区別されず、/ または - を使用して指定できます。

MFBSIJCL によって、SJobId.LogJOB#####.log 内で、または STDOUT を使用して書き込まれるジョブ ログでは、JCLSI メッセージが追加の情報を提供します。次に例を示します。

JCLSI0013E JOB????? => Rc:213 Configuration parameter unknown in MFBSI.cfg
JCLSI0014E JOB????? Parameter: ES_Server=-rES
JCLSI0077I JOB Ended with OS RC=0213. 13:12:59
JCLSI0028E JOB????? => Rc:243 In MFBSI_DIR,"regionName.Started" not found.
JCLSI0077I JOB Ended with OS RC=0243. 14:09:33
JCLSI0050I JOB01039 IEFBR14 JOB Concluded. (SYS=00002054 Reason=00000000 )[Job abended] 14:12:38

ここで、SYS 2054 (10 進) は x'806' (プログラムが見つからない) です。システムが異常終了します。

JCLSI0050I JOB01209 MFJCLRC JOB Concluded.  (RTS=00000173 Reason=00000000 ) [Job abended]    12:33:38 	

ここで、RTS 173 は、呼び出し先のプログラムが見つからないことを示しています。

これらのメッセージの目的は、必要に応じて追加のスケジューラ エラー処理を可能にすることです。

注:

  • JCL 戻りコードの 10 進値が 254 よりも大きい場合、この値は 16 に変換されてスケジューラに返されます。JCL 戻りコードが 200 ~ 254 (MFBSIJCL で使用するために予約されている) の範囲内の場合も同様です。
  • mfbsi.cfgSYS-ABEND-RCUSR-ABEND-RC、および RTS-ABEND-RC を設定して、このようなエラーをスケジューラから簡単に特定できるようにすることをお奨めします。次に例を示します。
    SYS-ABEND-RC=21
    USR-ABEND-RC=22
    RTS-ABEND-RC=23