Skip to content

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