✒️ABAP / Las sentencias INSERT, UPDATE, MODIFY y DELETE Por Jaime Gomez Arango

ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

INSERT Statement

The INSERT statement facilitates the introduction or insertion of new records into a base database table. Always check the value of the system variable SY-SUBRC after executing the INSERT statement. A value of zero indicates successful insertion; otherwise, an error occurred, and the record was not inserted.

DATA: ls_new_record TYPE database_table.

ls_new_record-field1 = value1.
ls_new_record-field2 = value2.

INSERT database_table FROM ls_new_record.

IF sy-subrc = 0.
" Record inserted successfully.
ELSE.
" Error occurred during insertion.
ENDIF.

* Example: Inserting various elements from an internal table
DATA: lt_users_to_insert TYPE TABLE OF lt_employee_data,
lt_new_users TYPE TABLE OF lt_employee_data.

SELECT * FROM lt_employee_data INTO TABLE lt_new_users.

APPEND VALUE #( client = sy-mandt
id_number = 'NewID123'
full_name = 'New Employee1'
status = 'Active' ) TO lt_users_to_insert.

APPEND VALUE #( client = sy-mandt
id_number = 'NewID456'
full_name = 'New Employee2'
status = 'Active' ) TO lt_users_to_insert.

INSERT lt_employee_data FROM TABLE lt_users_to_insert.

IF sy-subrc = 0.
" Records inserted successfully.
ELSE.
" Error occurred during insertion.
ENDIF.

UPDATE Statement

The UPDATE statement allows the modification of one or more records in a base database table. After executing the UPDATE statement, check the value of the system variable SY-SUBRC. A value of zero signifies a successful update; otherwise, an error occurred, and the record was not updated.

* Example 1: Updating a specific record
CLEAR ls_user_to_update.
ls_user_to_update-client = sy-mandt.
ls_user_to_update-id_number = 'UniqueID123'.
ls_user_to_update-full_name = 'Jega'.
ls_user_to_update-status = 'Active'.

UPDATE z_users FROM ls_user_to_update.

IF sy-subrc = 0.
" Specific record updated successfully.
ELSE.
" Error occurred during update.
ENDIF.

* Example 2: Updating records based on a condition
UPDATE z_users SET full_name = 'JEGA'
WHERE id_number = 'ConditionID123'.

IF sy-subrc = 0.
" Records updated based on condition successfully.
ELSE.
" Error occurred during update.
ENDIF.

* Example 3: Updating all records from an internal table
SELECT * FROM z_users INTO TABLE lt_internal_users.

UPDATE z_users FROM TABLE lt_internal_users.

IF sy-subrc = 0.
" All records updated from internal table successfully.
ELSE.
" Error occurred during update.
ENDIF.

MODIFY Statement

The MODIFY statement permits the modification of one or more records in a base database table. Always check the value of the system variable SY-SUBRC after executing the MODIFY statement. A value of zero indicates successful modification; otherwise, an error occurred, and the record was not modified.

DATA: ls_record_to_modify TYPE database_table.

ls_record_to_modify-field1 = value1.
ls_record_to_modify-field2 = value2.

MODIFY database_table FROM ls_record_to_modify WHERE condition.

IF sy-subrc = 0.
" Record modified/created successfully.
ELSE.
" Error occurred during modification.
ENDIF.

* Example: Modifying all records in the database table based on an internal table
DATA: lt_users_to_modify TYPE TABLE OF ztabla_usuarios.
SELECT * FROM ztabla_usuarios INTO TABLE lt_users_to_modify.
MODIFY ztabla_usuarios FROM TABLE lt_users_to_modify.

IF sy-subrc = 0.
" All records modified successfully.
ELSE.
" Error occurred during modification.
ENDIF.

Note: If the record being modified doesn't exist in the database table, it will be created. Suppose we want to be very careful about which group our record belongs to when updating a database table. In that case, we use the 'CLIENT SPECIFY' clause to control and organize the information just the way we want it.

DELETE Statement

The DELETE statement is used to delete the content of one or more records from a base database table. After executing the DELETE statement, check the value of the system variable SY-SUBRC. A value of zero signifies successful deletion; otherwise, an error occurred, and the record was not deleted. The number of deleted records is stored in the system variable SY-DBCNT.

