Object Page
L'object page est un floorplan SAP Fiori elements qui affiche, modifie et crée un seul business object. Elle se compose d'un en-tête avec les informations clés, d'une barre de navigation et de sections de contenu que le framework génère à partir d'annotations OData telles que UI.HeaderInfo et UI.Facets. On y accède généralement depuis un list report, et elle prend en charge la gestion des drafts.
L'essentiel
- Type
- Floorplan SAP Fiori elements (modèle de page)
- Couche
- Applications d'interface
- Piloté par
- UI.HeaderInfo, UI.HeaderFacets, UI.Facets, field groups et line items
- Configuré dans
- Annotations d'interface (CDS ou XML) et paramètres de page dans manifest.json
- Association type
- List report (le modèle LROP) ; subobject pages pour les postes
- Qui l'utilise
- Développeurs SAP Fiori, développeurs ABAP et CAP, designers UX
- 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 une object page ?
L'object page convient chaque fois que la tâche porte sur un seul business object : modifier une commande client et ses postes, créer une commande d'achat sous forme de draft, libérer une facture bloquée ou comparer un draft avec la version enregistrée. Ce floorplan s'adapte aussi bien à quelques champs qu'à des objets complexes comportant de nombreuses sections et des tableaux associés.
Deux critères de décision aident :
- Si les utilisateurs ont d'abord besoin de contexte, comme le statut de l'objet, ses chiffres clés et les éléments associés, l'object page standard convient.
- Si les utilisateurs ne font que saisir des données et n'ont besoin ni d'en-tête ni de navigation entre sections, la form entry object page, une variante qui masque les deux, est plus légère.
Exemple : un acheteur d'Alder Manufacturing ouvre une commande d'achat pour Bright Freight, vérifie les informations de l'en-tête, puis modifie deux postes. L'object page convient lorsque la question est « qu'en est-il de cet objet précis ? »
Quels sont les éléments d'une object page ?
L'object page se compose de cinq zones, de haut en bas :
- Titre de l'en-tête : le titre et le sous-titre de l'objet, une image facultative, le statut d'édition lorsqu'un draft existe, et une barre d'outils avec des actions telles que Edit, Delete, Related Apps et Share.
- Facettes d'en-tête : les informations clés sous forme de paires libellé-valeur ou de petits visuels comme un micro chart ou une notation. SAP recommande au maximum cinq paires libellé-valeur.
- Barre de navigation : des ancres qui mènent à chaque section sur une seule page défilante, ou des onglets qui affichent une section à la fois.
- Zone de contenu : des sections et sous-sections contenant des formulaires, des tableaux d'éléments associés, des graphiques ou des composants réutilisables.
- Barre d'outils du pied de page : en mode édition, Save ou Create, les actions déterminantes et le bouton des messages.
Le choix d'une ligne dans un tableau de postes ouvre une subobject page pour l'entité enfant, avec des boutons de pagination pour passer d'un poste à l'autre. Chaque zone de l'object page répond à une question : de quoi s'agit-il, qu'est-ce qui compte, où cela se trouve-t-il, comment terminer.
Quelles annotations pilotent une object page ?
| Annotation | Ce qu'elle pilote |
|---|---|
| UI.HeaderInfo | Titre, description, image et nom du type d'objet |
| UI.HeaderFacets | Facettes d'en-tête, sous forme de reference facets vers des data points, des field groups ou des graphiques |
| UI.Facets | Sections et sous-sections : les collection facets regroupent, les reference facets pointent vers le contenu |
| UI.FieldGroup, UI.Identification | Formulaires dans les sections |
| UI.LineItem de l'entité de poste | Tableaux d'éléments associés |
| UI.Hidden sur une facette | Affichage ou masquage dynamique d'une section |
En ABAP CDS, toutes ces facettes s'écrivent sous forme d'entrées @UI.facet avec un type, par exemple une référence à un field group ou une collection, et un purpose qui distingue les facettes d'en-tête des sections standard. Seuls deux niveaux de collection facets sont rendus. Le choix entre ancres et onglets est un paramètre du manifest.json, sectionLayout, avec Page comme valeur par défaut en OData V4. La structure de l'object page est donc définie presque entièrement dans UI.Facets.
Comment fonctionnent les drafts et l'édition dans une object page ?
Avec un service compatible draft, l'object page crée un draft dès qu'un utilisateur commence à modifier ou à créer. Le draft est enregistré en arrière-plan pendant que l'utilisateur travaille, ce qui produit quatre comportements :
- le travail non enregistré survit à une interruption ou à un plantage, et l'utilisateur peut le reprendre plus tard ;
- le draft fait office de verrou : les autres utilisateurs voient que l'objet est en cours de modification ;
- les validations et le contrôle des champs s'exécutent pendant la saisie, et pas seulement à la fin ;
- Save transforme le draft en version active.
SAP Fiori elements for OData V4 distingue les drafts exclusifs, détenus par un seul utilisateur, des drafts collaboratifs que plusieurs utilisateurs peuvent modifier ensemble ; SAP ne documente les drafts collaboratifs que pour les services basés sur RAP. RAP et CAP fournissent tous deux la gestion des drafts côté service. Sans draft, rien n'atteint le back-end avant que l'utilisateur n'enregistre, et SAP ne conseille les applications sans draft que pour des flux simples. La prise en charge des drafts est la décision de service qui façonne le plus l'expérience d'édition dans une object page.
Peut-on étendre une object page ?
Oui. Les options dépendent de qui possède l'application :
- Votre propre application : des points d'extension ajoutent des sections et sous-sections personnalisées, des facettes d'en-tête, des éléments de formulaire, des actions et des colonnes de tableau ; des composants réutilisables peuvent être placés dans les sections ; avec OData V4, les building blocks et les custom pages du flexible programming model couvrent les besoins plus importants.
- Une application livrée par SAP : des adaptation projects (SAP Fiori tools) ou l'adaptation key user, sans modifier le code de SAP.
Dans SAP S/4HANA Cloud Public Edition, les voies disponibles suivent les modèles d'extensibilité de SAP propres à cette édition ; consultez la documentation d'extensibilité de votre release.
Les sections personnalisées ont un coût en performance. OData V4 propose des request groups et le lazy loading pour les object pages ; en OData V2, le lazy loading doit être activé pour chaque section personnalisée. Un test pratique : si la plupart des sections sont personnalisées, une custom page ou du SAPUI5 freestyle peut être plus honnête qu'une object page lourdement étendue.
Quelles sont les erreurs de conception courantes sur une object page ?
- Trop de sections sur une seule page défilante. Regroupez les sections ou passez aux onglets, que SAP recommande pour les grid tables.
- Des en-têtes surchargés. Au-delà d'une poignée d'informations d'en-tête, l'en-tête devient un second formulaire.
- Une imbrication de facettes trop profonde. Les collection facets au-delà du deuxième niveau sont ignorées, et une collection facet qui n'enveloppe qu'une seule reference facet peut mal s'afficher ; utilisez directement la reference facet.
- Des virgules dans les titres de section. SAP Fiori elements utilise les virgules comme séparateurs lorsqu'il regroupe les messages ; évitez-les donc dans les titres de sections et de sous-sections.
- Une édition sans draft. Les utilisateurs perdent la reprise du travail et l'information de verrouillage.
Lorsqu'une section manque, vérifiez dans l'ordre : l'annotation UI.Facets dans les métadonnées du service, le niveau de la facette, son qualifier cible, toute condition UI.Hidden, et un fichier d'annotations local qui pourrait remplacer l'UI.Facets du back-end. La plupart des défauts d'object page sont des problèmes de structure des facettes, pas des bugs de rendu.
Object page ou fact sheet : quelle différence ?
| Fact sheet | Object page | |
|---|---|---|
| Définition | Type d'application SAP Fiori d'origine qui affiche des informations contextuelles sur un business object | Floorplan SAP Fiori elements pour afficher, modifier et créer un objet |
| Technologie | SAP Business Suite : modèles de recherche dans le back-end ABAP sur SAP HANA ; dans SAP S/4HANA, souvent des applications SAP Fiori elements | Pages SAPUI5 générées à partir d'un service OData, d'annotations et de l'app descriptor |
| Point d'entrée habituel | Résultats de recherche dans le launchpad, autres fact sheets, applications transactionnelles ou analytiques | Un list report ou une autre application, via la navigation basée sur les intents |
| Édition | Orientée affichage ; les modifications se font dans des applications transactionnelles ou des transactions liées | Modification et création sur place, avec prise en charge des drafts |
| Dans SAP S/4HANA | Largement supplantées ; certaines fact sheets ont été dépréciées ou remplacées | Floorplan standard des applications SAP S/4HANA et SAP BTP |
La SAP Fiori Apps Reference Library regroupe les deux sous un même type d'application, mais l'object page est un floorplan du framework, alors que la fact sheet était une technologie historique distincte.
Questions fréquentes
Une object page est-elle la même chose qu'une fact sheet ?
Non. Les fact sheets faisaient partie des trois types d'applications SAP Fiori d'origine ; elles reposaient sur des modèles de recherche et se concentraient sur l'affichage d'informations contextuelles. L'object page est un floorplan SAP Fiori elements qui permet aussi de modifier et de créer des objets. Dans SAP S/4HANA, les object pages ont largement repris le rôle des fact sheets.
Une object page peut-elle créer un nouveau business object ?
Oui. Une action Create dans le list report ouvre généralement une object page vide en mode création, et la création par boîte de dialogue est une alternative pour les objets simples. Une form entry object page peut démarrer l'application directement en mode création, sans list report.
Une object page peut-elle afficher des onglets au lieu d'une seule longue page ?
Oui. Dans SAP Fiori elements for OData V4, le paramètre de manifest sectionLayout passe de Page, où toutes les sections défilent sur une seule page, à Tabs, où chaque section de premier niveau a son propre onglet. Pour les applications OData V2, consultez la documentation V2 pour le paramètre correspondant.
Qu'est-ce qu'une subobject page dans SAP Fiori elements ?
Une subobject page est une object page pour une entité enfant, par exemple un poste de commande d'achat, ouverte en choisissant une ligne dans un tableau de l'object page parente. Elle utilise le même floorplan et les mêmes annotations, et propose des boutons de pagination pour passer d'un élément de la liste à l'autre.
Une object page nécessite-t-elle un service compatible draft ?
Non, mais la plupart des applications SAP Fiori elements modifiables en utilisent un. Sans draft, l'object page n'envoie les modifications qu'à l'enregistrement et ne peut pas indiquer qu'un autre utilisateur est en train de modifier l'objet. Avec draft, le travail est enregistré en arrière-plan et peut être repris plus tard.
Sources
- SAPUI5 SDK: Object Page (SAP Fiori elements for OData V4)
- SAPUI5 SDK: Defining and Configuring Sections (OData V4)
- SAP Help Portal: Fact sheets based on search models (SAP Fiori for SAP Business Suite)
- SAPUI5 SDK: Draft Handling (OData V4)
- SAP Help Portal: SAP Fiori application types (transactional apps, analytical apps, fact sheets)
- S'applique à
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Dernière relecture