書式なし索引付き READ 文の規則 (VMS のみ)

書式なし索引付き READ 文は,現在の記録と I/O 並びで指定された要素間で,2 進データを (変換なしで) 転送します。読み取られる記録は 1 つだけです。

I/O 並び項目の数が読み取られる記録欄の数よりも少ない場合,記録内の使用されなかった欄は破棄されます。I/O 並び項目の数が欄の数よりも多い場合,エラーが発生します。

指定されたキー値が,参照されているキー欄よりも短い場合,一致するものが見つかるまで,キー値が適切なキー欄の左端の文字と照合されます。その後,一致した記録が読み取られます。指定されたキー値が,参照されているキー欄よりも長い場合,エラーが発生します。

ファイルが書式付き I/O のために接続されている場合,書式なしデータ転送は禁止されます。

以下の文が指定されているとします。

	OPEN (UNIT=3, STATUS='OLD', &
		ACCESS='KEYED', ORGANIZATION='INDEXED', &
		FORM='UNFORMATTED', &
		KEY=(1:5,30:37,18:23))
	READ (3,KEY='SMITH') ALPHA, BETA

READ 文は,I/O 装置 3 に接続されているファイルから読み取りを行い,主キー欄 (バイト 1 ~ 5) に値 'SMITH' を持つ記録を取り出します。取り出された記録の最初の 2 つの欄が,それぞれ変数 ALPHABETA に格納されます。

次の文が指定されているとします。

	READ (3,KEYGE='XYZDEF',KEYID=2,ERR=99) IKEY

この例では,READ 文は,第 2 の代替キー欄 (バイト 18 ~ 23) に 'XYZDEF' と等しいか,それよりも大きい値を持っている最初の記録を取り出します。その記録の最初の欄が変数 IKEY に格納されます。