動的ファイル割り当てサービス

次の表に、本 COBOL システムでサポートしている LE 動的ファイル割り当てサービスを示します。

ルーチン 説明 サポート状態
PUTENV 欠落した DD を動的に割り当てます あり
SETENV 欠落した DD を動的に割り当てます あり

COBOL 構文

CALL “PUTENV” USING
              BY VALUE ADDRESS OF PUTENV-PARMS
              RETURNING RC
END-CALL

PL/I 構文

DCL PUTENV ENTRY(POINTER VALUE) OPTIONS(COBOL FETCHABLE) 
           RETURNS(FIXED BIN(31));
RC = PUTENV(ADDR(PUTENV_PARMS));

ここで、PUTENV-PARMS は NULL で区切られた文字列または構造体、RC はフルワードのバイナリ変数です。

使用法

PUTENV-PARMS の内容は、DDNAME を除き、通常は TSO ALLOCATE コマンド パラメーターの構文に従います。DSN 指定のかっこの間に埋め込みのスペースを含めてはならないことに注意してください。DD 名の値は、単一のジョブ ステップのコンテキスト内で一意である必要があります。そのため、PUTENV の複数の呼び出しで同じ DD 名を再利用することはできません。

例 1
 DDNAME1=DSN(MFI01.DYNALLOC.DATASET1) MOD CATALOG

これにより、デフォルトの DCB 属性を使用して、順編成データセットが DD 名「DDNAME1」に割り当てられます。データセットがすでに存在する場合は、既存の属性が保持されます。

例 2
DDNAME2=DSN(MFI01.DYNALLOC.DATASET2) NEW RECFM(VB) LRECL(133) CATALOG

これにより、指定したレコード形式とレコード長を使用して、新しい順編成データセットが DD 名「DDNAME2」に割り当てられます。データセットがすでに存在する場合は、ゼロ以外の RC 値が返されます。

例 3
DDNAME3=DSN(MFI01.DYNALLOC.DATASET3) NEW DSORG(PO) RECFM(FB) LRECL(80) CATALOG

これにより、指定した DCB 値を使用して、新しい PDS データセットが DD 名「DDNAME3」に割り当てられます。

例 4
DDNAME4=DSN(MFI01.DYNALLOC.DATASET4) SHR

これにより、既存のデータセットが DD 名「DDNAME4」に割り当てられます。データセットがまだ存在しない場合は、ゼロ以外の RC 値が返されます。

注:
  • オプションのパラメーター (SHR、NEW、OLD、LRECL、DSORG など) は、TSO ALLOCATE コマンドと同じレベルでサポートされます。
  • TSO ALLOCATE コマンドとの互換性がないパラメーター付きで PUTENV または SETENV を使用した場合、その呼び出しは拒否され、戻りコードがゼロ以外の値に設定されます。
  • エントリ ポイント「SETENV」は、UNIX プラットフォームでは大文字で指定する必要があります。これは、プラットフォームの OS API である小文字の「setenv」との競合を避けるためです。