SAP Fiori Elements et floorplans

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 ? ▾
Où se situe-t-il ?: L3 · Applications d'interfaceCouche : Applications d'interface.L1L2L3L4L5L6BTP

Couche : Applications d'interface

Ouvrir la carte d'architecture →
Object Page layoutEn-tête (titre, statut, données clés) · Barre d'ancres · Sections : General Information, Items, Approval History, AttachmentsHeader · title · statusKey factsAnchor barGeneral InformationItemsApproval HistoryAttachments
Mise en page Object Page: En-tête (titre, statut, données clés) · Barre d'ancres · Sections : General Information, Items, Approval History, Attachments

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 :

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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 ?

AnnotationCe qu'elle pilote
UI.HeaderInfoTitre, description, image et nom du type d'objet
UI.HeaderFacetsFacettes d'en-tête, sous forme de reference facets vers des data points, des field groups ou des graphiques
UI.FacetsSections et sous-sections : les collection facets regroupent, les reference facets pointent vers le contenu
UI.FieldGroup, UI.IdentificationFormulaires dans les sections
UI.LineItem de l'entité de posteTableaux d'éléments associés
UI.Hidden sur une facetteAffichage 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 ?

  1. Trop de sections sur une seule page défilante. Regroupez les sections ou passez aux onglets, que SAP recommande pour les grid tables.
  2. 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.
  3. 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.
  4. 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.
  5. 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 sheetObject page
DéfinitionType d'application SAP Fiori d'origine qui affiche des informations contextuelles sur un business objectFloorplan SAP Fiori elements pour afficher, modifier et créer un objet
TechnologieSAP Business Suite : modèles de recherche dans le back-end ABAP sur SAP HANA ; dans SAP S/4HANA, souvent des applications SAP Fiori elementsPages SAPUI5 générées à partir d'un service OData, d'annotations et de l'app descriptor
Point d'entrée habituelRésultats de recherche dans le launchpad, autres fact sheets, applications transactionnelles ou analytiquesUn list report ou une autre application, via la navigation basée sur les intents
ÉditionOrientée affichage ; les modifications se font dans des applications transactionnelles ou des transactions liéesModification et création sur place, avec prise en charge des drafts
Dans SAP S/4HANALargement supplantées ; certaines fact sheets ont été dépréciées ou remplacéesFloorplan 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

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

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.