ABAP CDS View Root For Restful Programming

Anteriormente ya expusimos cómo crear un Core Data Service, pero en esta ocasión crearemos un ABAP CDS View con la finalidad de darle continuidad a las lecciones de ABAP en la nube. No obstante, sino has creado un CDS previamente puedes ir al siguiente enlace «SAP CDS – Core Data Service Ejemplo«. Adicional, recordemos un poco de que va esto, recuerda que los CDS nos sirven para definir modelos de datos semánticamente enriquecidos.

En ABAP SCP, los CDS, nos van ayudar en la creación de servicios OData, los cuales están basados en el modelo de programación Restfull. Ciertamente, van a tener la función de crear y consumir la interoperabilidad de API´s Rest, donde no sólo tecnología SAP podrá hacer uso de estos recursos .

Flujo de Servicio WEB REST

Si pudiéramos hacer un flujo que represente este proceso, se vería algo así:

1

Modelo De Datos SAP

2

Servicios REST SAP

3

Consumo De Servicios
( Tecnología SAP / Tecnología No SAP )

Una vez entendido este flujo, es momento de indicar que en el paso uno, es donde entra la implementación de los ABAP CDS View. Es decir, las vistas SAP van fungir dentro de la capa del «Modelo De Datos SAP«, al tener la característica de las anotaciones semánticas mejoran y enriquecen la información sobre los campos a través de los metadatos. Entonces, podemos entender que los metadatos son la información o características de los datos.

Ahora que entendemos el papel de los ABAP CDS en todo esto, es importante aclarar un último punto antes de empezar con la lección práctica. En esta ocasión estaremos definiendo nuestra vista como una Root View, ya que este es un objeto de negocio especialmente utilizado para el ABAP (Restfull) Programming Model. Básicamente, podemos entender que esta vista va a ser la vista base, de donde parten las demás vistas para la obtención de datos.

Ejercicio: ABAP CDS View Root For Restfull Programming

En esta ocasión hice la creación de una nueva tabla trasparente, agregué mas columnas e hice uso de las anotaciones semánticas. Definí que el campo currency_key tomara como referencia un campo de tipo moneda de otra tabla. Aclaro, no tienen nada que ver en ningún contexto, solo lo utilicé con fines prácticos.

ABAP tabla en eclipse

Seguidamente, hice la creación de mi CDS View. Esta es la ruta:

Paquete > Core Data Services > New > Data Definition

ABAP CDS View

Asignamos un nombre y una descripción a nuestro objeto del diccionario de datos. Damos click en next.

Metadata Extension

Asignamos una orden de transporte.

core data service

En este paso suena muy tentativo utilizar el template Define Root View Entity. Sin embargo, trataremos de hacer esto lo más sencillo posible y escogeremos la opción «Define View», posteriormente indicaremos que estaremos trabajando con la root view.

data definition abap

A continuación, asignamos el nombre de la sqlViewName y colocamos la siguiente configuración en las anotaciones semánticas. Adicional, declaramos que nuestra vista es de tipo root con la sentencia «define root view». Adicional, que seleccione los datos de la tabla ZCLIENTS. Por último, colocamos un alias a la tabla. Recuerda, el alias debe darnos información sobre el contexto de la tabla; salvamos y activamos.

abap cp

Finalmente, verificamos si nuestra vista se activo sin ningún problema accediendo a la opción Data Preview. Seguimos la siguiente ruta.

Click Derecho ( dentro del código fuente de nuestra cds view abap ) => Open With => Data Preview

abap cs

El resultado será algo como esto, la estructura de lo que queremos proyectar de nuestra base de datos, pero sin ningún dato que mostrar.

abap insertar en una tabla

En la siguiente sesión haremos la inserción de un registro a esta tabla y será la hora de empezar a trabajar con el código abap en la nube.

ABAP CDS View Root For Restfull Programming – Nugget

Aquí están las definiciones y el código fuente de las prácticas. Utilizalos con sabiduría: Core Data Service y Tabla SAP On Cloud