書式なし索引付き 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 つの欄が,それぞれ変数 ALPHA と BETA に格納されます。
次の文が指定されているとします。
READ (3,KEYGE='XYZDEF',KEYID=2,ERR=99) IKEY
この例では,READ 文は,第 2 の代替キー欄 (バイト 18 ~ 23) に 'XYZDEF' と等しいか,それよりも大きい値を持っている最初の記録を取り出します。その記録の最初の欄が変数 IKEY に格納されます。