remotePgmType in callLink element

The remotePgmType property of the callLink element of the linkage options part specifies the kind of program being called. The remotePgmType property affects the generation of the calling program. The property is applicable in the following situation:
Select one of the following values:
EGL
EGL is the default value. In this case, the called program is a COBOL or Java program that was generated by EGL or by VisualAge® Generator.
EXTERNALLYDEFINED
The called program was generated neither by EGL nor by VisualAge Generator. This option is available only in the following cases:
  • The caller is a COBOL or Java program, and the called program runs on CICS and includes CICS commands.
  • The caller is a Java program, and the called program is a non-EGL generated program on the System i®.
  • The caller is a Java program, and the called program is a non-EGL-generated DLL or a C or C++ program.

    If the caller is calling a DLL, set the library property to the name of the shared library if the program is not the same as the name of the function being called within the DLL.

STATEFUL
Used on web projects for pages to access stateful host programs on IBM i; for example, RPG programs. This option bypasses the host catcher program. It creates and stores a connection based on the web session; subsequent IBM i calls will reuse the same connection.
The following considerations apply:
  • Bypassing the host catcher program means that EGL does not initiate commit or rollback operations for the host program. The user code is responsible for commit and rollback.
  • The option is allowed only when the remoteComType property is set to JAVA400 and the target is a web project.
  • Any code that requires HTTP session operations cannot run or be debugged unless the code is deployed on an application server.
STATELESS
Used in the following two cases:
  • To directly call an IBM i host program, bypassing the catcher. This option uses connection pooling, so subsequent calls are not guaranteed to use the same connection. The following considerations apply:
    • Bypassing the host catcher program means that EGL does not initiate commit or rollback operations for the host program. The user code is responsible for commit and rollback.
    • The use of STATELESS is allowed only when the remoteComType property is set to JAVA400.
  • To invoke an IMS transaction through IMS Connect, when separate input and output records are being passed. This use of STATELESS is allowed only when the remoteComType property is set to IMSTCP or IMSJ2C.

Feedback