📘ABAP - Commit Work
Definición de Commit Work
La sentencia ABAP COMMIT WORK se utiliza para confirmar los cambios realizados sobre una base de datos.
La utilización de la sentencia COMMIT WORK resulta fundamental luego de la ejecución de las sentencias INSERT, UPDATE o MODIFY sobre una tabla de la base de datos.
Si se le agrega la cláusula AND WAIT el programa se para hasta que la tarea de actualización termina.
Veamos un ejemplo de su utilización:
CALL FUNCTION 'Z_BLOQUEAR_DOCUMENTOS'
EXPORTING
i_lockr = v_lock
I_FDATE = wa_fecha
I_TDATE = wa_fecha_hasta
i_accion = 'B'
tables
it_documentos = ti_documentos
EXCEPTIONS
BLOQUEO_ERRONEA = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID 'ZG' TYPE 'I' NUMBER '074'
WITH 'Los Documentos de la CC ' ti_cuentas_vkont
'No se bloqueron'.
ROLLBACK WORK.
ELSE.
COMMIT WORK.
ENDIF.
En el código anterior ejecutamos el módulo de funciones Z_BLOQUEAR_DOCUMENTOS el cual bloquea los documentos especificados en TI_DOCUMENTOS.
Si el bloqueo funciono correctamente, es decir se actualizaron correctamente las tablas de bloqueo entonces realizaremos un COMMIT WORK.
Si se produjo algún error al intentar bloquear, entonces realizaremos un ROLLBACK WORK para volver atrás los cambios realizados a las tablas de la base de datos.