![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
![ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/162.jpg)
La sentencia INSERT
La sentencia INSERT permite introducir nuevos registros a una base de datos. Por ejemplo, si quisiéramos introducir un nuevo registro en la tabla ZTABLA_USUARIOS haríamos lo siguiente:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt..
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'A'.
iNSERT into ztabla_usuarios values wa_usuarios.
Siempre después de un INSERT se debe preguntar por el SY-SUBRC.
Si es cero, el registro se insertó correctamente, caso contrario, se produjo un error y el registro no se insertó.
La sentencia UPDATE
La sentencia UPDATE permite actualizar el contenido de uno o varios registros de una tabla base de datos registros de una tabla base de datos. Por ejemplo, si quisiéramos actualizar un registro de una tabla base de datos hariamos lo siguiente
Clear wa_usuarios.
wa_usuarios-mandt = sy-mandt..
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'I'.
UPDATE ztabla_usuarios FROM wa_usuarios.
Siempre despues de un UPDATE se debe preguntar por el SY-SUBRC.
Si es cero, el registro se actualizo correctamente, caso contrario, se produjo un error y el registro no se actualizo.
La sentencia MODIFY
La sentencia MODIFY permite modificar el contenido de uno o varios registros de una tabla base de datos. Por ejemplo, si quisiéramos modificar un registro de una tabla base de datos haríamos lo siguiente:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt..
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'N'.
MODIFY ztabla_usuarios FROM wa_usuarios.
Siempre después de un MODIFY se debe preguntar por el SY-SUBRC.
Si es cero, el registro se modificó correctamente, caso contrario, se produjo un error y el registro no se modifico
Si el registro que se intenta modificar, no existe en la tabla, este se creara.
La sentencia DELETE
La sentencia DELETE permite borrar el contenido de uno o varios registros de una tabla base de datos. Por ejemplo, si quisiéramos borrar un registro de una tabla base de datos haríamos lo siguiente:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt..
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'N'.
DELETE ztabla_usuarios FROM wa_usuarios.
Siempre después de un DELETE se debe preguntar por el SY-SUBRC.
Si es cero, el registro se borró correctamente, caso contrario, se produjo un error y el registro no se borró.
La cantidad de registros borrados se guarda en SY-DBCNT.
Actualización y recuperación de una base de datos
Para finalizar una unidad de procesamiento lógico LUW de base de datos se utiliza un COMMIT WORK, que realiza un UPDATE físico en la base de datos, haciendo irrevocable cualquier modificación en la base de datos.
Si deseamos deshacer todas las operaciones realizadas sobre la base de datos desde el mismo COMMIT WORK, realizaremos un ROLLBACK WORK.
Veamos un ejemplo al insertar registros en la base de datos ZTABLA_USUARIOS:
INSERT into ztabla_usuarios values wa_usuarios.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
Es conveniente, después de un INSERT, MODIFY, UPDATE o DELETE realizar un COMMIT WORK y ROLLBACK WORK.
 
 
 
Sobre el autor
Publicación académica de Luis Manuel Olivier Melo, en su ámbito de estudios para la Carrera Consultor ABAP.
Luis Manuel Olivier Melo
Profesión: Ing. Sistemas Computacionales - Mexico - Legajo: TC46U
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Luis Olivier