The Create Bound CL Program 2 command combines the functions of
CRTCLMOD and CRTPGM and changes the defaults of certain parameters.
The intent is to have a simple create command for single module
programs that replaces CRTBNDCL.
The CRTBNDCL program is limited in that it cannot refer to a Binding
Directory nor bind a service program. CRTBNDCL2 adds these
parameters. It also changes the defaults of a few parameters.
A typical command would be:
CRTBNDCL2 defaults to use more typical functions:
The defaults would cause member ABC of the QCLSRC file to be created
as a module in QTEMP. The CRTPGM command would then be run
automatically to create program ABC in the current library.
Adding a PDM option for CRTBNDCL2
The ADDPDMOPT command will allow you to add the IC (ILE CL) option
for CRTBNDCL2. Enter the following command and press F4 to prompt.
The command prompt will allow you to name the PDM options file. You
may use a different option value (other than IC).
Assume you used the default of IC. You can then use WRKMBRPDM with
the IC option such as:
Opt Member Type Text
-- ------ ---- --------------------
__ MBR1 CLP A test member
IC MBR2 CLLE A second test member
When the IC option is used, there is no 'Confirm Compile of Member'
prompt if an object program of the same name already exists. The
REPLACE option on CRTBNDCL2 is used (default is *YES).
F4 may be used in conjunction with IC to change some of the command
parameters before submitting the job.
There is no check made to ensure that a CLLE type source member is
being used. The CRTBNDCL2 command will be attempted on whatever
member is specified.
Differences with CRTBNDCL
CRTBNDCL2 supports parameters that are not on CRTBNDCL, but are on
** BNDDIR. Binding directory.
** BNDSRVPGM. Bind service program.
A special parameter CRTMSGS has also been added to allow the CRTxxx
messages to be sent. This is intended as a testing option.
The following defaults are changed:
** DFTACTGRP. The parameter shown is ACTGRP (not DFTACTGRP) with
a default of QILE. If *DFT is entered, the CRTBNDCL command
is used to create a bound CL program in the default activation
group (DFTACTGRP(*YES) is specified).
** DBGVIEW. Changed from *STMT to *SOURCE.
** AUT. Changed to *USE from *LIBCRTAUT. This is generally a
better default as it prevents misuse of the debug capability.
The following CRTPGM parameters are not supported:
Note that CRTPGM allows multiple modules. CRTBNDCL2 supports only a
Temporary module in QTEMP
The module name created in QTEMP is TAATMPMOD. It is automatically
deleted as part of CRTBNDCL2.
CRTBNDCL2 escape messages you can monitor for
None. Escape messages from based on functions will be re-sent.
Command parameters *CMD
The parameters up to ACTGRP appear on the initial prompt. Other
parameters may be accessed using F9 or F10.
PGM The qualified name of the program to be created.
The library value defaults to *CURLIB.
SRCFILE The source file to be used. The default is QCLSRC.
The library qualifier defaults to *LIBL. *CURLIB
may also be used.
SRCMBR The source member to be used. The default is *PGM
meaning the same name as the program to be created.
TEXT The text description of the program to be created.
The default is *SRCMBRTXT meaning the same text as
appears on the source member.
DBGVIEW The Debug View to be used. The default is *SOURCE
which differs from the CRTBNDCL default. *STMT,
*LIST, *ALL, or *NONE may also be entered. Refer to
CRTBNDCL for the definitions.
ACTGRP The Activation Group to be used. The default is
QILE. *NEW or *CALLER (which also appear on
CRTBNDCL) may also be used. Refer to CRTBNDCL for
*DFT is a new entry which allows the default
activation group as provided by the system to be
used. If *DFT is specified, the CRTBNDCL command is
used instead of CRTCLMOD and CRTPGM.
DFTACTGRP(*YES) is specified on CRTBNDCL.
BNDSRVPGM The Bind Service Program parameter allows up to 40
Service Programs to be bound to the program. Refer
to CRTPGM for the definition.
BNDDIR The Binding Directory parameter allows up to 40
Binding Directories to be used when creating the
program. Refer to CRTPGM for the definition.
OUTPUT Specifies whether a compiler listing is generated.
The default is *PRINT to cause the listing. *NONE
may be specified to prevent the listing. Refer to
CRTBNDCL for the definition.
OPTION Source level options may be entered as a list. The
defaults are the same as on CRTBNDCL (*NOXREF
*NOSECLVL *NOEVENTF) and need not be specified. One
or more of the following may be entered *XREF
*SECLVL, or *EVENTF. Refer to CRTCLMOD for the
USRPRF Whether to run the program with the user or owner's
authority. The default is *USER. *OWNER may also
LOG Whether to log the program commands. The default is
*JOB. *YES or *NO may also be specified. Refer to
CRTBNDCL for the definition.
REPLACE Whether to replace the existing program. The
default is *YES. *NO may also be specified. If an
existing program is replaced, security
considerations from the previous version are
retained. Refer to CRTBNDCL for the definition.
TGTRLS The release the program is intended to run on. The
default is *CURRENT. *PRV or a specific release may
also be entered. If the object is intended for a
prior release, the TGTRLS parameter on the SAV
commands must also be used. See the command prompt
for the supported releases.
AUT The authority of the program. The default is *USE.
This differs from the CRTBNDCL default of
*LIBCRTAUT. *LIBCRTAUT, *ALL, *USE, or *EXCLUDE may
also be specified. Refer to CRTBNDCL for the
The default has been changed to better protect the
security of programs. Using the default for the
*LIBCRTAUT function typically results in a program
being created with *CHANGE authority. This allows
any user who is authorized to the debug commands to
be able to debug the program. Because debug allows
changes during the running of the program, it is a
questionable function to allow for all programmers
who have debug authority.
Specifying *USE allows only the owner (or an
*ALLOBJ) user to be able to debug the program.
SRTSEQ The sort sequence used by the program. The default
is *HEX. *JOB, *JOBRUN, *LANGIDUNQ, *LANGIDSHR or a
sort table name may also be specified. Refer to
CRTBNDCL for the definition.
LANGID Specifies the language identifier to be used when
SRTSEQ(*LANGIDUNQ) or SRTSEQ(*LANGIDSHR) is used.
*JOBRUN is the default. *JOB or a specific language
identifier may be entered. Refer to CRTBNDCL for
OPTIMIZE The optimization level of the program. The default
is *NONE. *BASIC, *FULL, 10, 20, 30, or 40 may also
be specified. Refer to CRTBNDCL for the definition.
ENBPFRCOL Whether to enable performance data collection. The
default is *PEP. *FULL or *NONE may also be
specified. Refer to CRTBNDCL for the definition.
CRTMSGS Whether to send messages for the command string used
for the CRT commands. The default is *NO to not
send any CRT messages. *YES may be specified to
cause messages to be sent. This parameter is
intended as a testing option.
The following TAA Tools must be on your system:
EXTLST Extract list
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
SNDSTSMSG Send status message
None, the tool is ready to use.
Objects used by the tool
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
CRTBNDCL2 *CMD TAAPGNC QATTCMD
TAAPGNCC *PGM CLP TAAPGNCC QATTCL