IEAVTABX_EXIT — ABDUMP Change Options / Suppress Dump Exit

As with the exit routines that receive control under the IEAVTABX interface, described in IEAVTABX — Change Options / Suppress Dump Exit, you can use an IEAVTABX_EXIT dynamic exit routine to change the current dump options or suppress the dump that could be generated by an abending task. The job name and abend code are examples of the data that is provided for the current dump request.

Unlike the IEAVTABX interface, the dynamic exit routines are called before ABDUMP setup processing begins. At this point in processing, no suppression determination has been made, no ENQs are established, and the type of ABDUMP has not yet been determined. Also, all of the associated exit routines are called, regardless of the return code that is returned by any one of them.

Controlling the Exit Routine Through the Dynamic Exits Facility

IBM has defined the IEAVTABX_EXIT installation exit to the dynamic exits facility. You can control the exit and its exit routines by using the EXIT statement of a PROGxx PARMLIB member, the SETPROG EXIT operator command, or the CSVDYNEX macro.

You can use the ADDABENDNUM and ABENDCONSEC parameters on the CSVDYNEX REQUEST=ADD macro or the ABENDNUM parameter of the SETPROG EXIT operator command to limit the number of times the exit routine abnormally ends before it becomes inactive. An abend is counted when both of the following conditions exist:
  • Exit routine does not provide recovery, or the exit routine does provide recovery but percolates the error.
  • System allows a retry; that is, the recovery routine is entered with bit SDWACLUP off.

By default, the system disables the exit routine after two consecutive abends.

Replacing the Exit Routine

For information about replacing a dynamic exit routine, see Replacing a Dynamic Exit Routine.

Exit Routine Environment

The IEAVTABX_EXIT exit routine receives control in the following environment:
  • Enabled for I/O and External interrupts.
  • In supervisor state with PSW key 0.
  • In AMODE 31.
  • With no locks or ABDUMP obtained ENQs held.
  • Cross memory environment is PASN=HASN=SASN.
  • Under the abending task.

Exit Recovery: The exit routine should provide its own recovery routine. If the IEAVTABX_EXIT exit routine ends abnormally, its recovery routine gets control first. If that recovery routine percolates, or there is no recovery routine, IEAVTABX_EXIT processing proceeds as though the exit routine had returned a zero return code. Resource clean up processing remains the responsibility of the exit routine.

Note: If the exit routine recovery requires a dump, it is suggested that you use the IEATDUMP or SDUMPX interfaces and specify SETRP DUMP=NO. A user dump could result in undesirable behavior.

Exit Routine Processing

The IEAVTABX_EXIT exit routines receive control when:
  • An ABDUMP was requested for the original abend, or was requested by a recovery routine (SETRP DUMP=YES) and no FRR retried the abend
  • No subsequent recovery routine indicated that an ABDUMP should not be taken (SETRP DUMP=NO)
  • TCBPDUMP was not turned on in the jobstep task TCB
  • No dump was suppressed by a previous exit routine.
The IEAVTABX_EXIT exit routines receive control regardless of whether:
  • An ABDUMP DD statement was specified in the job steps
  • An ABDUMP will be taken.

Every exit routine receives control sequentially before the dump is taken. At entry, register 1 contains the address of the input parameter list.

Only one version of the two following informational messages is issued, with the suppression version superseding the other. When any exit routine changes the dump options, the system issues message IEA848I, indicating the name of the last exit routine that made the modification. When any exit routine suppresses the dump, the system issues message IEA848I, indicating the name of the last exit routine that suppressed the dump.

When an IEAVTABX_EXIT exit routine ends abnormally, or returns a return code of 0, no data is added. When an exit routine returns a return a code of 4, data is added. When any exit routine returns a code of 8, no data is added and the dump is suppressed.

Programming Considerations

Code the exit routine to be reentrant.

Entry Specifications

Registers at Entry: The contents of the registers on entry to an installation exit routine specified in IEAVTABX are:
Register
Contents
0
Not applicable
1
Address of IHAABEPL parameter list
2-12
Not applicable
13
Register save area
14
Return address
15
Entry point address of the installation exit routine in IEAVTABX_EXIT

Parameter List Contents: Register 1 points to the exit routine parameter list, which is mapped by the IHAABEPL macro (data area ABEP), and contains the following data for each dump. For a mapping of the ABEP data area, see z/OS MVS Data Areas in the z/OS Internet library.

The SNAPX parameter list, mapped by IHASNAPX (data area SNAPX) contains the current dump options in effect. These options can be changed by the exit routine. For details about data area fields, see see z/OS MVS Data Areas in the z/OS Internet library.

Return Specifications

Each installation exit routine returns a code indicating whether processing should continue.

Registers at Exit: Upon return from the exit processing, the register contents must be as follows.

Register
Contents
0-1
Not applicable
2-13
Restored to contents at entry
14
Return address
15
One of the following return codes:
Return Code
Explanation
0
Continue processing with the current options.
4
Change options as indicated in IHAABEPL.
8
Suppress the dump.