Before you dive into ILE as a programmer or start managing ILE objects as an administrator, you need to understand the many ILE-related objects. (We discussed these in the last two installments -- How to use ILE objects -- Part I and Part II). You also need to understand the many ILE-related commands and how they interrelate. This will help both your productivity as you learn ILE and your system's resources as you deploy ILE.
A quick reference to ILE commands
The following sections will summarize the new ILE-related commands. They are grouped into rough categories for clarity.
Module and program creation commands
CRTxxxMOD. These Create Module commands compile source members of the various ILE languages into ILE modules, intermediate non-executable objects that can be bound into ILE programs. The xxx is replaced with the appropriate language designator, such as RPG, CBL, C, or CL, to produce CRTRPGMOD, CRTCBLMOD, CRTCMOD, or CRTCLMOD.
CRTPGM. The Create Program command allows you to bind together one or more modules -- created with the CRTxxxMOD commands -- into a single executable program. The modules can be of different languages.
CRTBNDxxx. These Create Bound Program commands combine the function of the CRTxxxMOD and CRTPGM commands. They can be used to quickly compile a source member and automatically bind the resulting (temporary) module into an executable ILE (i.e., bound) program in one step.
These commands can also be used to create an ILE program that runs in the default activation group, which is not an option when you use the CRTPGM command. Like the CRTxxxMOD commands, you should replace the xxx in CRTBNDxxx with the appropriate language identifier. Note: You cannot list any other modules on the CRTBNDxxx commands to bind into the program (as you can on the CRTPGM command). You must use binding directories to reference other modules or service programs on the CRTBNDxxx commands.
CRTSRVPGM. The Create Service Program command is similar to the CRTPGM command except it creates a service program.
Binding directory commands
CRTBNDDIR. The Create Binding Directory command creates a "shell" to hold binding directory entries that you add later using the ADDBNDDIRE command. Binding directory entries are references to modules and service programs. Binding directories can be specified on the CRTPGM, CRTBNDxxx, and CRTSRVPGM commands. The binding directory entries are then used to locate unresolved procedures. Using binding directories can significantly reduce the amount of information required on the CRTPGM, CRTBNDxxx, and CRTSRVPGM commands, thus increasing productivity.
ADDBNDDIRE. The Add Binding Directory Entry command can be used to add module and service program names to a binding directory. Only the names are stored in the binding directory, not the actual module or service program. The stored names are then used as references to locate unresolved externals (i.e. procedures and variables) when the binding directory is specified on a CRTPGM, CRTBNDxxx or CRTSRVPGM command.
RMVBNDDIRE. The Remove Binding Directory Entry command is the opposite of the ADDBNDDIRE command; it removes a specific entry or group of entries from a binding directory.
DSPBNDDIR. The Display Binding Directory command is used to display the entries stored in a binding directory.
WRKBNDDIR. The Work with Binding Directories command allows you to interactively work with a list of binding directories.
WRKBNDDIRE. The Work with Binding Directory Entries command allows you to interactively work with the entries of a binding directory, adding and removing them with simple menu commands.
Module and program maintenance commands
CHGMOD, CHGPGM and CHGSRVPGM. These commands allow you to change certain attributes of modules, programs and service programs, respectively. Theey are similar to the "old" CHGPGM. For example, they can be used to optimize or remove observability from a module, program or service program.
DLTMOD, DLTPGM and DLTSRVPGM. These commands delete modules, programs and service programs, respectively.
DSPMOD, DSPPGM and DSPSRVPGM. These commands display information about a module, program or service program, respectively.
WRKMOD, WRKPGM and WRKSRVPGM. These commands allow you to interactively work with a list of modules, programs or service programs, respectively.
UPDPGM and UPDSRVPGM. These commands allow you to replace one or more modules in a program or service program with new modules without requiring you to recreate the entire program. The new modules must have the same name as the ones to be replaced.
About the author: Ron Turull is editor of Inside Version 5. He has more than 20 years' experience programming for and managing AS/400-iSeries systems.