✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
LA SENTENCIA INSERT
Sentencia que permite introducir registros a una base de datos
· Siempre después de un INSERT se debe preguntar por el SY-SUBRC. Si es cero, el registro se insertó OK, en caso contrario se produjo un error y el registro no se insertó.
Si existe algún registro en la base de datos con igual clave que un registro en la tabla interna, se producirá un error (SY_SUBRC distinto de cero).
LA SENTENCIA UPDATE
Sentencia que permite actualizar el contenido de uno o varios registros de una tabla base de datos.
· Siempre después de un UP DATE se debe preguntar por el SY-SUBRC. Si es cero, el registro se actualizó OK, en caso contrario se produjo un error y el registro no se actualizó.
· Siempre después de un MODIFY se debe preguntar por el SY-SUBRC. Si es cero, el registro se modificó OK, en caso contrario se produjo un error y el registro no se modificó.
(Si el registro que se intenta modificar, no existe en la tabla, este se creará.)
Al momento de impactar sobre una tabla base de datos no hace falta especificar el mandante ya que se controla de forma automática por SAP. Siempre se procesara el mandante en uso. Si queremos controlar el mandante manualmente en una actualización de una tabla base de datos hay que usar la cláusula CLAIM SPECIFY es decir si queremos obtener o modificar datos de un mandante diferente al que estamos procesando.
LA SENTENCIA DELETE
Sentencia que permite borrar el contenido de uno o varios registros de una tabla base de datos.
Si quisiéramos borrar un registro de una tabla base de datos haríamos lo siguiente
· Siempre después de un DELETE se debe preguntar por el SY-SUBRC. Si es cero, el registro se borró OK, 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 algún registro de una tabla que cumplan determinada condición, haríamos lo siguiente:
Si quisiéramos borrar TODOS los registros de una tabla a partir del contenido de una tabla interna haríamos lo siguiente:
INSERT, DELETE, MODIFY y UPDATE deben tratar de utilizarse lo menor posible, Siempre es preferible insertar o modificar datos mediante las trx en sap o por Batch input o Bapis. Se debe que no siempre es fácil conocer la estructura de la base de datos de sap y se pueden generar inconsistencias en las bases de datos.
ACTUALIZACION Y RECUPERACIÓN DE UNA BASE DE DATOS
LUW: Se define como un paso elemental de proceso que funciona como un mecanismo de bloqueo que protege la integridad de las transacciones. O como un conjunto de pasos dentro de una transacción, y todos esos pasos deben ejecutarse y acabar correctamente entes de continuar la lógica de la transacción.
COMMIT WORK: Sentencia ABAP que se utiliza para confirmar los cambios realizados sobre una base de datos. Si se le agrega la claúsula AND WAIT el programa se para hasta que la tarea de actualización termina.
Realiza un update físico en la base de datos, haciendo irrevocable cualquier modificación en la base de datos
ROLLBACK WORK: Sentencia ABAP que se utiliza para deshacer los cambios realizados sobre una base de datos. Si se le agrega la claúsula AND WAIT el programa se para hasta que la tarea de actualización termina.
Si deseamos deshacer todas las operaciones realizadas sobre la base de datos desde el último COMMIT WORK, realizaremos un ROLLBACK WORK.
Ej. Insertar registros en la base de datos ZTABLA_USUARIOS:
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 Sabrina Soledad Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Sabrina Soledad Rodriguez
Profesión: Consultor Sap Fi - Co - Bs - Argentina - Legajo: SQ30J
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Sabrina Rodriguez