File Manager バッチ戻りコードのカスタマイズ
File Manager には、File Manager バッチ・ユーティリティーによって返される戻りコードの値を制御するための機能が用意されています。ご使用の環境に適した (例えば、ご使用のジョブ制御環境に適した) 値に戻りコードを設定することができます。必要に応じていつでも戻りコードを変更することはできません。これらは、インストール環境全体に設定されます。
- データ・セット・コピー (DSC)
- データ・セット生成 (DSG)
- データ・セット比較 (DSM)
- データ・セット印刷 (DSP)
- データ・セット更新 (DSU: DSEB を含む)
- VTOC 表示 (DVT)
- 検索/変更 (FCH)
マクロ・ステートメント・サンプル・メンバー FMN0RETC、および usermod FMNUMODR を使用して バッチ・ユーティリティー戻りコードをカスタマイズし、ロード・モジュール FMN0RETC を作成します。FMN.SFMNSAM1 の FMN0RETC は、ユーティリティーごとにカスタマイズ可能な条件、また それらの条件におけるデフォルト戻りコードを示しています。
初期化の間に File Manager は FMN0RETC のロードを試みますが、モジュールが見つかった場合、その内容は、カスタマイズされた条件戻りコードのテーブルを作成するために使用されます。FMN0RETC が見つからない場合は、すべてのカスタマイズ可能条件がそのデフォルト戻りコードを返します。
戻りコードをカスタマイズするには、以下のようにします。
- メンバー FMN0RETC を FMN.SFMNSAM1 からユーザー所有のソース・ライブラリーにコピーします。
- 必要に応じて、ユーザー所有のライブラリーで FMN0RETC メンバーを変更します。FMN0RETC の必要条件に対する数値を、この必要条件に出させたい戻りコード値に変更します。ただし、どの条件も値 16 に変更することはできません。値 16 は、File Manager によって使用されるために予約済みです。 FMN0RETC で提供されているデフォルトの File Manager マクロ・ステートメント に、FMN0RETC マクロ・ステートメントのデフォルトの設定を示します。
- FMNUMOD にある FMN.SFMNSAM1R メンバーを、サイトの要件に応じて変更します。必要になる可能性のある変更については、usermodを参照してください
- SMP/E usermod FMNUMODR をインストールします。
FMN0RETC TITLE 'File Manager for z/OS® : Return Codes (Batch Utilities)'
FMN0RETC CSECT
FMN0RETC AMODE 31
FMN0RETC RMODE ANY
FMN0RETI FUNC=DSC, DSC conditions X
NORECSSOME=1, No records copied for some members X
NORECSANY=2, No records copied for any members X
NONESEL=4, No records selected to copy X
NOMEMBERS=4, No members to process X
EMPTY=4, Empty input data set X
SKIPPED=4, Input packed, so skipped X
NOREPLACE=4, NOREPLACE prevented copy X
NOCPYDUPE=2, No copy - duplicate X
NOCPYREXX=2, No copy - REXX X
RECTRC=0, Records truncated X
FLDTRC=0, Fields truncated X
RECSHORT=8, DSC external form output truncated X
REXXCONFLICT=3 REXX return message conflict
FMN0RETI FUNC=DSG, DSG conditions X
NORECSOUT=4 Zero records specified
FMN0RETI FUNC=DSM, DSM conditions X
NOTMATCH=1, Compare sets not empty & don't match X
ONEEMPTY=2, One compare set empty X
SKIPPED=4, Input packed, so skipped X
BOTHEMPTY=4, Both compare sets empty X
INVMAP=4, Invalid mapping X
INVDATA=8 Invalid data X
SYNCERR=8 Key Synchronization error
FMN0RETI FUNC=DSP, DSP conditions X
MBRERR=1, Some members not printed X
PRTERR=2, Print error encountered X
NONESEL=4, No records selected to print X
NOMEMBERS=4, No members to process X
SKIPPED=4, Input packed, so skipped X
EMPTY=4, Empty input data set X
NOPRTREXX=2, No print - REXX X
REXXCONFLICT=3 REXX return message conflict
FMN0RETI FUNC=DSU, DSU conditions X
MBRNOTUPDT=1, Some members not updated X
NOCHANGE=2, Change failed X
NONEUPDATED=4, No records updated X
NOMEMBERS=4, No members to process X
SKIPPED=4, Input packed, so skipped X
EMPTY=4 Empty input data set
FMN0RETI FUNC=DVT, DVT conditions X
NOENTRY=4 No matching entries
FMN0RETI FUNC=FCH, FCH conditions X
FSOME=1, Some OK, some not OK X
CFAIL=2, Change failed X
NOHIT=4, No strings found to change X
NOMEMBERS=4, No members to process X
SKIPPED=4, Input packed, so skipped X
LOWSTOR=12, Ran low on storage during FCH X
EMPTY=4 Empty input data set
FMN0RETI END
END FMN0RETC
バッチ・ユーティリティーからの戻りコードは、カスタマイズされているかどうかにかかわらず、ユーティリティーの実行中に発生したすべての条件に対する最高位の戻りコードとなります。例えば、DSC ユーティリティーの「No members to process」に対する戻りコードを 4 から 9 に変更したと仮定します。この場合、単独では戻りコードが 8 (通常はエラー) になる条件が発生し、「No members to process」条件も発生すると、DSC ユーティリティーの戻りコードは 9 になります。
複数のユーティリティーを実行しているバッチ・ジョブからの戻りコードは、カスタマイズされているかどうかにかかわらず、引き続き各ユーティリティーから戻される最大のコードになります。例外として、ユーティリティーのいずれかに終了条件が発生した場合は、ジョブ・ステップは戻りコード 16 で終了します。
- いくつかの条件を 1 つの関数で並行して存在させることができます。例えば、空のファイルにテンプレートを持つ DSP を使用すると、結果は「empty input data set」条件と「no records selected to print」条件の両方になります。戻りコードをカスタマイズする場合、もう片方の条件に対するより高位の戻りコードがその戻りコードをオーバーライドする場合や、その戻りコードによってオーバーライドされる場合があるので注意してください。ある関数に対する戻りコードを 1 つカスタマイズする場合は、その関数の他の戻りコードとの互換性を検討します。
- バッチでは、後続のステップまたはジョブが実行されないようにするために、オリジナルまたはカスタマイズした非ゼロの戻りコードで終了するのではなく、File Manager が異常終了するようにしたい場合があります。これは、ABENDCC インストール・オプションを使って、戻りコードより小さいか等しい値を指定することで行います。この指定によって、異常終了 (異常終了 999、理由コード = 888 (16 進: 378)) に変換されることになります。詳しくは、ABENDCCを参照してください。また、「File Manager User’s Guide and Reference」の『SET (処理オプションの設定)』で説明されている SET コマンドの ABENDCC オプションも参照してください。