Key-sequenced and indexed entry-sequenced data sets

An indexed data set can be a key-sequenced data set (KSDS) with its prime index; it can also be a KSDS or an entry-sequenced data set (ESDS) with an alternate index. This topic describes the statements and options that are allowed for files associated with indexed VSAM data sets.

Except where otherwise stated, the description in Table 1 applies to all indexed VSAM data sets.

Table 1. Statements and options allowed for loading and accessing VSAM indexed data sets
File declaration1 Valid statements with options you must include Other options you can also include
SEQUENTIAL OUTPUT
BUFFERED
WRITE FILE(file-reference)
FROM(reference)
KEYFROM(expression);
 
LOCATE based-variable
FILE(file-reference)
KEYFROM(expression);
 
 
 
 
SET(pointer-reference)
SEQUENTIAL INPUT
BUFFERED
READ FILE(file-reference)
INTO(reference);
 
READ FILE(file-reference)
SET(pointer-reference);
 
READ FILE(file-reference);2
KEY(expression) or
KEYTO(reference)
 
KEY(expression) or
KEYTO(reference)
 
IGNORE(expression)
SEQUENTIAL UPDATE
BUFFERED
READ FILE(file-reference)
INTO(reference);
 
READ FILE(file-reference)
SET(pointer-reference);
 
READ FILE(file-reference);2
 
WRITE FILE(file-reference)
FROM(reference)
KEYFROM(expression);
 
REWRITE FILE(file-reference);
 
 
DELETE FILE(file-reference)
KEY(expression) or
KEYTO(reference)
 
KEY(expression) or
KEYTO(reference)
 
IGNORE(expression)
 
 
 
 
 
FROM(reference) and/or
KEY(expression)
 
KEY(expression)
DIRECT
BUFFERED
READ FILE(file-reference)
INTO(reference)
KEY(expression);
 
READ FILE(file-reference)
SET(pointer-reference)
KEY(expression);
 
DIRECT OUTPUT
BUFFERED
WRITE FILE(file-reference)
FROM(reference)
KEYFROM(expression);
 
DIRECT
BUFFERED
READ FILE(file-reference)
INTO(reference)
KEY(expression);
 
READ FILE(file-reference)
SET(pointer-reference)
KEY(expression);
 
REWRITE FILE(file-reference)
FROM(reference)
KEY(expression);
 
DELETE FILE(file-reference)
KEY(expression);
 
WRITE FILE(file-reference)
FROM(reference)
KEYFROM(expression);
 
Notes:
  1. The complete file declaration would include the attributes FILE and RECORD. If you use any of the options KEY, KEYFROM, or KEYTO, you must also include the attribute KEYED in the declaration.
  2. The statement READ FILE(file-reference); is equivalent to the statement READ FILE(file-reference) IGNORE(1);.
  3. Do not associate a SEQUENTIAL OUTPUT file with a data set accessed through an alternate index.
  4. Do not associate a DIRECT file with a data set accessed through a nonunique alternate index.
  5. DELETE statements are not allowed for a file associated with an ESDS accessed through an alternate index.