Keyword Control Statements
The following figure shows a sample control statement input to program CMNDB2PL. Detailed descriptions of each keyword are in the sections that follow.
//CMNPLCTL DD \*
TYPE=INSTALL
*AUTHORITY=OWNER,INSERT
AUTHORITY=OWNER
*INSERTQUAL
*EARLYCHECK
*IGNORENOSUBSYS
*TEMPDS
*TRACE
USEREXIT=(ASM,NOUNLOAD)
USERID=USER239
PACKAGE=GENL000018
PROJECT=GENL
NOBASEDBBRC=12
WARNINGRC=4
USEDB2PACKAGE
*NODB2PLAN
*FREEPLAN
*CREATECC
*IGNORENODBRM
*PKLTEMPLATE
DB2ID=C105
LOGICAL=SERT4
PLANTGT=
PLANSRC=
PKGETGT=
PKGESRC=
LOCNTGT=
LOCNSRC=
QUALIFIER=
QUALTGT=
QUALSRC=
OWNER=
OWNRTGT=
OWNRSRC=
REMOTEID=SERT4
Control Statement Syntax
An asterisk in the first position of a program level control statement record disables the statement (comments it out). If a control statement is disabled, the action opposite from that expressed in the keyword name (or defined in this chapter) is in effect.
Program Level Control Statements
These keyword control statements are input once for each execution of Plan Lookup program CMNDB2PL. The options controlled by these keywords are in effect for all components and logical subsystems processed by the program.
AUTHORITY=
: Specifies whether BIND authorization is by OWNER ID or JOB card. If this control statement is omitted, the default is: AUTHORITY=OWNER
| Option | Definition |
|:--------|:------------|
| **OWNER | Required either when the SERNET instance userid has been granted SYSADM or SYSCTRL authority, or when the SERNET userid has one or more secondary authorization IDs, one for each possible owner that can be specified. <BR/><BR/>Each set of logical Db2 subsystem control statements for CMNDB2PL must include an OWNER= control statement, even if the owner ID is left blank. <BR/><BR/>Add an OWNER option to a BIND command if one is not present.|
| **OWNER, INSERT | If INSERT is not specified, OWNER templating is performed only if an OWNER option is included in the BIND command. <BR/><BR/>JOBID authorization is used when the ChangeMan started task is authorized to submit jobs for other users through USER= field on the JOB card. |
| **JOBID | No OWNER= control statements can be included in the input at ddname CMNPLCTL.|
BINDPACKAGETYPE : This control statement is obsolete with ZMF 7.
CREATECC : Sets an indicator for exit program CMNEX101 to create a BIND command when none is found in staging or baseline libraries. The new BIND command is written to ddname stssysBCTL. See the source code for MNEX101.
EARLYCHECK
: Validate the connection to all Db2 subsystems at beginning of processing.
CMNDB2PL builds an internal table that contains all of the Db2 subsystem IDs that will be processed for the job. When EARLYCHECK is specified, CMNDB2PL performs an “early” Db2 connect for each Db2 subsystem ID contained in this table. The NOEARLYCHECK keyword is no longer valid.
FREEPLAN : Create a FREE PLAN command if a BIND PLAN command member cannot be found and CMNDB2PL control statement TYPE= is DEMOTE or BACKOUT.
IGNORENODBRM
: Bypass RC=12 and error message “CMN7034A Staged DBRM {dbrm name} is not referenced by any plans.” ...when a staged DBRM cannot be matched with a MEMBER statement in the output BIND command file at ddname stssysBCTL.
Issue warning message.
IGNORENOSUBSYS : Bypass RC=12 and error message “CMN7025A Unable to establish connection to Db2 subsystem: {subsystem id}.”... ...when CMNDB2PL cannot connect to a Db2 subsystem. Skip all processing for the Db2 subsystem and go on to the next one.
INSERTQUAL : Add a QUALIFIER parameter to a BIND command if one is not present and the QUALIFIER= control statement is not blank.
LEGACYCOMMENTS=YES/NO
: Allow comments in the bind component to be indicated by an asterisk in column 1. Default is NO.
The default prevents the possibility of losing the third collection in (e.g.) the following set of bind parameters:
BIND PLAN (WILDLOC) PKLIST -
(COLLID1.*, -
COLLID2.*, -
*.COLLID3.*, -
COLLID4.* )
NOBASEDBBRC= : Specifies the return code that CMNDB2PL issues when processing a new DBRM where no previous BIND command member is found. Valid values are numeric digits (00-99) representing the return code to be issued. The default return code is 04 if this control statement is not present.
NOCATALOGDUPCHECK : Directs CMNDB2PL to bypass duplicate bind checking in a run that relies completely on Db2 catalog driven binds (i.e. there are no plan or package bind control members being processed, just DBRMs). The usual process is to eliminate all duplicate binds generated by the Db2 catalog information. If you prefer to post-process this list of duplicate binds, you can use this keyword to direct CMNDB2PL to bypass duplicate bind checking.
NODB2PLAN : Bypass the query to SYSIBM.SYSDBRM table to determine if any staged DBRMs are referenced by Db2 plans. Use this control statement if plan binds are executed outside of ChangeMan ZMF and only package bind processing is managed by CMNDB2PL.
PACKAGE= : Specifies the change package ID. The change package ID is not used by CMNDB2PL but it is passed to exit program CMNEX101.
PKLTEMPLATE : Enables templating for the collection IDs and location in the PKLIST of BIND PLAN commands. Without this control statement, Db2 package names will be templated in BIND PACKAGE commands, but the collection IDs and location in BIND PLAN will not be templated.
PROJECT= : Application mnemonic.
TEMPDS
: Write templated BIND command members to the library at ddname stssysTMP when TYPE=BACKOUT or TYPE=INSTALL.
The NOTMP keyword is no longer valid.
TEMPDSNHLQ : High level qualifier for the named temporary dataset allocated to hold DSN BIND records before parsing. The high level qualifier returned by CMNEXINS is used if this keyword is not specified.
TRACE : Turn on a trace facility to print diagnostics at ddname SERPRINT from CMNDB2PL calls to CMNDB2CB and CMNDB2SQ for Db2 SQL calls.
TYPE=
: Indicates the type of operation for which BIND commands are being constructed.
TYPE= must be the first control statement at ddname CMNPLCTL. There is only one TYPE control statement for an execution of CMNDB2PL.
Valid values:
PROMOTE
DEMOTE
INSTALL
BACKOUT
STAGE is accepted, but it processes the same as PROMOTE.
USEDB2PACKAGE : Query Db2 table SYSIBM.SYSPACKAGE to determine if any staged DBRMs are referenced by Db2 packages so that BIND PACKAGE commands can be built. Comment out this control keyword to bypass the query.
USEREXIT=
: Specifies the language and load mode for exit program CMNEX101.
Format: USEREXIT=(language,mode)
Valid values for language:
ASM (assembly language) is the only valid language.
Valid values for mode:
UNLOAD: Load a fresh copy of the exit load after each invocation when your program is not reusable.
NOUNLOAD: Leave the program resident after the initial LOAD of the user exit. This is the default mode.
USEREXIT=(NONE) bypasses parsing for CMNEX101. You may use this form of the control statement To enhance the efficiency of CMNDB2PL if you do not used CMNEX101.
USERID=
: Identifies the authorization ID (TSO userid) of the person who issued a promotion or demotion request. For install or backout, USERID identifies the authorization ID of the person who generated the install JCL by freezing the package or issuing a request to rebuild the install JCL from freeze or approval.
Not used by CMNDB2PL but passed to exit program CMNEX101.
WARNINGRC=
: Specifies the return code CMNDB2PL issues when it issues warnings for taking default actions. The default for warnings is RC=04.
Valid values are numeric digits representing the desired return code to be issued.
Note
CMNDB2PL has always assumed that an asterisk in column 1 means a comment card in the bind parameter member. This is not IBM-standard but was (and is) a mechanism used to communicate to the ZMF exit CMNEX101. This, however, meant that genuine bind parameters with an asterisk in column 1 are also treated as comments. We recommend not relying on an asterisk in column 1 of the bind parameters to indicate a comment but, if your processes need to do this, then LEGACYCOMMENTS=YES will allow you to do so (but don't code genuine bind parameters with an asterisk in column 1).
Logical Subsystem Level Control Statements
These keywords specify values that are defined for the target logical subsystem.
The values for the LOGICAL=, DB2ID=, REMOTEID= statements are defined on the Db2 Logical Subsystem panel in application administration for the Db2 Option. The values for the rest of the control statements listed in this section are defined on the Db2 Logical Subsystem nickname Templates panel.
If the Db2 Active Library List panel for an application directs program CMNDB2PL to process multiple logical subsystems, then a set of these control statements is input to CMNDB2PL for each logical subsystem that is processed.
Control Keyword | Description |
---|---|
DB2ID= | Name of the physical subsystem. |
LOCNSRC= | Source template for PACKAGE location ID. |
LOCNTGT= | Target template for PACKAGE location ID. |
LOGICAL= | Name (nickname) of the logical subsystem. Not used by CMNDB2PL but passed to exit program CMNEX101. |
OWNER= | Insert value for OWNER. Required if AUTHORITY=OWNER or AUTHORITY=OWNER,INSERT. Prohibited if AUTHORITY=JOBID. |
OWNRSRC= | Source template for OWNER. |
OWNRTGT= | Target template for OWNER. |
PKGESRC= | Source template for PACKAGE collection ID. |
PKGETGT= | Target template for PACKAGE collection ID. |
PLANSRC= | Source template for PLAN name. |
PLANTGT= | Target template for PLAN name. |
QUALIFIER= | Insert value for QUALIFIER. |
QUALSRC= | Source template for QUALIFIER. |
QUALTGT= | Target template for QUALIFIER. |
REMOTEID= | Site for the physical subsystem. The site may be a local or remote site. Not used by CMNDB2PL but passed to exit program CMNEX101. |