順次、VSAM、REGIONAL(1)、および HFS などのどのファイル・タイプに対しても、以下の方法で外部名を定義することができます。
- MVS または TSO 環境の場合:
- JCL (ジョブ制御言語) の DD 名
- 環境変数名
- OPEN ステートメントの TITLE オプション
- USS 環境の場合:
- 環境変数名
- OPEN ステートメントの TITLE オプション
いつ動的割り振りを行うかを決定する際には、次の優先規則が適用されます。
- ファイル用に以下の DD ステートメントの 1 つがある場合は、それが使用されます。
この規則は USS 環境では無効です。
- JCL DD
- TSO ALLOCATE
- ユーザー開始の動的割り振り
- ファイル用の DD ステートメントがなく、TITLE オプションが OPEN ステートメントに指定されている場合は、ファイルの外部名に関連付けることによって TITLE オプションが使用されます。
- ファイル用の DD ステートメントがなく、TITLE オプションが指定されていないが、ファイル用の環境変数はある場合は、ファイルの外部名に関連付けることによって環境変数が使用されます。
環境変数または TITLE オプションによって指定された属性を使用して、ファイルは動的に割り振られます。
後処理値を伴う DSN() オプションでは、少なくとも PATH() または DSN() オプションを指定する必要があります。
大/小文字の区別がある PATH オプションの pathname サブオプションを除き、すべてのオプションと属性は大文字でなければなりません。
DSN() オプション内の一時データ・セット名は許可されません。
MVS データ・セットの場合、Enterprise PL/I ランタイムは、OPEN ステートメントごとに環境変数または TITLE オプションの内容を検査します。
- 同じ外部名を持つファイルが、先行する OPEN ステートメントによって動的に割り振られ、その OPEN ステートメント以後に環境変数または TITLE オプションの内容が変更された場合、ランタイムは前の割り振りを動的に解除し、現在、環境変数に設定されているか、TITLE オプションに指定されているオプションを使用してファイルを再割り振りします。
- 環境変数または TITLE オプションの内容が変更されなかった場合、ランタイムは割り振り解除または再割り振りのアクションを行わずに、現在の割り振りを使用します。
HFS ファイルの場合、DD ステートメントは割り振り解除され、後続の各 OPEN ステートメントで再割り振りされます。
PL/I 動的割り振りを使用するには、次の例に示すように、DSN() 形式 (MVS データ・セットの場合)、または PATH() 形式 (HFS ファイルの場合) を使用してファイル名を指定する必要があります。
OPEN FILE(FILEIN) TITLE('DSN(USER.FILE.EXT),SHR');
OPEN FILE(FILEIN) TITLE('PATH(/usr/FILE.EXT)');
EXPORT DD_FILE="DSN(USER.FILE.EXT),SHR"
EXPORT DD_FILE="PATH(/usr/FILE.EXT)"
注:
- PL/I 動的割り振りに DSN() または PATH() 形式の指定を使用する際、DD ステートメントと、OPEN ステートメントの TITLE オプションの両方がファイルに指定されている場合は、DD ステートメントが使用され、TITLE オプションは無視されます。
- USS 環境では、ユーザー開始の動的割り振りはサポートされません。
この割り振りを試行すると、TITLE または環境変数オプションが使用されていても、外部名が使用中であるために UNDEFINEDFILE 条件が発生します。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)