The Create Bound RPG (CRTBNDRPG) command creates a program object from RPG IV source in one step. It also allows you to bind in other modules or service programs using a binding directory.
The command starts the ILE RPG compiler and creates a temporary module object in the library QTEMP. It then binds it into a program object of type *PGM. Once the program object is created, the temporary module used to create the program is deleted.
The CRTBNDRPG command is useful when you want to create a program object from standalone source code (code that does not require modules to be bound together), because it combines the steps of creating and binding. Furthermore, it allows you to create an OPM-compatible program.
You can use the CRTBNDRPG command interactively, in batch, or from a Command Language (CL) program. If you are using the command interactively and require prompting, type CRTBNDRPG and press F4 (Prompt). If you need help, type CRTBNDRPG and press F1 (Help).
Table 30 summarizes the parameters of the CRTBNDRPG command and shows their default values.
Program Identification | |
PGM(*CURLIB/*CTLSPEC) | Determines created program name and library |
SRCFILE(*LIBL/QRPGLESRC) | If specified, identifies source file and library |
SRCMBR(*PGM) | If specified, identifies file member containing source specifications |
SRCSTMF(path) | If specified, indicates the path to the source file in the IFS |
INCDIR('path to directory 1:path to directory 2') | Identifies a list of directories to search for /copy and /include files |
TEXT(*SRCMBRTXT) | Provides brief description of program |
Program Creation | |
GENLVL(10) | Conditions program creation to error severity (0-20) |
OPTION(*DEBUGIO) | *DEBUGIO/*NODEBUGIO, determines if breakpoints are generated for input and output specifications |
OPTION(*GEN) | *GEN/*NOGEN, determines if program is created |
OPTION(*NOSRCSTMT) | Specifies how the compiler generates statement numbers for debugging |
OPTION(*UNREF) | *UNREF/*NOUNREF Determines whether unreferenced fields are placed in the program object |
DBGVIEW(*STMT) | Specifies type of debug view, if any, to be included in program |
DBGENCKEY(*NONE) | Specifies the encryption for the listing debug view for the program |
OPTIMIZE(*NONE) | Determines level of optimization, if any |
REPLACE(*YES) | Determines if program should replace existing program |
BNDDIR(*NONE) | Specifies the binding directory to be used for symbol resolution |
USRPRF(*USER) | Specifies the user profile that will run program |
AUT(*LIBCRTAUT) | Specifies type of authority for created program |
TGTRLS(*CURRENT) | Specifies the release level the object is to be run on |
ENBPFRCOL(*PEP) | Specifies whether performance collection is enabled |
DEFINE(*NONE) | Specifies condition names that are defined before the compilation begins |
PRFDTA(*NOCOL) | Specifies the program profiling data attribute |
STGMDL(*SNGLVL) | Specifies the storage model for the program |
Compiler Listing | |
OUTPUT(*PRINT) | Determines if there is a compiler listing |
INDENT(*NONE) | Determines if indentation should show in listing, and identifies character for marking it |
OPTION(*XREF *NOSECLVL *SHOWCPY *EXPDDS *EXT *NOSHOWSKP *NOSRCSTMT) | Specifies the contents of compiler listing |
Data Conversion Options | |
CVTOPT(*NONE) | Specifies how various data types from externally described files are handled |
ALWNULL(*NO) | Determines if the program will accept values from null-capable fields |
FIXNBR(*NONE) | Determines which decimal data that is not valid is to be fixed by the compiler |
Run-Time Considerations | |
DFTACTGRP(*YES) | Identifies whether this program always runs in the OPM default activation group |
OPTION(*DEBUGIO) | *DEBUGIO/*NODEBUGIO, determines if breakpoints are generated for input and output specifications |
ACTGRP(*STGMDL) | Identifies the activation group in which the program should run |
SRTSEQ(*HEX) | Specifies the sort sequence table to be used. |
LANGID(*JOBRUN) | Used with SRTSEQ to specify the language identifier for sort sequence |
TRUNCNBR(*YES) | Specifies the action to take when numeric overflow occurs for packed-decimal, zoned-decimal, and binary fields in fixed-format operations. |
INFOSTMF(path) | Used with PGMINFO, specifies the stream file in the IFS to receive the PCML |
PGMINFO(*NONE) | *PCML indicates that PCML (Program Call Markup Language) should be generated for the program; the second parameter indicates whether it should be generated into a stream file or into the module. |
LICOPT(options) | Specifies Licensed Internal Code options. |
See Appendix C. The Create Commands for the syntax diagram and parameter descriptions of CRTBNDRPG.