You create a module using the Create RPG Module (CRTRPGMOD) command. You can use the command interactively, as part of a batch input stream, or from a Command Language (CL) program.
If you are using the command interactively and need prompting, type CRTRPGMOD and press F4 (Prompt). If you need help, type CRTRPGMOD and press F1 (Help).
Table 31 lists the parameters of the CRTRPGMOD command and their system-supplied defaults. The syntax diagram of the command and a description of the parameters are found in Appendix C. The Create Commands.
Module Identification | |
MODULE(*CURLIB/*CTLSPEC) | Determines created module name and library |
SRCFILE(*LIBL/QRPGLESRC) | If specified, identifies source file and library |
SRCMBR(*MODULE) | 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 modules to search for /copy and /include files |
TEXT(*SRCMBRTXT) | Provides brief description of module |
Module Creation | |
GENLVL(10) | Conditions module 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 module 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 module |
DBGVIEW(*STMT) | Specifies type of debug view, if any, to be included in module |
DBGENCKEY(*NONE) | Specifies the encryption for the listing debug view for the module |
OPTIMIZE(*NONE) | Determines level of optimization, if any |
REPLACE(*YES) | Determines if module should replace existing module |
AUT(*LIBCRTAUT) | Specifies type of authority for created module |
TGTRLS(*CURRENT) | Specifies the release level the object is to be run on |
BNDDIR(*NONE) | Specifies the binding directory to be used for symbol resolution |
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(*INHERIT) | Specifies the storage model for the module |
Compiler Listing | |
OUTPUT(*PRINT) | Determines if there is a compiler listing |
INDENT(*NONE) | Determines if indentation should show in listing, and identify 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 module 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 | |
SRTSEQ(*HEX) | Specifies the sort sequence table to be used |
OPTION(*DEBUGIO) | *DEBUGIO/*NODEBUGIO, determines if breakpoints are generated for input and output specifications |
LANGID(*JOBRUN) | Used with SRTSEQ to specify the language identifier for sort sequence |
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 module; the second parameter indicates whether it should be generated into a stream file or into the module. |
TRUNCNBR(*YES) | Specifies action to take when numeric overflow occurs for packed-decimal, zoned-decimal, and binary fields in fixed format operations. |
LICOPT(options) | Specifies Licensed Internal Code options. |
When requested, the CRTRPGMOD command creates a compiler listing which is for the most part identical to the listing that is produced by the CRTBNDRPG command. (The listing created by CRTRPGMOD will never have a binding section.)
For information on using the compiler listing, see Using a Compiler Listing. A sample compiler listing is provided in Appendix D. Compiler Listings.