✒️ABAP / Las sentencias INSERT, UPDATE, MODIFY y DELETE Por Veronica Miramontes Varo

Selector Alummnos / Empresas

ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

INSERT, UPDATE, MODIFY, DELETE, ACTUALIZACION Y RECUPERACIN DE LA BD.

La sentencia INSERT

Esta sentencia permite ingresar registros a una base de datos.

Sintaxis:

INSERT [ <área-trabajo> INTO | INITIAL LINE INTO ] <tabla> [ INDEX <índice> ].

Con <área-trabajo> INTO especificamos el área de trabajo que vamos a insertar. Si omitimos esta opción, el área de trabajo que se va a insertar será la asociada con la tabla interna. El significado de las cláusulas es el siguiente:

  • INITIAL LINE TO -> inserta una línea con los valores iniciales de cada campo.
  • INDEX -> Inserta una línea antes de la posición indicada en <índice> y la nueva tiene el índice <índice>.

Si la tabla tiene <índice> - 1 entradas la línea se insertara en la última posición. Si la tabla tiene menos de <índice> - 1 posiciones la línea no se insertara. Si se produce algún error al insertar la línea la variable SY-SUBRC valdrá 4, en caso contrario valdrá 0.

La sentencia UPDATE

Sentencia utilizada para modificar registros de una tabla de la base de datos.

Sintaxis:

UPDATE { <tabla> | (<tabla>) } [ CLIENT SPECIFIED ] [ FROM <área> ].

Con esta variante de la sentencia UPDATE modificamos una sola línea de la tabla especificada.

FROM -> El área de trabajo <área> sobrescribe la línea de la tabla que tenga la misma clave primaria. La tabla <tabla> debe estar declarada con la sentencias TABLES. Si no especificamos la cláusula FROM, será el contenido del área de trabajo de la propia tabla el que sobrescriba la línea de la tabla con la misma clave primaria. El área de trabajo <área>debe tener la misma longitud que el área de trabajo de la tabla. Para asegurarnos de que el área de trabajo <área> tiene la misma estructura que el área de trabajo de la tabla <tabla> se suele declarar con la sentencia DATA (o TYPE) una estructura utilizando la cláusula LIKE <tabla>.

Si la operación concluye satisfactoriamente, SY-SUBRC vale 0 y SY-DBCNT vale 1, en caso contrario SY-SUBRC vale 4 y SY-DBCNT vale 0.

La sentencia MODIFY

Se utiliza para sustituir líneas de una tabla interna.

Sintaxis:

MODIFY <tabla> [ FROM <área-trabajo> ] [ INDEX <índice> ].

El área de trabajo <área-trabajo> sustituye a la línea de la tabla interna. En el caso de tablas internas con líneas de cabecera, la cláusula FROM es opcional. Si utilizamos la cláusula INDEX, la línea que hay que reemplazar será la existente con el índice <índice>. Si el sistema puede realizar la modificación, la variable del sistema SY-SUBRC es 0. Si la tabla interna tiene menos líneas que las indicadas en <índice>, la modificación no se realiza y SY-SUBRC vale 4. Si no utilizamos la cláusula INDEX, la sentencia solo puede ser procesada en un bucle LOOP … ENDLOOP. En este caso la línea que se modificara será la que se esté tratando.

La sentencia DELETE

Para borrar líneas de una tabla interna contamos con la sentencia DELETE. Varios formatos de la sentencia nos permiten borrar líneas de una forma diferente.

Sintaxis:

DELETE <tabla>.

El sistema sólo puede procesar esta sentencia dentro de un bucle LOOP .. ENDLOOP. La sentencia DELETE borra la línea que estemos tratando en el bucle.

DELETE <tabla> INDEX <índice>.

Con la cláusula INDEX, el sistema borra la línea con el índice <índice> en la tabla interna <tabla>. Después de borrar la línea, el índice de la siguiente línea es decremento en 1. Si la operación es completada, la variable SY-SUBRC vale 0. Si la línea con el índice <índice> no existe, SY-SUBRC vale 4.

ACTUALIZACION Y RECUPERACION DE UNA BASE DE DATOS

Se recomienda que des pues de realizar alguna de las sentencias anteriores, se aplique un ROLLBACK WORK o un COMMIT WORK.

ROLLBAKC WORK: se utiliza para deshacer cambios realizados sobre una base de datos.

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

La sentencia ROLLBACK cierra la LUW (Logical Unit of Work) actual y abre una nueva LUW. De esta forma todos los pedidos de cambios de la LUW actual son cancelados, para realizar esto se realizan los siguientes pasos:

  1. Se ejecutan todos los subprogramas registrados con PERFORM ON ROLLBACK.
  2. Se borran todos los subprogramas registrados con PERFORM ON COMMIT.
  3. Se genera una excepción interna en los Servicios de objetos que garantiza que los atributos de los objetos persistentes se inicialicen.
  4. Borra todos los módulos de funciones de actualización registrados con CALL FUNCTION ...IN UPDATE TASK de la tabla base de datos VBLOG y borra todas las RFCs transaccionales registradas con CALL FUNCTION ... IN BACKGROUND TASK de las tablas de la base de datos ARFCSSTATE y ARFCSDATA.
  5. Se eliminan todos los bloqueos de SAP establecidos en el programa actual en el que el parámetro formal _SCOPE del módulo de función de bloqueo se estableció en el valor 2.
  6. Dispara el ROLLBACK o vuelta atrás a la base de datos, que también finaliza la LUW actual.

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.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Veronica Esmeralda Miramontes Varo, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Master

Veronica Esmeralda Miramontes Varo

Profesión: Maestra en Ciencias de la Computaci - Mexico - Legajo: DV64Z

✒️Autor de: 95 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Hola, soy veronica miramontes, mexicana. estoy aquí para aprender sobre el mundo de sap. espero obtener los mejores conocimientos y poder contribuir en algo a la comunidad cvosoft.

Certificación Académica de Veronica Miramontes

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