PARMLIST DSECT Parameters for the input record exit
WORK@ DS A Address of 16-byte static work area
PFATTR@ DS A Address of print-file-attribute information
RECORD@ DS A Address of the input record
DS A Reserved for future use
RECORDLN DS H Length of the input record
DS H Reserved for future use
REQUEST DS X Add, delete, or process the record
EOF DS C EOF indicator
Figure 30. Sample Input Record Exit DSECT
The address of the control block containing the following parameters is passed to
the input record exit in a standard parameter list pointed to by register 1:
WORK@ (Bytes 1–4)
A pointer to a static, 16-byte memory block. The exit program can use this
parameter to save information across calls (for example, pointers to work
areas). The 16-byte work area is aligned on a full word boundary and is
initialized to binary zeros prior to the first call. The user-written exit program
must provide the code required to manage this work area.
PFATTR@ (Bytes 5–8)
A pointer to the print-file-attribute data structure. See “Attributes of the Input
Print File” on page 130 for more information on the format of this data structure
and the information it contains.
RECORD@ (Bytes 9–12)
A pointer to the first byte of the input record, including the carriage control
character. The record is in a buffer that resides in storage allocated by ACIF,
but the exit program is allowed to modify the input record.
RECORDLN (Bytes 17–18)
Specifies the number of bytes (length) of the input record. If the input record is
modified, this parameter must also be updated to reflect the actual length of the
record.
REQUEST (Byte 21)
Specifies how the record is to be processed by ACIF. On entry to the exit
program, this parameter is X'00'. When the exit program returns control to
ACIF, this parameter must have the value X'00', X'01', or X'02', where:
X'00'Specifies that the record be processed by ACIF.
X'01'Specifies that the record not be processed by ACIF.
X'02'Specifies that the record be processed by ACIF with control returned to
the exit program to allow it to insert the next record. The exit program
can set this value to save the current record, insert a record, and then
supply the saved record at the next call. After the exit inserts the last
record, the exit program must reset the REQUEST byte to X'00'.
A value of X'00' on entry to the exit program specifies that the record be
processed. If you want to ignore the record, change the REQUEST byte value
to X'01'. If you want the record to be processed, and you want to insert an
additional record, change the REQUEST byte value to X'02'. Any value
greater than X'02' is interpreted as X'00', and the exit processes the record.
124 ACIF User’s Guide