🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

INSERT

Open SQL

Es el Lenguaje estructurado de consulta. Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas.

La gran ventaja que nos proporciona el OPEN SQL de SAP es que nos independiza del motor de base de datos que se haya instalado en la base de datos, es decir, ya sea que la base de datos sea Oracle o Hana o Informix, la forma de acceder a los datos será siempre la misma.

Se llaman sentencias Open SQL a aquellas propias de ABAP que simulan un subconjunto de sentencias SQL (“Structured Query Language”).

En general, las sentencias SQL (del tipo que sean) se usan para el acceso a datos en tablas. Las Open SQL tratan tablas de bases de datos (es decir, las tablas del Diccionario de Datos) mientras que las Native SQL tratan tablas internas).

Las sentencias Open SQL son:

SELECT (lectura de registros de una tabla)
INSERT (inserción de un registro en una tabla)
UPDATE (modificación de un registro)
OPEN CURSOR (abre un cursor)
FETCH (avanza una posición el cursor)
CLOSE CURSOR (cierra un cursor)
COMMIT WORK (actualiza los últimos cambios de la BD, confirmando que se hacen las modificaciones)
ROLLBACK WORK (deshace las modificaciones hechas a la BD volviendo al último checkpoint)


ABAP SQL Insert

La sentencia INSERT permite introducir nuevos registros a una tabla base de datos.

Veamos como seria la sintaxis de la sentencia INSERT en la inserción de un registro en una tabla base de datos:

CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt .
wa_usuarios-documento = ‘98256873’ .
wa_usuarios-nombre_ape = ‘Juan Gonzalez Cruz’ .
wa_usuarios-direccion = ‘Lamadrid 1652’.
INSERT INTO ZTABLA_USUARIOS VALUES WA_USUARIOS.

IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.

Es sumamente importante luego de realizar un INSERT a una tabla base de datos preguntar por el contenido de la variable del sistema SY-SUBRC, si es cero, el registro se insertó correctamente, caso contrario, se produjo un error y el registro no se insertó.

Ahora bien que sucede si intentamos insertar en una tabla base de datos un registro cuya clave ya existen en la tabla base de datos. Lo que sucederá es que el SY-SUBRC será distinto de cero y el registro no se insertará.

*******************
Sy-subrc

Es la variable del sistema que devuelve un código de retorno luego de la ejecución de una sentencia ABAP.

Si la sentencia se ejecutó correctamente el código de retorno será 0 (cero). Caso contrario, si la ejecución se realizó con errores, el código de retorno será distinto de cero.

Luego de la ejecución de una sentencia en ABAP, es sumamente importante preguntar por el sy-subrc, especialmente pensando en sentencias que actualizan las tablas pertenecientes a la base de datos sistema tal como UPDATE, INSERT o DELETE.

Esta costumbre es considerada una "muy buena práctica de programación".

Dentro de la estructura SYST existen muchas otras variables del sistema que son sumamente útiles tales como SY-DATUM que almacena la fecha del sistema o SY-UZEIT que almacena la hora del sistema. Es importante tenerlas en cuenta y chequearla a través de la transacción estándar SE11.
********************

Commit Work

La sentencia ABAP COMMIT WORK se utiliza para confirmar los cambios realizados sobre una base de datos.

La utilización de la sentencia COMMIT WORK resulta fundamental luego de la ejecución de las sentencias INSERT, UPDATE o MODIFY sobre una tabla de la base de datos.

Si se le agrega la cláusula AND WAIT el programa se para hasta que la tarea de actualización termina.

Veamos un ejemplo de su utilización:

CALL FUNCTION 'Z_BLOQUEAR_DOCUMENTOS'

EXPORTING

i_lockr = v_lock

I_FDATE = wa_fecha

I_TDATE = wa_fecha_hasta

i_accion = 'B'

tables

it_documentos = ti_documentos

EXCEPTIONS

BLOQUEO_ERRONEA = 1

OTHERS = 2.



IF sy-subrc <> 0.

MESSAGE ID 'ZG' TYPE 'I' NUMBER '074'

