Skip to content

Setting Build Parameters

Build process parameters are provided to skeleton file tailoring from the following sources:

  1. Skeleton CMN$$VAR - Initializes build parameter ISPF variables to blank.

  2. Skeleton CMN$PARM - Assigns system-wide values to build parameter variables.

  3. Optional skeleton PRM$aaaa (where aaaa is an application mnemonic) - Overlays system-wide default values with application specific values.

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

  1. Copy skeleton CMN$PARM from your vendor CMNZMF SKELS library to your custom SKELS library.

  2. Assign system-wide values to build parameter variables according to language, or code your own selection logic.

  3. If necessary, create an optional application skeleton in your CUSTOM SKELS library.

    1. Copy skeleton PRM$CMAN from your vendor CMNZMF SKELS library to your custom SKELS library.

    2. Rename the skeleton PRM$aaaa, where aaaa is an application mnemonic.

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