✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
INSERT: permite introducir nuevos registros a una BD.
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727679'.
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ó.
Introducir todos los registros en una tabla:
INSERT ztabla_usuarios FROM TABLE ti_usuarios.
Sentencia UPDATE: permite actualizar el contenido de uno o varios registros de una tabla.
CLEAR wa_usuarios.
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727129'.
UPDATE ztabla_usuarios FROM wa_usuarios.
si se desea actualizar los registros de la tabla ztabla_usuarios que cumplan determinada condición:
UPDATE ztabla_usuarios SET nombre_ape='Jeferson P' WHERE dni='12523552'.
Para actualizar los registros de una tabla partiendo del contenido de una tabla interna
UPDATE ztabla_usuarios FROM ti_usuarios.
Sentencia MODIFY: permite modificar el contenido de uno o varios registros de una tabla.
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727129'.
MODIFY ztabla_usuarios FROM wa_usuarios.
Para actualizar los registros de una tabla partiendo del contenido de una tabla interna
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
SI EL REGISTRO QUE SE INTENTA MODIFICAR NO EXISTE EN LA TABLA, ESTE SE CREARA.
no es necesario especificar el mandante ya que automáticamente el sistema para ello se debe utilizar la cláusula CLIENT SPECIFIED para obtener o modificar datos de un mandante diferente al que estamos procesando.
Sentencia DELETE: permite borrar el contenido de uno o varios registros de una tabla.
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727129'.
DELETE ztabla_usuarios FROM wa_usuarios.
LA CANTIDAD DE REGISTROS BORRADOS SE GUARDA EN SY-DBCNT.
Para borrar los registros de la tabla cumpliendo determinada condición
DELETE ztabla_usuarios WHERE dni = '21727129'.
Para borrar todos los registros de una tabla a partir del contenido de una tabla interna.
DELETE ztabla_usuarios FROM TABLE ti_usuarios.
Actualización y recuperación de una BD:
LUW: unidad lógica de procesamiento de una BD.
COMMIT WORK: se utiliza para confirmar los cambios realizados sobre una BD. si se le agrega la cláusula AND WAIT el programa se para hasta que la tarea de actualizacion termina.
ROLLBACK WORK: se utiliza para deshacer los cambios realizados sobre una BD. si se le agrega la cláusula AND WAIT el programa se para hasta que la tarea de actualizacion termina.
Ejemplo: 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, MODIFI, UPDATE o DELETE realizar un COMMIT WORK y ROLLBACK WORK.
 
 
 
Sobre el autor
Publicación académica de Jeferson José Peña Curvelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Jeferson José Peña Curvelo
Venezuela - Legajo: PD49W
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jeferson Peña