SAP Fiori Elements y floorplans

List Report

Un list report es un floorplan de SAP Fiori elements para encontrar, filtrar y procesar grandes conjuntos de business objects, compuesto por una barra de filtros, la gestión de variantes y una tabla o un gráfico que el framework genera a partir de anotaciones OData. Un list report suele ser la página de entrada de una app y pasa cada objeto a una object page.

Datos clave

Tipo
Floorplan de SAP Fiori elements (plantilla de página)
Capa
Aplicaciones de UI
Controlado por
UI.SelectionFields, UI.LineItem, selection variants y presentation variants
Se configura en
Anotaciones de UI (CDS o XML) más ajustes de página en manifest.json
Combinación típica
Object page (el patrón LROP)
Quién trabaja con ello
Desarrolladores SAP Fiori, desarrolladores ABAP y CAP, diseñadores de UX, usuarios finales (variantes)
Se aplica a
SAP S/4HANA (todas las opciones de implementación), SAP BTP
Capa: Aplicaciones de UIDónde se ubica ▾
Dónde se ubica: L3 · Aplicaciones de UICapa: Aplicaciones de UI.L1L2L3L4L5L6BTP

Capa: Aplicaciones de UI

Abrir el mapa de arquitectura →
List Report layoutTítulo de cabecera + selector de variantes · Barra de filtros (4 campos + Go) · Barra de herramientas de la tabla (recuento, acciones) · Tabla · Flecha de navegación de la filaHeader title · Standard ▾ (variant)Filter barGoTable toolbar · Items (10) · actions
Diseño de List Report: Título de cabecera + selector de variantes · Barra de filtros (4 campos + Go) · Barra de herramientas de la tabla (recuento, acciones) · Tabla · Flecha de navegación de la fila

¿Cuándo conviene usar un list report?

Un list report es adecuado cuando los usuarios parten de un conjunto grande y abierto de business objects y deben acotarlo antes de poder trabajar: revisar los pedidos pendientes de entrega, procesar un conjunto de pedidos de compra, detectar documentos con bloqueo de pago o repetir una selección de cierre de mes mediante una variante guardada.

El criterio de decisión es la forma de la búsqueda. Si los usuarios combinan varios criterios de filtro antes de que la lista tenga sentido, encaja un list report. Si los elementos ya se conocen y son pocos, un worklist es más ligero. Si los usuarios deben analizar con gráficos antes de actuar, la analytical list page encaja mejor.

Ejemplo: los compradores de Alder Manufacturing filtran los pedidos de compra por proveedor y fecha de entrega para encontrar los pedidos retrasados de Cedar Office Supply y, después, abren cada uno en su object page. Un list report es la elección correcta cuando filtrar es el primer paso de la tarea.

¿Cuáles son las partes de un list report?

Una página de list report se compone de partes estándar, de arriba abajo:

  1. Título y gestión de variantes: un control de vistas en el que los usuarios guardan valores de filtro, orden de clasificación y columnas.
  2. Barra de herramientas de la cabecera: acciones genéricas de la página, incluido un menú Share.
  3. Barra de filtros: los campos de UI.SelectionFields más todos los campos de filtro obligatorios. La búsqueda se ejecuta cuando el usuario elige Go, salvo que esté configurado el modo en vivo.
  4. Área de contenido: una tabla, un gráfico o ambos, opcionalmente como varias vistas que se alternan con un botón segmentado o con pestañas.
  5. Navegación: elegir una fila abre la object page, opcionalmente en paralelo en el flexible column layout.

Con un servicio con draft habilitado, el framework añade un filtro Editing Status y muestra qué filas tienen un draft o están bloqueadas por otro usuario. Todas las partes de un list report se generan a partir de metadatos, por lo que los list reports se comportan de forma similar en todas las apps.

¿Qué anotaciones controlan un list report?

AnotaciónQué controla
UI.SelectionFieldsLos campos por defecto de la barra de filtros
UI.LineItemLas columnas de la tabla, su orden y las acciones por fila
UI.HeaderInfoLos nombres del tipo de objeto; en OData V2, TypeNamePlural fija la cabecera de la tabla, que OData V4 también puede fijar en manifest.json
UI.SelectionVariantSelecciones de datos predefinidas, usadas para definir varias vistas
UI.SelectionPresentationVariant, UI.PresentationVariantVistas que además definen el orden de clasificación o la visualización
UI.ChartUn gráfico en el área de contenido
Vocabulario CapabilitiesSi el servicio admite filtrado; sin él, no se muestra ninguna barra de filtros

En ABAP CDS, las dos primeras aparecen como @UI.selectionField y @UI.lineItem en cada elemento; CAP usa los nombres de término de OData. El comportamiento de la página, como la carga inicial, la edición masiva, las vistas y el tipo de tabla, se configura en manifest.json. Las anotaciones deciden qué muestra un list report; el app descriptor decide cómo se comporta el list report.

¿Cómo se controlan la carga inicial y la edición masiva en un list report?

Carga inicial. Cuando la app se inicia con un contexto de navegación, como parámetros procedentes de otra app o del target mapping, los datos se cargan de inmediato. En caso contrario, decide la variante por defecto del usuario mediante su ajuste Apply Automatically; solo la variante Standard sigue lo indicado en manifest.json:

ComportamientoOData V4: initialLoadOData V2: loadDataOnAppLaunch
Cargar solo si existen valores de filtro por defectoAuto (por defecto)ifAnyFilterExist (por defecto)
Cargar siempreEnabledalways
Esperar a GoDisablednever

