Insert ABAP Row Into A SAP Cloud Platform Table

Continuando con nuestras sesiones de ABAP en la nube, en esta ocasión vamos a hacer un insert ABAP a una tabla transparente dentro de nuestro servidor SAP en la nube. Ciertamente, el proceso es igual al que se realiza en cualquier otra versión SAP que estemos utilizando. Sin embargo, es necesario seguirlo detenidamente para poder seguir trabajando con nuestros tutoriales ABAP.

Primero, estaremos trabajando con ABAP OO donde haremos el uso de una clase que se encargará de insertar el registro en la base de datos HANA. Seguidamente, haremos la comprobación de que el registro se encuentre almacenado en la tabla de base de datos, abriendo el data preview de ZCLIENTS.

Si aún no has creado tu tabla, date una vuelta por este post: ABAP Create Table In Cloud SCP

Ejercicio Insert ABAP Row

Nos posicionamos en el project explorer y damos click derecho en la opción de «Source Code», seleccionamos new y posteriormente ABAP Class.

ABAP Class

Una ves que se despliegue la ventana, ingresamos el nombre de la clase, seleccionamos el paquete donde se almacenará nuestro objeto y damos una breve descripción. Adicional, en este punto puedes agregar la interface IF_OO_ADT_CLASSRUN, en esta ocasión yo lo haré manualmente.

sap create class

Asignamos una orden de transporte y damos finish.

abap oo

Como ya hemos visto el entorno de desarrollo arrojará una plantilla con los elementos de una clase abap. No obstante, tenemos que definir el uso de la interfaz IF_OO_ADT_CLASSRUN . Además, es necesario realizar la implementación del método main, en esta práctica pondremos el código fuente con la inserción a la base de datos.

abap objects

Aquí la interface definida con el método main implementado.

abap class

Primero definiremos de forma local una tabla interna del tipo ZCLIENTS. Seguidamente, crearemos un bloque try catch, donde almacenaremos en tiempo de ejecución los registros que queramos insertar. Adicional, en esta ocasión utilizaremos el operador VALUE, en lugar del tradicional APPEND.

insert sap abap

Una vez que nuestra tabla interna esté cargada con los registros que necesitemos, haremos uso de la sentencia insert into, donde indicaremos la tabla de base de datos seguida de la palabra reservada from table. También, colocamos el nombre de la tabla interna precedida de un arroba.

En las nuevas versiones se solicita escapar la variables host cuando el strict mode está activado, para más información consulta este enlace: Strict Mode in Release 7.40.

insert into abap

A continuación damos click en botón «Run», seleccionamos la opción ABAP Application (Console) y damos click en ejecutar.

insert abap

La consola mostrará en pantalla el contenido de la tabla, ya que posterior a la instrucción insert, utilicé el método write del objeto out para desplegar la tabla interna.

eclipse sap console

Por último, navegamos a la nuestra tabla transparente y abrimos el Data Preview.

Tabla > Click Derecho > Open With > Data Preview

sap transparent table

A continuación, se nos mostrará el contenido de la tabla de base de datos.

sap data preview

Insert Código Ejemplo