✒️ABAP / Las sentencias INSERT, UPDATE, MODIFY y DELETE Por Nestor Lara

Selector Alummnos / Empresas

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á.


 

Escanear / Compartir

 

 


Sobre el autor

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

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 Senior

Las sentencias INSERT, UPDATE, MODIFIY y DELETE 1| La sentencia INSERT La sentencia INSERT permite introducir o insertar nuevos registros a una tabla base de datos. Por ejemplo, si quisiéramos insertar un nuevo registro en la tabla base de datos ZTABLA_USUARIOS. Siempre después de la ejecución de la sentencia INSERT se debe preguntar por el contenido de la variable del sistema SY-SUBRC. Si es cero esto significa que el registro se insertó correctamente, caso contrario se produjo un error y el registro no se insertó. Si quisiéramos insertar todos los registros almacenados en la tabla interna TI_USUARIOS en la tabla base de datos ZTABLA_USUARIOS. Si existe algún registro en la tabla base de datos...

Acceder a esta publicación

Creado y Compartido por: Felipe De Jesus Arrona Rodriguez

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

SAP Master


Las Sentencias INSERT, UPDATE, MODIFY Y DELETE Uso de la sentencia INSERT Permite insertar nuevos registros en una tabla de base de datos. Es necesario verificar la variable de sistema Sysrc tras la ejecución; un valor de cero indica éxito. Si se intenta insertar registros con claves ya existentes, se producirá un error y Sysrc será distinto de cero. Es posible insertar todos los registros desde una tabla interna a una tabla base de datos utilizando el código adecuado. Uso de la sentencia UPDATE Actualiza uno o varios registros en una tabla de base de datos. Se debe comprobar Sysrc tras la ejecución; cero indica éxito, otro valor significa error. Se pueden actualizar registros específicos...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Senior

1 | La sentencia INSERT La sentencia INSERT permite introducir o insertar nuevos registros a una tabla base de datos. Siempre después de la ejecución de la sentencia INSERT se debe preguntar por el contenido de la variable del sistema SY-SUBRC. Si es cero esto significa que el registro se insertó correctamente, caso contrario se produjo un error y el registro no se insertó. Si quisiéramos insertar todos los registros almacenados en la tabla interna TIUSUARIOS en la tabla base de datos ZTABLA_USUARIOS entonces ejecutaríamos el siguiente código: * Insertamos en la ZTABLA_USUARIOS el contenido de TI_ USUARIOS INSERI ztabla_usuarios FROM TABLE ti_usuarios. 2 | La sentencia UPDATE La sentencia...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

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

SAP Master

Introducción: Las sentencias DML (INSERT, UPDATE, MODIFY, DELETE) son esenciales para manipular datos en tablas SAP. Sentencia INSERT Función: Añadir nuevos registros a una tabla. Sintaxis clave: Consejos críticos: Verificar SY-SUBRC: 0 → Éxito. ≠0 → Error (ej: clave duplicada). Error común: Intentar insertar registros con claves existentes → ¡Dump ABAP! Best Practice: Sentencia UPDATE Función: Modificar registros existentes. Sintaxis clave: Cuidado: Si no existe el registro → SY-SUBRC ≠ 0. ...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

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

SAP Junior

Las sentencias INSERT, UPDATE, MODIFY y DELETE 1 | La sentencia INSERT La sentencia INSERT permite introducir o insertar nuevos registros a una tabla base de datos. Por ejemplo, si quisiéramos insertar un nuevo registro en la tabla base de datos ZTABLA USUARIOS ejecutaríamos el siguiente código: Recuerda: Siempre después de la ejecución de la sentencia INSERT se debe preguntar por el contenido de la variable del sistema SY-SUBRC. Si es cero esto significa que el registro se insertó correctamente, caso contrario se produjo un error y el registro no se insertó. Si quisiéramos insertar todos los registros almacenados en la tabla interna TI_USUARIOS en la tabla base de datos Z_ TABLA USUARIOS...

Acceder a esta publicación

Creado y Compartido por: Gustavo Jose Rondon Hernandez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Las sentecias INSERT, UPDATE, MODIFY y DELETE 1 La sentencia INSERT La sentencia INSERT en ABAP se utiliza para insertar nuevos registros en una tabla base de datos. Puede emplearse para agregar un único registro o múltiples registros desde una tabla interna. Ejemplo básico: Para insertar un registro en la tabla ZTABLA_USUARIOS se construye una estructura con los datos y se utiliza INSERT. Ejemplo múltiple: Si se desea insertar todos los registros de la tabla interna TI_USUARIOS en la tabla base de datos, se puede usar INSERT TI_USUARIOS INTO ZTABLA_USUARIOS. Tras ejecutar un INSERT, se debe verificar el valor de la variable del sistema SY-SUBRC. Si SY-SUBRC = 0, la inserción...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

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

SAP Expert



En SAP, las sentencias INSERT, UPDATE, MODIFY y DELETE son instrucciones fundamentales del lenguaje ABAP utilizadas para gestionar los datos en las tablas internas y en la base de datos. INSERT agrega nuevos registros; UPDATE modifica registros existentes según una clave primaria; MODIFY combina la lógica de inserción y actualización dependiendo de si el registro ya existe; y DELETE elimina registros específicos de una tabla. Estas sentencias permiten mantener la integridad y consistencia de los datos dentro del entorno SAP, siendo esenciales para el desarrollo de aplicaciones que requieren manipulación directa de la base de datos. Además, es importante usarlas con control de errores y manejo...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

Las sentencias INSERT, UPDATE, MODIFY Y DELETE 1. La sentencia INSERT Permite introducir o insertar nuevos registros a una tabla base de datos. Ejemplo: * Insertamos 1 registro en 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 = 'A'. Siempre despues de la ejecución de la sentencia INSERT se debe preguntar por el contenido de la variable del sistema SY-SUBRC. Si es 0 esto significa que el registro se insertó correctamente, caso contrario se produjo un error y el registro no se insertó. Si quisiéramos insertar todos los registros almacenados en la tabla interna ti_usuarios...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

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

SAP SemiSenior

Sentencias INSERT, UPDATE, MODIFY y DELETE La sentencia INSERT: Permite introducir o insertar nuevos registros a una tabla base de datos. Por ejemplo, si quisiéramos insertar un nuevo registro en la tabla ZTABLA_USUARIOS ejecutaríamos el siguiente código. “insertamos 1 registro en la tabla ZTABLA_USUARIOS CLEAR wa_usuarios. Wa_usuarios-mandt = sy-mandt. Wa_usuarios-dni = ‘21727679’. Wa_usuarios-nombre = ‘Juan Graco’. Wa_usuarios-estado_usu = ‘A’. ...

Acceder a esta publicación

Creado y Compartido por: Mauricio Ezequiel Yedro

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

SAP Senior

La sentencia INSERT Nos permite insertar registros desde un programa ABAP a una tabla de base de datos. Sintaxis: wa_tabla-mandt = sy-mandt. wa_tabla-dni = '21727679'. INSERT INTO ztabla VALUES wa_tabla. Siempre se debe preguntar el contenido de sy-subrc despues de la sentencia INSERT para saber si se introdujo correctamente el registro. Para insertar todos los registros de una tabla interna en una tabla de base de datos: INSERT ztabla FROM TABLE ti_tabla. Si existiera un registro de ztabla con una clave igual a un registro de ti_tabla entonces sy-subrc tendra valor distinto de cero y se producira un error. La sentencia UPDATE Permite actualizar uno o mas registros de una tabla data base, si se actualiza un registro completo de ztabla: wa_tabla-mandt...

Acceder a esta publicación

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

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.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!