================= ******** UNIDAD 3 ******** =================
******** Lección 7: "Insert, Update, Modify, Delete y Actualización y recuperación de BD´" *********
La sentencia INSERT:
INSERT es para ingresar registros en una BD, por ejemplo en una tabla queremos agregar nuevos datos por medio de código.
Sintaxis:
CLEAR <tablaTemporal>
<tablaTemporal>-campo = sy-mandt.,
<tablaTemporal>-campo = 'valor,
<tablaTemporal>-campo = valor.
INSERT INTO <TABLA> VALUE <TablaTemporal>.
En caso de querer insertar todos los campos, colocamos:
INSERT <tabla> FROM TABLE <TablaTemporal>.
La Sentencia UPDATE
Permite actualizar los contenidos en una tabla de base de datos.
Sintaxis:
CLEAR <tablaTemporal>
<tablaTemporal>-campo = sy-mandt.,
<tablaTemporal>-campo = 'valor,
<tablaTemporal>-campo = valor.
UPDATE <TABLA> FROM<TablaTemporal>.
En caso de querer colocar condicionales, colocamos la sentencia WHERE
Sintaxis:
UPDATE <tabla> SET <tablaInterna>-campos = valor
WHERE campo = valor.
AUDIO 1 : Es importante colocar un WHERE, al momento de actualizar una tabla ya que al contener un millones de datos, la sentencia demorara demasiado.
En caso de querer actualizar todos los registros de la tabla, colocamos lo siguiente
Sintaxis:
UPDATE <tabla> FROM TABLE <TablaInterna>.
La Sentencia MODIFY
Es usado para modificar campos en una tabla de base de datos.
Sintaxis:
CLEAR <tablaTemporal>
<tablaTemporal>-campo = sy-mandt.,
<tablaTemporal>-campo = 'valor,
<tablaTemporal>-campo = valor.
MODIFY <TABLA> FROM<TablaTemporal>.
En el caso de querer modificar toda la tabla colocamos
Sintaxis:
MODIFY <tabla> FROM TABLE <TablaInterna>.
AUDIO 2 .Al impactar una sentencia a una tabla, no es necesario referenciar al MANDT.
La Sentencia DELETE
Es usado para eliminar campos en una tabla de base de datos.
Sintaxis:
CLEAR <tablaTemporal>
<tablaTemporal>-campo = sy-mandt.,
<tablaTemporal>-campo = 'valor,
<tablaTemporal>-campo = valor.
DELETE<TABLA> FROM<TablaTemporal>.
En el caso de querer eliminar toda la tabla colocamos con una condicion
Sintaxis:
DELETE FROM <TABLE> WHERE campos = valor.
En caso de querer eliminar una tabla mediante una tabla interna colocamos
Sintaxis:
DELETE FROM <TABLE> WHERE campos = valor.
AUDIO 2: Es importante tener en cuenta que estas sentencias se deben de realizar lo menor posible, ya que se debe de insertar por BAPI o BATCHES en SAP.
Actualización y Recuperación de una BD
Cuando quisieramos usar una sentencia de actualizacion es recomendable colocar un COMMIT WORK(Sentencia para confirmar que los cambios se realizaron correctamente) en caso de querer deshacer los cambios desde el ultimo COMMIT realizaremos un ROLLBACK WORK(Deshace los cambios realizados hasta el commit).
Ejemplo:
INSERT INTO <tabla> VALUES <tablaInterna>.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.