| CICS® for z/OS® |
- sysLib.commit() results in a CICS® SYNCPOINT, which performs
a two-phase commit that is coordinated across all resource managers.
- When a call to a remote COBOL program involves a client-controlled
unit of work, a generated Java™ program
or wrapper also saves the updates done by a remote, CICS-based COBOL
program (including updates to CICS® recoverable
files). For more information, refer to the EGL Generation Guide information
on luwControl.
- Remotely called batch programs (programs that reside on a different
system than the invoking program) can invoke sysLib.commit().
If you set the luwControl attribute to
SERVER, the commit functions normally. If you set the attribute to
CLIENT, EGL throws a RuntimeException.
- Depending on the CICS® file
definition and file type, a file can be a recoverable resource.
|
| COBOL generation |
When you use the cursorWithHold option
during relational database access (SQL), the read position and the
update locks might not be released; for more information, see open considerations for SQL and prepare considerations for SQL. |
| IMS™ BMP |
- For a transaction-oriented BMP, sysLib.commit() is
ignored. For more information on when an implicit commit occurs, see Logical unit of work.
- For a batch-oriented BMP, sysLib.commit() results
in a DL/I basic CHKP call, which performs a two-phase commit that
is coordinated across all resource managers. The contents of psbData.psbName are
used as the checkpoint identifier on the CHKP call.
- Output written to a serial file associated with a non-express
alternate PCB is recoverable.
- GSAM files are not recoverable when used with basic CHKP. To make
GSAM files recoverable, use one of the following system functions
to issue a DL/I symbolic checkpoint call:
- dliLib.AIBTDLI()
- dliLib.EIBTDLI()
- vgLib.VGTDLI()
|
| IMS/VS |
sysLib.commit is ignored
in this environment. For details on when an implicit commit occurs,
see Logical unit of work. |
| iSeries® COBOL |
If the program issued SQL statements, sysLib.commit() results
in an SQL COMMIT WORK. If the program has not issued SQL requests, sysLib.commit() results
in the equivalent of an iSeries® COMMIT command. For details on when
an implicit commit occurs, see Logical unit of work |
| Java™ generation |
- sysLib.commit() commits changes to relational
databases and WebSphere® MQ
message queues, as well as changes made to remote server programs
that were called using a client-controlled unit of work.
|
| JavaScript™ generation |
sysLib.commit is not
supported. |
| WebSphere® MQ
message queues |
- Message queue updates are recoverable only if the includeMsgInTransaction property
is set to YES in the MQRecord part.
- Both message get and add statements
are affected by commit() and rollback() for
recoverable messages. If you issue a rollback() following
a get for a recoverable message, the message
is placed back on the input queue so that the input message is not
lost when the transaction fails to complete successfully. Also, if
you issue a rollback() following an add for
a recoverable message, the message is deleted from the queue.
|
| z/OS® batch |
- If the program has not specified a PSB but has issued SQL requests,
invoking sysLib.commit() results in an SQL
COMMIT WORK.
- If the program has specified a PSB, invoking sysLib.commit() results
in a DL/I basic CHKP call, which performs a two-phase commit that
is coordinated across all resource managers. The contents of psbData.psbName are
used as the checkpoint identifier on the CHKP call.
- GSAM files are not recoverable when used with basic CHKP. To
make GSAM files recoverable, use one of the following system functions
to issue a DL/I symbolic checkpoint call:
- dliLib.AIBTDLI()
- dliLib.EIBTDLI()
- vgLib.VGTDLI()
|