The options file can specify an input record exit to be
invoked before putting a print record in the print file. This is
the parameter list passed to that input record exit. The name of the
exit is specified by the user in the IREXIT parameter on the OPTIONS
function of the EZAPPFL macro (see EZAPPFL TYPE=OPTIONS).
The parameter list consists of the address of a pointer
to the following parameter area. The macro EZAPPFCD IRE=DSECT generates
a DSECT of this parameter area. EZAPPFCD IRE=INLINE generates an inline
copy.
- IRELLEN
- Length of this parameter area
- IRESTRG
- The address of a working storage area used by the exit. The length
of this area is 16 bytes.
- IRECPAD
- The address of the JES or VTAM-specific parameter area. For JES,
it is the address of a list of parameters that consists of:
- A pointer to the GETDS function-dependent area in the IAZFSIP
DSECT. (To generate this DSECT, code the IAZFSIP macro with LIST=YES
in your exit.)
- A pointer to the values of the PARM parameters passed by the NPF
FSS writer start procedure.
- A fullword binary number specifying the length of the PARM parameters
passed by the NPF FSS writer start procedure.
- A pointer to the IDXFLAG1 byte in the IAZIDX DSECT. (To generate
this DSECT, code the IAZIDX macro with LIST=YES in your exit.)
- A fullword of binary zeros (reserved)
- A fullword of binary zeros (reserved)
- A fullword of binary zeros (reserved)
- The EOF flag
For VTAM®, it consists
of the address of the 35-byte BIND image received from VTAM.
- IREBPTR
- The address of the input/output buffer
- IREDLEN
- A fullword binary number specifying the length of the data in
the buffer.
- IREWFLG
- A one-byte field specifying whether the data in the buffer is
to be written to the file or skipped. On entry to the exit, this
field is set to X'00'. On return from the exit, it is set as follows:
- X'00'
- The data is to be written to the file.
- X'01'
- The data is not to be written.
- IRERFLG
- A one-character field which specifies what input record is to
be returned on the next call to the exit. On entry to the exit, this
flag is set to X'00'. On return from the exit, it is set as follows:
- X'00'
- Specifies the next record returned to the exit will be the next
record from the input spool file.
- X'01'
- Specifies that control will be returned to the exit so that additional
records can be inserted into the output data stream. If the exit returns
a new I/O buffer address BELOW the 16 MB line in IREBPTR, then subsequent
invocations of the exit will be passed the address of the CURRENT
input record in IREBPTR. If the exit returns a new I/O buffer address
ABOVE the 16 MB line, or IREBPTR is not changed, then subsequent invocations
of the exit will be passed the address of the last output buffer in
IREBPTR.
- X'02'
- Specifies that the next record returned to the exit will be the
first record in the spool file.
- IREEOFF
- A one-character field used to indicate that an EOF has been encountered.
- Value
- Meaning
- x'00'
- Not EOF
- x'01'
- EOF
- IRECID
- A one-character field used to identify the caller.
- Value
- Meaning
- V
- VTAM
- J
- JES
- IREOPLN
- The length of the data set name plus the options data already
used by NPF. Subtract this from 255 to determine how much space you
have for user-supplied options.
- IREABNF
- A one-character field which indicates if the input record exit
can insert records into the output data stream. On entry to the exit,
this flag is set to:
- X'00'
- Specifies that print data set is open and the exit can insert
records into the file.
- X'02'
- Specifies that print data set is closed due to an out of space
condition and no further records can be inserted into the output file.
- IRERTD
- The address of the routing data area.
Figure 1. Input exit record parameter
list*---------------------------------------------------------------------*
* INPUT RECORD EXIT PARAMETER LIST *
*---------------------------------------------------------------------*
IRELIST DS 0F
IRELLEN DS F Length of this parameter list
IRESTRG DS F Pointer to static 16-byte memory
IRECPAD DS F Pointer to JES/VTAM parameter list
IREBPTR DS F Pointer to 32K I/O buffer
IREDLEN DS F Length of data in the buffer
IREWFLG DS C Write/Skip flag
IRERFLG DS C Read flag
IREEOFF DS C EOF encountered flag
IRECID DS C Caller's ID (J=JES V=VTAM)
IREOPLN DS H Length of the DSN + options data
IREABNF DS C Print file abend indicator
DS C Reserved
IRERTD DS F Address of the routing data area
IRELISTL EQU *-IRELIST Length of Parameter List