La sentencia INSERT permite introducir registros sencillos o el contenido de una tabla interna en una base de datos SAP.
Grabará en la BDD el registro de cabecera. Por tanto previamente a esta instrucción moveremos los valores que queremos introducir sobre el área de trabajo de la tabla.
También es posible introducir datos desde una tabla interna.
Si existe algún registro en la base de datos con clave igual a algún registro de la tabla interna, se producirá un error de ejecución del programa.
UPDATE.
La sentencia UPDATE permite modificar el contenido de uno o varios registros.
UPDATE <tab>.
Modifica el registro de la base de datos que está especificado en el registro de cabecera.
Si queremos modificar el contenido de más de un registro a la vez:
UPDATE <tab> SET <campo> = <valor> WHERE <cond>.
Con este UPDATE, todos los registros que cumplan <cond> modificarán el contenido del <campo> por <valor>.
También es posible utilizar la cláusula SET con
<campo> = <campo> <valor>
o
<campo> = <campo> - <valor>
Es posible modificar registros desde una tabla interna:
UPDATE <tab> FROM TABLE <intab>.
Si el sistema no puede actualizar un registro, el proceso no finalizara sino que continuará con el siguiente registro.
Si SY-SUBRC = 0 Todos los registros modificados.
Si SY-SUBRC = 4 No todos los registros han sido modificados.
En SY-DBCNT Tendremos la cantidad de registros modifacados.
MODIFY.
La sentencia MODIFY se utilizará cuando no estemos seguros si utilizar un INSERT o un UPDATE. Es decir, cuando no sepamos con certeza si un registro existe o no, para modifcarlo o añadirlo.
MODIFY <tab>.
MODIFY<tab> FROM TABLE <intab>
En caso de que sepamos si existe o no un registro, por eficacia utilizaremos INSERTs o UPDATEs.
DELETE.
Para realizar borrados de datos se aplica la sentencia DELETE.
DELETE <tab>.
Borrará el registro que especifiquemos en el área de trabajo.
Para borrar más de un registro (todos los que cumplan una cierta condición).
DELETE FROM<tab> WHERE <cond>.
Podemos borrar de BDD todos los registros de una tabla interna.
DELETE FROM <tab> FROM TABLE <intab>.
Si SY-SUBRC = 0 Todos los registros han sido borrados.
Si SY-SUBRC = 4 No todos los registros han sido borrados.
En SY-DBCNT Tendremos la cantidad de registros borrados.