The
luwControl property of the
callLink element
of the linkage options part specifies whether the calling program
or the called program controls the unit of work. The
luwControl property
affects the generation of the calling program. This property is applicable
only in the following situation:
- The value of the type property is remoteCall.
Select one of the following values:
- CLIENT
- Specifies that the unit of work is under the caller's control.
Updates by the called program are not committed or rolled back until
the caller requests commit or rollback. If the called program issues
a commit or rollback, a runtime error occurs.
CLIENT is the default
value, unless a caller-controlled unit of work is not supported on
the platform where the called program resides.
CLIENT is available
in these cases:
- The called program is on CICS®;
or
- The caller is a Java™ program
or wrapper that communicates with an iSeries-based COBOL program by
way of the IBM® Toolbox for Java. In this case, the value of remoteComType for
the call is JAVA400 or JAVA400J2C.
- SERVER
- Specifies that a unit of work started by the called program is
independent of any unit of work controlled by the calling program.
In the called program, these rules apply:
- The first change to a recoverable resource begins a unit of work.
- Use of the sysLib.commit and sysLib.rollback system
functions are valid.
On a call from EGL-generated Java code
to a VisualAge® Generator
COBOL program or an EGL-generated COBOL program, a commit (or rollback
on abnormal termination) is issued automatically when the called program
returns. That command affects only the changes that were made by the
called program.
When the type property
is ejbCall, the runtime behavior is as described for SERVER.
For information about system functions, see the
EGL
Language Reference.