ABAP Metadata Extensions Restfull Programming

ABAP Metadata Extensions

Si no has entrado del todo al mundo de la programación ABAP On HANA, aquí empezará a dejarte de ser familiar el asunto. Los ABAP Metadata Extensions son conceptos que no tienen su versión en los entornos tradicionales de SAP. Primero, Qué es la extensión de metadatos ABAP ? Son anotaciones adicionales que se añaden a las vistas Core Data Services, con la finalidad de extender las anotaciones convencionales del CDS y mejorar sus propiedades técnicas. Si no has hecho el tutorial de los ABAP CDS, puedes hacerlo dando click aquí: Core Data Services – SAP ABAP CDS

A partir de la versión ABAP 7.5 se incluye la posibilidad de hacer uso de estos ABAP Metadata Extensions, los cuales buscan añadir componentes detallados a los CDS de SAP para interactuar de una mejor forma con las apps de FIORI.

CDS Annotations

Para poder utilizar las meta extensiones se necesita colocar el valor de verdadero a la anotación  @Metadata.allowExtensions. Adicional, es necesario colocar la referencia al Core Data Service View que se pretende extender, a través de la sentencia annotate view.

Al definir las meta extensiones se debe tomar en cuenta que estas serán objetos DDL separados de las CDS View. Es decir, su activación es independiente, brindando diversas ventajas como el ahorrar tiempo de mantenimiento a los CDS. Además, proporcionarán una mejor lectura del código fuente generado.

La API que permite el análisis de las anotaciones se encuentra en la clase CL_DD_DDL_ANNOTATION_SERVICE

Práctica – ABAP Metadata Extensions

Ahora que entendemos un poco de que va esto, es hora de entrar a la práctica. No olvides tener tu eclipse instalado y tu ADT funcionando al cien.

Lo primero será seguir la siguiente ruta en el project explorer de eclipse.

Core Data Service => New => Metadata Extension

ABAP Metadata Extensions

Asignamos un nombre que haga referencia a nuestro SAP CDS View, seleccionamos la orden de transporte y damos click en «Finish».

create metadata extension

Seleccionamos la opción de » Annotate View » y damos click en finalizar.

annotate view

Esto nos arrojará una plantilla en el editor de código con los principales componentes de una meta extensión ABAP. La sentencia annotate view < nombre de la vista > with, seguido de los elementos a definir encerrados entre corchetes.

metadata layer

Si seguiste las lecciones anteriores, solo tendrás que hacer copy paste del siguiente ddl.

Como puedes observar, dentro de los elementos colocamos los campos que está utilizando nuestra vista, precedidos de dos anotaciones que a continuación explicaré brevemente.

@UI.lineItem

Con esta anotación estamos especificando la posición para cada elemento que queramos mostrar en el reporte.

@UI.identification

Esta anotación nos permite definir la posición y la etiqueta de cada elemento que desee mostrar en la página de uno de los objetos obtenidos por el CDS.

Documentación Oficial SAP

Si tienes más dudas al respecto, puedes visitar el siguiente enlace: ABAP CDS Extensiones