Skip to content

Build

This section describes the build functional area of the high-level language exits. The build function includes component checkin, stage, build, recompile, and relink.

The 4-character exit name identifier is BULD.

Select option 2 Build from the HLL Exit Definition - Function Selection (CMNHLLMM) panel to define customized ISPF variables for the build function:

In response, the HLL Exit Definition (CMNHLLMN) panel is displayed.

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.

The panels around which exit points will be placed are listed below. The internal exit name (also known as function code) is BULD0pnn, 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.

An internal exit name of BULD0p01, for example, means that both pre- and post-exits exist. That is, the name of the pre-exit is BULD0001 and the name of the post-exit is BULD0101. The pre-exit is taken before the panel is displayed and the post-exit is taken after the panel has been displayed.

Many panels in these dialogs are either menu driven or consist of selection lists from which actions are performed against selected entries. Owing to the potentially huge lists that would have to be built and passed to pre-exits for these panels, and also the potential to adversely affect ZMF processing if the user exit is coded incorrectly, these panels will only have post-exits taken once for each selected entry. The post-exits can be used to validate selected entries as required. Such panels are indicated in the following lists by means of an asterisk.

Stage:

Panel ID Description Exit Name
CMNSTG00* Main stage function menu BULD0100
CMNSTG01/14/24* Package component list (short/long/xlong BULD0101
CMNSTG02 Stage from development initial BULD0002/BULD0102
CMNSTG03* Stage from development member selection BULD0103
CMNSTG04 Standard stage job submission BULD0004/BULD0104
CMNSTG05 Mass stage job submission BULD0005/BULD0105
CMNSTG06* Procedure selection BULD0106
CMNSTG07* Language selection BULD0107
CMNSTG08* Libtype selection BULD0108
CMNSTG09 Like-Other standard stage job submission BULD0009/BULD0109
CMNSTG10 Like-Other mass stage job submission BULD0010/BULD0110
CMNSTG11* RECFM=U stage from dev member selection BULD0111
CMNSTG12 Component selection parameters BULD0012/BULD0112
CMNSTG15 Component general description BULD0015/BULD0115
CMNSTG17* Valid staging line commands BULD0117
CMNSTG18* Db2 subsystem selection BULD0118
CMNSTG19 Batch staging job card definition BULD0019/BULD0119
CMNSTG20 Confirm delete request BULD01DL
CMNSTG23* Stage from development (zFS) file selection BULD0123
CMNUSR01-04 Like-SRC component user variables BULD00US/BULD01US
CMNUSR11-13 Non-SRC component user variables BULD00US/BULD01US

Recompile:

Panel ID Description Exit Name
CMNRCMP0/CMNRCMPR Main recompile entry BULD00R0/BULD01R0
CMNRCMP1 Standard recompile submission BULD00R1/BULD01R1
CMNRCMP2/4/5/6/7 Component list (various formats) BULD01R2
CMNRCMP3 Mass/batch recompile submission BULD00R3/BULD01R3
CMNUSR01-04 Like-SRC component user variables BULD00US/BULD01US
CMNRCMPC Recompile confirmation BULD01RC
CMNSTG06 Procedure selection BULD0106
CMNSTG07 Language selection BULD0107
CMNSTG08 Libtype selection BULD0108
CMNSTG18 Db2 subsystem selection BULD0118
CMNLBLST/CMNLBLSR Recompile from library selection BULD01RL
CMNLBLS2* Promotion library selection BULD01RP
CMNLBLS3* Release library selection BULD01RR

Relink:

Panel ID Description Exit Name
CMNRLNK0/CMNRLNKR Main relink entry BULD00L0/BULD01L0
CMNRLNK1 Relink job submission BULD00L1/BULD01L1
CMNRLRLS* Relink from library list vis release search BULD01LR
CMNRMLST/T2/OD/D2 Member list (various formats) BULD01LT
CMNSTG06* Procedure selection BULD0106
CMNSTG07* Language selection BULD0107
CMNSTG18 Db2 subsystem selection BULD0118
CMNRLTYP Output library type selection BULD01LO

XML build services:

XML Service Name Description Exit Name
cmponent.checkin.service Check in BULD00XC/BULD01XC
cmponent.build.service Build BULD00XB/BULD01XB
cmponent.recomp.service Recompile BULD00XR/BULD01XR
cmponent.relink.service Relink BULD00XL/BULD01XL

Note

No data values are taken from exits BULD01XC/B/R/L (that is, after the XML request has completed) as no further processing takes place in the function to which changes in data values can be passed. These exits are purely to allow customers to initiate whatever post-build function external processes they desire.

If BULDLOKD is set to YES, data fields on the related panel will be set to output only. The list of panels for which this applies is:

Stage:

Panel ID Description Exit Name
CMNSTG04 Standard stage job submission BULD0004
CMNSTG05 Mass stage job submission BULD0005
CMNSTG09 Like-Other standard stage job submission BULD0009
CMNSTG10 Like-Other mass stage job submission BULD0010
CMNSTG15 Component general description BULD0015
CMNSTG19 Batch staging job card definition BULD0019
CMNUSR01-04 Like-SRC component user variables BULD00US
CMNUSR11-13 Non-SRC component user variables BULD00US

Recompile:

Panel ID Description Exit Name
CMNRCMP1 Standard recompile submission BULD00R1
CMNRCMP3 Mass/batch recompile submission BULD00R3

Relink:

Panel ID Description Exit Name
CMNRLNK1 Relink job submission BULD00L1

BULDSHRT and BULDLONG are used to set a message on the next panel/window to be displayed.

If BULDGO is set to NO, the fields BULDSHRT, BULDLONG, and BULDCURS will be used to set an error message, and the client will (re)display the associated panel.

If the user exit wishes to change any of the data fields, it does that in place and sets BULDCHNG to YES. If BULDCHNG is not set to YES, the client ignores any data changes.

The various build actions (e.g. stage, recompile, relink etc.) take different exits which may have different sets of input and/or modifiable fields (with most in common). Which exits/fields are available should be obvious from the context. Some of the query functions take only exits BULD0xUS and the fields modifiable by these exits are indicated by notes 4,5 & 6.

A single data structure is passed to all of these exits. The data interface for the build exits looks like this:

LE-Language Variable Name REXX Variable Name Length Purpose Modifiable Cursor Field No.
BULDFUNC function 8 Function code No
BULDDBUG debugCall 1 Debug exit call (Y/N)? No
BULDORGN callOrigin 3 ISPF=SPF XML Service=XML ZDD=ZDD ZMF4ECL=ECL No
BULDZMFS zmfSubs 1 ZMF subsystem Id No
BULDPDB2 db2Subs 4 Primary Db2 subsystem No
BULDUSER userid 8 Userid No
BULDEXTN externalName 256 External name for exit No
BULDLOKD dataLocked 3 Fields locked (YES/NO)? Yes
BULDGO proceed 3 Proceed (YES/NO)? Yes
BULDSHRT shortMsg 24 Short message Yes
BULDLONG longMsg 128 Long message Yes
BULDCURS cursorField 3 Cursor tag Yes
BULDCHNG dataChanged 3 Data changed (YES/NO)? Yes
BULDPKGN packageId 10 Package name No
BULDPSTA packageStatus 3 Package status (for example, DEV) No
BULDPINS packageInsDate 8 Package install date No
BULDCOMP componen 256 Component name No 001
BULDLTYP componentType 3 Component libtype Yes (note #4,5,6) 002
BULDCSTA componentStatus 8 Component status No 003
BULDSDTE stageDate 8 Component stage date No 004
BULDSTME stageTime 6 Component stage time No 005
BULDFTYP stageFunction 6 Function type No
BULDLCMD lineCommand 4 Line command entered No 006
BULDPROC buildProc 8 Compile procedure Yes (note #4) 007
BULDLANG language 8 Language Yes (note #4) 008v
BULDCOPT compileOptions 34 Compile options Yes (note #4) 009
BULDLOPT linkOptions 34 Program binder options Yes (note #4) 010
BULDMODE buildMode 1 Stage mode Yes 011
BULDCUSR componentUserOptions 1 Component user variables Yes 012
BULDEUSR extUserOptions 1 Extended user variables Yes (note #4) 013
BULDLOCK lockComponent 1 Lock component Yes 014
BULDCNFM confirmAction 1 Confirm actions Yes 015
BULDHFSX expandHfsDirs 1 Expand HFS directories Yes 016
BULDPCVR showDb2Panels 1 Db2 precompile information Yes 017
BULDSUPN suppressNotify 1 Suppress notify messages Yes 018
BULDPSIT recompileSite 8 Recompile site Yes 019
BULDBLVL recompileLevel 3 Recompile level Yes 020
BULDSRLS searchOrSelectRelease 1 Search/specify release Yes 021
BULDSARE recompileSelectArea 1 Recompile select area Yes 022
BULDRLSE recompileRelease 8 Recompile release Yes 023
BULDAREA recompileArea 8 Recompile area Yes 024
BULDLLVL relinkFromSBR 1 Relink from S/B/R Yes 025
BULDFLCT relinkUsingLCT 1 Relink using LCT Yes 026
BULDUHST useHistory 1 Use history for prms Yes 027
BULDIJNI incrementJobname 1 Job name increment Yes 028
BULDDB2P useDb2PreCompileOption 1 Db2 precompile (Y/N)? Yes (note#4) 029
BULDDB2R db2RemoteSite 8 Db2 remote site Yes 141
BULDDB2S db2SubSystemId 4 Db2 subsystem id Yes 030
BULDSPLC db2SpLocation 16 Db2 SP location Yes 140
BULDDB2L db2PreCompileLinkLib 44 Db2 library name Yes 031
BULDDPCV db2PreCompileVersion 64 Db2 precompiler version Yes 032
BULDJOB1 jobCard01 72 Job card line 1 Yes 033
BULDJOB2 jobCard02 72 Job card line 2 Yes 034
BULDJOB3 jobCard03 72 Job card line 3 Yes 035
BULDJOB4 jobCard04 72 Job card line 4 Yes 036
BULDODSN inputDataset 44 Like other input data set name No 138
BULDSLOC sourceLocation 1 Input source location Yes
BULDPRJ0 prj0 8 Input ISPF library high-level qualifier Yes(note#1) 037
BULDLIB0 lib0 32 Input ISPF library mid-level qualifier Yes(note#1) 038
BULDTYP0 typ0 8 Input ISPF library low-level qualifier Yes (note#1) 039
BULDIMBR inputMember 8 Input ISPF library member Yes (note#1) 040
BULDIORG inputDSorg 3 Input library DSORG No 041
BULDVVMM inputMemberVvMm 5 Input member vv.mm No 042
BULDCRTD inputMemberCreateDate 10 Input member create date No 043
BULDCHGD inputMemberChangedDate 10 Input member change date No 044
BULDCHGT recompileChangeTime 5 Recompile change time No 045
BULDCSZE inputMemberCurrentSize 5 Input member current size No 046
BULDISZE inputMemberInitialSize 5 Input member initial size No 047
BULDCUID inputMemberChangeUserid 8 Input member change userid No 048
BULDLSZE loadMemberSize 6 Load member size No 049
BULDTTR loadMemberTTR 6 Load member TTR No 050
BULDALIS loadMemberAliasOf 8 Load member alias of No 051
BULDAUTH loadMemberAuthCode 2 Load member authorization code No 052
BULDRMOD loadMemberRmode 3 Load member Rmode No 053
BULDAMOD loadMemberAmode 3 Load member Amode No 054
BULDSSSI loadMemberSetSSI 8 Load member SETSSI No 055
BULDATTR loadMemberAttributes 15 Load member attributes No 056
BULDDMOD componentListMode 1 Component list display Yes (note#2) 057
BULDCNFD confirmDelete 1 Confirm delete (Y/N)? Yes (note#2) 058
BULDCMPR comparisonReport 1 Comparison report (Y/N)? Yes (note#2) 059
BULDCMPT comparisonText 8 Comparison text Yes (note#2) 060
BULDTLTP targetLibtype 3 Target libtype Yes 061
BULDUPAN userPanel 8 User variable panel Yes (note#4,5,6)
BULDUVAR userVariables 1 Display User variable panel (Y/N) Yes
BULDOPRF optsProfile 8 Used to select the ZDDOPTS profile for the display of user options for the ZMF Client Pack Yes

Component User Variables

LE-Language Variable Name REXX Variable Name Length Purpose Modifiable Cursor Field No.
BULDUO1 userOptionsPart1 1 * 10 ten 1-byte user options (user options 01-10) Yes(note#4) 062-071
userOption01-10 1 REXX variables which map each individual byte of userOptionsPart1 Yes(note#4) 062-071
BULDUO2 userOptionsPart2 1 * 10 ten 1-byte user options (user options 11-20) Yes (note#4) 072-081
userOption011-20 1 User variable panel name Yes (note#4) 072-081
BULDUVPN userVarPanel 8 Set of five 8-byte user variables (user variables 1-5) Yes
BULDUV1 userVariable01-05 8 * 5 Set of five 8-byte user variables (user variables 1-5) Yes 082-086
BULDUV6 userVariable06-10 72 * 5 Set of five 72-byte user variables (user variables 6-10) Yes 087-091
BULD01 userOption0101-0105 1 * 5 Set of five 1-byte user variables (user variables 0101-0105) Yes(note#4) 092-096
BULD02 userOption0201-0203 2 * 3 Set of three 2-byte user variables (user variables 0201-0203) Yes(note#4) 097-099
BULD03 userOption0301-0303 3 * 3 Set of three 3-byte user variables (user variables 0301-0303) Yes(note#4) 100-102
BULD04 userOption0401-0403 4 * 3 Set of three 4-byte user variables (user variables 0401-0403) Yes(note#4) 103-105
BULD08 userOption0801-0805 8 * 5 Set of five 8-byte user variables (user variables 0801-0805) Yes(note#4) 106-110
BULD10 userOption1001-1002 10 * 2 Set of two 10-byte user variables (user variables 1001-1002) Yes(note#4) 111-112
BULD16 userOption1601-1602 16 * 2 Set of two 16-byte user variables (user variables 1601-1602) Yes(note#4) 113-114
BULD34 userOption3401-3402 34 * 2 Set of two 34-byte user variables (user variables 3401-3402) Yes(note#4) 115-116
BULD44 userOption4401-4402 44 * 2 Set of two 44-byte user variables (user variables 4401-4402) Yes(note#4) 117-118
BULD64 userOption6401-6405 64 * 5 Set of five 64-byte user variables (user variables 6401-6405) Yes(note#4) 119-123
BULD72 userOption7201-7205 72 * 5 Set of five 72-byte user variables (user variables 7201-7205) Yes(note#4) 124-128

Db2 Information

LE-Language Variable Name REXX Variable Name Length Purpose Modifiable Cursor Field No.
BULDXDB2 extractFromDb2 1 Extract from Db2 Yes 129
BULDXD2I extractFromDb2Id 4 Extract from Db2 id Yes 130
BULDSPSC db2SpSchema 128 Db2 stored procedure schema Yes 131
BULDSPNM db2SpName 8 Db2 stored procedure name Yes 132
BULDSPVR db2SpVersion 122 Db2 stored procedure version Yes 133
BULDSPVI db2SpVersionInd 1 Db2 stored procedure version ind Yes 134
BULDSPZI db2SpZmfInfo 1 Db2 stored procedure add ZMF information Yes 135

VARCHAR Area for Data Set Name

LE-Language Variable Name REXX Variable Name Length Purpose Modifiable Cursor Field No.
BULDDSNM-LE N 2 Data set name length Yes
BULDDSNM-VA LUE fileOrDsname 1280 Data set name value Yes (note#1)

Component Description

LE-Language Variable Name REXX Variable Name Length Purpose Modifiable Cursor Field No.
BULDCDSC componentDesc.n 72 * 48 Up to forty-eight 72-byte lines Yes (note#3)
  • Note #1: Only modified from exit BULD0x02

  • Note #2: Only modified from exit BULD0x12

  • Note #3: Only modified from exit BULD0x15

  • Note#4: Additionally modifiable in the component admin functions where BULD0xUS exits are taken.

  • Note#5: Additionally modifiable in the component display functions where BULD0xUS exits are taken.

  • Note#6: Additionally modifiable in the general pmast/cmast query functions where BULD0xUS exits are taken.