✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
INSERT, UPDATE, MODIFY, DELETE y actualización y recuperación de la BD
1. INSERT
- Insertar nuevos registros a una Base de datos.
Ejm.: CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni= '123123'.
wa_usuarios-nombre_ape = 'Darwin Terraza'.
INSERT INTO ztabla_usuarios values wa_usuarios.
Nota: Después del INSERT, se pregunta por SY-SUBRC. (0 = registro correcto, <>0 => error )
- Se pueden guardar todos los registros de una tabla interna.
Ejm.: INSERT ztabla_usuarios FROM TABLE ti_usuarios.
- Si existe registro con clave igual que un registro de tabla interna se produce error SY-SUBRC <> 0.
2. UPDATE.
Sentencia para actualizar contenido de uno o varios registros de una tabla BD.
Ejm.: * Actualización de 1 registro.
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni= '45678'.
wa_usuarios-nombre_ape = 'Darwin Terraza'.
UPDATE ztabla_usuarios FROM wa_usuarios.
* Actualización de registros que cumplan con una condición.
UPDATE ztabla_usuarios SET nombre_ape = 'Darwin Berdugo' WHERE dni = '124356'
* Actualizar tabla ZTABLA_USUARIOS a partir de contenido de tabla interna TI_USUARIOS
UPDATE ztabla_usuarios FROM TABLE ti_usuarios
Nota: - Después de sentencia, preguntar por SY-SUBRC(0= Actualización correcta, <>0 =>error y no hubo actualización)
- En condiciones, usar campo clave de tabla, caso contrario, demorará actualización de registro.
3. MODIFY.
- Permite modificar contenido de uno más registros de una tabla BD.
Ejm.: * Modificar registro
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni= '45678'.
wa_usuarios-nombre_ape = 'Darwin Terraza'.
MODIFY ztabla_usuarios FROM wa_usuarios.
* Modificar varios registros
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
Nota: - Preguntar por campo SY-SUBRC después de modificación. ( 0 = correcto, <> 0 => error no se modificó registro )
- Si registro que se intenta modificar, no existe en tabla, este se creará.
- Si se quiere especificar actualización de registros en un mandante se usará la cláusula CLIENT SPECIFIED.
Por defecto, las actualizaciones se realizan en el mandante en uso.
4. DELETE.
Permite borrar el contenido de uno o varios registros de una tabla BD.
Ejm.: * Eliminar registro
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni= '45678'.
wa_usuarios-nombre_ape = 'Darwin Terraza'.
DELETE ztabla_usuarios FROM wa_usuarios.
* Borrar registros que cumplan con condición
DELETE FROM ztabla_usuarios WHERE dni = '2312312'
* Borrar registros de tabla a partir de contenido de tabla interna
DELETE ztabla_usuarios FROM TABLE ti_usuarios
Nota: Instrucciones INSERT, UPDATE, MODIFY y DELETE deben ser usadas lo menor posible, recomendable usar mediante transacciones o BATCH INPUT o BAPIS, debido al desconocimiento de la estructura de la BD de SAP y evita generar inconsistencias en la misma.
5. Actualización y recuperación de BD.
- Conceptos iniciales
-> Unidad de Procesamiento Lógico (LUW-Logic Unit of Work-Unidad lógica de trabajo) mecanismo de bloqueo
que protege la integridad de las transacciones. Conjunto de pasos dentro de trx que se deben ejecutar y acabar
de manera correcta antes de seguir la lógica de la trx.
-> COMMIT WORK: Sentencia usada para confirmar cambios en una BD. Se establece después del uso de algunas
de las sentencias de gestión de registros (INSERT-UPDATE-MODIFY)
-> ROLLBACK WORK: Sentencia usada para deshacer operaciones realizadas sobre BD desde el último
COMMIT WORK.
- Para finalizar un LUW de una Base de datos, se usa COMMIT WORK, que realiza actualización física en la BD
haciendo irrevocable otra modificación.
Ejm.:
INSERT INTO ztabla_usuarios values wa_usuarios
IF SY-SUBRC EQ 0.
COMMIT WORK.
ELSE
ROLLBACK WORK.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Darwin Enrique Terraza Berdugo, en su ámbito de estudios para la Carrera Consultor ABAP.
Darwin Enrique Terraza Berdugo
Colombia - Legajo: MM57E
✒️Autor de: 60 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
Disponibilidad Laboral: PartTime
Certificación Académica de Darwin Terraza