DELETE FROM database_table WHERE condition.

IF sy-subrc = 0.
" Record deleted successfully.
ELSE.
" Error occurred during deletion.
ENDIF.

* Example: Deleting all records from the database table based on an internal table
DATA: lt_users_to_delete TYPE TABLE OF ztabla_usuarios.
SELECT * FROM ztabla_usuarios INTO TABLE lt_users_to_delete.
DELETE ztabla_usuarios FROM TABLE lt_users_to_delete.

IF sy-subrc = 0.
" All records deleted successfully.
ELSE.
" Error occurred during deletion.
ENDIF.


Always attempt to insert or modify data through SAP's standard transactions or other techniques discussed later. It's essential to use INSERT, UPDATE, MODIFY, and DELETE just if it is strictly needed.

E.g

*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_JEGA_11
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_jega_11.

* Declaration of Structure
DATA: it_users TYPE STANDARD TABLE OF zuser_table_jega,
wa_users LIKE LINE OF it_users.

* Declaration of Variables
DATA: v_dni TYPE z_dni,
v_nomape TYPE z_nombre_ape,
v_estado TYPE z_estado_usu,
v_birthdate TYPE z_bd.

*----------------------------------------------------------------------*
* Selection Screen
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.

PARAMETERS: p_dni LIKE v_dni OBLIGATORY, " DNI
p_nomape LIKE v_nomape, " Name and Surname
p_estado LIKE v_estado, " User Status
p_bd LIKE v_birthdate. " Birthdate

SELECTION-SCREEN SKIP 1.

PARAMETERS: p_create RADIOBUTTON GROUP rbg, " Create
p_modify RADIOBUTTON GROUP rbg, " Modify
p_delete RADIOBUTTON GROUP rbg. " Delete

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK b1.

*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*

* Create Users
IF p_create EQ 'X'.
CLEAR v_dni.
SELECT SINGLE dni
FROM zuser_table_jega
INTO v_dni
WHERE dni EQ p_dni.

IF sy-subrc EQ 0.
MESSAGE s001(z_prueba) WITH 'The record you are trying to create already exists'
DISPLAY LIKE 'E'.
ELSE.
CLEAR wa_users.
wa_users-mandt = sy-mandt.
wa_users-dni = p_dni.
wa_users-nombre_ape = p_nomape.
wa_users-estado = p_estado.
wa_users-birthdate = p_bd.
INSERT INTO zuser_table_jega VALUES wa_users.

IF sy-subrc EQ 0.
MESSAGE s001(z_prueba) WITH 'The record was created successfully'.
ENDIF.
ENDIF.

* Modify Users
ELSEIF p_modify EQ 'X'.
CLEAR v_dni.
SELECT SINGLE dni
FROM zuser_table_jega
INTO v_dni
WHERE dni EQ p_dni.

IF sy-subrc NE 0.
MESSAGE s001(z_prueba) WITH 'The record you are trying to modify does not exist'
DISPLAY LIKE 'E'.
ELSE.
CLEAR wa_users.
wa_users-mandt = sy-mandt.
wa_users-dni = p_dni.
wa_users-nombre_ape = p_nomape.
wa_users-estado = p_estado.
wa_users-birthdate = p_bd.
MODIFY zuser_table_jega FROM wa_users.

IF sy-subrc EQ 0.
MESSAGE s001(z_prueba) WITH 'The record was modified successfully'.
ENDIF.
ENDIF.

* Delete Users
ELSEIF p_delete EQ 'X'.
CLEAR v_dni.
SELECT SINGLE dni
FROM zuser_table_jega
INTO v_dni
WHERE dni EQ p_dni.

IF sy-subrc NE 0.
MESSAGE s001(z_prueba) WITH 'The record you are trying to delete does not exist'
DISPLAY LIKE 'E'.
ELSE.
CLEAR wa_users.
wa_users-mandt = sy-mandt.
wa_users-dni = p_dni.
wa_users-nombre_ape = p_nomape.
wa_users-estado = p_estado.
wa_users-birthdate = p_bd.
DELETE zuser_table_jega FROM wa_users.

IF sy-subrc EQ 0.
MESSAGE s001(z_prueba) WITH 'The record was deleted successfully'.
ENDIF.
ENDIF.
ENDIF.


 

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para el Curso ABAP.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+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!