✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
LAS SENTENCIAS INSERT,UPDATE, MODIFY,DELETE.
INSERT
La sentencia INSERT permite introducir nuevos registros a una base de datos. Por ejemplo, si quisiéramos introducir un nuevo registro en la tabla ZTABLA_USUARIOS haríamos lo siguiente:
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.
Siempre después de un INSERT se debe preguntar por el SY-SUBRC.
Si es cero, el registro se insertó correctamente, caso contrario, se produjo un error y el registro no se insertó.
Si quisiéramos introducir todos los registros de una tabla interna haríamos lo siguiente:
INSERT ztabla_usuarios FROM TABLE ti_usuarios.
UPDATE
La sentencia UPDATE permite actualizar el contenido de uno o varios registros de una tabla base de datos. Por ejemplo, si quisiéramos actualizar un registro de una tabla base de datos haríamos lo siguiente:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'I'.
UPDATE ztabla_usuarios FROM wa_usuarios.
Siempre después de un UPDATE se debe preguntar por el SY-SUBRC.
Si es cero, el registro se actualizó correctamente, caso contrario, se produjo un error y el registro no se actualizó.
Si quisiéramos actualizar los registros de la tabla ZTABLA_USUARIOS que cumplan determinada condición, haríamos lo siguiente:
UPDATE ztabla_usuarios SET nombre_ape = 'Ezequiel Fernandez'.
where dni = '2354312'.
Si quisiéramos actualizar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna haríamos lo siguiente:
UPDATE ztabla_usuarios FROM TABLE ti_usuarios.
MODIFY
La sentencia MODIFY permite modificar el contenido de uno o varios registros de una tabla base de datos. Por ejemplo, si quisiéramos modificar un registro de una tabla base de datos haríamos lo siguiente:
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.
Siempre después de un MODIFY se debe preguntar por el SY-SUBRC.
Si es cero, el registro se modificó correctamente, caso contrario, se produjo un error y el registro no se modificó.
Si quisiéramos modificar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna haríamos lo siguiente:
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
Si el registro que se intenta modificar, no existe en la tabla, este se creará.
DELETE
La sentencia DELETE permite borrar el contenido de uno o varios registros de una tabla base de datos. Por ejemplo, si quisiéramos borrar un registro de una tabla base de datos haríamos lo siguiente:
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.
Siempre después de un DELETE se debe preguntar por el SY-SUBRC.
Si es cero, el registro se borró correctamente, caso contrario, se produjo un error y el registro no se borró.
La cantidad de registros borrados se guarda en SY-DBCNT.
Si quisiéramos borrar los registros de la tabla ZTABLA_USUARIOS que cumplan determinada condición, haríamos lo siguiente:
DELETE FROM ztabla_usuarios WHERE dni = '23547312'.
Si quisiéramos borrar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna haríamos lo siguiente:
DELETE ztabla_usuarios FROM TABLE ti_usuarios.
Es importante tener en cuenta que las sentencias INSERT, UPDATE, MODIFY y DELETE deben ser utilizadas lo menor posible, siempre se debe intentar insertar o modificar datos mediante las transacciones estándar de SAP o mediante otras técnicas. Esto se debe a que no siempre es fácil conocer la compleja estructura de toda la base de datos de SAP, y así nos aseguramos de no producir alguna inconsistencia en la base de datos.
LA ACTUALIZACIÓN Y LA RECUPERACIÓN DE UNA BASE DE DATOS.
Para finalizar una unidad de procesamiento lógico LUW de base de datos se utiliza un COMMIT WORK, que realiza un update físico en la base de datos, haciendo irrevocable cualquier modificación en la base de datos.
Si deseamos deshacer todas las operaciones realizadas sobre la base de datos desde el último COMMIT WORK, realizaremos un ROLLBACK WORK.
Es conveniente, después de un INSERT, MODIFY, UPDATE o DELETE realizar un COMMIT WORK y ROLLBACK WORK.
 
 
 
Sobre el autor
Publicación académica de Ducelvis Lolimar Arcia Cova, en su ámbito de estudios para la Carrera Consultor ABAP.
Ducelvis Lolimar Arcia Cova
Profesión: Tsu Relaciones Industriales (rrii) - Argentina - Legajo: WX74T
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP FI Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Mi principal objetivo al comenzar esta gran experiencia educativa en programación abap es adquirir los conocimientos y competencias necesarias para incorporarme en el ámbito laboral en esta área.
Certificación Académica de Ducelvis Arcia