✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
INSERT
Sentencia para introducir nuevos registros a una BD.
****SY-SUBRC**** Siempre validar resultado
-Insertar 1 registro
CLEAR wa_usrs.
wa_usrs-mandt = sy-mandt.
wa_usrs-id = '100001'.
wa_usrs-nomape = 'Tester 1'.
INSERT INTO z_tabla VALUES wa_usrs.
-Insertar todos los registros de una tabla interna
INSERT z_tabla FROM TABLE ti_usrs.
*Si existe algún registro con la misma clave se produce error
UPDATE
Sentencia para actualizar uno o varios registros en la BD.
****SY-SUBRC**** Siempre validar resultado
-Actualizar un registro
CLEAR wa_usrs.
wa_usrs-mandt = sy-mandt.
wa_usrs-id = '100001'.
*wa_usrs-nomape = 'Tester 2'.
UPDATE z_tabla FROM wa_usrs.
-Actualizar registros que cumplan una condición
UPDATE z_tabla SET z_nomape = 'Tester 3' WHERE id = '100001'.
-Actualizar todos los registros de z_tabla a partir del contenido de una tabla interna
UPDATE z_tabla FROM TABLE ti_usrs.
MODIFY
Sentencia para modificar el contenido de uno o varios registros en la BD.
****SY-SUBRC**** Siempre validar resultado
****Diferencia con update - Si el registro a modificar no existe, este se creará
-Modificar un registro
CLEAR wa_usrs.
wa_usrs-mandt = sy-mandt.
wa_usrs-id = '100001'.
*wa_usrs-nomape = 'Tester 4'.
MODIFY z_tabla FROM wa_usrs.
-Modificar todos los registros de z_tabla a partir del contenido de una tabla interna
MODIFY z_tabla FROM TABLE ti_usrs.
Sentencia para borrar el contenido de uno o varios registros de la BD.
****SY-SUBRC**** Siempre validar resultado
****SY-DBCNT - Guarda la cantidad de registros borrados
CLEAR wa_usrs.
wa_usrs-mandt = sy-mandt.
wa_usrs-id = '100001'.
*wa_usrs-nomape = 'Tester 4'.
DELETE z_tabla FROM wa_usrs.
-Borrar registros que cumplan una condición
DELETE FROM z_tabla WHERE id = '100001'.
-Borrar todos los registros de z_tabla a partir del contenido de una tabla interna
DELETE z_tabla FROM TABLE ti_usrs.
Para finalizar una unidad de procesamiento lógico LUW (Logical Unit of Work) se utiliza COMMIT WORK haciendo definitivo el cambio.
O si se desea deshacer alguna operación realizada desde un previo COMMIT WORK. Se usa la sentencia ROLLBACK WORK.
IF SY-SUBRC EQ 0.
 
 
 
Sobre el autor
Publicación académica de Armando Mayo Marquez, en su ámbito de estudios para la Carrera Consultor ABAP.
Armando Mayo Marquez
Profesión: Desarrollador / Soporte Infra - Mexico - Legajo: RL93E
✒️Autor de: 59 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Profesional de t.i. desde 2005 desarrollador cobol, algol, c, tuxedo, java, shell script - banamex soporte de infra en linux para aplicaciones tuxedo, weblogic, oracle, websphere mq -amdocs/at&t usa
Certificación Académica de Armando Mayo