Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, プログラミング・ガイド

VSAM データ・セットのキー

VSAM データ・セットはすべて、それぞれのレコードに関連したキーを 持つことができます。 キー順データ・セット、および代替索引 を介して入力順データ・セットにアクセスする場合は、 そのキーは論理レコード内の定義されたフィールドになります。 入力順データ・セットの場合、キーは、レコードの相対バイト・ アドレス (RBA) になります。 相対レコード・データ・セットの場合、キーは、相対レコード 番号 になります。

索引付き VSAM データ・セットのキー

キー順データ・セット、および代替索引 を介して入力順データ・セットにアクセスする場合のキーは、 データ・セットに記録された論理レコードの一部になります。 データ・セットの作成時に、キーの長さと位置を定義します。

KEY、KEYFROM、および KEYTO オプションでキーを参照する方法は、「PL/I 言語解説書」の第 12 章の『KEY(expression) オプション』 、『KEYFROM(expression) オプション』、『KEYTO(reference) オプション』に説 明があります。

相対バイト・アドレス (RBA)

相対バイト・アドレスを使えば、KEYED SEQUENTIAL ファイルに関連 した ESDS 上でキーによるアクセスを使用することができます。RBA、つまりキーは、 長さが 4 文字の文字ストリングで、その値は VSAM によって定義されます。PL/I では RBA を構成または操作することは できません。しかし、データ・セット内のレコードの 相対位置を判別するためにそれらの値を 比較することはできます。RBA は通常は印刷できません。

レコードの RBA を求めるには、データ・セットをロードまたは拡張 するときに WRITE ステートメント上で、またはデータ・セットを 読み取るときに READ ステートメント上で KEYTO オプションを使用します。 これで、READ ステートメントまたは REWRITE ステートメント の KEY オプションで、上記のどちらかの方法で 取得した RBA を後になってから使用することができます。

WRITE ステートメントの KEYFROM オプションでは、RBA を使用しないでください。

VSAM では、相対バイト・アドレスを KSDS に対するキーとして使用できますが、この使用 は PL/I ではサポートされていません。

相対レコード番号

RRDS 内のレコードの識別は、1 から始まり、その後 1 つのレコードにつき 1 ずつ増えていく相対レコード番号で行います。 この相対レコード番号は、データ・セットへのキー順アクセスで、キーとして使用することができます。

相対レコード番号として使用されるキーは、長さ 8 の文字ストリングです。KEY オプションや KEYFROM オプションで使用するソース・キーの文字値は、 符号なし整数を表していなければなりません。ソース・キーが 8 文字の長さでなければ、左側で切り捨てられるか、 あるいは、ブランク (ゼロと解釈される) が埋められます。KEYTO オプションが戻す値は、先行ゼロを抑止された長さ 8 の文字ストリングです。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)