SAP Fiori Elements et floorplans

List Report

Un list report est un floorplan SAP Fiori elements qui permet de trouver et de filtrer de grands ensembles de business objects et d'agir dessus. Il se compose d'une barre de filtres, de la gestion des variantes et d'un tableau ou d'un graphique que le framework génère à partir des annotations OData. Un list report sert généralement de page d'entrée d'une application et transmet chaque objet à une object page.

L'essentiel

Type
Floorplan SAP Fiori elements (modèle de page)
Couche
Applications d'interface
Piloté par
UI.SelectionFields, UI.LineItem, variantes de sélection et de présentation
Configuré dans
Annotations d'interface (CDS ou XML) et paramètres de page dans manifest.json
Associé habituellement à
Object page (le modèle LROP)
Qui l'utilise
Développeurs SAP Fiori, développeurs ABAP et CAP, designers UX, utilisateurs finaux (variantes)
S'applique à
SAP S/4HANA (toutes les options de déploiement), SAP BTP
Couche : Applications d'interfaceOù se situe-t-il ? ▾
Où se situe-t-il ?: L3 · Applications d'interfaceCouche : Applications d'interface.L1L2L3L4L5L6BTP

Couche : Applications d'interface

Ouvrir la carte d'architecture →
List Report layoutTitre de l'en-tête + sélecteur de variantes · Barre de filtres (4 champs + Go) · Barre d'outils du tableau (nombre, actions) · Tableau · Chevron de navigation de ligneHeader title · Standard ▾ (variant)Filter barGoTable toolbar · Items (10) · actions
Mise en page List Report: Titre de l'en-tête + sélecteur de variantes · Barre de filtres (4 champs + Go) · Barre d'outils du tableau (nombre, actions) · Tableau · Chevron de navigation de ligne

Quand utiliser un list report ?

Un list report convient lorsque les utilisateurs partent d'un ensemble large et ouvert de business objects et doivent le restreindre avant de pouvoir travailler : examiner les commandes à livrer, traiter un ensemble de commandes d'achat, repérer les documents bloqués au paiement ou répéter une sélection de fin de mois au moyen d'une variante enregistrée.

Le critère de décision est la forme de la recherche. Si les utilisateurs combinent plusieurs critères de filtre avant que la liste prenne son sens, un list report convient. Si les éléments sont déjà connus et peu nombreux, une worklist est plus légère. Si les utilisateurs doivent analyser à l'aide de graphiques avant d'agir, l'analytical list page convient mieux.

Exemple : les acheteurs d'Alder Manufacturing filtrent les commandes d'achat par fournisseur et par date de livraison pour trouver les commandes en retard de Cedar Office Supply, puis ouvrent chacune d'elles sur son object page. Un list report est le bon choix lorsque le filtrage est la première étape de la tâche.

Quels sont les composants d'un list report ?

Une page list report est assemblée à partir de composants standard, de haut en bas :

  1. Titre et gestion des variantes : un contrôle de vues dans lequel les utilisateurs enregistrent les valeurs de filtre, l'ordre de tri et les colonnes.
  2. Barre d'outils de l'en-tête : des actions génériques de page, dont un menu Share.
  3. Barre de filtres : les champs de UI.SelectionFields ainsi que tous les champs de filtre obligatoires. La recherche s'exécute lorsque l'utilisateur choisit Go, sauf si le mode live est configuré.
  4. Zone de contenu : un tableau, un graphique ou les deux, éventuellement sous forme de plusieurs vues que l'on bascule par un bouton segmenté ou par des onglets.
  5. Navigation : choisir une ligne ouvre l'object page, éventuellement côte à côte dans le flexible column layout.

Avec un service compatible draft, le framework ajoute un filtre Editing Status et indique quelles lignes ont un draft ou sont verrouillées par un autre utilisateur. Chaque composant d'un list report est généré à partir des métadonnées : les list reports se comportent donc de la même manière d'une application à l'autre.

Quelles annotations pilotent un list report ?

