DEFEXIT: Define CICS VR exit names for forward recovery
Use the DEFEXIT command to request CICS® VR to call one or more of the exits.
Format
Keywords
- PREAPPLY(preapply exit name,NEW | OLD)
- Specifies that the preapply exit must be used and gives the name
of the exit program that CICS VR must call. Before every
update that is made to the VSAM data set, CICS VR
passes the log record and the corresponding data set record, unless
the update is an add, to the exit program. The exit program, which
can change the log record, must return an action code telling CICS VR
which action to take. The PREAPPLY keyword is optional, and only one
PREAPPLY keyword is allowed for each DEFEXIT command.
- preapply exit name,NEW | OLD
- Defines the name of the load module for the preapply exit. This
name is 1–8 characters.
The NEW and OLD keywords are optional; if neither are specified, the default preapply exit type of NEW is used. If you are using CICS Transaction Server logs, specify NEW or use the default.
- ERROR(error exit name)
- Specifies that the error exit must be used, and gives the name
of the exit program that CICS VR must call. When an I/O
error occurs, CICS VR passes an error code and relevant error
information to the exit program. The exit program must return an action
code telling CICS VR which action to take. The ERROR keyword
is optional, and only one ERROR keyword is allowed for each DEFEXIT
command. If CICS VR meets a serious error and no error exit
is provided, CICS VR issues the following message and terminates:
- DWW0212S
- Preceding I/O error has forced termination.
- error exit name
- Defines the name of the load module for the error exit. This name is 1–8 characters.
- TERMINATION(termination exit name)
- Specifies that the termination exit must be used, and gives the
name of the exit program that CICS VR must call. When CICS VR
is about to end normally, CICS VR passes the completion code
to the exit program. The exit program can then change the completion
code and return an action code telling CICS VR
what action to take. The TERMINATION keyword is optional; only one
TERMINATION keyword is allowed for each DEFEXIT command.
- termination exit name
- Defines the name of the load module for the termination exit. This name is 1–8 characters.
Usage Notes
Consider the following when using the DEFEXIT command:
- This command is optional.
- You can only specify one DEFEXIT command per CICS VR step.
- Do not include a DEFEXIT command automatically in every recovery
run
Write an error exit program that is appropriate for that situation.
- If the exit program is not in the link list, it must
reside in a data set that is defined to the JOBLIB, STEPLIB, or DWWLOAD
ddname. You also can keep the exit program in your CICS VR
load library. If CICS VR cannot find the exit program, the following
message is issued and CICS VR ends:
- DWW0206S
- The exit load module xxxx cannot be found.
Examples
DEFEXIT PREAPPLY(PREAPP) (1)
DEFEXIT ERROR(ERRX) - (2)
TERMINATION(TERMX)
Here is an explanation of these DEFEXIT commands:
- 1
- The PREAPPLY keyword specifies the name of the preapply exit program, PREAPP. CICS VR passes the log record and the file to PREAPP. PREAPP can modify the record if needed, update the log, and return an action code back to CICS VR.
- 2
-
The ERROR keyword specifies the name of the error exit program, ERRX. CICS VR calls ERRX when an I/O error occurs and passes it information about the error. If there are logical errors on a VSAM sphere, ERRX might be able to correct them and then pass an appropriate action code back to CICS VR.
The TERMINATION keyword specifies the name of the termination program, TERMX. CICS VR calls TERMX just before CICS VR terminates. If, in the same run, an I/O error occurs while CICS VR is reading one of the logs or processing a VSAM file, TERMX might be able to recover, change the completion code accordingly, and return an action code back to CICS VR.
Synonyms
The DEFEXIT Synonyms table provides the DEFEXIT commands or keywords and the acceptable synonyms that can be used in place of those commands or keywords:
Command or keyword | Synonyms |
---|---|
DEFEXIT | X, DX, EXIT, EXITS |
ERROR | ERR |
ESDSDELETE | ESDSDEL, EDEL |
PREAPPLY | PREAPP, PRE |
TERMINATION | TERM |