✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
Unidad 3. Lección 7: INSERT, UPDATE, MODIFY, DELETE y actualización y recuperación de la BD.
Sentencias para la actualización de una tabla base de datos
- INSERT: permite introducir nuevos registros a la base de datos. Si al insertar todos los registros de una tabla interna, existe algún registro en la base de datos con igual clave se producirá un error (SY-SUBRC diferente de 0).
- UPDATE: Permite actualizar el contenido de uno o varios registros de una tabla base de datos.
- MODIFY: Permite modificar el contenido de uno o varios registros de una tabla base de datos. Si el registro que se intenta modificar, no existe en la tabla, esté se creará.
- DELETE: Permite borrar el contenido de uno o varios registros de una tabla base de datos.
Actualizar un registro
CLEAR wa_usuarios.
wa_usuarios-mand = sy-mandt.
wa_usuarios-dni = '215365'.
wa_usuarios-nombre_ape = 'Kelly Niño'.
wa_usuarios-estado_usu = 'A'.
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
(UPDATE o MODIFY o DELETE) ztabla_usuarios FROM wa_usuarios.
Actualizar todos los registros de una tabla interna:
(INSERT INTO o UPDATE o MODIFY o DELETE) ztabla_usuarios FROM TABLE ti_usuarios.
Actualizar los registros de una tabla que cumplan con determinada condición
UPDATE ztabla_usuarios SET nombre_ape = 'Ezequiel Fernandez' WHERE dni='123456'
DELETE FROM ztabla_usuarios WHERE dni='123456'.
NOTA: Al ejecutar alguna de las sentencias (INSERT, UPDATE, MODIFY o DELETE siempre se debe preguntar por el SY-SUBRC, si es cero, el registro se actualizó correctamente, de lo contrario se produjo un error y el registro no se actualizó.
Al usar el DELETE, la cantidad de registros borrados se guarda en SY-DBCNT.
Diferencia entre UPDATE y MODIFY: Al actualizar un registro, si no se encuentra en la base de datos, con UPDATE producirá error (SY-SUBRC diferente de cero) y con MODIFY, se creará el registro en la base de datos (SY-SUBRC igual a cero).
Nota: La clausula CLIENT SPECIFIED permite ejecutar una actualización sobre una tabla base de datos de un mandante diferente al que se esta procesando.
Actualización y recuperación de una base de datos
Para finalizar una unidad de procesamiento lógico LUW (Logic Unit of Work) de la base de datos se utiliza un COMMIT WORK, que hace el update sobre la base de datos, y los cambios quedan en firme. Para deshacer cambios realizados desde el último COMMIT WORK, se emplea un ROLLBACK WORK.
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
IF SY-SUBRC EQ0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Kelly Rocio Nino Ramirez, en su ámbito de estudios para la Carrera Consultor ABAP.
Kelly Rocio Nino Ramirez
Profesión: Ingeniero de Sistemas - Colombia - Legajo: PW14Z
✒️Autor de: 30 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Kelly Nino