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, los CDS nos sirven para definir modelos de datos semánticamente enriquecidos.

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

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 tomaba 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.

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 en nuestra vista «define root view» y que seleccione los datos de la tabla zclients. Por último, colocamos un alias a la tabla. Recuerda, el alias debe darnos información del 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.

eclipse abap

En la siguiente sesión empezaremos a trabajar con lo que hemos estado esperando, será la hora de tirar código abap en la nube.

Esto se va a poner cool, así que no olvides ayudarme compartiendo este contenido si te ha sido de relevancia. Me ayudaría mucho a seguir documentando toda mi experiencia y aprendizaje de mi camino ninja ABAP.

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