AnnotationCe qu'elle pilote
UI.SelectionFieldsLes champs par défaut de la barre de filtres
UI.LineItemLes colonnes du tableau, leur ordre et les actions au niveau des lignes
UI.HeaderInfoLes noms du type d'objet ; en OData V2, TypeNamePlural définit l'en-tête du tableau, qu'OData V4 peut aussi définir dans manifest.json
UI.SelectionVariantDes sélections de données prédéfinies, utilisées pour définir plusieurs vues
UI.SelectionPresentationVariant, UI.PresentationVariantDes vues qui définissent aussi l'ordre de tri ou la visualisation
UI.ChartUn graphique dans la zone de contenu
Vocabulaire CapabilitiesSi le service prend en charge le filtrage ; sans lui, aucune barre de filtres n'est rendue

En ABAP CDS, les deux premières apparaissent sous la forme @UI.selectionField et @UI.lineItem sur chaque élément ; CAP utilise les noms de termes OData. Le comportement de la page, comme le chargement initial, la modification en masse, les vues et le type de tableau, est défini dans manifest.json. Les annotations décident de ce qu'un list report affiche ; l'app descriptor décide de la manière dont il se comporte.

Comment contrôler le chargement initial et la modification en masse dans un list report ?

Chargement initial. Lorsque l'application démarre avec un contexte de navigation, comme des paramètres provenant d'une autre application ou du target mapping, les données se chargent immédiatement. Sinon, la variante par défaut de l'utilisateur décide via son paramètre Apply Automatically ; seule la variante Standard suit manifest.json :

ComportementOData V4 : initialLoadOData V2 : loadDataOnAppLaunch
Charger uniquement si des valeurs de filtre par défaut existentAuto (par défaut)ifAnyFilterExist (par défaut)
Toujours chargerEnabledalways
Attendre GoDisablednever

Les utilisateurs peuvent remplacer ce paramètre pour chaque vue. SAP recommande des valeurs de filtre par défaut pour que la page ne s'ouvre pas vide.

La modification en masse (mass edit) reste désactivée tant qu'un développeur ne l'active pas. En OData V4, enableMassEdit fonctionne sur le list report (pour les enregistrements actifs sans draft en cours) et sur l'object page en mode modification ; visibleFields ou ignoredFields limitent la boîte de dialogue. En OData V2, multiEdit ne fonctionne que sur le list report, pour les tables responsive et grid. Ces deux comportements du list report sont des choix de configuration délibérés, et non des valeurs par défaut à accepter sans examen.

Peut-on étendre un list report ?

Oui, et les options dépendent du propriétaire de l'application :

  • Votre propre application, OData V4 : les points d'extension ajoutent des colonnes, des actions et des champs de filtre personnalisés, du contenu d'en-tête au-dessus de la barre de filtres et des vues personnalisées sous forme d'onglets supplémentaires ; les building blocks et les pages personnalisées du flexible programming model couvrent les manques plus importants.
  • Votre propre application, OData V2 : les extensions enregistrées dans manifest.json couvrent des zones comparables, comme les colonnes, les actions et les filtres.
  • Une application livrée par SAP : projets d'adaptation (SAP Fiori tools) ou adaptation key user, sans modifier le code de SAP.

Dans SAP S/4HANA Cloud Public Edition, vérifiez lesquelles de ces voies SAP prend en charge pour l'application et la release. Test de décision : si du code personnalisé est nécessaire au-delà de quelques colonnes, actions ou filtres, réexaminez le choix du floorplan. Étendre un list report coûte peu en périphérie et cher au cœur.

