Setting Build Parameters
Build process parameters are provided to skeleton file tailoring from the following sources:
-
Skeleton
CMN$$VAR
- Initializes build parameter ISPF variables to blank. -
Skeleton
CMN$PARM
- Assigns system-wide values to build parameter variables. -
Optional skeleton
PRM$aaaa
(where aaaa is an application mnemonic) - Overlays system-wide default values with application specific values. -
Compile parm and link edit parm fields set in the user interface and stored in component history.
Build Parameter ISPF Variables
These are build parameter variables initialized to a null value in CMN$$VAR
, then set in "global" skeleton CMN$PARM
, and used in build process skeletons.
Variable Name | Description |
---|---|
&DB2PPRM1 | DB2 Precompile Parameters Part 1 |
&DB2PPRM2 | DB2 Precompile Parameters Part 2 |
&DB2PPRM3 | DB2 Precompile Parameters Part 3 |
&CICSPRM1 | CICS Translate Parameters Part 1 |
&CICSPRM2 | CICS Translate Parameters Part 2 |
&CICSPRM3 | CICS Translate Parameters Part 3 |
&MAPDPRM1 | BMS MAP DSECT Parameters Part 1 |
&MAPDPRM2 | BMS MAP DSECT Parameters Part 2 |
&MAPDPRM3 | BMS MAP DSECT Parameters Part 3 |
&COMPPRM1 | Compile Parameters Part 1 |
&COMPPRM2 | Compile Parameters Part 2 |
&COMPPRM3 | Compile Parameters Part 3 |
&PLNKPRM1 | Prelink Parameters Part 1 |
&PLNKPRM2 | Prelink Parameters Part 2 |
&PLNKPRM3 | Prelink Parameters Part 3 |
...
These are the compile parameter and link edit parameter variables used in build process skeletons that are set in the user interface or retrieved from component history.
Variable Name | Description |
---|---|
&COMPOPT1 | Compile Parameters Part 1 |
&COMPOPT2 | Compile Parameters Part 2 |
&COMPOPT3 | Compile Parameters Part 3 |
&COMPOPT4 | Compile Parameters Part 4 |
&COMPOPT5 | Compile Parameters Part 5 |
&LINKPRM1 | Link Parameters Part 1 |
&LINKPRM2 | Link Parameters Part 2 |
&LINKPRM3 | Link Parameters Part 3 |
...
Build Parameter Skeleton Architecture
Skeleton CMN$$VAR
is imbedded in every build procedure main skeleton. Skeletons CMN$PARM
and optional skeleton PRM$aaaa are imbedded in CMN$$VAR
. Variables &COMPOPTx and &LINKOPT are put into the ISPF variable pool by ChangeMan ZMF build process programs.
This code fragment from skeleton CMN$$VAR
shows initialization of build parameter variables, the imbed of skeleton CMN$PARM
, and the imbed of optional skeleton PRM$&PROJECT
. An )IM command in a skeleton will be ignored if the OPT parameter is given and the skeleton is not found.
)SET COMPPRM1 = &Z
)SET COMPPRM2 = &Z
)SET COMPPRM3 = &Z
. . .
)CM
)CM SET GLOBAL (I.E. SHOP STANDARD) COMPILE, LINK, ETC. PARAMETERS.
)CM
)IM CMN$PARM
. . .
)CM
)CM PERFORM IMBED OF APPLICATION-SPECIFIC PARMS FOUND IN A "PRM$XXXX"
)CM SKELETON MEMBER, IF THIS MEMBER EXISTS.
)CM
)IM PRM$&PROJECT OPT
These code fragments from skeletons CMN$$CO2
and CMN$$LNK
(named in bold on IM comment) show the build parm variables in the PARM statements for a COBOL2 compile step and a link edit step.
//*)IM CMN$$CO2
)CM
)CM ROUTINE TO COMPILE COBOL2 SOURCE CODE
)CM
. . .
//COBOL2&C#N EXEC PGM=IGYCRCTL, *** COMPILE COMPONENT &CMPNAME
// COND=(4,LT),
// PARM=('&COMPPRM1',
)SEL &COMPPRM2 NE &Z
// '&COMPPRM2',
)ENDSEL &COMPPRM2 NE &Z
)SEL &COMPPRM3 NE &Z
// '&COMPPRM3',
)ENDSEL &COMPPRM3 NE &Z
// '&COMPOPT')
. . .
//*)IM CMN$$LNK
)CM
)CM ROUTINE TO LINK-EDIT A PROGRAM
)CM
. . .
//LINK&L#N!EXEC!PGM=IEWL, *** LINK-EDIT COMPONENT &CMPNAME
// COND=(&CC$SUCC,LT),
// PARM=('&LINKPRM1',
)SEL &LINKPRM2 NE &Z
// '&LINKPRM2',
)ENDSEL &LINKPRM2 NE &Z
)SEL &LINKPRM3 NE &Z
// '&LINKPRM3',
)ENDSEL &LINKPRM3 NE &Z
)SEL &TLODLIKE EQ N
// 'NCAL',
)ENDSEL &TLODLIKE EQ N
// 'COMPRESS=NO',
// '&LINKOPT')
. . .
...
Customization Steps
Execute these steps to set values for build parameter variables.
-
Copy skeleton CMN$PARM from your vendor CMNZMF SKELS library to your custom SKELS library.
-
Assign system-wide values to build parameter variables according to language, or code your own selection logic.
-
If necessary, create an optional application skeleton in your CUSTOM SKELS library.
-
Copy skeleton PRM$CMAN from your vendor CMNZMF SKELS library to your custom SKELS library.
-
Rename the skeleton
PRM$aaaa
, where aaaa is an application mnemonic. -
Assign application-level overrides to build parameter variables, only where they are different than system-wide values in skeleton
CMN$PARM
.
-
Note
Sample skeleton VAR$CMAN can be renamed VAR$aaaa, where aaaa is an application mnemonic, to overlay system-wide default values set in CMN$$VAR with application specific values.