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
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.