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

CDS ANNOTATIONS (2): Ampliando nuestros campos de selección (SelectionField)

C

Continuando la serie de anotaciones CDS, hoy vamos a ver otra anotación básica y fundamental para la implementación de nuestros List Report. La plantilla ofrecida por SAP Web IDE para el desarrollo de un informe List Report nos facilita y agiliza muchísimo el trabajo de desarrollo del diseño de la aplicación. No obstante, para cumplir con los requisitos o mejorar la aplicación, podemos ampliar la funcionalidad a través de nuestras anotaciones CDS.

Una de la funcionalidad más importante en un informe de tipo List Report es el filtrado que se realiza de este a través de los campos de selección. Hoy vamos a aprender a como configurar estos campos de selección a través de las anotaciones CDS.

Campo de selección

En nuestra vista CDS principal, exponemos diferentes campos para mostrar en nuestra aplicación. Con la anotación @ui.selectionField podemos indicar fácilmente que campos pueden ser filtrados en nuestro List Report.

En nuestro ejemplo, tenemos dos campos de selección: material y descripción. Como podemos observar, antes de exponer el campo, se indica a través de la anotación @ui.selectionField que dichos campos se utilizarán para filtrar, indicando una posición que representará el orden en el que se muestren en nuestra cabecera.

Si pulsamos sobre uno de nuestros campos de selección, disponemos inicialmente de un filtro básico donde podemos buscar el artículo por un único campo específico, como podemos ver en la imagen:

Esta funcionalidad es útil y nos permite filtrar el listado por el artículo que deseemos. No obstante, el objetivo de una aplicación es que sea lo más usable y ágil de utilizar para el usuario, y para ello existen anotaciones que nos permiten optimizar las búsquedas y combinar diferentes campos de filtrado.

Ampliando nuestro Selection Field de Artículo

Agilizar la vida al usuario es fundamental en el desarrollo de una aplicación, y con este ejemplo, vamos a ver como podemos permitir al usuario realizar filtros combinados para encontrar de manera más sencilla el artículo que necesita.

El primer paso es crearnos una vista CDS que será la encargada de recuperar los datos de filtrado en nuestra ayuda de búsqueda de artículo. Para ello, necesitamos recuperar el listado de materiales junto con su descriptivo:

Es importante que definamos los campos como “searchable” a través de la anotación @Search.defaultSearchElement. Esto nos permitirá, como veremos más adelante, realizar búsquedas rápidas por código o descripción de artículo, sin necesidad de pulsar en la ayuda de búsqueda. Por último, debemos indicar en nuestra CDS principal que el campo artículo está asociado a una ayuda de búsqueda, en nuestro caso, ZCDS_VALUEHELP_MATERIAL:

A través de la anotación @Consumption.valueHelpDefinition podemos asociar a un campo una ayuda de búsqueda personalizada. Dentro de esta definición, podemos indicar cuantos campos permitimos filtrar de entre los expuestos en la vista CDS de la ayuda de búsqueda. En este ejemplo, he seleccionado el campo ‘Material’ y el campo ‘Descripción’.

Activamos nuestras vistas CDS y volvemos a nuestra aplicación. Ahora, si pulsamos de nuevo sobre nuestra ayuda de búsqueda podremos observar que ya es posible filtrar por los dos campos indicados en la anotación:

Además, al indicar en nuestra vista CDS definida para la ayuda de búsqueda que los campos expuestos eran ‘searchable’ a través de la anotación @Search.defaultSearchElement, si escribimos directamente sobre nuestro campo de selección Artículo, veremos que sucede lo siguiente:

Facilitar el trabajo al usuario es esencial para que cualquier proyecto de aplicación Fiori en un cliente genere un aumento en la productividad del proceso que abarca. Con solo dos anotaciones CDS, permitimos al usuario buscar de manera rápida un artículo directamente en su campo de selección correspondiente, así como combinar las búsquedas de artículo a su gusto, permitiendo mayor flexibilidad al usuario.

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.

1 Comentario

  • Me encanta el blog, me parece súper útil. Espero seguir encontrando más post ya que no solo es una ayuda para ti sino también para nosotros. ¡Gracias!

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

Categorías

Últimos artículos