type in callLink element

The linkage options part, callLink element, property type specifies the kind of call. Select one of the following values:

ejbCall

Indicates that the generated Java program or wrapper will implement the program call by using an EJB session bean and that the EJB session bean will access program identified in the property pgmName. The value ejbCall is applicable in either of two cases:

  • You are generating a Java wrapper and the wrapper calls that program by way of an EJB session bean. In this case, the property pgmName refers to the program called from the wrapper, and your use of ejbCall causes generation of the EJB session bean.

  • You are generating a Java program that calls a generated program by way of an EJB session bean. In this case, the property pgmName refers to the called program, and an EJB session bean is not generated.

In either case, if you are using an EJB session bean, generate a Java wrapper, if only to generate the EJB session bean.

The generated session bean must be deployed on an enterprise Java server, and one of the following statements must be true:

  • The name server used to locate the EJB session bean resides on the same machine as the code calling that session bean; or

  • The property providerURL identifies where the name server resides.

If you wish to use an EJB session bean, generate the calling program or wrapper with a linkage options part in which the value of property type for the called program is ejbCall. You cannot make the decision to use a session bean at deployment time. If you set the property remoteBind to RUNTIME, however, you can decide at deployment time how the EJB session bean accesses the generated program, although making this decision at generation time is more efficient.

localCall

Specifies that the call does not use EGL middleware. The called program in this case is in the same process as the caller.

localCall is the default value

remoteCall

Specifies that the call uses EGL middleware, which adds 12 bytes to the end of the data passed. Those bytes allow the caller to receive a return value from the called program.

If the caller is Java code, communication is handled by the protocol specified in property remoteComType; the protocol choice indicates whether the called program is in the same or a different thread.

If variable length records are passed on a call, these statements apply:

Related concepts
Linkage options part

Related tasks
Editing the callLink element of a linkage options part

Related reference
callLink element
linkType in callLink element
location in callLink element
parmForm in callLink element
pgmName in callLink element
providerURL in callLink element
remoteComType in callLink element