WITH 'Los Documentos de la CC ' ti_cuentas_vkont

'No se bloqueron'.

ROLLBACK WORK.



ELSE.



COMMIT WORK.



ENDIF.

En el código anterior ejecutamos el módulo de funciones Z_BLOQUEAR_DOCUMENTOS el cual bloquea los documentos especificados en TI_DOCUMENTOS.

Si el bloqueo funciono correctamente, es decir se actualizaron correctamente las tablas de bloqueo entonces realizaremos un COMMIT WORK.

Si se produjo algún error al intentar bloquear, entonces realizaremos un ROLLBACK WORK para volver atrás los cambios realizados a las tablas de la base de datos.

UPDATE

La sentencia ABAP UPDATE se utiliza para actualizar los registros de una tabla de base de datos en SAP.

La sentencia UPDATE presenta diversas variantes de ejecución, veamos a continuación algunas de ellas:

* Actualizo un registro de la tabla ZTABLA_USUARIOS

CLEAR wa_usuarios.

wa_usuarios-mandt = sy-mandt.

wa_usuarios-dni = '21727679'.

wa_usuarios-nombre_ape = 'Juan Graco'.

wa_usuarios-estado_usu = 'I'.

UPDATE ztabla_usuarios FROM wa_usuarios.

* Actualizo el nombre y apellido del usuario con Dni 23547312

UPDATE ztabla_usuarios SET nombre_ape = 'Ezequiel Fernandez'

WHERE dni = '23547312'.

* Actualizo ZTABLA_USUARIOS con la tabla interna TI_USUARIOS

UPDATE ztabla_usuarios FROM TABLE ti_usuarios.

Al usar UPDATE a una tabla base de datos es importante que entre los campos que actualizo se encuentre la clave de la tabla base de datos, ya que sino puede que demore mucho tiempo la actualización

ABAP SQL Update

La sentencia UPDATE permite actualizar el contenido de uno o varios registros de una tabla base de datos.

Veamos como seria la sintaxis de la sentencia UPDATE en la actualización de un registro en una tabla base de datos:

CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt .
wa_usuarios-documento = ‘98256873’ .
wa_usuarios-nombre_ape = ‘Juan Gonzalez Cruz’ .
wa_usuarios-direccion = ‘Lamadrid 1652’.
UPDATE ZTABLA_USUARIOS FROM TABLE WA_USUARIOS.

IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.

Es sumamente importante luego de realizar un UPDATE a una tabla base de datos preguntar por el contenido de la variable del sistema SY-SUBRC, si es cero, el registro se actualizó correctamente, caso contrario, se produjo un error y el registro no se actualizó. Ahora bien que sucede si intentamos actualizar en una tabla base de datos un registro cuya clave ya no existen en la tabla base de datos. Lo que sucederá es que el SY-SUBRC será distinto de cero y el registro no se actualizará.


 

 

 


Sobre el autor

Publicación académica de Nestor Adrian Lara, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Junior

Nestor Adrian Lara

Profesión: Diseño Gráfico - Argentina - Legajo: BZ89W

✒️Autor de: 11 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Nestor Lara

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las sentencias INSERT, UPDATE, MODIFY y DELETE" de la mano de nuestros alumnos.

SAP Master


LECCION 7. UNIDAD 3. INSERT UPDATE MODIFY, DELETE ACTUALIZACION Y RECUPERACION DE LA BASE DE DATOS. En esta lección se enseña a utilizar las sentencias INSERT, UPDATE, MODIFY, DELETE y como realizar la actualización y recuperación de la base de datos. SENTENCIA INSERT. La sentencia INSERT permite introducir nuevos registros a una base de datos. Siempre después de un INSERT se debe preguntar por el SY-SUBRC. Si es cero, el registro se insertó correctamente, caso contrario, se produjo un error y el registro no se insertó. SENTENCIA UPDATE. La sentencia UPDATE permite actualizar el contenido de uno o varios registros de una tabla base de datos registros de una tabla base de datos. SENTENCIA MODIFY....

Acceder a esta publicación

