従来、SPIN属性をもつSYSOUTデータセットに対して、オペレーター・コマンド、時刻や時間間隔、出力ライン数をトリガーにしたSPIN処理を行うことで、該当データセットがクローズ、アンアロケーションされ、例えば長時間稼働するジョブの終了を待たずとも次工程の処理が可能になります。
その場合、SPIN対象のSYSOUTデータセット(セグメント)最下部には、SPIN処理のトリガーに応じて2種類のメッセージ(日付スタンプ、$HASP138)が、ユーザー・データとは別に記録(付加)されます。
【z/OS V2R5の事例】
※付加メッセージは、対象SYSOUTデータセットのDCB属性(RECFM、LRECL)とは無関係に、常に同じスタイルで記録されるため、SPIN後のSYSOUTデータセットをプログラムで処理する際、「$HASP138メッセージ長が、データセットのレコード長を超えている」などのエラー発生に至る可能性あり
【SPIN属性の有無によるオペレーター・コマンド実行結果】(z/OS V2R5)
①SPIN属性をもつHSFLOG(SDSF)に対してオペレーター・コマンド実行
②SPIN属性をもたないJESYSMSG(SDSF)に対してオペレーター・コマンド実行(JESLOG=NOSPIN)
【機能変更点】
■JES2 APAR OA64919(対象: z/OS V2R4、V2R5) ※z/OS 3.1は標準機能
■SPIN時にSYSOUTデータセット(セグメント)最下部に記録される2種類のメッセージ(日付スタンプ、$HASP138)は、条件に応じて記録有無や記録方法が異なります。
※RECFM=VBの場合は、SYSOUTデータセットの「LRECL-4」が比較対象
【考慮事項】
■最下部に付加される2種類のメッセージ(日付スタンプ、$HASP138)は、対象SYSOUTデータセットのLRECLに応じて、常に付加されるとは限らず、また、付加される場合でも、常に「2行」とは限りません。
■出力ライン数(N)をトリガーにしたSPIN処理を行う場合、従来と異なり、必ずしも「N+2」のライン数(レコード・カウント)が得られるとは限りません。
■SPIN後のSYSOUTデータセット(セグメント)から付加情報を削除するような運用がある場合、手順変更の有無を吟味する必要があります。
■JCL JOBステートメントの「JESLOG=(SPIN,条件指定)」パラメータでは、JOBLOG内のJESMSGLG/JESYSMSGに対するSPIN処理を制御しますが、もともと、$HASP138メッセージ全体が入りきるLRECLのため、APAR OA64919による影響を受けません。
【機能変更に伴う挙動比較】(RECFM=FBの場合)
■SPIN=(UNALLOC,500)パラメータ指定の事例
以上