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 コマンド」を参照してください。