Retour au blogue
Rédigé par Jesse Thibodeau

Gestion de table (SM30) Fiori Elements à l'aide de générateurs et d’assistants RAP

Gestion de table (SM30) Fiori Elements à l'aide de générateurs et d’assistants RAP
  • Co-auteur: Gregory Mayorga

Gestion de table custom

Tous 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.

 

  • La configuration de tables simples est très facile.
  • En ce qui concerne les tables multiples ayant une relation parent / enfant, celle-ci nécessite une étape supplémentaire appelée un Groupe de Vues (View Cluster).

Flow

screenshot

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

SAP S/4 HANASAP S/4 HANA


Icon


Icon


Icon


  • S/4 Hana On-premise (2020 pour le développement manuel de RAP, 2021 si vous utilisez l'assistant open source) [ou] 

Édition Cloud Privé (PCE) de S/4 Hana [ou] 

Environnement ABAP de BTP


  • Connaissance du modèle RAP de SAP
  • Dernière version d'Eclipse
  • Dernière version de l'ADT (Outils de développement ABAP) pour Eclipse
  • Accès à Git et une compréhension de la méthodologie requise pour faire des pulls via Git. 
   

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 :

  • Un modèle de données CDS
    • Des annotations (éléments clés du processus) pour contrôler :
      • L'apparence de l'interface utilisateur (UI)
      • Le comportement de l'application
  • Des services pour exposer le modèle à la couche de consommation
  • La couche de consommation (dans ce cas, l'application Fiori)

Chart

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.

Magic wand

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.

Générateur basé sur l'ADT pour la maintenance simple des tables :

Scenarios:

  • On-premise / PCE / ABAP sur BTP
  • Table unique: 
  • Générateur ADT 
Groupe de vues: Générateur RAP open source 
  • Public Cloud (tous les modèles de données): 
  • Générateur ADT  

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

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.

Générateur Open Source:

icon

 

 

icon

 

 

icon

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.



zr_matorder01tp

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.

zr_matorder01tp

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.

browser screenshot

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

https://blogs.sap.com/2020/05/17/the-rap-generator/

https://github.com/SAP-samples/cloud-abap-ra

Ces articles pourraient aussi vous intéresser