Gestion de table (SM30) Fiori Elements à l'aide de générateurs et d’assistants RAP
- Co-auteur: Gregory Mayorga
Gestion de table customTous les développeurs SAP ont eu l’occasion de créer des tables custom et des vues de maintenance pour les maintenir via SM30. Il s'agit d'une étape simple et rapide qui ne prend que quelques minutes pour améliorer les processus de votre organisation, que nous prenons tous pour acquis.
|
Le dictionnaire de données nous demandait anciennement un groupe de fonctions ainsi que des détails d'écran pour générer les objets nécessaires à notre vue de maintenance. Les groupes de vues nécessitaient aussi une couche supplémentaire de personnalisation. Il s'agissait en fait d'un générateur auquel personne ne prêtait beaucoup d'attention, y compris les développeurs. |
Pour les clients choisissant une interface Fiori pure (sans GUI), ce processus est désormais beaucoup plus complexe.
Un grand nombre d'objets techniques sont nécessaires pour simplement créer une application SAP Fiori permettant de maintenir nos tables de la même manière. Il est parfois possible de la réaliser de A à Z en utilisant le BAS sur BTP et Eclipse ADT, mais le résultat final peut varier d'un développeur à l'autre. Il existe de récentes évolutions qui rendent ce processus beaucoup plus rapide contenant des résultats uniformes, que nous aborderons dans ce blogue d'une manière que nous jugeons être la plus efficace en fonction de différents scénarios qui se présentent à vous.
Ce dont vous aurez besoin pour maintenir vos tables avec les générateurs RAP
|
Édition Cloud Privé (PCE) de S/4 Hana [ou] Environnement ABAP de BTP
|
L'objectif de ce blog n'est pas de recommander des solutions pour des applications Fiori complexes incluant des processus et / ou exceptions spécifiques. Il vise strictement à fournir un remplacement efficace des vues de maintenance que nous connaissons et apprécions tous, tout en conservant la même apparence et fonctionnement identique pour toutes les tables personnalisées.
Qu’est ce que SAP RAP ?
Le modèle de programmation d'application RESTful (RAP) est un nouveau modèle de programmation ABAP permettant de créer des applications Fiori. Le RAP se compose de :
|
Assistants et générateurs RAP
De nouveaux générateurs / assistants ont récemment été mis à disposition dans l'ADT. À partir de nos tables DB custom, ces générateurs créeront tous les objets requis (y compris les objets CDS, les annotations et les services) pour une application Fiori Elements entièrement fonctionnelle. |
Il existe également un nouveau projet open source, expliqué ultérieurement, livré officieusement par SAP, pour traiter des modèles de données plus complexes (parent / enfant). Cela suscite à la fois de l'intérêt et de l'inquiétude, semant le doute quant à la direction que prend SAP avec cette solution. Il sera certainement judicieux de suivre de près ce sujet à l'avenir.
Il est donc essentiel de choisir le générateur approprié en fonction de la complexité de notre modèle de personnalisation des données.
Générateur basé sur l'ADT pour la maintenance simple des tables :
Un générateur appelé Business Configuration Maintenance Object a été ajouté pour gérer des modèles de données simples (table unique ou table + table de texte pour une personnalisation dépendant de la langue). Ces scénarios représentent la plupart de nos besoins en matière de personnalisation, et ce générateur devrait répondre à ces besoins.
Scenarios:
Lorsque réalisée correctement dans un environnement de Cloud public, notre maintenance de table personnalisée devrait s'intégrer parfaitement aux applications standard pour "Gérer / Configurer votre solution", y compris l'historique des modifications de la table. |
Public Cloud customizing |
Générateur Open Source:
Le générateur open source est disponible sur GitHub ici.
Il est nécessaire de sélectionner la bonne branche pour notre environnement ABAP et la tirer (pull) dans le système.
|
Cette application open source est en réalité une application RAP conçue pour générer de nouvelles applications RAP, à l’image de robots construisant des robots.
L'application open source utilise la nouvelle application Fiori appelée "Application Jobs" pour générer notre application personnalisée en arrière-plan.
Elle est disponible pour S/4 2021 et 2022, ainsi que pour l'environnement ABAP sur BTP. |
Lors de l'exécution de l'application du générateur, nous construisons notre modèle de données à partir de nos tables custom, en identifiant notre table principale et en ajoutant les tables enfants.
Nous devons également configurer notre projet pour que le générateur crée les composantes pertinentes. En l'occurrence, une solution Gérée avec un binding de service OData V4.
Notre scénario comporte une table par défaut (racine) avec une table enfant.
Tout comme le générateur ADT, l'application open source crée toutes les composantes RAP : Entités CDS (comprenant les annotations), Comportements et Services, prêts à être consommés par une application Fiori.
De plus, tout comme le générateur ADT, il y a toujours quelques ajustements à effectuer pour garantir le comportement professionnel de notre application (libellés, aide aux valeurs, annotations dans des extensions de métadonnées, etc.).
En ce qui concerne les normes de nomenclature, le générateur gère également les préfixes et les suffixes de nos objets générés. Toute personne strictement attachée à la nomenclature habituelle devra abandonner ce contrôle.
Peu importe le générateur utilisé, la prévisualisation de l'EntitySet approprié à partir du ServiceBinding nous montrera à quoi ressemblera notre application Fiori. Dans les deux cas, nous obtenons une application de personnalisation avec prise en charge des brouillons et des fonctionnalités de transport.
Bien sûr, il s'agit simplement d'une application de prévisualisation basée sur notre service OData. Il est maintenant nécessaire d’utiliser le service BAS sur la BTP pour créer une application Fiori, consommer notre service OData et la déployer dans l'environnement approprié (on-premise, l’édition Cloud Privé de S/4 Hana (PCE), environnement BTP ABAP).
Conclusion
Ces outils sont un véritable atout et accéléreront considérablement le développement des maintenances de tables personnalisées tout en offrant à l'utilisateur des applications Fiori cohérentes et normalisées qui s'intègrent parfaitement à leur solution globale.
Le perfectionniste en moi se sent un peu dépassé et laissé pour compte. Tout le monde n'a pas eu la chance de comprendre et d'assimiler correctement toutes les composantes d'une application RAP typique qui, de plus, évoluent constamment. J'avais personnellement tout juste commencé à explorer le vaste monde des annotations et de leur potentiel complet, sans parler de la maîtrise de toutes les autres composantes de ce puzzle complexe.
Le réaliste que je suis attendait patiemment ceci, et je suis très heureux du résultat, sachant que celui-ci continuera à évoluer. De toute façon, qui avait réellement compris l’ensemble des nombreuses pièces du "dialogue de maintenance" généré par le dictionnaire de données ? Un exemple simple d'un dialogue de maintenance pour une table custom unique dans un système on-premise comprend :
- deux (2) modules de fonction
- environ 275 sous-routines
- environ 180 programmes d'inclusion.
Je suis enthousiaste à l'idée que ces outils existent et de continuer à les voir évoluer. Ce ne sont que quelques-uns des outils que nous utilisons régulièrement pour fournir à nos clients des résultats professionnels et efficaces au sein de l'équipe de développement SAP de Createch.
Références
https://community.sap.com/topics/abap/rap