Skip to content

Scratch/Rename

This section describes the scratch/rename functional area of the high-level language exits. The 4-character exit name identifier is SCRN.

Select option U Scratch/Rename from the HLL Exit Definition - Function Selection (CMNHLLMM) panel to define exits for the scratch rename function:

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 a sample panel might look:

CMNHLLMN                HLL Exit Definition                     Row 1 to 8 of 8
Command ===>__________________________________________________ Scroll ===> CSR

Internal External   + Active            1=LE            Description +
    Name Name                           2=REXX          Debug Userids   +
------------------------------------------------------------------------------
SCRN00XM              NO                2               pre service call for pkg_util
    Debug:            NO                2
------------------------------------------------------------------------------
SCRN01XM              NO                2               post service call for pkg_util
    Debug:            NO                2
------------------------------------------------------------------------------
SCRN0101              NO                2               post package selection
    Debug:            NO                2
------------------------------------------------------------------------------
SCRN0002              NO                2               pre baseline selection
    Debug:            NO                2
------------------------------------------------------------------------------
SCRN0102              NO                2               post baseline selection
    Debug:            NO                2
------------------------------------------------------------------------------
SCRN0103              NO                2               post baseline member list
    Debug:            NO                2
------------------------------------------------------------------------------
SCRN0104              NO                2               post package member list
    Debug:            NO                2
------------------------------------------------------------------------------
SCRN0105              NO                2               post libtype selection list
    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 SYSL0pnn, 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 SCRN0p02, for example, means that both pre- and post-exits exist. That is, the name of the pre-exit is SCRN0002 and the name of the post-exit is SCRN0102. If it makes no sense to have a pre-exit, the internal name is given as SCRN0101 (post-exit only). If it makes no sense to have a post-exit, the internal name is given as SCRN0001 (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.

Sample exits are provided which show how to list all the information incoming to these exits. Note that not all information is available to all exit points. Those early in the dialog will not have as much information as back-end exit points.

The samples provided are:

CMNZMF.SAMPLES Library Member Description
HXCSCRN COBOL example
HXPSCRN PL/I example
HXRSCRN REXX example

Data Interface

There is a single data structure passed to all of these exits.

...

LE-Language Variable Name REXX Variable Name Length Purpose Modifiable Cursor Field No.
SCRNFUNC function 8 Internal exit name No
SCRNDBUG debugCall 1 Debug exit call (Y/N) No
SCRNORGN callOrigin 3 ISPF=SPF XML Service=XML ZDD=ZDDZMF4 ECL=ECL No
SCRNZMFS zmfSubs 1 ZMF subsystem character No
SCRNPDB2 db2Subs 4 Default Db2 subsystem for this ZM FNo
SCRNUSER userid 8 Userid for function calling this exit No
SCRNEXTN externalName 256 External routine namedefined for this exi tNo
SCRNPKGN packageId 10 The package being acted on No
SCRNPSTA packageStatus 3 Package status (DEV, FRZ,etc) No
SCRNPINS packageInsDate 8 Pkg Install Date yyyymmdd No
SCRNWRQN packageWorkRequest 12 Package Work Request No
SCRNDEPT packageDepartment 4 Package Department No
SCRNOPTN optionRequested 1 1=baseline, 2=package Yes 001
SCRNRQST requestType 1 s=scratch, r=rename,d=delete Yes 013
SCRNCOMP componentName 256 Component name Yes 010
SCRNLTYP componentType 3 Component library type Yes 011
SCRNNWNM componentNewName 256 Component New Name(rename) Yes 012
SCRNVVMM verModLevel 5 Version.mod level No
SCRNCRDT createDate 8 Member create date No
SCRNCHDT changeDate 8 Member change date No
SCRNCHGT changeTime 6 Member change time No
SCRNCSZE memberSize 5 Member change size No
SCRNUSRN Username 8 User name No
SCRNLSZE loadSize 6 Load member size No
SCRNLTTR loadTtr 6 Load member TTR No
CKOTALAS loadAlias 8 Load member alias No
SCRNAC loadAuthCode 2 Authorisation code No
SCRNRM loadRmode 3 Load Residency mode No
SCRNAM loadAmode 3 Load Addressing mode No
SCRNATTR loadAttributes 8 Load attributes No
SCRNGO proceed 3 Set to 'NO' to stop the process Yes
SCRNLOKD dataLocked 3 Fields locked? (YES/NO) Yes
SCRNSHRT shortMsg 24 Short error message text Yes
SCRNLONG longMsg 128 Long error message text Yes
SCRNCURS cursorField 3 For ISPF where cursor is placed on return to panel display.Field values are shown here. Yes
SCRNCHNG dataChanged 3 This field must be set toYES if you wish to returnchanged values to ZMF. Yes