✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
La sentencia INSERT: permite introducir o incertar nuvos registros a una tabla base de datos.
* Insertamos 1 registro en la tabla ZTABLA_USUARIOS
CLEAR wa_usuarios.
wa_usuarios_mandt = sy-mandt.
wa_usuarios_dni = '12657832'.
wa_usuarios_nombre_ape = 'Juan Grao'.
wa_usuarios_estado_usu = 'A'.
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
Siempre despúes de la ejecución de la sentencia INSERT se debe preguntar por el contenido de variable del sistema SY-SUBRC. Si es cero esto significa que el registro se insertó correctamente, caso contrario se produjo un error y el registro no se insertó.
Si quisieramos insertar todos los registros almacenados en la tabla interna TI_USUARIOS en la tabla base de datos ZTABLA_USUARIOS entonces ejecutamos el siguiente código:
* Insertamos en la ZTABLA_USUARIOS el contenido de TI_USUARIOS
IMSERT ztabla_usuarios FROM TABLE ti_usuarios.
Si existe algún registro en tabla base de datos ZTABLA_USUARIOS con igual clave que un registro en la tabla interna TI_USUARIOS entenses se producirá un error y la variable del sistema SY-SUBRC tendrá un valor distito de cero.
La centencia: permite actualizar el contenido de uno o varios registros de la tabla bese de datos.
* Acualizamos 1 registro de la tabla ZTABLA_USUARIOS
CLEAR wa_usuarios.
wa_usuarios_mandt = sy-mandt.
wa_usuarios_dni = '12657832'.
wa_usuarios_nombre_ape = 'Juan Grao'.
wa_usuarios_estado_usu = 'I'
UPDATE ztabla_usuarios FROM wa_usuarios.
Siempre despúes de la ejecutar la sentencia UPDATE se debe preguntar por el contenido de la variable del sistema SY-SUBRC. Si es cero esto significa que el registro se actualizó correctamente, caso contrario se produjo un error y el registro no se actualizó.
Si deseamos actualizar los registros de la tabla base de datos ZTABLA _USUARIOS que se cumpla con determinada condición entonces ejecutariamos el siguiente código.
* Actualizamos el nombre y apellido del usuario con DNI 12325498
UPDATE ztabla_usuarios SET nombre_ape ='Ezequiel Fernandes'
WHERE dni = '12325498'.
Si desiamos actualizar todos los registros de tabla base de datos ZTABLA_USUARIOS a partir del contenido de una tabla interna entonces ejecurariamos el sigiente código:
* Actualizamos la tabla ZTABLA_USUARIOS con la tabla interna TI_USUARIOS
UPDATE xtabla_usuarios FROM TABLE ti_usuarios.
La sentencia MODIFY: permite modificar el contenido de uno o varios registros de una tabla base de datos.
* Modificamos 1 registro en la tabla ZTABLA_USUARIOS
CLEAR wa_usuarios.
wa_usuarios_mandt = sy-mandt.
wa_usuarios_dni = '12657832'.
wa_usuarios_nombre_ape = 'Juan Grao'.
wa_usuarios_estado_usu = 'N'.
MODIFY ztabla_usuarios FROM wa_usuarios.
Siempre despúes de la ejecución de la sentencia MODIFY se debe preguntar por el contenido de la variable del sistema SY-SUBRC. Si es cero esto significa que el registro se actualizó correctamente, caso contrario se produjo un error y el registro no se modificó.
Si deseamos modificar todos los registros de la tabla base de datos ZTABLA_USUARIOS a partir del contenido de la tabla interna entonses ejecutamos el siguente código:
* Modificamos los registros de ZTABLA_USUARIOS con la tabla interna TIUSUARIOS
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
Si el registro que se intenta modificar mediante la ejecución de la sentencia MODIFY, no existe en la tabla base de datos entonces este es creará.
La sentencia DELETE: permite borrar el contenido de una o varios registros de la tabla base de datos.
* Borramos 1 registro en la tabla ZTABLA_USUARIOS
CLEAR wa_usuarios.
wa_usuarios_mandt = sy-mandt.
wa_usuarios_dni = '12657832'.
wa_usuarios_nombre_ape = 'Juan Grao'.
wa_usuarios_estado_usu = 'N'.
DELETE ztabla_usuarios FROM wa_usuarios.
Siempre despúes de la ejecución de la sentencia DELETE se debe preguntar por el contenido de la variable del sistema SY-SUBRC. Si es cero esto significa que el registro se actualizó correctamente, caso contrario se produjo un error y el registro no se borró. La cantidad de registros borrados se guarda en la bariable del sistema SY-SUBRC.
Si deseamos borrar los registros de la tabla base de datos ZTABLA_USUARIOS que cumplan con determinadas condición entonces ejecuratiamos el siguiente código:
* Borramos de la tabla ztabla_usuario con DNI = '32548721'
DELETE FROM ztabla_usuarios WHERE dni = '32548721'
Si deseamos borrar todos los registros de la tabla base de datos ZTABLA_USUARIOS a partir del contenido de una tabla interna entoces ejecutamos el siguiente código:
* Borramos de ZTABLA_USUARIOS los registros de la tabla interna TI_USUARIOS
DELETE ztabla_usuarios FROM TABLE ti_usuarios.
 
 
 
Sobre el autor
Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Javier Miguel Angel Barcelo
Profesión: Militar - Argentina - Legajo: DQ34X
✒️Autor de: 29 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Certificación Académica de Javier Angel