✒️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 La sentencia 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:
<< imágen 1.1 >>
Siempre después de un INSERT debemos preguntar por el SY-SUBRC. Si es cero el registro se insertó correctamente, en caso contrario, se produjo un error y el registro no se insertó.
Para insertar en una tabla base de datos todos los registros de una tabla interna, haríamos lo siguiente:
<< imágen 1.2 >>
Si existe algún registro en la base de datos con igual clave que un registro de la tabla interna, se producirá un error y se informa un SY-SUBRC distinto de cero.
2 La sentencia 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 la tabla base de datos haríamos lo siguiente:
<< imágen 2.1 >>
Siempre después de un UPDATE se debe preguntar por el SY-SUBRC. Si el valor es cero, el registro se actualizó correctamente. En caso contrario, se produjo un error y el registro no se actualizó.
Si queremos actualizar los registros de la ZTABLA_USUARIOS que cumplan determinada condición, haríamos lo siguiente:
<< imágen 2.2 >>
Audio: Al utilizar la sentencia UPDATE para actualizar una tabla base de datos, es importante que indiquemos la clave de la tabla como condición de la actualización, ya que si no es probable que la actualización se demore mucho tiempo.
Si quisiéramos actualizar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna haríamos lo siguiente:
<< imágen 2.3 >>
3 La sentencia 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:
<< imágen 3.1 >>
Siempre después de un MODIFY se debe preguntar por el SY-SUBRC. Si el valor es cero, el registro se actualizó correctamente. En caso contrario, se produjo un error y el registro no se actualizó.
Si quisiéramos modificar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna, haríamos lo siguiente:
<< imágen 3.2 >>
=> Si el registro que se intenta modificar no existe en la tabla, se creará dicho registro. Esta es la diferencia entre MODIFY y UPDATE.
Audio: AL momento de impactar sobre una tabla base de datos no es necesario especificar el mandante, ya que este control es realizado de forma automática por SAP: siempre se procesará el mandante en uso. Si quisiéramos controlar manualmente el mandante en una actualización de una tabla base de datos, utilizaremos la cláusula CLAIM SPECIFY , es decir, si queremos obtener o modificar datos de un mandante diferente al que estamos procesando.
4 La sentencia 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:
<< imágen 4.1 >>
Siempre después de un DELETE se debe preguntar por el SY-SUBRC. Si es cero, el registro se borró correctamente. En 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 determianda condición, haríamos lo siguiente:
<< imágen 4.2 >>
Si quisiéramos borrar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna, haríamos lo siguiente:
<< imágen 4.3 >>
Audio: Es importante tener en cuenta que las instrucciones INSERT, DELETE, MODIFY y UPDATE, deben ser utilizadas lo menos posible, siempre se debe intentar insertar o modificar datos mediante las transacciones estándar de SAP o mediante las técnicas de BATCH-INPUT o BAPIs que veremos más adelante. 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.
5 Actualización y 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 WORD, realizaremos un ROLLBACK WORK:
Por ejemplo, al insertar registros en la tabla base de datos ZTABLA_USUARIOS:
<< imágen 5.1 >>
Es conveniente después de un INSERT, MODIFY, UPDATE O DELETE, utilizar un COMMIT WORD o un ROLLBACK WORK.
La sentencia COMMIT confirma los cambios que realicemos a las tablas de la base de datos.
La sentencia ROLLBACK vuelva atrás los cambios que realicemos a las tablas de la base de datos hasta el último COMMIT.
 
 
 
Favorito:
Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti
Sobre el autor
Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP.
José Antonio Saavedra Rodríguez
El Salvador - Legajo: SX28V
✒️Autor de: 166 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial