✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
3.7. - INSERT, UPDATE, MODIFY, DELETE y actualización y recuperación de BD
3.7.1. - La sentencia INSERT
Permite introducir nuevos registros a una base de datos. Para introducir nuevos registros en una base de datos, se realiza con la siguiente integración de código:
Siempre, después de un INSERT, se debe preguntar por la variable del sistema “SY-SUBRC”. En caso de ser0, el registro se insertó correctamente. En caso contrario, se produjo un error y el registro no se insertó.
Si se quisiesen introducir todos los registros de una tabla interna, se haría de la siguiente manera.
Si existe algún registro en la base de datos con igual clave que un registro, se producirá un error.
3.7.2. - La sentencia UPDATE
Permite actualizar el contenido de uno o varios registros de una tabla de base de datos. Se realizaría de la siguiente manera:
Siempre, después de un UPDATE, se debe preguntar por la variable del sistema “SY-SUBRC”. En caso de ser 0, el registro se modificó correctamente. En caso contrario, se produjo un error y el registro no se modificó.
Si se necesita modificar algún registro que cumpla una determinada condición, se utiliza la cláusula “WHERE”.
Al utilizar la sentencia “UPDATE” para actualizar una tabla de base de datos es importante ingresar la clave de la tabla como condición de la actualización, ya que es probable que la actualización se demore mucho tiempo.
Si se quiere actualizar todos los registros de una tabla a partir del contenido de una tabla interna, se realizaría de la siguiente forma:
3.7.3. - La sentencia MODIFY
Permite modificar el contenido de uno o varios registros de una tabla de base de datos. Con la sentencia “MODIFY”, si el registro que se intenta modificar no existe en la tabla, éste se creará.
Siempre, después de un MODIFY, se debe preguntar por la variable del sistema “SY-SUBRC”. En caso de ser 0, el registro se modificó correctamente. En caso contrario, se produjo un error y el registro no se modificó.
Si se pretende modificar todos los registros de una tabla a partir del contenido de una tabla interna, se realizaría de la forma:
Si se quiere controlar manualmente el mandante en una actualización de una tabla de base de datos, se utilizará la cláusula “CLIENT SPECIFIED”, si se quiere obtener o modificar datos de un mandante diferente al que se está procesando.
3.7.4. - La sentencia DELETE
Permite borrar el contenido de uno o varios registros de una tabla de base de datos. Si se necesita borrar un registro de la base de datos, se realizaría de la siguiente forma:
Siempre, después de un DELETE, se debe preguntar por la variable del sistema “SY-SUBRC”. En caso de ser 0, 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 se quiere borrar registros de una tabla que cumplan determinada condición, se realizaría de la siguiente forma:
Si se quiere borrar todos los registros de una tabla, a partir del contenido de una tabla interna, se realizaría:
3.7.5. - Actualización y recuperación de una base de datos
Para finalizar una unidad de procesamiento lógico 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 se añade la cláusula “AND WAIT”, el programa se para hasta que la tarea de actualización termina.
Si se quiere deshacer todas las operaciones realizadas sobre la base de datos desde el ultimo “COMMIT WORK”, se realizará un “ROLLBACK WORK” Si se añade la cláusula “AND WAIT”, el programa se para hasta que la tarea de actualización termina.
Es conveniente después de las sentencias “INSERT”, “MODIFY”, “UPDATE” o “DELETE”, realizar un “COMMIT WORK” y “ROLLBACK WORK”.
 
 
 
Sobre el autor
Publicación académica de Adrian Fernandez Marcos, en su ámbito de estudios para la Carrera Consultor ABAP.
Adrian Fernandez Marcos
Profesión: Técnico de Sistemas - España - Legajo: FQ91J
✒️Autor de: 116 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
Certificación Académica de Adrian Fernandez