The basis of file processing is the record. However, data blocks are still transferred between the peripheral device and the buffer area. DMS handles the necessary blocking and deblocking of records and makes the required records available to the user program. If the record required by a read operation is not in the buffer, or if a write operation fails because the buffer is full, a data transfer is initiated: DMS reads the next data block or writes the buffer contents as a new data block, respectively.
In the case of record-oriented access, a distinction is made between move mode and locate mode.
Move mode
An I/O area is defined in the program. For read operations, DMS transfers the required record from the buffer to this I/O area. For write operations, it transfers the record from the I/O area to the buffer. The figure below illustrates a write operation in the form of a diagram.
Locate mode
There is no I/O area defined in the program. No records are transferred between the buffer and an I/O area. Instead, the records are processed directly in the buffer. For a read operation, DMS returns the address of the required record. For write operations, it returns the address at which the new record is to be written. The figure below illustrates a write operation in the form of a diagram. A pointer points to the address in the buffer at which the record is to be created.