✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
SENTENCIA INSERT.
==================
Permite introducir nuevos registros a una base de datos.
Ejemplo:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'A'.
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
************
*NOTA: Siempre despues de una sentencia INSERT debe preguntarse por sy-subrc. Si vale cero se inserto correctamente,
de otra manera hubo un error y el registro no se inserto.
***********
INSERT ztabla_usuarios FROM TABLE ti_usuarios. "Inserta el contenido de ti_usuarios en la ztabla_usuarios.
************
*NOTA: Si ejecutamos la linea anterior y en la base de datos hay un registro con igual clave que la ti, se producira un
error de ejecucion en el programa.
***********
SENTENCIA UPDATE.
==================
Permite actualizar el contenido de uno o varios registro de una tabla base de datos.
Ejemplo:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '12727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'I'.
UPDATE ztabla_usuarios FROM wa_usuarios. "Actualizo un registro de la base de datos
************
*NOTA: Siempre despues de una sentencia UPDATE debe preguntarse por sy-subrc. Si vale cero se actualizo correctamente,
de otra manera hubo un error y el registro no se actualizo.
***********
UPDATE ztabla_usuarios SET nombre_ape = 'Ezequiel Fernandez' WHERE dni = '23547312'.
Con la anterior sentencia actualizamos los registros que cumplan con la condicion.
UPDATE ztabla_usuarios FROM TABLE ti_usuarios.
Con la anterior sentencia actualizamos todos los registros de la tabla ztabla_usuarios a partir del
contenido de la tabla interna ti_usuarios.
SENTENCIA MODIFY.
==================
Permite modificar el contenido de uno o varios registros de una tabla de base de datos.
Ejemplo:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'N'.
MODIFY ztabla_usuarios FROM wa_usuarios. "Modificacion de un registro de la tabla base de datos.
************
*NOTA: Siempre despues de una sentencia MODIFY debe preguntarse por sy-subrc. Si vale cero se modifico correctamente,
de otra manera hubo un error y el registro no se modifico.
***********
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
La anterior sentencia modifica todos los registros de la tabla ztabla_usuarios a partir del contenido
de la tabla interna ti_usuarios.
************
*NOTA: Si el registro que se intenta modificar no existe en la tabla, este se creara.
***********
SENTENCIA DELETE.
==================
Permite borrar el contenido de uno o varios registros de una tabla base de datos
Ejemplo:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'N'.
DELETE ztabla_usuarios FROM wa_usuarios. "Borro un registro de la tabla base de datos ztabla_usuarios.
************
*NOTA: Siempre despues de una sentencia DELETE debe preguntarse por sy-subrc. Si vale cero se borro correctamente,
de otra manera hubo un error y el registro no se borro. La cantidad de registros borrados se guarda en sy-dbcnt.
***********
DELETE FROM ztabla_usuarios WHERE dni = '23547312'.
La anterior sentencia borra los registrod de la tabla ztabla_usuarios que cumplan determinada condicion.
DELETE ztabla_usuarios FROM TABLE ti_usuarios.
La anterior sentencia borra todos los registro de la tabla ztabla_usuarios a partir del contenido de la
tabla interna ti_usuarios.
ACTUALIZACION Y RECUPERACION DE UNA BASE DE DATOS.
==================================================
Para finalizar una unidad de procesamiento logico (LUW) de base de datos se utiliza un COMMIT WORK. Esta realiza un
update fisico en la base de datos, haciendo irrevocable cualquier modificacion en la base de datos.
Si deseamos deshacer todas la operaciones realizadas sobre la base de datos desde el ultimo COMMIT WORK, realizaremos
un ROLLBACK WORK.
Ejemplo:
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE
ROLLBACK WORK.
ENDIF.
************
*NOTA: Es conveniente despues de una sentencia INSERT, MODIFY, UPDATE o DELETE realizar un COMMIT WORK y un ROLLBACK WORK.
***********
 
 
 
Sobre el autor
Publicación académica de Ricardo Jesus Chinchay Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ricardo Jesus Chinchay Hernandez
Profesión: Encargado Cafeteria - Argentina - Legajo: MO99K
✒️Autor de: 13 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Certificación Académica de Ricardo Chinchay