✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
1 - SENTENCIA INSERT.
Introducir registros en una tabla de BBDD.
Sintaxis:
Insertar un registro: INSERT into <tabla BBDD> values <variable area de trabajo>.
Insertar registros tabla interna : INSERT into <tabla BBDD> FROM TABLE <tabla interna>.
Nota: el valor del mandante se rellena con la variable de sistema sy-mandt.
2 - SENTENCIA UPDATE.
Modifica el contenido de uno varios registros de una tabla de BBDD.
Sintaxis:
Un registro completo: UPDATE <tabla BBDD> FROM <variable area de trabajo>
Actualizar campos con condición: UPDATE <tabla BBDD> SET <campo n BBDD> = 'valor'
where <campo clave> = 'valor'
Actualizacion Masiva: UPDATE <tabla BBDD> FROM TABLE <tabla interna>.
3 - SENTENCIA MODIFY.
Igual que la sentencia UPDATE, pero además si el registro No existe lo crea.
Sintaxis:
Un registro: MODIFY <tabla BBDD> FROM <variable area de trabajo>
Actualizacion Masiva: MODIFY <tabla BBDD> FROM TABLE <tabla interna>.
En las sentencias de actualización (UPDATE y MODIFY) No es necesario incluir el mandante, pues éstas se realizaran en el mandante en uso.
[CLIENT SPECIFIED]: Esta opción debe ir siempre a continuación del nombre de la tabla. Con esta opción desconectamos el automatismo del manejo del campo
mandante, por lo tanto, habrá que rellenarlo en la sentencias de inserción o modificación.
4 - SENTENCIA DELETE.
Eliminar uno o varios registros de una tabla BBDD.
Un registro: DELETE <tabla BBDD> FROM <variable area de trabajo>
La cantidad de registros eliinados se guarda en la variable de sistemas: sy-dbcnt.
Borrar registros con condición: DELETE FROM <tabla BBDD> WHERE <campo BBDD> = <valor>.
Borrar todos los registros a partir de una tabla interna:
DELETE <tabla BBDD> FROM <tabla interna>.
Nota para los 4 puntos anteriores: Después de cualquiera de las 4 sentencias preguntar por la variablede sistema sy-subrc.
Si sy-subrc = 0 => la sentencia ha finalizado con éxito.
Si Sy-subrc <> 0 => la sentencia no se ha ejecutado (Comprobar porqué se produjo el error).
IMPORTANTE: Utilizar estas ordenes lo menos posible, utilizar siemprelas transacciones del estandar o mediante Batch-Inputs o Bapis. La estructura de las tablas del sistema es muy compleja y cabe la posibilidad de crear "inconsistencias".
5 - Actualización y recuperación de una BBDD.
Para finalizar una unidad de procesamiento logico se utiliza la sentencia:
<COMMIT WORK>: Realiza un update fisico en la BBDD, certificando la operación.
<ROLLBACK WORK>: "deshace" todas las operaciones realizadas en la BBDD desde el último COMMIT WORK.
Sintaxis:
INSERT into <tabla BBDD> values <variable area de trabajo>.
if sy-subrc = 0.
COMMIT WORK.
else.
ROLLBACK WORK.
endif.
 
 
 
Sobre el autor
Publicación académica de Francisco Javier Gomez Jimenez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Javier Gomez Jimenez
Profesión: Consultor Junior - España - Legajo: KW17D
✒️Autor de: 200 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP MM Nivel Avanzado
- Carrera Consultor en SAP MM Nivel Inicial