Revert/Backout
This section describes the revert and backout functional areas of the high-level language exits. The 4-character exit name identifier is RVRT.
Select option B Revert/Backout from the HLL Exit Definition - Function Selection (CMNHLLMM) panel to define exits for the package revert and backout functions:
CMNHLLMM HLL Exit Definition - Function Selection
Option ===>_________________________________________________________
1 All Full list
2 Build Component checkin, build, recompile, relink, delete
3 Package Create Initial create of a package
4 Package Update Subsequent update of package attributes
5 File Tailoring Define customized ISPF variables for file tailoring
6 Checkout Component Checkout from baseline/promotion
7 Promote/Demote Promotion and demotion of components
8 Audit Audit job submission and audit process
9 Freeze Package freeze and selective unfreeze/refreeze
A Approve/Reject Package approve and reject
R Revert/Backout Package revert and backout
S Specific Package syslib, Standard Language, Query etc.
U Scratch/Rename Utility functions
E ERO ERO functions
M Miscellaneous HLLX procedure name
Z Modify Issue Reload, Detach, or Attach modify commands
In response, the HLL Exit Definition (CMNHLLMN) panel is displayed. Here is how the default unmodified panel looks:
CMNHLLMN HLL Exit Definition Row 1 to 16 of 16
Command ===>_________________________________________________________ Scroll ===> CSR
Internal External + Active 1=LE Description +
Name Name 2=REXX Debug Userids +
-------------------------------------------------------------------------------
RVRT01B1 NO 2 package backout selection panel
Debug: NO 2
-------------------------------------------------------------------------------
RVRT00B2 NO 2 pre backout reason entry panel
Debug: NO 2
-------------------------------------------------------------------------------
RVRT01B2 NO 2 post backout reason entry panel
Debug: NO 2
-------------------------------------------------------------------------------
RVRT01B3 NO 2 backout site selection
Debug: NO 2
-------------------------------------------------------------------------------
RVRT00B4 NO 2 pre backout remote submission
Debug: NO 2
-------------------------------------------------------------------------------
RVRT01B4 NO 2 post backout remote submission
Debug: NO 2
-------------------------------------------------------------------------------
RVRT00XB NO 2 pre service call for backout
Debug: NO 2
-------------------------------------------------------------------------------
RVRT01XB NO 2 post service call for backout
Debug: NO 2
-------------------------------------------------------------------------------
RVRT00XM NO 2 pre service call for revert
Debug: NO 2
-------------------------------------------------------------------------------
RVRT01XM NO 2 post service call for revert
Debug: NO 2
-------------------------------------------------------------------------------
RVRT0101 NO 2 package revert selection panel
Debug: NO 2
-------------------------------------------------------------------------------
RVRT0002 NO 2 pre revert reason entry panel
Debug: NO 2
-------------------------------------------------------------------------------
RVRT0102 NO 2 post revert reason entry panel
Debug: NO 2
-------------------------------------------------------------------------------
RVRT0103 NO 2 revert site selection
Debug: NO 2
-------------------------------------------------------------------------------
RVRT0004 NO 2 pre revert remote submission
Debug: NO 2
-------------------------------------------------------------------------------
RVRT0104 NO 2 post revert remote submission
Debug: NO 2
******************************* Bottom of data ********************************
The panels around which exit points will be placed are listed below. The internal exit name (also known as function code) is RVRT0pnn, where:
- p=0 is the pre-exit.
- p=1 is the post-exit.
- nn is an alphanumeric identifier relating to the panel for which the exit is taken.
The pre-exit is taken before the panel is displayed. The post-exit is taken after the panel has been displayed.
An internal exit name of RVRT0p04, for example, means that both pre- and post-exits exist. That is, the name of the pre-exit is RVRT0004 and the name of the post-exit is RVRT0104. If it makes no sense to have a pre-exit, the internal name is given as RVRT0101 (post-exit only). If it makes no sense to have a post-exit, the internal name is given as RVRT0001 (pre-exit only).
Most table displays have only post-exits. That is, we do not want to have a pre-exit that manipulates the lists that ZMF generates. We may want to have a post-exit to validate the selections that the user makes from the lists.
The panels around which the revert exit points are placed are:
Panel ID | Description | Exit Name |
---|---|---|
CMNREV00 | Package revert main panel | RVRT0101 |
CMNREVRS | Revert reason entry panel | RVRT0002/RVRT0102 |
CMNRVSTI | Revert site selection | RVRT0103 |
CMNRVJCD | Revert remote submission panel | RVRT0004/RVRT0104 |
The panels around which the backout exit points are placed are:
Panel ID | Description | Exit Name |
---|---|---|
CMNBKOUT | Post main backout entry panel | RVRT01B1 |
CMNBKRSN | Pre backout reason panel | RVRT00B2 |
CMNBKRSN | Post backout reason panel | RVRT01B2 |
CMNBKSTI | Post backout site selection panel | RVRT01B3 |
CMNBKJCD | Pre backout jobcard specification panel | RVRT00B4 |
CMNBKJCD | Post backout jobcard specification panel | RVRT01B4 |
Pre- and post-XML-service calls for approve are:
XML Service Name | Description | Exit Name |
---|---|---|
package.service.revert | Pre-service call for package revert | RVRT00XM |
package.service.revert | Post-service call for package revert | RVRT01XM |
Pre- and post-XML-service calls for backout are:
XML Service Name | Description | Exit Name |
---|---|---|
package.service.backout | Pre-service call for package backout | RVRT00XB |
package.service.backout | Post-service call for package backout | RVRT01XB |
Sample exits are provided in the CMNZMF.SAMPLES distribution library. These examples show how to list all the information coming in to the exits. Not all information is available to all exits. The exits that occur early in the dialog will not have as much information as the exits that occur later in the dialog.
The revert and backout exit examples are:
-
HXCRVRT - COBOL example
-
HXPRVRT - PL/I example
-
HXRRVRT - REXX example
Data Interface
A single data structure is passed to all of these exits.
LE-Language Variable Name | REXX Variable Name | Length | Purpose | Modifiable | Cursor Field No. |
---|---|---|---|---|---|
RVRTFUNC | function | 8 | Internal exit name | No | |
RVRTDBUG | debugCall | 1 | Debug exit call (Y/N) | No | |
RVRTORGN | callOrigin | 3 | ISPF=SPF,XML | No | |
Service=XML | |||||
ZDD=ZDD | |||||
ZMF4ECL=ECL | |||||
RVRTZMFS | zmfSubs | 1 | ZMF subsystem character | No | |
RVRTPDB2 | db2Subs | 4 | vDefault Db2 subsystem for this ZMF | No | |
RVRTUSER | userid | 8 | Userid for function calling this exit | No | |
RVRTEXTN | externalName | 256 | External routine name defined for this exit | No | |
RVRTPKGN | packageId | 10 | The package being acted on | No | |
RVRTPSTA | packageStatus | 3 | Package/Site status | No | |
RVRTSITE | siteName | 8 | Install site | No | |
RVRTINDT | pacakgeInsDate | 8 | Yyyymmdd | No | |
RVRTFINT | fromInstallTime | 6 | Hhmm00 | No | |
RVRTTINT | toInstallTimev | 6 | Hhmm00 | No | |
RVRTOANM | contactName 25 Orig. analyst name | No | |||
RVRTOAPH | contactPhone 15 Orig. analyst phone | No | |||
RVRTAANM | alternateContactName 25 Alt. analyst name | No | |||
RVRTAAPH | alternateContactPhone | 15 | Alt. analyst phone | No | |
RVRTJOB1 | jobCard01 | 72 | Job card line #1 | Yes | 011 |
RVRTJOB2 | jobCard02 | 72 | Job card line #2 | Yes | 012 |
RVRTJOB3 | jobCard03 | 72 | Job card line #3 | Yes | 013 |
RVRTJOB4 | jobCard04 | 72 | Job card line #4 | Yes | 014 |
RVRTREVR | reasons.n | 72 | Set of nine 72-byte variables | Yes | 021-029 |
RVRTGO | proceed | 3 | Set to 'NO' to stop the process | Yes | |
RVRTLOKD | dataLocked | 3 | Fields locked? (YES/NO) Yes | ||
RVRTSHRT | shortMsg | 24 | Short error message text Yes | ||
RVRTLONG | longMsg | 128 | Long error message text Yes | ||
RVRTCURS | cursorField | 3 | For ISPF to place cursor on return to panel display. Field values are shown in this table. | Yes | |
RVRTCHNG | dataChanged | 3 | This field must be set to YES if you wish to return changed values to ZMF. | Yes |