CMSCB
is allocated from system free storage whenever a FILEDEF command or
an OPEN (SVC 19) is issued for a data set. The CMS Control Block
consists of a file control block (FCB) for the data file, and partial simuĀ­
lation of the job file control block (JFCB), input/output block (lOB), and data extent block (DEB).
The data control block (DCB) and the data event control block (DECB) are used
by the access method simulation routines of CMS.
Note: The results may be unpredictable if two DCBs access the same data set at
the same time. The GET and PUT macros are not supported for use with spanned
records except in GET locate mode. READ, WRITE, and GET (in locate mode)
are supported for spanned records, provided the filemode number is 4 and the data
set is in physical sequential format.
GET (QSAM)
All the QSAM options of GET are supported. Substitute mode is handled
the same as move mode. If the DCBRECFM is FB, the filemode number is
4, and the last block is a short block, an EOF indicator (X'61FFFF61') must
be present in the last block after the last record. Issue an explicit CLOSE prior to returning to CMS to obtain the last record when LOCATE mode is
used with PUT. GET (QISAM)
QISAM is not supported in CMS. PUT (QSAM)
All the QSAM options of PUT are supported. Substitute mode is handled
the same as move mode. If the DCBRECFM is FB, the filemode number is
4, and the last block is a short block, an EOF indicator is written in the last
block after the last record. When LOCATE mode is used with PUT, issue
an explicit CLOSE prior to returning to CMS to obtain the last record.
The GET and PUT macros are not supported for use with spanned records
except in GET locate mode. READ, WRITE, and GET (in locate mode) are
supported for spanned records, provided the filemode number is 4, and the
data set is physical sequential format. . PUT (QISAM)
QISAM is not supported in CMS. PUTX PUTX support is provided only for data sets opened for QSAM-UPDATE with simple buffering. READ/WRITE (BISAM) BISAM is not supported in
CMS.
READ/WRITE (BSAM and BPAM) All the BSAM and BP AM options of READ and WRITE are supported
except for the SE option (read backwards). READ (Offset Read of Keyed
BDAM dataset) This type of READ is not supported because it is used only
f or spanned records.
READ/WRITE (BDAM)
All the BDAM and BSAM (create) options of READ and WRITE are supĀ­
ported except for the Rand RU options. OS Macro Simulation Under eMS 381
BDAM Restrictions
When an input or output error occurs, do not depend on OS sense bytes. An error
code is supplied by CMS in the ECB in place of the sense bytes. These error codes
differ for various types of devices and their meaning can be found in VM / SP SysĀ­
tem Messages and Codes, under DMS message 120S. The four methods of accessing BDAM records are:
1. Relative Block RRR
2. Relative Track TTR
3. Relative Track and Key TTK
4. Actual Address MBBCCHHR
The restrictions on these access methods are as follows: Only the BDAM identifiers underlined above can be used to refer to records,
since CMS files have a two-byte record identifier. CMS BDAM files are always created with 255 records on the first logical
track, and 256 records on all other logical tracks, regardless of the block size.
If BDAM methods 2, 3, or 4 are used and the RECFM is U or V, the BDAM
user must either write 255 records on the first track and 256 records on every
track thereafter, or he must not update the track indicator until a NO SPACE FOUND message is returned on a write. For method 3 (WRITE ADD), this
message occurs when no more dummy records can be found on a WRITE
request. For methods 2 and 4, this does not occur, and the track indicator is
updated only when the record indicator reaches 256 and overflows into the
track indicator.
The user must create variable length BDAM files (in PL/I they are Regional 3
files) entirely under CMS. He must also specify, on the XTENT option of the
FILEDEF command, the exact number of records to be written. When reading
variable length BDAM files, the XTENT and KEYLEN information specified
for the file must duplicate the information specified when the file was created. CMS does not support WRITE ADD of variable length BDAM files; that is,
the user cannot add additional records to the end of an already existing variĀ­
able length BDAM file.
Two files of the same filetype, both of which use keys, cannot be open at the
same time. If a program that is updating keys does not close the file it is updatĀ­
ing for some reason, such as a system failure or another IPL operation, the oriĀ­
ginal keys for files that are not fixed format are saved in a temporary file with
the same filetype and a filename of $KEYSA VE. To finish the update, run the
program again.
Variable length BDAM files must be created under CMS in their entirety, with
the XTENT option of FILEDEF specifying the exact number of records to be
written. When reading variable BDAM files, the XTENT and key length
information specified must duplicate that created at file creation time. CMS does not support adding variable length records to BDAM files.
382 VM/SP System Programmer's Guide
Previous Page Next Page