一部の年末ジョブで使用される月末締め (前月) の会計データを使用して、月の最初の就業日にジョブを実行する必要があります。オペレーターの介入なしで毎月同じジョブを実行し、データセット名に締め月と年を含めて、データセットが作成された締め切り期間を簡単に識別できるようにしたいと考えています。現在、このタスクを達成するために 8 つの個別のジョブを実行しています。具体的な JCL サンプルを提供してください。
2 に答える
このタスクを実行するために8つの別々のジョブを実行している理由は明らかではありませんが、各ジョブは何をしますか?
特定の時間にジョブを実行するためにスケジューラーを使用していますか?
EZACFSM1を使用して、システムシンボリックパラメーターを使用して、データセット名に日付/時刻情報を追加できます。
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA1E241 / 2.2.2
これに対する最善の解決策は、ジョブ スケジューラの機能を使用することです。そうは言っても...
以下は、EZACFSM1 の最新のリファレンスです。OS/390 2.10 は、10 年以上最新のものではありません。
ただし、このユーティリティを使用して、名前に日付/時刻情報を含むデータセットを作成することはできません。EZACFSM1 は、単に SYSIN から読み取り、SYSOUT に書き込み、読み取ったシステム シンボルを解釈します。
EZACFSM1 を使用して IDCAMS のALTERステートメントを作成し、静的に名前が付けられたデータセット (年と月を含まないデータセット) をそれらの属性を持つデータセットに名前変更することができます。追加の 2 つの手順と注意事項が必要です。
//CATLG EXEC PGM=IEFBR14
//DD01 DD DISP=(NEW,CATLG),
// DSN=STUFF,
// AVGREC=U,
// LRECL=80,
// RECFM=FB,
// SPACE=(80,(1000,100))
//*
//MKALTER EXEC PGM=EZACFSM1
//SYSOUT DD DISP=(NEW,PASS),
// AVGREC=U,
// LRECL=80,
// RECFM=FB,
// SPACE=(80,(1000,100))
//SYSIN DD *
ALTER STUFF NEWNAME(STUFF.Y&YR4&MON)
//*
//RENAME EXEC PGM=IDCAMS
//SYSIN DD DISP=(OLD,PASS),DSN=*.MKALTER.SYSOUT
//SYSPRINT DD SYSOUT=*
//*
警告は、ジョブのスケジューリングに関係しています。あなたの仕事が月末に遅れるとします。入力キューに長時間留まると、翌月の最初の日に実行され、ALTER が正しくなくなります。