Fiorízate: SAP Fiori, ABAP & CDS Aprendiendo SAP compartiendo conocimiento

CDS ANNOTATIONS (1): Anotaciones básicas en List Report

C

Si eres programador Fiori con experiencia, quizás ya sepas esto. Si estás empezando con el desarrollo de aplicaciones móviles para SAP o eres desarrollador de back-end que necesita hacer aplicaciones Fiori, te aconsejo que sigas leyendo.

En este nuevo escenario que nos plantea S4/HANA, existe la posibilidad de hacer aplicaciones Fiori sin necesidad de insertar ninguna línea de código en el Front-End. Y esto, se consigue gracias a las anotaciones CDS.

¿Qué son las anotaciones CDS?.  Te lo voy a definir de una forma poco técnica pero fácil de entender: son pequeñas línea de código en el back-end que definen qué funcionalidad y qué diseño tendrá nuestra aplicación.

En el artículo de hoy, vamos a ver ejemplos de anotaciones básicas para construir nuestro List Report.  Como puedes ver en este blog, me gusta estructurar las formaciones por series o programas, así que este será el primero de muchos artículos relacionados con las anotaciones CDS, empezando desde lo más básico hasta llegando a ejemplos más complejos.

Dando forma a nuestro List Report

En la creación de la tabla principal de una Fiori List Report App considero imprescindible conocer las siguientes anotaciones:

Ui.LineItem

La anotación UI.lineItem se utiliza para representar la información que recuperamos de la vista CDS en nuestra tabla. En otras palabras, será la encargada de indicar que campos van a representar una columna de nuestra tabla.

La propiedad principal de esta anotación es UI.lineItem.position. Esta propiedad indica la posición de columna en nuestra tabla, empezando por 10, 20, 30…. La anotación UI.lineItem tiene muchas propiedades que nos permiten configurar la tabla prácticamente a nuestro gusto.

Otra propiedad que podemos ver en la imagen es UI.lineItem.criticality, la cual se utiliza para campos que indican un estado, y que permite dar color al texto de dicha columna mediante un valor numérico. El valor 0 corresponde con el color Neutral, el valor 1 con el color Negative (rojo), el valor 2 con el color Critical (naranja) y el valor 3 con el color Positive (verde).

Otra propiedad interesante es UI.lineItem.exclude. Esta propiedad indica a nuestra anotación oData si dicho campo debe excluirse o no. Sus posibles valores son: true o false, siendo por defecto true.

Por último, tenemos la propiedad UI.lineItem.type . Esta propiedad, como su nombre nos hace intuir, indica el tipo de valor que representará nuestra columna. Dentro de esta propiedad existen varias posibilidades, pero de momento, nos quedaremos con que el tipo por defecto es el tipo Standard, el cual se corresponde a una columna con un texto que representa una información. Más adelante, en próximos artículos, veremos las diferentes posibilidades con ejemplos para cada uno de los tipos de columnas.

Existen muchas otras propiedades para este tipo de anotación, las cuales podemos encontrar en la documentación de referencia de SAP. No obstante, creo que estas son las más básicas y fundamentales para poder representar la información de la vista CDS en nuestro List Report.

Ui.selectionField

La anotación Ui.selectionField nos permite indicar que campos vamos a utilizar para filtrar nuestro List Report.

Al igual que en la anotación UI.lineItem, debemos indicar que posición ocupa nuestro campo de selección. En este caso, la posición se corresponde con el orden en el que aparecerán los campos en la cabecera de nuestro List Report.

Tal y como vemos en el código de ejemplo, hemos indicado la posición 10 para el campo Material y la posición 20 para el campo Descripción, lo que provoca que los campos de selección se representen como en la imagen.

Search.searchable

Además de los campos de selección, tenemos la posibilidad de añadir un campo de búsqueda que permita combinar códigos y descriptivos para realizar búsquedas complejas.

Para lograr esto, primero debemos añadir la siguiente anotación al inicio de nuestra vista CDS:

Una vez hemos indicado a la vista CDS que vamos a permitir la búsqueda, podremos ver de forma inmediata en nuestra aplicación que ya podemos visualizar el campo de búsqueda en la cabecera.

Ahora solo falta indicar que campos vamos a permitir filtrar a través del buscador. Para ello, hacemos uso de la anotación Search.defaultSearchElement.

De este modo, hemos indicado que el buscador permita filtrar por el campo Descripción. Además, hemos indicado que el nivel de precisión será 0.9. Este nivel de precisión indica cuánto tienen que ser de exactos los resultados según lo que hemos escrito en el buscador.

List Report básico

El poder de las anotaciones CDS reside en la posibilidad de realizar informes de consulta de datos sin necesidad de implementar ninguna línea de código SAPUI5. Como hemos visto, podemos disponer de una aplicación con un listado similar a un ALV en base a una vista CDS principal que recupera información y a unas pocas anotaciones básicas sobre nuestro CDS.

En el próximo artículo de esta serie veremos las anotaciones básicas para representar la información de nuestra Object Page, página de detalle de cada elemento de nuestro listado.

Autor del artículo

Borja Garcia

Desarrollador Full Stack de aplicaciones móviles/web SAP desde allá por 2014. Compartir conocimiento es la mejor manera de aprender.

Agregar Comentario

Fiorízate: SAP Fiori, ABAP & CDS Aprendiendo SAP compartiendo conocimiento

Categorías

Últimos artículos