✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
Sentencia INSERT
La sentencia INSERT permite introducir registros sencillos o el contenido de una tabla interna en una base de datos SAP.
INSERT <tab>.
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.
Clear wa_ususarios.
Wa_usuarios-mandt=sy-mandt.
Wa_usuarios-dni=’13069108’.
Wa_usuarios-nombre_ape=’juian’.
Wa_usuarios-estado_usu=’A’.
Insert into ztabla_usuarios values wa_usuarios.
Si SY-SUBRC = 0 Registro insertado.
Si SY-SUBRC > 0 La clave del registro que queríamos insertar ya existía en la tabla.
También es posible introducir datos desde una tabla interna.
INSERT <tab> FROM TABLE <intab>.
Si SY-SUBRC = 0 Registros insertados.
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.
La tabla interna podrá tener la misma estructura que la tabla de base de datos utilizando INCLUDE STRUCTURE en su declaración.
Sentencia 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 finalizará 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 modificados.
Clear wa_ususarios.
Wa_usuarios-mandt=sy-mandt.
Wa_usuarios-dni=’13069108’.
Wa_usuarios-nombre_ape=’juian’.
Wa_usuarios-estado_usu=’A’.
update ztabla_usuarios from wa_usuarios.
Sentencia 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 modificarlo 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.
Clear wa_ususarios.
Wa_usuarios-mandt=sy-mandt.
Wa_usuarios-dni=’13069108’.
Wa_usuarios-nombre_ape=’juian’.
Wa_usuarios-estado_usu=’A’.
modify ztabla_usuarios from wa_usuarios.
Si el registro que se intenta modificar no existe, este se crea.
Sentencia 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.
 
 
 
Sobre el autor
Publicación académica de Alberth Julian Bolanos Bravo, en su ámbito de estudios para la Carrera Consultor ABAP.
Alberth Julian Bolanos Bravo
Profesión: Analista de Sistemas Web - Colombia - Legajo: FC65L
✒️Autor de: 46 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Alberth Bolanos