Logical exit points
- User Exit 1: Initialization
- User Exit 1 is invoked during the initialization of the ARSYSPIN
Subsystem Interface Task after all control statement processing has
completed and before any interactions with JES take place. The initialization
exit is not invoked if any errors are detected during the processing
of the control statement stream. This exit point is intended to be
used to establish relatively long lived structures or connections
to other subsystems, such as Db2®.Note: If the Subsystem Interface Task terminates and is subsequently reinstated, User Exit 1 is re-driven.
- User Exit 2: Termination
- User Exit 2 is invoked during the termination of the ARSYSPIN Subsystem Interface Task. This exit point is intended to be used to perform clean up activities such as the releasing of storage areas acquired and the severing of subsystem connections established during the execution of Exit 1.
- User Exit 3: Input Record Processing
- User Exit 3 is invoked each time a record has been read from the
current input data source. Interface items of particular interest are:
- A pointer to a Read Only copy of the SAPI SSOB Extension (mapped by the SSS2 DSECT produced by the IAZSSS2 macro) corresponding to the SYSOUT data set being processed.
- A pointer to a Read Only copy of the Extended Status Job Queue Element (mapped by the STATJQTR DSECT produced by the IAZSSST macro) corresponding to the Job that produced the SYSOUT data set being processed.
The exit can:- Alter, replace, discard, or accept the record as is.
- Indicate if a logical End-of-Data condition is to be recognized.
- Indicate that the current capture stream is to be regarded as complete. Note that when this condition is signaled by the exit routine, the current input record is not regarded as belonging to the current capture stream.
- All processing of the record is complete. Processing is to continue with the next logical record (if any additional records exist) from the current input source.
- The current record is to be presented to the Input Exit again.
The effective disposition of the current input source is returned as part of the feedback information from the exit. This disposition is independent of the exit return code and can be one of the following:- Normal processing of the current input source is to continue.
- Logical End-of-Data; further processing of the current input source is to be discontinued. When input processing resumes, the first record from the next (if any) input source stream is processed
- User Exit 5: Store Processing
- User Exit 5 is invoked immediately prior to the invocation of the load program, that is, the program identified by the LOADPGM initialization control statement. The exit can alter the majority of the parameters which effect store processing (for example, the names of the Content Manager OnDemand application and application group). The exit can also indicate that the load program is not to be invoked.
- User Exit 6: Separator Record Processing
- User Exit 6 is invoked when ARSYSPIN is about to write a separator
record to the output stream. If output separator records are not to
be produced (as a result of specifying OUTSEP=NO in the control statement
input stream), then User Exit 6 is not invoked. Interface items of
particular interest are:
- A pointer to a Read Only copy of the SAPI SSOB Extention (mapped by the SSS2 DSECT produced by the IAZSSS2 macro) corresponding to the SYSOUT data set being processed.
- A pointer to a Read Only copy of the Extended Status Job Queue Element (mapped by the STATJQTR DSECT produced by the IAZSSST macro) corresponding to the Job that produced the SYSOUT data set being processed.
- A pointer to the "standard", ARSYSPIN constructed, output separator record intended to be written.
- An indicator of which separator record type is being presented: the Begin record that precedes the SYSOUT data, or the End record that follows the SYSOUT data.
A "disposition" field allows the exit routine to request that is it to be driven again and be presented with the same ARSYSPIN constructed separator record data. The exit routine can use this mechanism to insert as many separator records into the output stream as it wants.
When the exit routine provides a separator record to be written to the output stream, it must ensure that the length of this record does not exceed the permissible maximum. The maximum permissible record length is provided in the field ARSYXP06_MAXRECL within the ARSYXP06 data structure; the minimum value in this field is 500 (decimal).
- User Exit 7: StorLimit Action Processing
User Exit 7 is invoked when the current aggregate (or "collection") size has reached its maximum limit value.
The exit can accept or override the intended STORLIMIT action. The intended STORLIMIT action is that which was specified via the STORLIMIT control statement or via system defaults.
Interface items of particular interest are:- A pointer to a Read Only copy of the SAPI SSOB Extension (mapped by the SSS2 DSECT produced by the IAZSSS2 macro) corresponding to the SYSOUT data set being processed when the limit value was reached.
- A pointer to a Read Only copy of the Extended Status Job Queue Element (mapped by the STATJQTR DSECT produced by the IAZSSST macro) corresponding to the Job that produced the SYSOUT data set being processed.
- The intended STORLIMIT action.
- Several fields that reflect the current size of the aggregate in megabytes, records, and data sets.