✒️ABAP La actualización y la recuperación de una tabla base de datos
ABAP La actualización y la recuperación de una tabla base de datos
Commit and Rollback of a database table.
In ABAP, after making changes to the database data, it is essential to confirm them for the changes to take effect. At times, it may also be necessary to undo these changes (rollback).
- COMMIT WORK: To confirm changes made to the database after the processing of a Logical Unit of Work (LUW), such as insert, update, modify, and delete statements, the COMMIT WORK statement is utilized. Once confirmed, changes cannot be undone. It is automatically executed at the end of a program's execution.
- ROLLBACK WORK: To undo changes made to the database after the processing of a Logical Unit of Work (LUW), such as insert, update, modify, and delete statements, the ROLLBACK WORK statement is used. This does not apply if changes have already been confirmed with COMMIT WORK.
*&---------------------------------------------------------------------*
*& Example 1: Commit/Rollback in Insert Statement
*&---------------------------------------------------------------------*
* Internal table of employees
DATA: wa_employees TYPE zemployee_data.
* Insert 1 record into ZEMPLOYEE_DATA
CLEAR wa_employees.
wa_employees-mandt = sy-mandt.
wa_employees-employee_id = 'E12345'.
wa_employees-full_name = 'John Employee'.
wa_employees-employee_status = 'Active'.
INSERT INTO zemployee_data VALUES wa_employees.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
*&---------------------------------------------------------------------*
*& Example 2: Commit/Rollback in Update Statement
*&---------------------------------------------------------------------*
* Internal table of employees
DATA: wa_employees TYPE zemployee_data.
* Update a record in ZEMPLOYEE_DATA
CLEAR wa_employees.
wa_employees-mandt = sy-mandt.
wa_employees-employee_id = 'E12345'.
wa_employees-full_name = 'Juan Employee'.
wa_employees-employee_status = 'Inactive'.
UPDATE zemployee_data FROM wa_employees.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
*&---------------------------------------------------------------------*
*& Example 3: Commit/Rollback in Delete Statement
*&---------------------------------------------------------------------*
* Internal table of employees
data: wa_employees type zemployee_data.
* Delete a record in ZEMPLOYEE_DATA
CLEAR wa_employees.
wa_employees-mandt = sy-mandt.
wa_employees-employee_id = 'E12345'.
wa_employees-full_name = 'Juan Employee'.
wa_employees-employee_status = 'Disabled'.
DELETE zemployee_data FROM wa_employees.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.
Jaime Eduardo Gomez Arango
Profesión: Ingeniero de Sistemas y Computaci?n - Espa?a - Legajo: SW34C
✒️Autor de: 149 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas y computaci?n con 8 a?os de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.
Certificación Académica de Jaime Gomez