Glossary

Integrated Language Environment (ILE)

ILE

ILE is the current program model on IBM i, where a compiler turns source code into module objects (*MODULE) that are then bound into programs (*PGM) and shared service programs (*SRVPGM), and modules written in RPG, COBOL, C, C++ and CL can be bound into one program. It is also what AI modernization work on the platform aims at, since IBM's guided Bob workflows include older RPG to ILE RPG and monolithic to modular refactoring.

Stands forIntegrated Language Environment
FollowedOriginal Program Model (OPM)
ILE languagesRPG, COBOL, C, C++, CL
Object types*MODULE, *PGM, *SRVPGM

What is ILE?

ILE stands for Integrated Language Environment. IBM calls it the current stage in the evolution of IBM i program models. In plain words, it is the modern way programs are put together on IBM i.

Picture building with bricks instead of pouring one solid slab. Each piece of code compiles into its own small brick, called a module. You bind the bricks you need into a finished program. Change one brick later and you rebuild that brick, not the whole wall.

The bricks can come from different languages. One program can hold modules written in RPG (Report Program Generator), COBOL, C, C++ and CL (Control Language).

How does an ILE program get built?

The three ILE object types, in build order

  1. Compile to a moduleThe Create RPG Module (CRTRPGMOD) command compiles ILE RPG source into a module object, marked *MODULE on the system. A module on its own cannot be run.
  2. Bind modules into a programThe Create Program (CRTPGM) command binds one or more modules into a program object, marked *PGM. A program has only one entry point, picked with the ENTMOD parameter.
  3. Put shared code in a service programIBM describes a service program, marked *SRVPGM, as a collection of runnable procedures and data items that other ILE programs can reach directly. It has no entry point, so it cannot be the target of a dynamic program call.

IBM's guide says the two-step build lets you modularize an application without recompiling the whole application, and reuse the same module in different applications. The one-step Create Bound RPG (CRTBNDRPG) command does both jobs at once, but the module it makes is temporary.

How is ILE different from the older program model?

Original Program Model (OPM) compared with ILE

OPMILE
LanguagesRPG, COBOL, CL, BASIC, PL/1RPG, COBOL, C, C++, CL
Mixing languages in one programNoYes, modules bind across languages
Shared procedure libraryNoYes, a service program (*SRVPGM)
Rebuild after a small changeThe whole programOnly the module you changed
Calling the other modelOPM can call ILEILE can call OPM

IBM lists coexistence as one of ILE's benefits. OPM programs can call ILE programs, and ILE programs can call OPM programs, so a shop can move over gradually instead of converting everything at once.

What is an activation group?

An activation group is a workspace inside a job. IBM says all ILE programs and service programs are activated within a substructure of a job called an activation group. It keeps what one running program needs apart from its neighbors.

  • Static program variables
  • Dynamic storage
  • Temporary data management resources such as open files, commitment definitions and SQL (Structured Query Language) cursors
  • Certain exception handlers and ending procedures

Why does ILE matter for AI tools on IBM i?

Much of the RPG code still running today was written before ILE, as one long program in the older fixed-format style. That is exactly where the AI tooling is pointed. IBM's page for the Bob Premium Package for i lists guided workflows for older RPG to ILE RPG and monolithic to modular refactoring, alongside fixed-form to free-form RPG, embedded SQL modernization and DDS-to-DDL conversion.

  • Older RPG to ILE RPG: bring a program into the current model so it can be bound with others
  • Monolithic to modular refactoring: split one long program into modules and service programs
  • Fixed-form to free-form RPG: a change of coding style, often done in the same pass

The payoff is the one IBM's own modularity guidance names: faster compile time, simpler maintenance, easier testing in isolation, better use of programmer time, and easier migration of code from other systems. Instead of recompiling 2000 lines after a small change, you recompile the 100 to 200 lines that changed.

Those workflow names are IBM's description of its own product, not a measured result. An AI conversion still has to pass your own tests before it goes near production.

Related Terms