sysLib.commit

La función de sistema sysLib.commit guarda las actualizaciones efectuadas en bases de datos, colas de mensajes MQSeries y en archivos recuperables CICS desde la última operación de compromiso. Un programa o envoltura Java generado también guarda las actualizaciones efectuadas por un programa remoto COBOL basado en CICS (incluidas las actualizaciones realizadas en los archivos recuperables CICS), pero sólo cuando la llamada al programa remoto COBOL implica una unidad de trabajo controlada por el cliente, como se describe en el apartado luwControl del elemento callLink.

La función de sistema sysLib.commit guarda las actualizaciones efectuadas en bases de datos y colas de mensajes MQSeries desde la última operación de compromiso. Un programa o envoltura Java generado también guarda las actualizaciones efectuadas por un programa remoto COBOL basado en CICS (incluidas las actualizaciones realizadas en los archivos recuperables CICS), pero sólo cuando la llamada al programa remoto COBOL implica una unidad de trabajo controlada por el cliente, como se describe en el apartado luwControl del elemento callLink.

En la mayoría de casos, EGL realiza un compromiso de una fase que afecta por turnos a cada gestor recuperable. En CICS para z/OS, no obstante, sysLib.commit da como resultado un SYNCPOINT (punto de sincronismo) de CICS, que realiza un compromiso de dos fases que se coordina entre todos los gestores de recursos.

sysLib.commit libera los bloqueos de posición de exploración y los de actualización en cualquier archivo o base de datos, pero se aplica una excepción para programas COBOL, cuando se utiliza la opción cursorWithHold durante el acceso a la base de datos; para obtener información detallada sobre la excepción, consulte las secciones prepare y open.

Cuando se utiliza sysLib.commit con registros MQ, se aplica lo siguiente:

Puede mejorar el rendimiento evitando el uso innecesario de sysLib.commit. Para conocer detalles sobre cuándo se produce un compromiso implícito, consulte Unidad lógica de trabajo.

Consideraciones especiales para CICS para z/OS

Los programas por lotes llamados remotos (programas que residen en un sistema distinto del programa invocante) puede invocar sysLib.commit. Si se ha especificado eci_no_extend, el compromiso funcionará. Si se ha especificado eci_extend, se emite un mensaje de error de entorno de ejecución que el compromiso ha fallado con invreq.

Consideraciones especiales para COBOL para iSeries

Si el programa ha emitido sentencias SQL, sysLib.commit da como resultado COMMIT WORK de SQL. Si el programa no ha emitido peticiones de SQL, sysLib.commit da como resultado el equivalente de un mandato COMMIT de iSeries.

Ejemplo

  sysLib.commit();
Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.