You can identify the base call stack entry by providing the name of the OPM program or ILE procedure running in that entry.
The name provided is either a simple name (one part) or a complex name (two or three parts). Following are descriptions of the simple and complex names:
A simple name is used to identify an OPM program or an ILE procedure. If the simple name you provide is 10 characters or less in length, it is determined by the system that the name is either an OPM program or an ILE procedure. The base is identified as the most recently called OPM program or ILE procedure by that name.
If the name is longer than 10 characters in length, it is determined by the system that the name is for an ILE procedure (OPM program names cannot be longer than 10 characters). The base is identified as the entry for the most recently called procedure by that name. Entries running OPM programs are not considered.
See the first figure for an example of sending a message using a simple name. In this example, CLPROC4 is sending a message to CLPROC2 and CLPROC2 is sending a message to CLPGM1.
A complex name consists of two or three parts. They are:
The module name is the name of the module into which the procedure was compiled.
The program name is the name of the program into which the procedure was bound.
When you want to uniquely identify the procedure to which you want to send the message, a complex name can be used in one of the following combinations:
You must specify the module name as *NONE.
If you use a complex name, the base being identified cannot be running an OPM program.
See the figure below for an example of sending a message using a complex name. In this example, CLPROC4 is sending a message to CLPROC1 using a two part name consisting of (procedure name, program name).
Rather than using the full OPM program name or the full ILE procedure name, you may use partial names.