Quelles sont les erreurs de conception courantes sur un list report ?

  1. Tout charger au lancement. Charger systématiquement un très grand entity set ralentit chaque démarrage ; les valeurs de filtre par défaut sont un meilleur levier.
  2. S'ouvrir sur un tableau vide sans explication. Lorsque les utilisateurs signalent « aucune donnée », vérifiez dans l'ordre : le contexte de navigation, la variante par défaut et son indicateur Apply Automatically, le paramètre du manifest, puis les filtres obligatoires (en OData V2, un filtre obligatoire vide bloque le chargement initial).
  3. Surcharger la barre de filtres. Vingt champs de sélection masquent les trois qui comptent.
  4. Confondre variantes et vues. Les variantes sont enregistrées par les utilisateurs ; les vues multiples sont des onglets définis par les développeurs.
  5. Activer la modification en masse pour tous les champs. Limitez la boîte de dialogue à un groupe de champs qui peut être modifié en masse sans risque.
  6. Utiliser un list report pour une file de travail. Un ensemble de tâches court et connu convient à une worklist.

La plupart des problèmes de list report sont des problèmes de configuration et de conception de la sélection plutôt que des défauts du framework.

List report, worklist ou analytical list page : quelle différence ?

List reportWorklistAnalytical list page
Tâche principaleTrouver des objets dans un grand ensemble et agir dessusTraiter un ensemble connu d'éléments de travailAnalyser des données, puis agir sur les postes
FiltrageBarre de filtres complète avec variantesPeu ou pas de filtrage, souvent des onglets de statutFiltres visuels et barre de filtres compacte
Visualisation principaleTableau, éventuellement un graphiqueTableauGraphique et tableau ensemble
Dans SAP Fiori elements pour OData V4Floorplan à part entièreConfiguration du list reportConfiguration du list report

Les trois modèles partagent la même technologie mais répondent à des questions différentes : quoi trouver, quoi traiter et quoi analyser.

Questions fréquentes

Que signifie LROP dans SAP Fiori ?

LROP signifie list report object page, le modèle d'application SAP Fiori elements le plus courant. Un list report permet aux utilisateurs de trouver des business objects, et une object page affiche, modifie ou crée l'un d'eux. Les deux floorplans sont configurés dans la même application et reliés par la navigation.

Pourquoi mon list report SAP Fiori s'ouvre-t-il avec un tableau vide ?

Dans la plupart des cas, le list report attend que l'utilisateur choisisse Go. Le paramètre de chargement initial (initialLoad en OData V4, loadDataOnAppLaunch en OData V2), l'indicateur Apply Automatically de la variante par défaut de l'utilisateur et l'absence de valeurs de filtre par défaut ou obligatoires déterminent si les données se chargent au lancement.

Les utilisateurs peuvent-ils enregistrer leurs propres paramètres de filtre dans un list report ?

Oui. La gestion des variantes d'un list report permet aux utilisateurs d'enregistrer les valeurs de filtre, l'ordre de tri et les colonnes sous forme de vues nommées, d'en marquer une comme vue par défaut et de décider si elle charge les données automatiquement. Les vues peuvent être privées ou publiques ; par défaut, chaque utilisateur peut rendre une vue publique, et un paramètre de flexibilité SAPUI5 peut réserver cette possibilité aux key users.

Un list report permet-il de modifier plusieurs enregistrements à la fois ?

Oui, lorsque les développeurs activent la modification en masse. Dans SAP Fiori elements pour OData V4, le paramètre est enableMassEdit ; en OData V2, c'est multiEdit. Les utilisateurs sélectionnent des lignes, ouvrent une boîte de dialogue et saisissent de nouvelles valeurs, qui sont appliquées à chaque enregistrement sélectionné modifiable.

Un list report nécessite-t-il un service compatible draft ?

Non. Un list report fonctionne avec des services avec ou sans draft. Avec le draft, SAP Fiori elements ajoute un filtre Editing Status et indique dans le tableau quels objets ont des modifications non sauvegardées ou sont verrouillés par un autre utilisateur.

Sources

S'applique à
SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
Dernière relecture

Pour aller plus loin

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP et les autres produits et services SAP mentionnés sont des marques commerciales ou des marques déposées de SAP SE (ou d'une société affiliée à SAP) en Allemagne et dans d'autres pays. Ce guide est indépendant ; il n'est ni affilié à SAP SE, ni sponsorisé, ni approuvé par SAP SE.