✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
INSERT:
Permite introducir nuevos registros a una base de datos.
EJEMPLO 1: 1 solo registro.
wa_usuarios-dni = '213123123'.
wa_usuarios.nombre = 'juan carlos'
INSERT INTO z_tabla_usuarios VALUES wa_usuarios
EJEMPLO 2: Introducimos todos los registros de una tabla interna
INSERT ztabla_usuarios FROM TABLE ti_usuarios.
UPDATE:
Permite actualizar el contenido de uno o varios registros de una tabla base de datos.
EJEMPLO 1: Actualizamos 1 registro
wa_usuarios-dni = '213123123'.
wa_usuarios.nombre = 'juan carlos'
UPDATE ztabla_usuarios FROM wa_usuarios.
EJEMPLO 2: Actualizamos 1 registro que cumpla determinada condición
UPDATE ztabla_usuarios SET nombre = 'juan carlos'.
where dni = '234234234'.
** Cuando el DNI sea 234234234 de actualizara el nombre a Juan Carlos.
EJEMPLO 3: Actualizamos todos los registros a partir del contenido de una tabla interna.
UPDATE ztabla_usuarios FROM TABLE ti_usuarios.
MODIFY:
Permite modificar el contenido de uno o varios registros de una tabla base de datos.
EJEMPLO 1: Modificamos 1 registro
EJEMPLO 1: 1 solo registro.
wa_usuarios-dni = '213123123'.
wa_usuarios.nombre = 'juan carlos'
MODIFY ztabla_usuarios FROM wa_usuarios.
EJEMPLO 2: Modificamos todos los registros a partir de una tabla interna
MODIFY ztabla_usuario FROM TABLE ti_usuarios.
*Si el registro que se intenta modificar no existe esete se creará
DELETE:
Permite borrar el contenido de uno o varios registros de una tabla de base de datos.
EJEMPLO 1: Queremos borrar 1 solo registro
EJEMPLO 1: 1 solo registro.
wa_usuarios-dni = '213123123'.
wa_usuarios.nombre = 'juan carlos'
DELETE ztabla_usuarios FROM wa_usuarios,
*Siempre preguntar por sy-subrc. ---- la cantidad de registros borrados se guarda en sy-dbcnt.
EJEMPLO 2: Si queremos borrar los registros que cumplan determinada condición:
DELETE FROM ztabla_usuarios WHERE dni = '12312312'.
* Borra el registro o los registros de la tabla que vengan con ese dni.
EJEMPLO 3: Si queremos borrar todos los registros a partir de una tabla internta:
DELETE ztabla_usuarios FORM TABLE ti_usuarios.
Actualización y recuperación de una base de datos:
Para terminar una unidad de procesamiento lógico de base de datos se utiliza un COMMIT WORK, que actualiza la base de datos, haciendo irrevocable cualquier modificación en la base de datos.
Si queremos deshacer todas las operaciones realizadas sobre la base de datos desde el último COMMIT WORK, realizaremos un ROLLBACK WORK,
COMIT WORK = Sentencia ABAP que se utiliza para confirmar los cambios realizados sobre una base de datos. Si se le agrega la claúsula AND WAIT el programa se para hasta que la tarea de actualización termina.
ROLLBACK WORK = Sentencia ABAP que se utiliza para deshacer los cambios realizados sobre una base de datos. Si se le agrega la clausula AND WAIT el programa se para hasta que la tarea de actualizacion termina.
EJEMPLO:
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
IF sy-subrc = '0'.
COMMIT WORK.
ELSE,
ROLLBACK WORK.
ENDIF.
****** SE RECOMIENDA DEPSUES DE UN INSERT MODIFY UPDATE O DELETE REALIZAR UN COMMIT WORK y ROLLBACK WORK.
 
 
 
Sobre el autor
Publicación académica de Matias Giorgieff, en su ámbito de estudios para la Carrera Consultor ABAP.
Matias Giorgieff
Profesión: Programador Jr - Chile - Legajo: RA71X
✒️Autor de: 24 Publicaciones Académicas
🎓Cursando Actualmente: Master Funcional para Consultores ABAP
🎓Egresado de los módulos:
Certificación Académica de Matias Giorgieff