✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
Insert, update, Modify, delete y actualizacion y recuperacion de la BD.
1. Sentencia INSERT
Permite introducir nuevos registros.
ejemplo 1 insertar ciertos registros
clear wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa-ususarios-dni = '216778789'.
wa-usuarios-nombre-ape = 'Juan'.
wa-usuarios-estado-usu = 'A'.
Insert into ztabla_usuarios values wa_usuarios.
despues de un insert usar SY-SUBRC.
ejemplo 2 insertar todos los registros de una tabla
insert ztabla_usuarios from table ti_usuarios.
si existe un registro con igual clave el Sy-subrc devuelve distinto de cero.
2. sentencia UPDATE
La setencia update permite actualizar el contenido de uno o varios registros.
Ejemplo actualizacion de un registro
clear wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa-ususarios-dni = '216778789'.
wa-usuarios-nombre-ape = 'Juan'.
wa-usuarios-estado-usu = 'I'.
update ztabla_usuarios from wa_usuarios.
despues de update usar sy-subrc.
Ejemplo actualizacion dependiendo de determinada condicion
update ztabla_usuarios set nombre_ape = 'Ezequiel Fernandez' where dni = '23467898'.
Es importante ingresar la clave como condicion asi nose demore mucho la condicion.
Ejemplo de actualizar todos los registros de una tabla con una tabla interna
update ztabla_usuarios from table ti_usuarios.
3. Sentencia MODIFY
Permite modificar el contenido de uno o varios registros de una tabla
clear wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa-ususarios-dni = '216778789'.
wa-usuarios-nombre-ape = 'Juan'.
wa-usuarios-estado-usu = 'N'.
Modify ztabla_usuarios from wa_usuarios.
siempre despues de un modify va SY-Subrc.
Si queremos modificar todos los registros de la tabla ztabla_usuarios a partir de una tabla interna.
Modify ztabla_usuarios from tabla ti_usuarios.
si el registro que se intenta modificar, no existe en la tabla, este se creara.
Al momento de modificar una tabla base de datos no es importante especificar el mandante ya que es efectuado en forma automatica y siempre se procesara el mandante en uso, si queremos controlarlo usaremos la clausula clause especifc
4. Sentencia Delete
Permite borrar el contenido de uno o varios registros.
clear wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa-ususarios-dni = '216778789'.
wa-usuarios-nombre-ape = 'Juan'.
wa-usuarios-estado-usu = 'N'.
delete ztabla_usuarios from wa_usuarios.
siempre despues de un modify va SY-Subrc.
La cantidad de registros borrados se guarda en SY-DBCNT.
Si quisieramos borrar los registros de la tabla con determinada condicion....
Delete from ztabla_usuarios where dni = '23546789'.
Si quisieramos borrar todos los registros de una tabla a partir de otra tabla interna.
delete ztabla_usuarios from table ti_usuarios.
5 Actualizacion y recuperacion de una base de datos
COMMIT WORK para terminar una unidad de procesamiento Lógico LUW.
ROLLBACK WORK Si deseamos deshacer todas la operaciones realizadas sobre la base de datos desde el ultimo COMMIT WORK.
Ejemplo
insert into ztabla_usuarios values wa_usuarios.
if sy-subrc EQ 0.
commit work.
else
rollback work.
endif.
Es conveniente luego de un insert, updatem Modify o delete hacer un commit work y rollback work.
 
 
 
Sobre el autor
Publicación académica de Silvia Marina Carrizo, en su ámbito de estudios para la Carrera Consultor ABAP.
Silvia Marina Carrizo
Profesión: Analista Senior Genexus - Argentina - Legajo: ER54O
✒️Autor de: 61 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Silvia Carrizo