✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
INSERT UPDATE MODIFY DELETE ACTUALIZACION Y RECUPERACION DE LA BD
INSERT: introducir nuevos registros a la base de datos.
clear wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '212727679'.
wa_usuarios = 'Juan Graco.
wa_usuarios-estado_usu = 'A'.
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
despues preguntar por SY-SUBRC si es igual a cero esta bien se inserto correctamente.
para introducir todos los registros de una tabla interna
INSERT ztabla_usuarios FROM TABLE ti_usuarios.
-----------------------------------------------------------------------------------------
UPDATE: actualiza el contenido de uno o varoiso registros de una tabla base de datos
clear wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '212727679'.
wa_usuarios = 'Juan Graco.
wa_usuarios-estado_usu = 'A'.
UPDATE ztabla_usuarios FROM wa_usuarios.
Si quisieramos los registros de la tabla ZTABLA_USUARIOS
UPDATE ztala_usuarios SET nombre_ape = 'Ezequiel Fernandez'
WHERE dni = '23547312'.
Para actualizar desde una tabla interna
UPDATE ztabla_usuarios FROM TABLE ti_usuarios.
-------------------------------------------------------------------------------------------
MODIFY: permite modificar el conteniso de uno o varios registros de una tabla base de datos.
clear wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '212727679'.
wa_usuarios = 'Juan Graco.
wa_usuarios-estado_usu = 'A'.
MODIFY ztabla_usuarios FROM wa_usuarios.
Para todos los registros a partir de una tabla interna
MODIFY ztabla_usuarios FROM ti_usuarios.
Si el registro que se intenta modificar no existe en la tabla este se creará.
Al momento de impactar una tabla base de datos, no es necesario especificar el mandante se hace automatico.
Si queremos manualmente una actualizacion de una tabla base de datos el mandante (diferente al que estamos procesando) debemos pone client specify.
-------------------------------------------------------------------------------------------------------------
DELETE: borrar contenido de uno o varios registros de una tabla base de datos.
clear wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '212727679'.
wa_usuarios = 'Juan Graco.
wa_usuarios-estado_usu = 'A'.
DELETE ztabla_usuarios FROM wa_usuarios.
La cantidad de registros borrads se guarda en SY-DBCNT.
Con alguna condición seria:
DELETE FROM ztabla_usuarios WHERE dni = '235473112'.
Borrar a partir de una tabla interna
DELETE ztabla_usuarios FROM TABLE ti_usuarios.
--------------------------------------------------------------------------------------------------------------
ACTUALIZACION Y RECUPERACION DE UNA BASE DE DATOS
LUW: unidad de procesamiento logico
utiliza COMMIT WORK que realiza un update fisico en la base de datos, haciendo irrevocable cualquier modificación en la base de datos.
Para deshacer las operaciones realizadas realizaremos un ROLLBACK WORK.
ej:
INSERT INTO ZTABLA_USUARIOS VALUES WA_USUARIOS.
IF SY-SUBRC EQ 0.
COMMINT WORK.
ELSE
ROLLBACK WORK.
ENDIF.
Se debe hacer para cualquier INSERT, MODIFY, UPDATE o DELETE realizar COMMIT WORK y ROLLBACK WORK.
Se debe realizar estas acciones a traves de transacciones standar o tecnicas de batch input o bapis por el tema de
la gran estrutura de la base de datos de sap.
 
 
 
Sobre el autor
Publicación académica de Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Guillermo Rodriguez Villate
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P
✒️Autor de: 103 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Oscar Rodriguez