PROCLIB(xxxxxxxx) 初期設定ステートメントの変更
動的 PROCLIB 定義を変更するには、いくつかの方法があります。
以下に、3 つの役立つ方法を説明します。
例 1:
$T PROCLIB(PROC01),DD(1)=...,DD(2)=... /* change production PROC dynamically without a restart */
このような定義ではエラーが発生しやすいことに常に注意してください。もちろん、$T コマンドは繰り返し使用できます。
PROCLIB が大きい場合は、コマンド長の制限 (コンソールの場合 120 文字、カード読取装置の場合 70 文字) によって、1 つの $T コマンドで記述しきれない場合があるため、複数を使用します。
Example 2:
1. $ADD PROCLIB(TEMP01),DD(1)=... /* copy and add PROC, but do not use */
2. $T PROCLIB(TEMP01),DD(2)=... /* change definitions as required, still do not use */
3. Test and update TEMP01 as required /* test until correct */
4. $T PROCLIB(TEMP01),NAME=PROC01 /* change NAME= to production name to override current PROC */
DD ステートメントに正確な添え字を記述すると、エラーが発生しやすくなる場合があります。 連結を作成している場合には、これより簡単な方法があります。次の例は、JES2 が連結内でヌルの DD を圧縮することを利用しています。 データ・セット B、C、および D では、すべて DD に大きな添え字 (99) が指定されていますが、 JES2 がこれを次に使用可能な (最も小さい) 添え字に圧縮することに注目してください。JES2 は、これらの添え字の番号を、 それぞれ 2、3、および 4 に変更しています。この例では、オペレーター・コマンドが使用されていますが、 初期設定ステートメントのコーディングでも同じ手法を使用できます。
例 3:
1. $ADD PROCLIB(TEMP01),DD(1)=DSN=A... /* Create new PROCLIB concatenation or copy an old one */
2. $T PROCLIB(TEMP01),DD(99)=DSN=B... /* but always add to DD number 99. Because JES2 compresses */
3. $T PROCLIB(TEMP01),DD(99)=DSN=C... /* null DDs, each $T adds to the end of the concatenation */
4. $T PROCLIB(TEMP01),DD(99)=DSN=D... /* (assuming less than 99 DDs) */
5. $D PROCLIB(TEMP01)
$HASP319 PROCLIB(TEMP01) DD(1)=DSN=A...
$HASP319 DD(2)=DSN=B...
$HASP319 DD(3)=DSN=C...
$HASP319 DD(4)=DSN=D...
6. Test and update TEMP01 as required /* test until correct */
7. $T PROCLIB(TEMP01),NAME=PROC01 /* change NAME= to production name to override current PROC */
$T PROCLIB(xxxxxxxx) の構文とパラメーター定義の詳細については、「z/OS JES2 コマンド」を参照してください。