Creado y Compartido por: Jose Dario Angel Vanegas

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


INSERT INSERT INTO ztabla_usuarios VALUES wa_usuarios. INSERT ztabla_usuarios FROM TABLE ti_usuarios. (desde una tabla interna). UPDATE UPDATE ztabla_usuarios FROM wa_usuarios. UPDATE ztabla_usuarios SET nombre_ape = 'Nacho Martín' WHERE dni = '45487412X'. UPDATE ztabla_usuarios FROM TABLE ti_usuarios. MODIFY (Diferencia con UPDATE, si el registro que se intenta modificar no existe en la tabla, lo creará) MODIFY ztabla_usuarios FROM wa_usuarios. MODIFY ztabla_usuarios FROM TABLE ti_usuarios. DELETE DELETE ztabla_usuarios FROM wa_usuarios. DELETE FROM ztabla_usuarios WHERE dni = '54879652X'. DELETE FROM ztabla_usuarios FROM TABLE ti_usuarios. (Borramos tabla a partir del contenido de una tabla interna). La cantidad...

Acceder a esta publicación

Creado y Compartido por: Ignacio Martín Bolumar

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior


Apunte Creado OK - Iniciar Edición 1.- INSERT - INSERT INTO <table> VALUES <registro> - INSERT <table> FROM TABLE <table> 2.- UPDATE - UPDATE <table> FROM <registro> - UPDATE <table> FROM TABLE <table-ti> - UPDATE <table> SET <campo> = valor WHERE <campo> = valor. 3.- MODIFY -MODIFY <table> FROM <registro> - MODIFY <table> FROM TABLE <table> Si el registro que se intenta modificar no existe, este se creará. 4.- DELETE - DELETE <table> FROM <registro> Siempre se debe preguntar por el SY-SUBRC. Si es cero, el registro se borró correctamente. La cantidad de registros borrados se almacena en SY-DBCNT. - DELETE FROM <table>...

Acceder a esta publicación

Creado y Compartido por: Jose Raúl Borroni Basaez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Sentencia INSERT sentencia para insertar registros en una tabla interna o base de datos en SAP INSERT INTO VALUES siempre despues de un insert se debe preguntar por el sy-subrc si es cero el registro se inserto sino hay error . INSERT FROM TABLE SENTENCIA UPDATE para actualizar registros de una tabla base de datos SAP UPDATE FROM SIEMPRE DE UN UPDATE SE DEBE PREGUNTAR EL SY-SUBRC UPDATE FROM TABLE SENTENCIA MODIFY para modificar datos en tablas internas o tablas base de datos en SAP MODIFY FROM siempre despues de un MODIFY se debe preguntar por sy-subrc. MODIFY FROM TABLE SI EL REGISTRO NO EXISTE EN LA TABLA ESTE SE CREA AUTOMATICAMENTE SENTENCIA DELETE permite borrar el contenido de uno o varios registros de una tabla base de datos DELETE...

Acceder a esta publicación

Creado y Compartido por: Andres Felipe Escobar Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

LA SENTENCIA INSERT: Introduce nuevos registros a una tabla. INSERT INTO ztabla_usuarios VALUES wa_usuarios. (pasa los valores de la estructura wa_usuarios a ztabla_usuarios, se entiende que solo es un registro a la vez). Para insertar toda la tabla (muchos registros) se usa: INSERT ztabla_usuarios FROM TABLE ti_usuarios. LA SENTENCIA UPDATE: Actualiza el contenido de los registros. UPDATE ztabla_usuarios FROM w_usuarios. UPDATE ztabla_usuarios SET nombre_ape = 'Pedro' WHERE dni = '3243'. para actualizar toda una tabla a partir de otra: UPDATE ztabla_usuarios FROM TABLE ti_usuarios. LA SENTENCIA MODIFY: Modifica el contenido de los registros de una base de datos. MODIFY ztabla:usuarios FROM wa. usuarios. para modificar el contenido a partir...

Acceder a esta publicación

