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 ? ▾
Couche : Applications d'interface
Ouvrir la carte d'architecture →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 :
- 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.
- Barre d'outils de l'en-tête : des actions génériques de page, dont un menu Share.
- 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é.
- 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.
- 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 ?
| Annotation | Ce qu'elle pilote |
|---|---|
| UI.SelectionFields | Les champs par défaut de la barre de filtres |
| UI.LineItem | Les colonnes du tableau, leur ordre et les actions au niveau des lignes |
| UI.HeaderInfo | Les 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.SelectionVariant | Des sélections de données prédéfinies, utilisées pour définir plusieurs vues |
| UI.SelectionPresentationVariant, UI.PresentationVariant | Des vues qui définissent aussi l'ordre de tri ou la visualisation |
| UI.Chart | Un graphique dans la zone de contenu |
| Vocabulaire Capabilities | Si 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 :
| Comportement | OData V4 : initialLoad | OData V2 : loadDataOnAppLaunch |
|---|---|---|
| Charger uniquement si des valeurs de filtre par défaut existent | Auto (par défaut) | ifAnyFilterExist (par défaut) |
| Toujours charger | Enabled | always |
| Attendre Go | Disabled | never |
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 ?
- 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.
- 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).
- Surcharger la barre de filtres. Vingt champs de sélection masquent les trois qui comptent.
- Confondre variantes et vues. Les variantes sont enregistrées par les utilisateurs ; les vues multiples sont des onglets définis par les développeurs.
- 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.
- 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 report | Worklist | Analytical list page | |
|---|---|---|---|
| Tâche principale | Trouver des objets dans un grand ensemble et agir dessus | Traiter un ensemble connu d'éléments de travail | Analyser des données, puis agir sur les postes |
| Filtrage | Barre de filtres complète avec variantes | Peu ou pas de filtrage, souvent des onglets de statut | Filtres visuels et barre de filtres compacte |
| Visualisation principale | Tableau, éventuellement un graphique | Tableau | Graphique et tableau ensemble |
| Dans SAP Fiori elements pour OData V4 | Floorplan à part entière | Configuration du list report | Configuration 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
- SAPUI5 SDK: List Report Page (SAP Fiori elements for OData V4)
- SAPUI5 SDK: Loading Behavior of Data on Initial Launch of the Application (OData V4)
- SAPUI5 SDK: Loading Behavior of Data on Initial Launch of the Application (OData V2)
- SAPUI5 SDK: Enabling Editing Using a Dialog (Mass Edit) (OData V4)
- SAPUI5 SDK: Configuring Filter Bars (OData V4)
- S'applique à
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Dernière relecture