Los usuarios pueden sobrescribir el ajuste por vista. SAP recomienda valores de filtro por defecto para que la página no se abra vacía.

La edición masiva está desactivada hasta que un desarrollador la habilita. En OData V4, enableMassEdit funciona en el list report (para registros activos sin un draft pendiente) y en la object page en modo de edición; visibleFields o ignoredFields limitan el diálogo. En OData V2, multiEdit funciona solo en el list report, para tablas responsive y grid. Ambos comportamientos del list report son decisiones de configuración deliberadas, no valores por defecto que aceptar sin examinarlos.

¿Se puede extender un list report?

Sí, y las opciones dependen de quién sea el propietario de la app:

  • App propia, OData V4: los extension points añaden columnas, acciones y campos de filtro personalizados, contenido de cabecera sobre la barra de filtros y vistas personalizadas como pestañas adicionales; los building blocks y las custom pages del flexible programming model cubren carencias mayores.
  • App propia, OData V2: las extensiones registradas en manifest.json cubren áreas comparables, como columnas, acciones y filtros.
  • Una app entregada por SAP: adaptation projects (SAP Fiori tools) o adaptación key user, sin modificar el código de SAP.

En SAP S/4HANA Cloud Public Edition, compruebe cuáles de estas vías admite SAP para la app y el release. Prueba de decisión: si se necesita código propio más allá de unas pocas columnas, acciones o filtros, reconsidere la elección del floorplan. Extender un list report es barato en los márgenes y caro en el núcleo.

¿Cuáles son los errores de diseño habituales en un list report?

  1. Cargar todo al iniciar. Cargar siempre un entity set muy grande hace lento cada arranque; los valores de filtro por defecto son la mejor palanca.
  2. Abrir con una tabla vacía sin explicación. Cuando los usuarios notifican "no hay datos", compruebe por este orden: el contexto de navegación, la variante por defecto y su indicador Apply Automatically, el ajuste del manifest y, después, los filtros obligatorios (en OData V2, un filtro obligatorio vacío bloquea la carga inicial).
  3. Sobrecargar la barra de filtros. Veinte campos de selección ocultan los tres que importan.
  4. Confundir variantes y vistas. Las variantes las guardan los usuarios; las vistas múltiples son pestañas definidas por los desarrolladores.
  5. Habilitar la edición masiva para todos los campos. Limite el diálogo a un field group que sea seguro modificar en bloque.
  6. Usar un list report para una cola de trabajo. Un conjunto breve y conocido de tareas encaja mejor en un worklist.

La mayoría de los problemas de un list report son problemas de configuración y de diseño de la selección, más que defectos del framework.

List report vs. worklist vs. analytical list page: ¿cuál es la diferencia?

List reportWorklistAnalytical list page
Tarea principalEncontrar objetos en un conjunto grande y actuar sobre ellosProcesar un conjunto conocido de elementos de trabajoAnalizar datos y luego actuar sobre los elementos
FiltradoBarra de filtros completa con variantesPoco o ningún filtrado, a menudo pestañas por estadoFiltros visuales y una barra de filtros compacta
Visualización principalTabla, opcionalmente un gráficoTablaGráfico y tabla juntos
En SAP Fiori elements para OData V4Floorplan propioConfiguración del list reportConfiguración del list report

Los tres patrones comparten tecnología pero responden a preguntas distintas: qué encontrar, qué procesar y qué analizar.

Preguntas frecuentes

¿Qué significa LROP en SAP Fiori?

LROP son las siglas de list report object page, el patrón de app más habitual de SAP Fiori elements. Un list report permite a los usuarios encontrar business objects, y una object page muestra, edita o crea uno de ellos. Ambos floorplans se configuran en la misma app y se conectan mediante navegación.

¿Por qué mi list report de SAP Fiori se abre con la tabla vacía?

En la mayoría de los casos, el list report está esperando a que el usuario elija Go. El ajuste de carga inicial (initialLoad en OData V4, loadDataOnAppLaunch en OData V2), el indicador Apply Automatically de la variante por defecto del usuario y la falta de valores de filtro por defecto u obligatorios deciden si los datos se cargan al iniciar.

¿Pueden los usuarios guardar sus propios ajustes de filtro en un list report?

Sí. La gestión de variantes de un list report permite a los usuarios guardar valores de filtro, orden de clasificación y columnas como vistas con nombre, marcar una como predeterminada y decidir si carga datos automáticamente. Las vistas pueden ser privadas o públicas; por defecto, cualquier usuario puede hacer pública una vista, y un ajuste de SAPUI5 flexibility puede restringirlo a los key users.

¿Admite un list report la edición de varios registros a la vez?

Sí, cuando los desarrolladores habilitan la edición masiva. En SAP Fiori elements para OData V4 el ajuste es enableMassEdit; en OData V2 es multiEdit. Los usuarios seleccionan filas, abren un diálogo y fijan nuevos valores que se aplican a cada registro seleccionado que se pueda modificar.

¿Necesita un list report un servicio con draft habilitado?

No. Un list report funciona con servicios con draft habilitado y sin draft. Con draft, SAP Fiori elements añade un filtro Editing Status y muestra en la tabla qué objetos tienen cambios no guardados o están bloqueados por otro usuario.

Fuentes

Se aplica a
SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
Última revisión

Para profundizar

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP y los demás productos y servicios de SAP mencionados son marcas comerciales o marcas registradas de SAP SE (o de una empresa afiliada de SAP) en Alemania y otros países. Esta guía es independiente y no está afiliada, patrocinada ni respaldada por SAP SE.