✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
INSERT, UPDATE, MODIFY, DELETE actualización y recuperación de la BD.
1.- La sentencia INSERT.- Nos permite introducir nuevos registros a una tabla de base de datos.
*Inserta 1 registro en ZTABLA_USUARIOS
CLEAR wa_usuarios.
wa_usuarios-mandt = sy_mandt.
wa_usuarios-dni = '12345678'.
wa_usuarios-nombre-ape = 'Miguel Acosta'.
wa_usuarios-estado_usu = 'A'.
INSERT INTO ztable_usuarios VALUES wa_usuarios.
"Siempre después de un INSERT se debe preguntar por el SY-SUBRC", si es cero el registro se instaló correctamente; caso contrario de produjo un error y no se insertó.
Para insertar todos los registros de una tabla interna:
INSERT ztabla_usuarios FROM TABLE ti_usuarios.
"Si existe algún registro en la base de datos con una clave igual a la de un registro de la tabla interna, se producirá un error SY-SUBRC distinto de cero".
2.- LA SENTENCIA update
Permite actualizar el contenido de uno o varios registros de un atabla de base de datos.
*Actualizar un registro de la tabla ZTABLA_USUARIOS.
CLEAR wa_usuarios.
wa_usuarios_mandt = sy-mandt.
wa_usuarios-dni = '34568234'.
wa_usuarios-nombre_ape = 'Miguel acosta'.
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 se actualizó correctamente es igual a cero, caso contrario se produjo un error y el registro no se actualizó.
*Actualizar el nombre y apellido del usuario con dni 23458765
UPDATE ztabla_usuarios SET nombre_ape = 'Ezequiel Fernandez'
where dni = '23458765'.
Para actualizar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de un atabla interna haríamos lo siguiente:
*Actualizar ZTABLA_USUARIOS con la tabla interna TI_USUARIOS.
UPDATE ztabla_usuarios FROM TABLE ti_usuarios.
3.- La sentencia MODIFY
Permite modificar el contenido de uno o varios registros de un tabla de base de datos.
*Modificar un registro en ZTABLA_USUARIOS.
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '45983762'.
wa_usuarios-nombre_ape = 'juán Graco'.
wa_usuarios-estado_usu = 'N'.
MODIFY ztable_usuarios FROM wa_usuarios.
"Siempre después de MODIFY se debe preguntar por 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 un atabla interna:
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
"Si el registro que se intenta modificar no existe en la tabla, éste se creará"
4.- La sentencia DELETE.
La sentencia DELETE permite borrar el contenido de uno o varios registros de un atabla de base de datos. Por ejemplo:
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '45983762'.
wa_usuarios-nombre_ape = 'juán Graco'.
wa_usuarios-estado_usu = 'N'.
DELETE ztabla_usuarios FROM wa_usuarios.
"siempre después de un DELETE se debe usar SY-SUBRC, la cantidad de registros borrados se guarda en SY-DBCNT".
Para borrar varios registros con determinada condición:
DELETE FROM ztabla_usuarios WHERE dni = '13478654'.
Para eliminar registros a partir de una tabla interna:
DELETE ztabla_usuarios FROM TABLE ti_usuarios.
5.- Actualización y recuperación de una base de datos.
Para deshacer todas las operaciones realizadas sobre la base de datos desde el último COMMIT WORK, se ejecuta un ROLLBACK WORK.
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
"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 Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta