![](/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/219.jpg)
INSERT, UPDATE, MODIFY, DELETE y actualización y recuperación de la BD
1) sentencia INSERT: Introduce nuevos registros a una tabla-BD. Se especifica el mandante. (sy-mandt).
Para un/unos registros:
INSERT INTO <tablaBD> VALUES <estructura>
Tabla interna completa:
INSERT <tablaBD> FROM TABLE <tablaI>.
(SY-SUBRC = 0 => Se insertó, sino, <> 0.)
2) UPDATE: Actualiza el contenido. SY-SUBRC <> 0 produce error. Se especifica el mandante. (sy-mandt).
Por cada registro/s:
UPDATE <tablaBD> FROM <estructura>.
Registro/s con condición:
UPDATE <tablaBD> SET <campo> = 'valor' WHERE (condicion: <campo> = 'valor'.)
(Hacer actualización con la clave de la tabla para ahorrar tiempo de espera.)
Completa:
UPDATE <tablaBD> FROM TABLE <tablaI>.
3) MODIFY: Modifica el contenido de los registros. Si SY-SUBRC <> 0, error. Si no existe se creará. No se necesita especificar el mandante (sy-mandt).
La clausula CLIENT SPECIFIED permite ejecutar una actualización sobre una tabla base de datos de un mandante diferente al que se esta procesando.
Por registro/s:
MODIFY <tablaBD> FROM <estructura>.
Completo:
MODIFY <tablaBD> FROM TABLE <tablaI>.
4) DELETE: Borra el contenido. Se especifica el mandante. (sy-mandt). La cantidad de borrados está en SY-DBCNT.
Un registro/s:
DELETE <tablaBD> FROM <esturctura>.
Con condición:
DELETE FROM <tablaBD> WHERE <campo> = 'valor'.
Completa:
DELETE <tablaBD> FROM TABLE <tablaI>.
Es importante utilizar estas sentencias de manejo de la tabla de BD lo menor posible, es preferible hacerlo por medio de las transacciones estandar. No se conoce bien la compleja estructura de la BD de SAP y así evitamos inconsistencia.
5) Actualización y recuperación de una BD.
Para finalizar la LUW (Logical Unit of Work - Unidad lógica de trabajo) de la BD, se hace un COMMIT WORK (update físico a la BD) haciendo irrevocable cualquier modificación posterior.
Para deshacer las operaciones y volver al último COMMIT WORK realizado: ROLLBACK WORK.
INSERT INTO <tablaBD> VALUES <estructura>.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Ruben Dario Martucci, en su ámbito de estudios para la Carrera Consultor ABAP.
Ruben Dario Martucci
Profesión: Técnico Informático - Argentina - Legajo: UX76U
✒️Autor de: 58 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime