callLink element

The callLink element of a linkage options part specifies the type of linkage used in a call. Each element includes the following properties:
The pgmName property always relates to the program that is being called. However, the callLink element is used in the following situations:
The value of the type property determines what additional properties are available, as shown in the next sections:

To determine the value of the type property that you need, see the table in "Choosing the correct callLink type" later in this topic.

Some properties, such as pgmName and parmForm, affect the generation of both Java and COBOL. Other properties, such as package, only affect the generation of Java. In addition, some properties, such as alias, location, and package, only affect the generation of the calling program. Other properties, such as linkType and parmForm, affect both the generation of the calling program and the generation of the called program, if it is generated as COBOL for the CICS environment.

If you do not specify a callLink element entry for a called program, EGL treats the called program as a localCall type and uses the default linkage options for the target runtime environment of the generated program.

Choosing the correct callLink type

The following table shows which values for the type property of the callLink element are appropriate for the listed client/server combinations.

Table 1.
Client Server localCall? remoteCall/ejbCall protocol(s)
Java/Debug Java (on same machine) Yes (needed when the client is a Java wrapper) DIRECT, DISTINCT, TCPIP
Java (on different machine) N/A TCPIP
iSeries® Java N/A TCPIP
C++/DLL (32– or 64–bit local DLL) N/A DIRECT, DISTINCT
C++/DLL (32–bit remote DLL)   TCPIP
CICS N/A CICSECI, CICSJ2C, CICSSSL, JCICS
IMS™ COBOL N/A IMSJ2C, IMSTCP
IMS transaction N/A IMSJ2C, IMSTCP
iSeries COBOL N/A JAVA400, JAVA400J2C
iSeries RPG N/A JAVA400, JAVA400J2C
COBOL generation for IMS/VS, IMS BMP, z/OS® batch PL/I type= STATIC N/A
CICS CICS Yes Supported by CICS (ejbCall is N/A)
z/OS batch N/A N/A
z/OS batch CICS N/A N/A
z/OS batch Yes* N/A
IMS BMP IMS BMP Yes* N/A
IMS/VS IMS/VS Yes* N/A
iSeries COBOL iSeries COBOL Yes N/A
iSeries RPG Yes N/A
iSeries RPG iSeries COBOL Yes N/A
iSeries RPG Yes N/A
* See Transfer of control across programs for more information about calling or transferring to another program.