データ・セット構造に影響を与える ENVIRONMENT 属性のオプションの多く は、VSAM データ・セットでは必要ありません。 このオプションを指定しても、無視されるか、または検査の目的で使用されるだけです。 そこで検査されたものと、そのデータ・セット用に定義された値が 矛盾していると、ファイルをオープンしようとした場合、UNDEFINEDFILE 条件が生じます。
VSAM データ・セットに使用できる ENVIRONMENT オプションは、次のとおりです。
BKWD BUFND (n) BUFNI (n) BUFSP (n) GENKEY PASSWORD (password-specification) REUSE SCALARVARYING SKIP VSAM
GENKEY および SCALARVARYING オプションは、非 VSAM データ・セットで使用されたときと同じ効果を持ちます。 VSAM RLS 環境では、オプション BUFND、BUFNI、および BUFSP は無視されるので注意してください。
VSAM データ・セットで検査されるオプションは RECSIZE で、キー順データ・ セットで検査されるのは KEYLENGTH と KEYLOC の各オプションです。表 13 は VSAM では どのオプションが無視されるかを示しています。表 13 はまた必須オプションおよびデフォルト・オプションも示しています。
VSAM データ・セットの場合、データ・セットを定義するときに、 アクセス方式サービス・ユーティリティーに対して、レコードの 最大長と平均長を指定します。 検査の目的でファイル宣言に RECSIZE オプションを 組み込む場合は、最大レコード・サイズを指定します。 指定した RECSIZE がデータ・セットに定義されている値と 矛盾する場合は、UNDEFINEDFILE 条件が発生します。
BKWD オプションは、VSAM データ・セットと関連した SEQUENTIAL INPUT ファイル または SEQUENTIAL UPDATE ファイルでの逆方向処理を指定するのに使用します。
>>-BKWD--------------------------------------------------------><
順次読み取り (すなわち、KEY オプションなしの読み取り) では、直前の順序にあるレコ ードが検索されます。 索引付きデータ・セットの場合は、直前のレコードは、 一般的に、その次の低位キーを持つレコードのことです。 しかし、 非固有な代替索引 を介してデータ・セットにアクセスしている場合は、 同じキーを持つレコードは通常のシーケンスでリカバリーされます。 例えば、次のような順序になったレコードの場合を考えます。
A B C1 C2 C3 D E
ここで、C1、C2、および C3 は同じキーを持つと、次の順序で回復されます。
E D C1 C2 C3 B A
BKWD オプションを指定したファイルをオープンすると、データ・セットは最終レコードに位置決めされます。 そのデータ・セットの先頭まで来ると、通常どおりに ENDFILE が生じます。
REUSE オプションや GENKEY オプションと一緒に、BKWD オプションを指定しないでください。 また、BKWD オプションを指定して宣言されたファイルには、WRITE ステートメ ントは使用できません。
BUFND オプションは、VSAM データ・セットに必要なデータ・バッファーの数を指定するのに使用します。
>>-BUFND--(n)--------------------------------------------------><
ファイルが SEQUENTIAL 属性を持ち、連続レコードの長いグループを順次処理する場合は、複数のデータ・バッファーを使用するとパフォーマンス面で有効です。
BUFNI オプションは、VSAM キー順データ・セットに必要な索引バッファーの数を指定するのに使用します。
>>-BUFNI--(n)--------------------------------------------------><
ファイルが KEYED 属性を持つ場合は、複数の索引バッファーを使用するとパフォーマンス面で有効です。 少なくとも、索引のレベル数と同数の索引バッファー数を指定してください。
BUFSP オプションは、VSAM データ・セットに必要な合計バッファー・スペースをバイト単位で指定するのに使用します (データ・コンポーネントと索引コンポーネントの両方についての合計)。
>>-BUFSP--(n)--------------------------------------------------><
通常は BUFSP でなく、BUFNI と BUFND オプションを指定することをお勧めします。
このオプションは、GENKEY オプション - キーの分類で説明しています。
システムに VSAM データ・セットを定義すると (アクセス方式サービスの DEFINE コマンドを使用)、READ パスワードと UPDATE パスワードをシステムに関連付けることができます。 その時点から、データ・セットへのアクセスに使用する PL/I ファイルの宣言には、該当するパスワードを組み込む必要があります。
>>-PASSWORD--(--password-specification--)----------------------><
文字ストリングは埋め込みまたは切り捨てが行われて 8 文字にされた後、VSAM に渡されて検査されます。 誤ったパスワードだった場合、システム・オペレーターには、正しいパスワードを指定するための機会が何回か与えられます。 その許容回数は、データ・セットを定義するときに指定します。 失敗した試行がこの回数に達すると、UNDEFINEDFILE 条件が発生します。
REUSE オプションは、VSAM データ・セットに関連した OUTPUT ファイルを作業ファイルとして使用することを指定するのに使用します。
>>-REUSE-------------------------------------------------------><
データ・セットは、ファイルをオープンするたびに、空のデータ・セットとして扱われます。 そのデータ・セット用のすべての 2 次割り振りが解放され、 データ・セットは初めてオープンされたときと 同様に取り扱われます。
REUSE オプションが指定されたファイルを、 代替索引 を持つデータ・セット、あるいは BKWD オプションが指定されているデータ・セットに 関連付けたり、INPUT や UPDATE を行うためにオープンしたりしないでください。
REUSE オプションが有効なのは、アクセス方式 サービス DEFINE CLUSTER コマンド内で REUSE を指定した場合だけです。
ENVIRONMENT 属性の SKIP オプションは、VSAM OPTCD の「SKP」を、可能であればいつでも使用することを指定するのに使用します。 このオプションは、KEYED SEQUENTIAL INPUT または UPDATE ファイルを使用してアクセスするキー順データ・セットに適用できます。
>>-SKIP--------------------------------------------------------><
このオプションは、データ・セット全体に分散している個々のレコードにプログラムがアクセスし、そのアクセスが主に昇順のキー順で行われる場合に、ファイルに指定します。
プログラムが KEY オプションを使用せずに多数のレコードを順次読み取る場合、またはプログラムがデータ・セット内の特定のポイントに多数のレコードを挿入する場合は (大量順次挿入)、このオプションを省略してください。
SKIP オプションを指定 (または省略) することは、決して間違った使い方ではありません。このオプションがパフォーマンスに大きく影響するのは、前述の場合のみです。
VSAM データ・セットに VSAM オプションを指定する必要があります。
>>-VSAM--------------------------------------------------------><