× Home About AS400 Files on AS400 Bit Operations Compile Commands EBCDIC Table Edit Codes Message Subfile Reg. Expressions Sort Contact us


RPG - LANGUAGE

Compile Commands


CRTRPGMOD

Create RPG Module

CRTSRVPGM

Create Service Program

CRTRPGPGM

Create RPG Program

CRTBNDRPG

Create Bound RPG Program

CRTPGM

Create Program

CRTCLMOD

Create CL Module

CRTCLPGM

Create CL Program

CRTBNDCL

Create Bound CL Program

CRTCMD Command

CRTMNU

Create Menu

CRTPF

Create Physical File

CRTLF

Create Logical File

CRTDSPF

Create Display File

CRTPRTF

Create Print File



A source program is the lowest in the program pecking orer. A source program has to be compiled into a module or into an executable program. An executable program is the highest in the hierarchy. It can be executed on its own.
CRTBNDRPG creates an executable RPG program from a single source. CRTBNDRPG also gives you the option of linking in ("binding") other modules or service programs.
CRTBNDCL creates an executable CL program from a single source.
CRTCLPGM creates an executable CL program from a single source.

A module is second from bottom in the program pecking order. A module has to be compiled. The compiled module can then be compiled into an executable program. Modules can be compiled into more than one executable program. If a module is changed, that module and any related executables have to be recompiled for the change to have effect.
CRTRPGMOD creates an RPG module.
CRTCLMOD creates a CL module.

A service program sits above a module and below an executable program in the pecking order. A service program is a compiled set of modules, but it has to be linked with an executable program. This is similar to a DLL (dynamic linked library) in Windows. Note that, as a general rule, you can change a service program without recompiling the executable.
CRTSRVPGM creates RPG service programs.

An executable program is the highest form of program. It can run as it stands and can access data files and screen files. It can call functions from the service programs linked to it at compile time.
CRTPGM creates an executable program from one or more modules or service programs.

CRTCMD - Create Command - creates a command over a program, usually a CL program. A command is executed in its own, in that it does not need to be called as a program does. A command is a handy way of calling a program when there aa a number of parameters involved. Commands are frequently used on the command line for operatonal jobs.

CRTMNU - Create Menu - creates a menu. A menu is a list of jobs which a user can run by selecting the numnber against the description.

CRTPF - Create Physical file - creates a physical file. See the section on files.

CRTLF - Create Logical file - creates a logical file. See the section on files.

CRTDSPF - Create Display file - creates a display file. See the section on files.

CRTPRTF - Create Print file - creates a print file . See the section on files.



Simplified Compile Commands

I created the following compile commands to be intermediate between the full CRT* and options 14 / 15 on PDM.
The aim is to give more control and visibility than options 14 & 15, while also making it easier than using the full CRT*.
To this end, the most commonly used parameters only are used. The CL is a wrapper for the compile, and the CMD keeps the parameters manageable.

You can view the CL sources and CMD source as a pdf here.

The commands are . . .
MAKECL for CRTCLPGM
MAKECMD for CRTCMD
MAKEFM for CRTDSPF
MAKELF for CRTLF
MAKEMOD for CRTRPGMOD
MAKEMODCL for CRTCLMOD
MAKEPF for CRTPF
MAKERP for CRTPRTF
MAKERPG for CRTRPGPGM
MAKERPGLE for CRTBNDRPG



They will compile and run as they are. However, I suggest you change the library name in the CMD sources from DEVLIB to one which suits you. This is not necessary, as you can change DEVLIB at run time.

The default source file name is always the QxxxSRC.

The simplest way to use these is to enter the object name. All other parameters will copy or default automatically at run time.

Please note that the OPTIONS parameter is not the same as the OPTIONS parameter on the CRT commands!

In addition, only files which have a DDS can be compiled by these commands.

MAKECL and MAKECMD can be used to create any of the CL and CMDs here, except for MAKECL and MAKECMD.

No error message procesing is included. When a compile fails for example, or a source member is not found, or an existing object cannot be deleted or recreated, standard OS message processing takes over.

You are free to use and amend these sources as suits your purpose. All I ask is that you maintain a comment to where you got them.

Post any comments or suggestions you may have on the Contact Us tab.





You can email us here or use the Contact Us menu tab.




a mckaysoftware website