Use this system macro to process a chain of user-defined format-0 or
format-1 channel command words (CCWs) to:
- Read records from a file into processor storage
- Write records from processor storage to a file.
This is a single instance FIND or FILE macro. Only the copy of the
record specified by the user-defined address will be read or written
regardless of the record's duplication factor. This macro does not
obtain storage from or return storage to any storage pool.
Required Authorizations
|
Key0
| Restricted
| System
| Common Storage
|
| X
|
|
|
Format
Notes:
- Options
- label
- A symbolic name may be assigned to the macro statement.
- Dx
- A file address reference word (D0-DF) must be specified.
- options
- The following options are available:
- E
- Extended status and error data are requested.
- ASYNC
- Requests that the I/O operation receive asynchronous notification of
completion for operations that may take a long time to complete.
Operations in this category are associated with the Perform Subsystem Function
and Set Subsystem Mode CCW.
- CCW1=NO|YES
- This parameter is used to indicate the CCW format in the specified data
level. If CCW1=YES, the CCW is treated as CCW format-1, otherwise CCW
format-0 is assumed. CCW1=NO is the default.
Entry Requirements
- R9 must contain the address of the ECB being processed.
- A module number and the storage location of the first user-supplied CCW
must be contained in the file address reference word (FARW) for the specified
data level. The format follows here.
CE1FAx
| Bytes 0-3
| Storage address of first CCW.
|
CE1FMx
| Bytes 0-1
| 2-byte module number (general data sets use byte 0 only).
|
- You must specify all fully constructed chained CCWs desired, including the
SEEK command, before processing of this macro.
- Storage locations into which data is to be read to or written from must be
obtained by you and inserted into the CCWs before processing of this
macro.
- If E is specified, the core block reference word, CE1CRx, associated with
the FARW, must contain a storage block formatted using the FI0CB DSECT:
- The channel address word (CAW) stored in FI0CAW. The storage key
must be in the high order byte of the FI0CAW.
- The FI0FLG set so that:
- Bit 0 = 0
- SONS will retry the error.
- Bit 0 = 1
- SONS will not retry the error.
- Bit 1 = 0
- Return sense data from the last retry.
- Bit 1 = 1
- Return sense data from the first retry.
- Bits 2 through 7
- Reserved for use by IBM.
- FI0PATH field indicates the user specified path for SONS to use. If
FI0PATH is 0, SONS will use the logical path mask indicated in the MFST
(MF1LPM).
- Minimum size 40 hexadecimal bytes (64 decimal) reserved.
- If ASYNC is specified, the core block reference word, CE1CRx, associated
with the FARW (FI0CB), must contain a core block formatted as follows.
Return Conditions
- Control is returned to the next sequential instruction (NSI).
- The contents of R14 and R15 are unknown. The contents of all other
registers are preserved across this macro call.
- If this macro is called from a program running in 24-bit mode, the
condition code is saved across this macro call. If the macro is called
from a program running in 31-bit mode, the condition code upon return from
this macro is unknown.
- The status of the operation is unknown, unless E or ASYNC is
specified.
- The contents of the core block reference word (CBRW) at the specified
level is unchanged, unless E or ASYNC is specified.
- The FARW at the specified level is unchanged, on a normal return.
On an error condition, the address portion of the channel status word (CSW) is
saved at CE1FAx, unless E or ASYNC is specified.
- If E or ASYNC is specified and no error occurs, the CSW is returned at
location 8 in the area pointed to by CE1CRx.
Programming Considerations
- This macro can be run on any I-stream.
- This macro is restricted to system use only. Use caution when using
this macro, as it is possible to destroy data on the random access
files.
- No check of record type or record code check is made.
- The operational program may not use the specified level upon return from
the control program (CP).
- To ensure completion of the operation, a WAITC macro must be
issued.
- The control program (CP) will:
- Translate CKD CCWs to ECKD (*) CCWs if the device is buffered or cached
and the E or ASYNC option is not specified
- Transfer control to the user-supplied CCWs
- Handle the following error conditions:
- Device not ready or intervention required
- Defective track condition
- Seek check or data check
- No record found
- Unit exception.
- Upon noncorrectable error conditions, the gross error indicator for the
specified level will be set, and the detailed error indicator's bit zero
will be set to 1. Also, the address portion of the CSW will be inserted
into the first 4 bytes of the FARW for the specified level, unless E or ASYNC
is specified.
- The CCW prefetch bit in the operation request block (ORB) is
not enabled for FDCTC channel programs.
Examples
None.