Exit Administration
The HLLX process needs to know certain information about the various HLL exit points. This information includes:
-
The program/exec name that you wish to use for each exit point.
-
Whether the defined exit point is active or not.
-
Whether the exit is an LE-language program or a REXX exec.
In addition, a debug mechanism has been implemented whereby certain users will be able to take an alternatively named exit module to allow isolated testing of exit changes. Thus, we also have an alternative program/exec name which will be taken by a list of userids that will take this debug version of the exit.
Administration of the exit points is also where you let ZMF know the name of the procedure you wish to be started to service the HLLX requests. Here’s a sample Update Global Administration Options (CMNGAMN1) panel:
CMNGAMN1 Update Global Administration Options
Option ===>
1 Parms Global parameters
2 Library Library types
3 Language Language names
4 Procedures Compiling procedures
5 Reason Codes Reason codes for unplanned packages
6 Sites Site information
7 Lock Application parameter locks
8 HLL Exits High level language exits
9 Field Names User field name substitution
C Component Component information
D Dates Installation calendar
E REST REST api server
H Housekeeping Housekeeping tasks
I Impact Impact Analysis
N Notify Global notification file
O Options Selectable options
R Reports ChangeMan ZMF batch reports
S Skeletons Skeleton procedures
If you are on a P-Site, the CMNGAMN2 panel appears instead:
CMNGAMN2 Update Global Administration Options
Option ===>
1 Parms Global parameters
7 Lock Application parameter locks
8 HLL Exits High level language exits
9 Field Names User field name substitution
D Dates Installation calendar
H Housekeeping Housekeeping tasks
N Notify Global notification file
O Options Selectable options
R Reports ChangeMan ZMF batch reports
HLL Exit Definition - Function Selection
The HLL Exit Definition - Function Selection (CMNHLLMM) panel allows administrators to choose to work with all the definitions or just those for a specific function. (More functions will be added as Serena expands this facility.):
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
On a P-Site, the panel CMNHLLPS appears:
CMNHLLPS HLL Exit Definition (P-Site)- Function Selection
Option ===>________________________________________________________
R Revert/Backout Package revert and backout
M Miscellaneous HLLX procedure name
Z Modify Issue Reload, Detach, or Attach modify commands
Option M allows you to define the HLLX procedure name:
CMNHLLMP HLL Exit Miscellaneous Parameters
Command ===>_____________________________________________ Scroll ===> CSR
HLLX procedure name . . SERDHLLR
Note that the variable on this panel is the name of the HLLX started task procedure. This name must be specified correctly before you attempt to activate any exits. If you run into problems with this (for example, the procedure name is wrong, or the procedure fails) with exits being active, you may find you are locked out of ZMF. If this happens, you will need to detach the HLLX subtask with the following command (or use the Modify menu option):
/F zmfstcname,CMN,DETACH,HLLX
The following example shows the selection of option 3 to display the package-create exit points:
CMNHLLMN HLL Exit Definition Row 5 to 10 of 10
Command ===>__________________________________________________ Scroll ===> CSR
Internal External + Active 1=LE Description +
Name Name 2=REXX Debug Userids +
-------------------------------------------------------------------------------
PCRE0001 PNL01PRE YES 2 Pre 1st panel for pkg create
Debug: TST01PRE NO 2 WSER58
-------------------------------------------------------------------------------
PCRE0101 PNL01PST YES 2 Post 1st panel for pkg create
Debug: PNL01PST NO 2 WSER58
-------------------------------------------------------------------------------
PCRE0006 PNL07PRE YES 1 Pre final panel for ALL site PCRT
Debug: ________ NO 2 _________________________________
-------------------------------------------------------------------------------
PCRE0106 PNL07PST YES 2 Post final panel for ALL site PCRT
Debug: ________ NO 2 __________________________________
-------------------------------------------------------------------------------
PCRE0007 PNL07PRE YES 1 Pre final panel for DP site PCRT
Debug: ________ NO 2 __________________________________
-------------------------------------------------------------------------------
PCRE0107 PNL07PST YES 2 Post final panel for DP site PCRT
Debug: ________ NO 2 ___________________________________
You can use a Locate command with the full internal exit name on the table displays.
Each defined exit point has a fixed internal name (for example, PCRE0001 for package create pre-panel 01, PCRE0101 for package create post-panel 01). We relate these fixed names to the customer-preferred program/exec names.
There are two lines per exit, one for the standard definition and one for the debug definition. When the HLLX subtask decides which to load it checks the incoming userid against the list of debug userids from these records as stored in the active exits table.
The defaults for exits not defined in the Package Master will be to make them inactive with no debug module or userid list.