✒️ABAP / Las sentencias INSERT, UPDATE, MODIFY y DELETE Por Sergio Beltran Castaneda

Selector Alummnos / Empresas

ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE

INSERT

Se utiliza para insertar líneas en una tabla interna antes de una posición determinada.

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

Con <área-trabajo> INTO se especifica el área de trabajo que se va a insertar. Si se omite 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. Si la sentencia se utiliza sin la cláusula INDEX, sólo se podrá utilizar en un LOOP .. ENDLOOP. El sistema insertara la línea antes de la línea tratada en el bucle.

La sentencia INSERT puede ser utilizada para insertar una o varias líneas (a partir de una tabla interna) en una tabla de la base de datos. Si no sabemos si la clave primaria existe, se debe utilizar la sentencia MODIFY. Se puede utilizar una vista como especificación de tabla, siempre y cuando la vista haga referencia a una sola tabla.

UPDATE

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

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

Con esta variante de la sentencia UPDATE semodifica una sola línea de la tabla especificada. El significado de la cláusula FROM es la siguiente:

  • FROM -> El área de trabajo <área> sobrescribe la línea de la tabla que tenga la misma clave primaria. La tabla debe estar declarada con la sentencias TABLES. Si no se especifica 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 asegurarse de que el área de trabajo <área> tiene la misma estructura que el área de trabajo de la tabla, se suele declarar con la sentencia DATA (o TYPE) una estructura utilizando la cláusula LIKE.

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. Se puede especificar el nombre de la tabla en tiempo de ejecución como veíamos en sentencias anteriores con la opción (). Con esta opción, la cláusula FROM es obligatoria y <área> no puede ser la propia área de trabajo de la tabla.

MODIFY

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

Sintaxis: MODIFY [ 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 se utiliza 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 se utiliza 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 este tratando.

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

Sentencia utilizada para modificar o insertar registros de una tabla de la base de datos. Con esta sentencia se tienen dos posibilidades. Si la tabla de base de datos no tiene ninguna línea con la misma clave primera se inserta. En caso contrario se modifica. Por cuestiones de rendimiento se debe limitar su uso al máximo. Con <tabla> se especifica el nombre de la tabla de forma estática. Para especificar la tabla de forma dinámica se utiliza la opción (<tabla>).

  • Con la especificación dinámica, la cláusula FROM es obligatoria.

MODIFY { | () }[ CLIENT SPECIFIED ] [ FROM TABLE <área> ].

Esta sentencia modifica o inserta el contenido de área de trabajo <área> sobre la tabla de la base de datos. Las líneas de la tabla interna modifican las líneas de la tabla de la base de datos si la clave primera existe. Para el resto de entradas de la tabla interna, se añaden a la tabla. SY-SUBRC es siempre 0. SY-DBCNT toma el valor del número de entradas de la tabla interna.

Cuando se añaden entradas, la sentencia funciona como la sentencia INSERT y cuando se modifican entradas, las sentencias funciona como la sentencia MODIFY.

DELETE

Para borrar líneas de una tabla interna se cuenta 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 se este 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 decrementado 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.

DELETE ADJACENT DUPLICATE ENTRIES FROM <tabla> [ COMPARING <c> ].

Esta sentencia borra todas las entradas duplicada adyacentes de una tabla interna. Dos líneas se consideran duplicadas si cumplen uno de los siguientes criterios de comparación:

  • Sin la cláusula COMPARING, el contenido de los campos claves estándar deben ser iguales.
  • Con la cláusula COMPARING con el formato siguiente: COMPARING <c1> <c2>.... El contenido de los campos (c1, c2 ....) debe ser igual. También se puede especificar el nombre de los campos que hay que comparar en tiempo de ejecución utilizando la siguiente sintaxis: (<campo>). La variable <campo> contiene el nombre de la variable que se va a comparar. Si en el momento de procesar la sentencia DELETE, <campo> está vacío, el sistema la ignora. Si contiene el nombre inválido, se produce un error en tiempo de ejecución.
  • Con la cláusula COMPARING con el siguiente formato: COMPARING ALL FIELDS, el contenido de todos los campos debe ser igual.

Si el sistema borra al menos una línea de la tabla la variable SY-SUBRC valdrá 0 si no borra ninguna línea, SY-SUBRC valdrá 4. Es recomendable que la tabla interna este ordenada antes de ejecutar esta sentencia

Actualización y recuperación de una base de datos

A veces es necesario asegurarse que los cambios en la base de datos se han realizado, antes de continuar con el proceso. Por el contrario, a veces es necesario deshacer algunos cambios realizados en la base de datos. Para confirmar los cambios realizados sobre la base de datos se utiliza la sentencia COMMIT WORK.

Sintaxis: COMMIT WORK [ AND WAIT ].

Para deshacer los cambios realizados en la base de datos se utiliza la sentencia ROLLBACK WORK. Estas sentencias tienen un papel importante en la programación de transacciones de diálogo. Con la cláusula AND WAIT, el programa se para hasta que la tarea de actualización termina. Si la actualización es satisfactoria, SY-SUBRC vale 0, en caso contrario, SY-SUBRC toma un valor distinto de 0.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Sergio Armando Beltran Castaneda, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Master

Sergio Armando Beltran Castaneda

Profesión: Ingeniero de Sistemas con Especialización en Gerencia de Proyectos - Colombia - Legajo: WK55K

✒️Autor de: 70 Publicaciones Académicas

🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy ingeniero de sistemas desde hace mas de 10 años y quiero enfocarme en el mundo sap, iniciando en el lenguaje abap, con miras a ampliar mi conocimiento profesional y laboral.

Certificación Académica de Sergio Beltran

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