従来、JES2では、サブミットされたJCL JOB、JOBGROUPステートメント情報の更新、削除、追加、あるいはジョブのキャンセル、パージなど、入力処理のカスタマイズを行う目的で導入出口(Exit 2、Exit 52)が使用可能です。
JES2 Exit 2、Exit 52の活動化有無は、$DEXITコマンドにて確認可能です。
【z/OS V2R4の新機能】
■保守容易性の向上を目指し、JES2導入出口の代替として、「JES2ポリシー」機能によるカスタマイズが可能となりました。
※JES2ポリシー機能は、「z22」チェックポイント・モード稼働時のみ使用可能
※ポリシー定義は「JSONオブジェクト」として、可読、編集可能な形でPDSメンバー、zFSファイル・システムに保管
※既存のJES2導入出口に含まれるカスタマイズ内容を、ポリシー定義に100%移植可能とは限りません
■z/OS V2R5、または、JES2 APAR OA58190(z/OS V2R4)では、ポリシー定義が「MASワード・スコープ」に変更され、$POLICY IMPORTコマンドを通じて「チェックポイント」内に保管されます。
※ポリシー定義の保管場所として、CKPT1/CKPT2両方に空きスペースがある場合に限り、「構成ディレクトリー」(Configuration Directory)を作成
【z/OS 3.1の変更点】
■z/OS 3.1では、新しいポリシー・タイプとして「JobCreate」がサポートされ、JES2のジョブ・キュー追加前のタイミングで、例えばジョブ名の変更などが可能となります。
※z/OS 3.1時点では、次のような「5種類」の「ポリシー・タイプ」をサポート
■「JobCreate」新ポリシーのサポートに伴い、Exit 2、Exit 52の呼び出しタイミングは、読み込まれたジョブのJES2ジョブ・キュー追加前に変更されました。
※JCL JOB、JOBGROUPステートメントの処理が終わるまで、ジョブ構造が未作成
※JES2 Exit 2、Exit 52で使用可能なジョブ関連の制御ブロックには、例えば「JOBID」が存在しないなど、本来のジョブ関連情報が不完全
【新ポリシーのサポートに伴う考慮事項】
■z/OS 3.1では、JES2 Exit2、Exit 52を使用してジョブ関連の制御ブロックにアクセスする際、JQE、JCT制御ブロックの下記フィールドには、意図した情報が含まれなくなりました。
※上記フィールドは、Exitパラメータ・リスト($XPL)に含まれる、X002JQE/X052JQEフィールド、X002JCT/X052JCTフィールドからポイント
※JES2ジョブ・キューに追加される前の「プロトタイプ・ジョブ」を示すため、上記フィールドは「バイナリー・ゼロ」
※最後の「JCTJOBID」フィールドは、z/OS 3.1 Upgrade Workflow V3(APAR OA66928: 2024年11月版)には未反映
■本来のジョブ関連情報が反映済の上記フィールドを扱うには、JES2ジョブ・キューへの追加後に制御を受ける、Exit 3、Exit 53(JOB/JOBGROUP statement accounting field scan)の代替使用を検討ください。
■詳細情報は、下記のサイトを参照ください。(z/OS 3.1 Upgrade Workflow V2)
https://www.ibm.com/docs/en/zos/3.1.0?topic=SSLTBW_3.1.0/com.ibm.zos.v3r1.e0zm100/Export_zOS_V2R4_to_V3R1_Upgrade_Workflow.htm
zOS 3.1 Upgrade Workflow from zOS V2R4 - APAR OA65089
Description :zOS 3.1 Upgrade Workflow from zOS V2R4(Last Updated: 2024-05-22)
Step 5.8.2 : JES2: Investigate and correct the usage of job control blocks in exits 2 and 52
【JCTJOBIDフィールド使用時の注意点】
■z/OS 3.1では、JES2 Exit 2、Exit 52の呼び出しタイングで「JOBID」が未アサインのため、「JOBID」を基にジョブの種類(バッチ、TSU、STC)を判別できなくなりました。
■代替策として、JCT制御ブロック内の「JCTJOBFL」(ジョブ・フラグ)フィールドを利用することが可能です。
■バッチ・ジョブかどうかの検査例(JCT制御ブロック)
以上