Skip to content

Caller to Exit Cross Reference

HLL exits are called either by client code or by service code.

The service exits all have X in the seventh position of the exit point name, for example, BULD00XC, and are called regardless of where the original request for the service came from.

There are four categories of "caller" which are identified to each exit in the callOrigin field:

  • SPF - the exit has been called by an ISPF client function. That function can take all client exits defined for its functional path and the service exits for whichever service the function eventually drives. The list of exits driven will differ from one function to the next.

  • ZDD - the exit has been called by a ZDD client function. Note that there is no one-toone correlation between ISPF client processing and any other client processing. There could be (and usually is) a completely different way of presenting the function to the user in each client. In some areas the correlation is close, in others it is not. Please refer to the table that follows for a list of which client exits are called by ZDD. Note that any services driven by the ZDD client will also take the relevant service defined HLL exit points.

  • ECL - the exit has been called by a ZMF4ECL (ZMF for Eclipse) client function. The same comments as made for ZDD apply to ZMF4ECL.

  • XML - anything else that drives a ZMF XML service (so, for example, direct service invocation from custom REXX execs or REST API calls). ChangeMan ZMF has no control over client code in these cases and so only the service-oriented exits will be taken.| |Y| | |ou may implement whatever business logic| |Y| | |ou want in the service exits and know that it will be driven regardless of which client invoked the service.

The client exits allow| |Y| | |ou to modify the information gathered from, and actions precipitated by, the normal flow of the three clients. To re-emphasize, there is no one-to-one correlation between the three clients function flows.

To apply business logic across the board (regardless of which client is being used) then the relevant service exit can be used.

However, the service is usually only invoked at the end of a functional process and if custom validation throws out the service request it may be frustrating for a client user to be told this only after progressing through many panels/windows of data gathering.

Thus, the client exits are there to allow "real time" validation (etc.) to be performed.

The service exits are informed which of the recognized categories have invoked this service (i.e. callOrigin will be one of "SPF", "ZDD", "ECL", "XML") so that, if| |Y| | |ou have implemented client exits to do certain validation (etc.) then| |Y| | |ou needn't repeat this processing again in the service exit.| |Y| | |ou can implement logic so that the same validation is only performed if the origin of the service request is identified as "XML" (for example).

The following table lists all the currently available HLL exits along with check columns to show who takes them.