Creado y Compartido por: Gerardo De La Rosa Rivera

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Utilizamos la sentencia INSERT para insertar registros en una tabla Z de base de datos. La sintaxis es: INSERT INTO tabla_bbdd VALUES estructura INSERT tabla_bbdd FROM TABLE tabla_interna Utilizamos la sentencia UPDATE para actualizar registros de una tabla Z de base de datos. La sintaxis es: UPDATE tabla_bbdd FROM estructura UPDATE tabla_bbdd SET campo = valor_nuevo WHERE condición UPDATE tabla_bbdd FROM TABLE tabla_interna Utilizamos la sentencia MODIFY para modificar registros de una tabla Z de base de datos. Si el registro no existe entonces lo creará. La sintaxis es: MODIFY tabla_bbdd FROM estructura MODIFY tabla_bbdd FROM TABLE tabla_interna Utilizamos la sentencia DELETE para borrar registros...

Acceder a esta publicación

Creado y Compartido por: Jonatan Richioni

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Sentencias INSERT, UPDATE, MODIFY, DELETE: INSERT: Permite introducir nuevos registros. UPDATE: Permite actualizar registros, si el registro que se quiere actualizar no existe, manda error. MODIFY: Permite modificar registros, si el registro que se quiere modificar no existe, este se creará. DELETE: Permite borrar registros. TIPS: Cuando actualizamos una base de datos, no es necesario especificar mandante, ya que SAP controla que siempre se procese el mandante en uso. Si queremos actualizar datos de otro mandante, utilizamos clausula CLIENT ESPECIFY. IMPORTANTE: Las instrucciones INSERT, DELETE, MOFIFY y UPDATE deben ser utilizadas lo menos posible, ya que siempre se deben modificar los datos mediante las transacciones...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Sentencia INSERT Nos permite ingresar registros en una base de datos completamos el área y luego. INSERT INTO tabla VALUES área. Luego de un Insert así como otras sentencias de acceso a base de datos, es conveniente verificar el estado de SY-SUBRC para saber si fue exitosa la ejecución de la sentencia. Para insertar todos los registros de una tabla interna: INSERT tabla FROM TABLE tabla_interna. UPDATE Para actualizar registros de la base. completamos el área y luego. UPDATE tabla FROM area. Para actualizar un campo. UPDATE tabla SET campo = valor WHERE condición. Es importante que en la condición esté la clave de la tabla, esto mejorará la performance de la ejecución notoriamente....

Acceder a esta publicación

Creado y Compartido por: Daniel Martinez Chaer / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

INSERT, UPDATE, MODIFY, DELETE y Actualización y recuperación de la base de datos La sentencia INSERT permite introducir nuevos registros a una base de datos. Siempre después de un INSERT se debe preguntar por el SY-SUBRC. Si es cero, el registro se insertó correctamente. La sentencia UPDATE permite actualizar el contenido de uno o varios registros de una tabla base de datos. La sentencia MODIFY permite modificar el contenido de uno o varios registros de una tabla base de datos. La sentencia DELETE permite borrar el contenido de uno o varios registros de una tabla base de datos. Para finalizar una unidad de procesamiento lógico LUW de base de daots se utiliza un COMMIT WORK que realiza un update físico...

Acceder a esta publicación

Creado y Compartido por: Abraham Arredondo Caceda / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Operaciones de una base de datos INSERT: Nos pemite introducir nuevos registros a la base de datos, usamos la siguiente sintaxis: INSERT INTO <Tabla> VALUES <area de trabajo> INSERT <Tabla> FROM TABLE <tabla interna> UPDATE: Nos permite actualizar el contenido de la base de datos, usaremos la siguiente sintaxis: UPDATE <tabla> FROM <area de trabajo> UPDATE <tabla> SET <campos actualizar> WHERE <condiciones> UPDATE <tabla> FROM TABLE <tabla interna> MODIFY: Permite modificar el contenido de uno o varios registros de la base de datos, usaremos la siguiente sintaxis: MODIFY <tabla> FROM <area de trabajo> MODIFY <tabla>...

Acceder a esta publicación

Creado y Compartido por: Marvin Raul Lopez Morales / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!