Programming considerations for Exit 6
The following considerations apply to Exit 6:
- When the exit routine is entered, register 13 points to a standard
18-word save area that can be used to save the caller’s registers.
Exit 6 might receive control while one of the other exits is active. If Exit 6 needs to make an external call,
the code should use ECAMSGSV, a unique save area provided for this
exit in the ECA.
- When the exit routine is entered, register 1 points to a one-word
parameter list with the address of the parameter area, APSGEXTP. APSGEXTP
contains a pointer to the exit-communications area, APSUECA.
Exit
6 can use the APSUECA work buffer, ECAWKBUF. If this work buffer is
too small, see Exit table, APSUCOM for information about expanding
ECAWKBUF. If you expand ECAWKBUF, PSF does not use the additional
storage (that which exceeds the APSUECA default size) between successive
exits. The PSF exits can therefore use this storage to maintain information
between successive exits.
Notes:
- The transmission-count field, ECATRNC, is not updated before this
exit is called.
- ECEOUTTK and ECEJDVT are not updated before this exit is called.
- Use register 12 as a base register for exit routines. If register 12 points to the beginning of the exit routine,
and the module name starts at the sixth byte in the routine, the module
name appears in the PSF SDUMP, "Symptoms for This Dump," if the
routine has an abend. The PSF component name and subcomponent names
can also appear on the SDUMP title page.
- XTP6, a dsect in APSGEXTP, contains information that Exit 6 needs
to have in order to determine its action. The pointer XTPRECP within
APSGEXTP provides the address of XTP6. XTP6 is mapped within macro
APSGEXTP. For more information about APSGEXTP, see Figure 76.
- The message action, XTP6ACT, can be changed by the exit in one
of these ways:
- If the exit does not alter XTP6ACT, PSF takes the action that
the message originally called for.
- If the exit sets XTP6ACT to 0, PSF suppresses the message.
- If the exit sets XTP6ACT to one or more actions, PSF takes those actions.
- The following restrictions apply to XTP6ACT:
- Action messages, noted by the format APSxxxA
or APSxxxxA, cannot be suppressed. If the
exit requests that an action message be suppressed, PSF ignores the
request and sends the message to the operator.
- The exit cannot request that a message be printed with the data
set, XTP6PAP, unless that was the original destination set by PSF.
- If the message is suppressed, PSF still traces the message.
- PSF issues some messages twice, once to the operator and once
for printing with the data set. When a message is to be redirected,
you might want to code a check for duplicate messages.
- Consider the following restrictions:
- This exit is entered before the FSA part of PSF issues a message
from PSF. The printer runs asynchronously to this exit, and is not
affected by its actions. While this exit is running, the FSA part
of PSF is not running.
If any of these messages are issued, processing
is not transferred to the exit:
APS000I APS005I APS038I APS046I APS051I APS060I APS605I APS957I
APS001I APS006I APS042I APS047I APS052I APS226I APS608I
APS002A APS022I APS043I APS048I APS053I APS516I APS610I
APS003A APS023I APS044I APS049I APS054I APS517I APS922I
APS004I APS025I APS045I APS050I APS055I APS551I APS955I
Processing
is not transferred to this exit in any of the following conditions:
- For any message generated by the APSRMARK utility—messages APS580I
to APS599I.
- For any message generated by the trace formatter utility, APSTRFMT—messages
APS960I to APS979I.
- For any message generated by the APSRFLU utility—messages
APS1700I to APS1711I.
- For any message generated from the Notify Subtask
(NST)–messages APS062I to APS068I, APS070I to APS072I, APS075I
to APS078I, APS8560I, APS8562I to APS8564I, and APS8566I.
- For any message generated by the operator interface—messages
APS620I through APS699I, with the exception of message APS691I.
- The error that the message reports is not necessarily related
to the data set that PSF is currently processing. The JSPA also provides
information about the data set that PSF is processing (not necessarily
about the data set to which the message belongs).
- When this exit is called, the JSPA pointer, XTPJSPAP, might be
set to 0.
|