✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
Insertar líneas en tablas
La instrucción Open SQL para insertar datos en una tabla de base de datos es:
INSERT INTO <destino> <líneas>.
Se le permite insertar una o más líneas en la tabla de base de datos <destino>. Sólo se puede insertar líneas en una vista Diccionario ABAP si sólo contiene los campos de una tabla, y su estado de mantenimiento se define como Lee y el cambio. Usted puede especificar la tabla de base de datos <destino> ya sea estática o dinámica.
Especificación de una tabla de base de datos
Para especificar la tabla de base de datos de forma estática, introduzca la siguiente información para <destino>:
INSERTAR EN
<Dbtab> [cliente especificado] <líneas>.
donde <dbtab> es el nombre de una tabla de base de datos definida en el Diccionario ABAP.
Para especificar la tabla de base de datos de forma dinámica, escriba lo siguiente para <destino>:
INSERTAR EN
(<Nombre>) [cliente especificado] <líneas>.
donde el campo <nombre> contiene el nombre de una tabla de base de datos definida en el Diccionario ABAP.
Usted puede utilizar la adición cliente especificado desactivar la administración automática de cliente.
Inserción de una sola línea
Para insertar una línea en una tabla de base de datos, utilice la siguiente:
INSERT INTO <destino>
VALORES <wa>.
Los contenidos del área de trabajo <wa> se escriben en la tabla de base de datos <dbtab>. El área de trabajo <wa> debe ser un objeto de datos con al menos la misma longitud y
alineación como la estructura de línea de la tabla de base de datos. Los datos se coloca en la tabla de base de datos de acuerdo con la estructura de la línea de la mesa, y con independencia de la estructura de la zona de trabajo. Es una buena idea para definir el área de trabajo con referencia a la estructura de la tabla de base de datos.
Si la tabla de base de datos no contiene ya una línea con la misma clave primaria como se especifica en el área de trabajo, la operación se ha completado con éxito y SY-SUBRC se pone a 0. De lo contrario, no se inserta la línea, y SY-SUBRC se establece a 4.
También puede insertar líneas individuales utilizando la siguiente forma abreviada de la sentencia INSERT:
INSERT <destino>
FROM <wa>.
El uso de en vez de VALOR le permite omitir la cláusula INTO. Menor aún es la siguiente:
INSERT <dbtab>.
En este caso, el contenido de la zona de trabajo tabla <dbtab> se insertan en la tabla de base de datos con el mismo nombre. Debe declarar esta área de trabajo utilizando la tabla
TABLAS comunicado. En este caso, no es posible especificar el nombre de la tabla de base de datos dinámicamente. Áreas de trabajo Tabla con el mismo nombre que la tabla de base de datos (necesario antes de la versión 4.0) ya no deberían ser utilizados por el bien de la claridad.
Inserción de varias líneas
Para insertar varias líneas en una tabla de base de datos, utilice la siguiente:
INSERT <destino>
DE MESA <itab> [ACEPTAR claves duplicadas].
Esto escribe todas las líneas de la tabla interna <itab> para la tabla de base de datos en una sola operación. Las mismas reglas se aplican al tipo de línea de <itab> en cuanto al área de trabajo <wa> descrito anteriormente.
Si el sistema es capaz de insertar todas las líneas de la tabla interna, SY-SUBRC se establece en 0. Si no se pueden insertar una o más líneas, porque la base de datos ya contiene una línea con la misma clave primaria, se produce un error de ejecución. Puede evitar el error de tiempo de ejecución se produce mediante el uso de la adición ACEPTAR claves duplicadas. En este caso, las líneas que de otra manera causar errores de ejecución se descartan, y SY-SUBRC se establece en 4.
El campo de sistema SY-DBCNT contiene el número de líneas insertadas en la tabla de base de datos, independientemente del valor en SY-SUBRC.
 
 
 
Sobre el autor
Publicación académica de Cesar Ismael Rodriguez Zorrilla, en su ámbito de estudios para la Carrera Consultor ABAP.
Cesar Ismael Rodriguez Zorrilla
Republica Dominicana - Legajo: MW21J
✒️Autor de: 120 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Cesar Rodriguez