Internal Exit Name Short Description Service Exit ISPF ZDD ZMF4ECL
APRV00XM pre service call for approve Y n/a n/a n/a
APRV01XM post service call for approve Y n/a n/a n/a
APRV0101 list of packages to be approved Y
APRV0102 approve/reject option menu Y
APRV0103 approver entity list Y Y Y
APRV0004 pre checkoff comments Y Y Y
APRV0104 post checkoff comments Y Y Y
APRV0105 reject reasons entity selection Y
APRV0006 pre reject reasons text Y Y Y
APRV0106 post reject reasons text Y Y Y
AUDT00AR pre autoresolve job submission Y
AUDT01JB post all audit job processing Y
AUDT00RC pre audit job setting of package RC Y
AUDT00UV pre user variables Y Y Y
AUDT01UV post user variables Y Y Y
AUDT00XM pre audit job submission service Y n/a n/a n/a
AUDT01XM post audit job submission service Y n/a n/a n/a
AUDT0001 pre audit submission panel Y Y Y
AUDT0101 post audit submission panel Y Y Y
AUDT0002 pre application in scope panel Y Y Y
AUDT0102 post application in scope panel Y Y Y
BULD01DL post cmpnt delete selection Y Y
BULD01LO post relink output library selection Y Y
BULD01LR post relink library selection Y Y
BULD01LT post relink member list Y
BULD00L0 pre initial relink (rebind) panel Y Y
BULD01L0 post initial relink (rebind) panel Y Y
BULD00L1 pre relink job submission Y Y Y
BULD01L1 post relink job submission Y Y Y
BULD01RC post recompile confirmation Y
BULD01RL post recompile library selection Y
BULD01RP post promotion library selection Y
BULD01RR post release library selection Y
BULD00R0 pre initial recompile panel Y
BULD01R0 post initial recompile panel Y
BULD00R1 pre standard recompile submission Y Y Y
BULD01R1 post standard recompile submission Y Y Y
BULD01R2 post recompile component list Y
BULD00R3 pre mass/batch recompile submission Y Y Y
BULD01R3 post mass/batch recompile submission Y Y Y
BULD00US pre component user variables Y Y Y
BULD01US post component user variables Y Y Y
BULD00UV pre user variables Y Y Y
BULD01UV post user variables Y Y Y
BULD00XB pre BUILD xml service Y n/a n/a n/a
BULD01XB post BUILD xml service Y n/a n/a n/a
BULD00XC pre CHECKIN xml service Y n/a n/a n/a
BULD01XC post CHECKIN xml service Y n/a n/a n/a
BULD00XD pre DELETE xml service Y n/a n/a n/a
BULD01XD post DELETE xml service Y n/a n/a n/a
BULD00XL pre RELINK xml service Y n/a n/a n/a
BULD01XL post RELINK xml service Y n/a n/a n/a
BULD00XR pre RECOMPILE xml service Y n/a n/a n/a
BULD01XR post RECOMPILE xml service Y n/a n/a n/a
BULD0101 post package component list Y Y
BULD0002 pre stage from dev initial panel Y Y Y
BULD0102 post stage from dev initial panel Y Y Y
BULD0103 post stage from dev member selection Y Y Y
BULD0004 pre standard stage job submission Y Y Y
BULD0104 post standard stage job submission Y Y Y
BULD0005 pre mass stage job submission Y Y Y
BULD0105 post mass stage job submission Y Y Y
BULD0106 post procedure selection Y
BULD0107 post language selection Y
BULD0108 post library type selection Y
BULD0009 pre Like-O std stage job submission Y Y Y
BULD0109 post Like-O std stage job submission Y Y Y
BULD0010 pre Like-O mass stg job submission Y Y
BULD0110 post Like-O mass stg job submission Y Y
BULD0111 post recfm=U dev stage mbr selection Y
BULD0012 pre component selection parameters Y
BULD0112 post component selection parameters Y
BULD0015 pre component general description Y
BULD0115 post component general description Y
BULD0117 post valid staging line commands Y
BULD0118 post DB2 subsystem selection Y
BULD0019 pre batch stage jobcard definition Y
BULD0119 post batch stage jobcard definition Y
BULD0123 post dev stg hfs file selection Y Y
BULD0025 pre extract SP from DB2 panel Y Y
BULD0125 post extract SP from DB2 panel Y Y
BULD0026 pre mass rebuild job submission Y
BULD0126 post mass rebuild job submission Y
CKOT01CK post checkout entry panel Y
CKOT01CL post component list for pkg ckot Y
CKOT01DL post component delete Y
CKOT01LB post library list Y
CKOT01LT post libtype display Y
CKOT01MS post member selection list Y Y Y
CKOT01PL post promotion library list Y
CKOT00UV pre user variables Y Y Y
CKOT01UV post user variables Y Y Y
CKOT00XM pre service call Y n/a n/a n/a
CKOT01XM post service call Y n/a n/a n/a
CKOT0001 pre checkout selection criteria Y Y Y
CKOT0101 post checkout selection criteria Y Y Y
CKOT0002 pre batch checkout panel Y Y
CKOT0102 post batch checkout panel Y Y
CKOT0003 pre checkout from package entry Y
CKOT0103 post checkout from package entry Y
FREZ00UF pre package freeze/unfreeze panel Y
FREZ01UF post package freeze/unfreeze panel Y Y
FREZ00UV pre user variables Y Y
FREZ01UV post user variables Y Y Y
FREZ01U1 selective component freeze/unfreeze Y Y Y
FREZ01U2 selective utility freeze/unfreeze Y
FREZ00XM pre package freeze service Y n/a n/a n/a
FREZ01XM post package freeze service Y n/a n/a n/a
FREZ00XR pre selective refreeze service Y n/a n/a n/a
FREZ01XR post selective refreeze service Y n/a n/a n/a
FREZ00XU pre selective unfreeze service Y n/a n/a n/a
FREZ01XU post selective unfreeze service Y n/a n/a n/a
FREZ0101 package freeze submenu Y Y Y
FREZ0002 pre batch freeze submit panel Y Y Y
FREZ0102 post batch freeze submit panel Y Y Y
FTLR00BA install/baseline file tailoring Y
FTLR00BL build job file tailoring Y
FTLR00BP base ZMF promotion file tailoring Y
FTLR00EB ERO autoresolve file tailoring Y
FTLR00EP ERO promotion file tailoring Y
PCRE00PU pre package user options Y Y Y
PCRE01PU post package user options Y Y Y
PCRE00XM pre package create xml service Y n/a n/a n/a
PCRE01XM post package create xml service Y n/a n/a n/a
PCRE0001 pre initial pkg create panel Y Y Y
PCRE0101 post initial pkg create panel Y Y Y
PCRE0002 pre package description Y Y Y
PCRE0102 post package description Y Y Y
PCRE0003 pre installation instructions Y Y Y
PCRE0103 post installation instructions Y Y Y
PCRE0004 pre scheduling dependencies Y Y Y
PCRE0104 post scheduling dependencies Y Y Y
PCRE0005 pre affected applications Y Y Y
PCRE0105 post affected applications Y Y Y
PCRE0006 pre install information (ALL site) Y Y Y
PCRE0106 post install information (ALL site) Y Y Y
PCRE0007 pre install site list (DP site) Y Y Y
PCRE0107 post install site list (DP site) Y Y Y
PCRE0008 pre complex/super information Y Y Y
PCRE0108 post complex/super information Y Y Y
PRDM00UV pre user variables Y Y Y
PRDM01UV post user variables Y Y Y
PRDM00XD pre demotion service Y n/a n/a n/a
PRDM01XD post demotion service Y n/a n/a n/a
PRDM00XP pre promotion service Y n/a n/a n/a
PRDM01XP post promotion service Y n/a n/a n/a
PRDM0100 post promote/demote main menu Y Y
PRDM0101 post site selection Y
PRDM0003 pre promote options Y Y Y
PRDM0103 post promote options Y Y Y
PRDM0004 pre demote options Y Y Y
PRDM0104 post demote options Y Y Y
PRDM0105 post selective promote/demote Y Y Y
PRDM0107 post promotion level selection Y
PUPD00D2 pre DB2 option special libtypes Y
PUPD01D2 post DB2 option special libtypes Y
PUPD00ER pre ERO information Y
PUPD01ER post ERO information Y
PUPD00IA pre IMS option ACB definitions Y
PUPD01IA post IMS option ACB definitions Y
PUPD00ID pre IMS option DBD definitions Y
PUPD01ID post IMS option DBD definitions Y
PUPD00IP pre IMS option PSB definitions Y
PUPD01IP post IMS option PSB definitions Y
PUPD00IS pre IMS option physical systems Y
PUPD01IS post IMS option physical systems Y
PUPD01M6 post monitor pkg change insdate(ALL) Y
PUPD01M7 post monitor pkg change insdate (DP) Y
PUPD00PU pre package user options Y Y Y
PUPD01PU post package user options Y Y Y
PUPD0001 pre control information Y Y Y
PUPD0101 post control information Y Y Y
PUPD0002 pre package description Y Y Y
PUPD0102 post package description Y Y Y
PUPD0003 pre installation instructions Y Y Y
PUPD0103 post installation instructions Y Y Y
PUPD0004 pre scheduling dependencies Y Y Y
PUPD0104 post scheduling dependencies Y Y Y
PUPD0005 pre affected applications Y Y Y
PUPD0105 post affected applications Y Y Y
PUPD0006 pre install information (ALL site) Y Y Y
PUPD0106 post install information (ALL site) Y Y Y
PUPD0007 pre install site list (DP site) Y Y Y
PUPD0107 post install site list (DP site) Y Y Y
PUPD0008 pre complex/super information Y Y Y
PUPD0108 post complex/super information Y Y Y
RCKI01AR post-CI line cmd for area checkin Y
RCKI01CI post-action call for ERO checkin Y
RCKI01PK post-CI line cmd for pkg checkin Y
RCKI00XM pre-service call for ERO checkin Y n/a n/a n/a
RCKI01XM post-service call for ERO checkin Y n/a n/a n/a
RCKI0000 pre-pkg checkin options Y Y
RCKI0100 post-pkg checkin options Y Y
RCKI0001 pre-pkg checkin selection parms Y
RCKI0101 post-pkg checkin selection parms Y
RCKI0102 post-pkg eligible components list Y Y
RCKI0103 post-pkg duplicate components list Y Y
RCKI0107 post-summary of pkg checkin Y Y
RCKI0020 pre-component description checkin Y
RCKI0120 post-component description checkin Y
RCKI0050 pre-area checkin options Y Y
RCKI0150 post-area checkin options Y Y
RCKI0051 pre-area checkin selection parms Y
RCKI0151 post-area checkin selection parms Y
RCKI0152 post-area eligible components list Y Y
RCKI0153 post-area duplicate components list Y Y
RCKI0157 post-summary of area checkin Y Y
RCKI0070 pre-batch checkin job submission Y
RCKI0170 post-batch checkin job submission Y
RVRT01B1 package backout selection panel Y Y
RVRT00B2 pre backout reason entry panel Y Y
RVRT01B2 post backout reason entry panel Y Y
RVRT01B3 backout site selection Y Y
RVRT00B4 pre backout remote submission Y Y
RVRT01B4 post backout remote submission Y Y
RVRT00XB pre service call for backout Y n/a n/a n/a
RVRT01XB post service call for backout Y n/a n/a n/a
RVRT00XM pre service call for revert Y n/a n/a n/a
RVRT01XM post service call for revert Y n/a n/a n/a
RVRT0101 package revert selection panel Y Y Y
RVRT0002 pre revert reason entry panel Y Y Y
RVRT0102 post revert reason entry panel Y Y Y
RVRT0103 revert site selection Y Y Y
RVRT0004 pre revert remote submission Y Y Y
RVRT0104 post revert remote submission Y Y Y
SCRN00XM pre service call for pkg_util Y n/a n/a n/a
SCRN01XM post service call for pkg_util Y n/a n/a n/a
SCRN0101 post package selection Y Y
SCRN0002 pre baseline selection Y Y
SCRN0102 post baseline selection Y Y Y
SCRN0103 post baseline member list Y
SCRN0104 post package member list Y Y
SCRN0105 post libtype selection list Y Y
SYSL00XL pre srvc cmponent.listlang.history Y n/a n/a n/a
SYSL01XL post srvc cmponent.listlang.history Y n/a n/a n/a
SYSL00XM service call for package.list.syslib Y n/a n/a n/a
SYSL00XR service call->package.refresh.syslib Y n/a n/a n/a

ISPF or TSO in HLL Exits is Unsupported

The starting of an ISPF environment or the use of ISPF services from within an HLL exit is not supported. If you try to do this you will run into unpredictable results. Similarly a TSO environment is not supported. An example of when you might want to use TSO is to submit a batch job (one way is to use BPXWDYN for dynamic allocations, and use the internal reader - you could use REXX to build up a stem variable, and EXECIO).