ILE COBOL Programmer's Guide

Parameters of the CRTBNDCBL Command

Nearly all of the parameters of CRTBNDCBL are identical to those shown for CRTCBLMOD previously. Only the differences between the two commands will be described here.

CRTBNDCBL differs from CRTCBLMOD in the following ways:

PGM Parameter:
Specifies the program name and library name for the program object you are creating. The program name and library name must conform to iSeries naming conventions. The possible values are:
*PGMID
The name for the compiled program object is taken from the PROGRAM-ID paragraph in the ILE COBOL source program. When SIMPLEPGM(*NO) is specified, the name of the compiled program object is taken from the PROGRAM-ID paragraph of the first ILE COBOL source program in the sequence of source programs (multiple compilation units in a single source file member).
program-name
Enter a name to identify the compiled ILE COBOL program. If you specify a program name for this parameter, and compile a sequence of source programs and if SIMPLEPGM(*YES) is specified, the first program object in the sequence uses this name; any other program objects use the name specified in the PROGRAM-ID paragraph in the corresponding ILE COBOL source program.

The possible library values are:

*CURLIB
The created program object is stored in the current library. If you have not assigned a library as the current library, QGPL is used.
library-name
Enter the name of the library where the created program object is to be stored.
REPLACE Parameter:
Specifies if a new program object is created when a program object of the same name in the specified or implied library already exists. The intermediate module objects created during the processing of the CRTBNDCBL command are not subject to the REPLACE specifications, and have an implied REPLACE(*NO) against the QTEMP library. The intermediate module objects are deleted once the CRTBNDCBL command has completed processing. The possible values of the REPLACE parameter are:
*YES
A new program object is created and it replaces any existing program object of the same name in the specified or implied library. The existing program object of the same name in the specified or implied library is moved to library QRPLOBJ.
*NO
A new program object is not created if a program object of the same name already exists in the specified library. The existing program object is not replaced, a message is displayed, and compilation stops.
USRPRF Parameter:
Specifies the user profile that will run the created program object. The profile of the program owner or the program user is used to run the program object and control which objects can be used by the program object (including the authority the program object has for each object). This parameter is not updated if the program object already exists. To change the value of USRPRF, delete the program object and recompile using the correct value (or, if the constituent *MODULE objects exist, you may choose to invoke the CRTPGM command).

The possible values are:

*USER
The user profile of the program user is to be used when the program object is run.
*OWNER
The user profiles of both the owner and user of the program object are to be used when the program object is run. The collective sets of object authorities in both owner and user profiles are to be used to find and access objects during the running of the program object. Any objects that are created when the program is run are owned by the user of the program.
SIMPLEPGM Parameter:
Specifies if a program object is created for each of the compilation units in the sequence of source programs. This option is meaningful only if the input source member to this command contains a sequence of source programs which generate multiple module objects. If this option is specified but the input source member does not have a sequence of source programs, then the option is ignored. The possible values are:
*YES
A program object is created for each of the compilation units in the sequence of source programs. If REPLACE(*NO) is specified and a program object of the same name already exists for a compilation unit in the sequence of source programs, that program object is not replaced and compilation continues at the next compilation unit.
*NO
A single program object is created from all the compilation units in the sequence, with the first compilation unit representing the Program Entry. With SIMPLEPGM(*NO) specified, if one source program in a sequence of source programs fails to generate a module object then all subsequent source programs in the sequence will also fail to generate module objects.
PRFDTA Parameter:
This parameter works the same as described on page PRFDTA Parameter, with the following note.
Note:
If you use the BNDDIR parameter to bind additional modules and service programs, these additional objects are not affected when *COL or *NOCOL is specified for the program. The program profiling data attribute for a module is set when the module is created.
BNDDIR Parameter:
Specifies the list of binding directories that are used in symbol resolution. Can specify up to 50 binding directories.
*NONE
No binding directory is specified.
binding-directory-name
Specify the name of the binding directory used in symbol resolution. The directory name can be qualified with one of the following library values:
*LIBL
The system searches the library list to find the library where the binding directory is stored. This is the default.
*CURLIB
The current library for the job is searched. If no library is specified as the current library for the job, library QGPL is used.
*USRLIBL
Only the libraries in the user portion of the job's library list are searched.
library-name
Specify the name of the library to be searched.
ACTGRP Parameter:
Specifies the activation group this program is associated with when it is called.
QILE
When this program is called, it is activated into the named activation group QILE. This is the default.
*NEW
When this program is called, it is activated into a new activation group.
*CALLER
When this program is called, it is activated into the caller's activation group.
activation-group-name
Specify the name of the activation group to be used when this program is called.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]