Flexible Column Layout
El flexible column layout es un diseño de página de SAP Fiori que muestra hasta tres niveles de información relacionada uno junto a otro, normalmente una lista, un objeto y un subobjeto, en columnas cuyo ancho se adapta a la pantalla. El flexible column layout se implementa con el control SAPUI5 sap.f.FlexibleColumnLayout y puede activarse en las apps de SAP Fiori elements.
Datos clave
- Tipo
- Diseño de página (patrón lista-detalle-detalle)
- Capa
- Aplicaciones de UI
- Control
- sap.f.FlexibleColumnLayout, con sap.f.routing.Router
- Columnas
- Begin, Mid y End; hasta tres en escritorio, dos en tableta, una en teléfono
- En SAP Fiori elements
- Configuración opcional para apps de list report y object page (OData V2 y V4)
- Se aplica a
- SAP S/4HANA (todas las opciones de implementación), SAP BTP
Capa: Aplicaciones de UIDónde se ubica ▾
Capa: Aplicaciones de UI
Abrir el mapa de arquitectura →¿Cuándo conviene usar el flexible column layout?
El flexible column layout es adecuado cuando los usuarios recorren una jerarquía y deben mantener a la vista el nivel superior: una lista de solicitudes de pedido, una solicitud y, después, una de sus posiciones. Los usuarios eligen en la lista de la izquierda y leen el detalle a su lado.
Criterios de decisión:
- Los usuarios cambian a menudo entre elementos de la misma lista, en pantallas anchas: el flexible column layout ahorra navegación.
- Los usuarios pasan mucho tiempo en un único objeto complejo con tablas anchas: las páginas a pantalla completa dan espacio al objeto.
- La mayoría de los usuarios trabaja en teléfonos: ahí solo cabe una columna, así que el beneficio es pequeño.
Ejemplo: un comprador de Alder Manufacturing mantiene la lista de solicitudes abiertas en la primera columna, revisa la solicitud de Cedar Office Supply en la segunda y abre una posición en la tercera, todo ello sin perder la lista. El flexible column layout es la elección correcta cuando el contexto entre niveles importa más que el ancho de cada página por separado.
¿Cómo funciona el flexible column layout?
El diseño tiene tres columnas, llamadas Begin, Mid y End, que contienen la lista, el detalle y el subdetalle. Un valor de layout decide qué columnas son visibles y qué ancho tiene cada una. El flujo recomendado por SAP, que codifica la clase auxiliar semántica, es el siguiente:
- La app arranca con una columna, normalmente la lista.
- Elegir un elemento abre su detalle en la columna Mid, con los botones Full Screen y Close.
- Elegir un elemento en el detalle abre el tercer nivel en la columna End.
- Un cuarto nivel o más profundo sustituye a la columna End a pantalla completa.
Los usuarios pueden arrastrar los separadores de columna para redimensionar las columnas o cambiar de diseño, y el control recuerda sus anchos. El control también se adapta por sí solo al dispositivo: tres columnas en un escritorio, como máximo dos en una tableta, donde a la primera columna se accede arrastrando, y una en un teléfono. Por tanto, el flexible column layout es un contenedor adaptable para niveles de navegación, no un floorplan con contenido propio.
¿Cómo se habilita el flexible column layout en SAP Fiori elements?
SAP Fiori tools ofrece un interruptor en el page map; la configuración subyacente difiere según la versión de OData:
| Aspecto | OData V4 | OData V2 |
|---|---|---|
| Dónde | Vista raíz sap.fe.core.rootView.Fcl y clase de router sap.f.routing.Router en manifest.json | Objeto flexibleColumnLayout en la configuración de sap.ui.generic.app |
| Diseños por defecto | defaultTwoColumnLayoutType, defaultThreeColumnLayoutType | Las mismas dos propiedades |
| Columna por página | Cada destino de ruta indica beginColumnPages, midColumnPages o endColumnPages | Sigue la jerarquía de páginas; un diseño por defecto a nivel de página puede desplazarla |
El list report se sitúa en la primera columna y las object pages ocupan las siguientes. En OData V2, una página puede sustituir el valor por defecto por su propio diseño, por ejemplo moviendo la object page principal a la primera columna y sus posiciones al lado. La configuración pertenece a la app, así que se comporta igual en SAP S/4HANA y en SAP BTP. SAP Fiori elements guarda los anchos de columna por app y tipo de dispositivo. Se aplican dos límites: la analytical list page solo admite el diseño de dos columnas con la primera columna expandida, y la overview page no usa el flexible column layout. Habilitar el flexible column layout cambia la navegación, no las anotaciones.
¿Cuáles son los errores habituales con el flexible column layout?
- Tablas anchas en columnas estrechas. Una tabla diseñada para el ancho completo se vuelve ilegible en la columna Mid; reduzca columnas o use diseños pop-in.
- Prometer tres columnas en todas partes. Las tabletas muestran dos y los teléfonos una, así que los diseños deben funcionar en todos los anchos.
- Ubicación inesperada de las acciones. En apps sin draft con creación, actualización y borrado, solo la última columna muestra Edit y Delete.
- Objetos no relacionados uno junto a otro. El diseño expresa una jerarquía padre-hijo; dos apps sin relación no tienen cabida en él.
Cuando una app de SAP Fiori elements ignora la configuración y sigue abriéndose a pantalla completa, compruebe por este orden: la vista raíz y la clase de router (OData V4), la dependencia de la biblioteca sap.f, la controlAggregation de cada destino y cualquier diseño por defecto a nivel de página. La mayoría de los problemas del flexible column layout son problemas de configuración del enrutamiento, no errores de renderizado.
Flexible column layout vs. list report y object page a pantalla completa vs. pantalla dividida: ¿cuál es la diferencia?
| Flexible column layout | List report y object page a pantalla completa | Pantalla dividida (sap.m.SplitContainer) | |
|---|---|---|---|
| Niveles visibles a la vez | Hasta tres | Una página cada vez | Dos: maestro y detalle |
| Ancho de las columnas | Variable, redimensionable por el usuario | No aplicable | Áreas de maestro y detalle |
| Uso típico | Recorrer elementos sin perder de vista la lista | Trabajo concentrado en un objeto complejo | Apps maestro-detalle de dos niveles |
| En SAP Fiori elements | Configuración de diseño opcional | Navegación por defecto | Se construye como SAPUI5 freestyle, por ejemplo a partir de la plantilla master-detail |
El flexible column layout amplía la idea maestro-detalle de dos paneles a tres columnas redimensionables, mientras que la navegación a pantalla completa da a cada página toda la pantalla.
Preguntas frecuentes
¿Qué significa FCL en SAP Fiori?
FCL son las siglas de flexible column layout, el diseño de SAP Fiori que muestra una lista, un detalle y un subdetalle uno junto a otro en hasta tres columnas. Lo implementa el control SAPUI5 sap.f.FlexibleColumnLayout y está disponible como opción en SAP Fiori elements.
¿Cuántas columnas puede mostrar el flexible column layout?
Hasta tres: Begin, Mid y End. El flexible column layout se adapta por sí solo al dispositivo y muestra tres columnas en un escritorio, como máximo dos en una tableta y solo una en un teléfono. Los niveles más profundos se abren en la columna End a pantalla completa.
¿Se puede usar el flexible column layout con una analytical list page o una overview page?
En parte. Una analytical list page admite el flexible column layout solo con el diseño de dos columnas en el que la primera columna está expandida. Para la overview page, SAP indica que el flexible column layout no es relevante, de modo que las overview pages mantienen su propio diseño de cards.
¿Pueden las apps SAPUI5 freestyle usar el flexible column layout?
Sí. Las apps freestyle colocan el control sap.f.FlexibleColumnLayout en la vista raíz, usan sap.f.routing.Router para la navegación y consultan a la clase FlexibleColumnLayoutSemanticHelper qué diseño y qué botones mostrar tras cada acción del usuario.
Fuentes
- SAPUI5 SDK: Enabling the Flexible Column Layout (SAP Fiori elements for OData V4)
- SAPUI5 SDK: Enabling the Flexible Column Layout (SAP Fiori elements for OData V2)
- SAPUI5 SDK: Flexible Column Layout (control documentation)
- SAPUI5 SDK: Flexible Column Layout Semantic Helper
- SAPUI5 API Reference: sap.f.FlexibleColumnLayout
- 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