SAP BTP et extensibilité

ABAP Cloud

ABAP Cloud est le modèle de développement de SAP pour créer des applications, services et extensions ABAP prêts pour le cloud et stables lors des mises à niveau. ABAP Cloud combine ABAP CDS, l'ABAP RESTful Application Programming Model, une version restreinte du langage ABAP et uniquement des API SAP libérées. ABAP Cloud n'est pas un produit : il s'exécute dans l'environnement ABAP de SAP BTP et au sein de SAP S/4HANA.

L'essentiel

Type
Modèle de développement ABAP (pas un produit)
Couche
Logique métier et modèle de données ; SAP BTP
Composants
ABAP CDS, RAP, ABAP for Cloud Development, API libérées, ABAP Development Tools
Versions de langage
ABAP for Cloud Development (développeurs) ; ABAP for Key Users (outils key user)
Disponible dans
Environnement ABAP de SAP BTP, Public Edition, Private Edition et on-premise à partir de SAP S/4HANA 2022
Qui l'utilise
Développeurs ABAP, responsables du développement, architectes de l'extensibilité
S'applique à
SAP S/4HANA (toutes les options de déploiement), SAP BTP
Couche : Logique métier et modèle de donnéesOù se situe-t-il ? ▾
Où se situe-t-il ?: L5 · Logique métier et modèle de donnéesCouche : Logique métier et modèle de données. Concerne aussi : SAP BTP.L1L2L3L4L5L6BTP

Couche : Logique métier et modèle de données

Concerne aussi : SAP BTP

Ouvrir la carte d'architecture →

De quoi se compose ABAP Cloud ?

SAP décrit ABAP Cloud comme une méthodologie de développement constituée d'éléments qui existaient déjà dans la plateforme ABAP, réunis sous un même ensemble de règles :

  • ABAP CDS pour les modèles de données et les requêtes analytiques.
  • L'ABAP RESTful Application Programming Model (RAP) pour les business objects transactionnels et les services.
  • ABAP for Cloud Development, une version restreinte du langage qui n'autorise qu'un sous-ensemble des instructions ABAP ; les écrans dynpro classiques, par exemple, n'en font pas partie.
  • Les API et points d'extension SAP libérés comme seul moyen autorisé d'accéder au code et aux données SAP.
  • ABAP Development Tools dans Eclipse comme IDE, avec les ABAP development tools pour Visual Studio Code comme option supplémentaire.

En complément, le modèle fournit des services réutilisables tels que les tranches de numéros, les application jobs et un référentiel d'interface pour les applications SAPUI5 et SAP Fiori elements. ABAP Cloud est donc un ensemble de règles pour utiliser l'ABAP moderne, et non un nouveau langage ni un runtime distinct.

Où ABAP Cloud est-il disponible ?

ProduitModèles de développementRemarques
Environnement ABAP de SAP BTPABAP Cloud uniquementA introduit la version de langage ABAP for Cloud Development en 2018
SAP S/4HANA Cloud Public EditionABAP Cloud uniquementUtilisé pour l'extensibilité développeur, on-stack dans le même système
SAP S/4HANA Cloud Private Edition et on-premiseABAP Cloud et ABAP classiqueDisponible à partir de SAP S/4HANA 2022 (ABAP 7.57)

L'environnement ABAP de SAP BTP est un service de plateforme pour le développement ABAP side-by-side ; il est souvent désigné par le nom de projet interne de SAP, Steampunk. Dans SAP S/4HANA, le même modèle s'exécute au sein de l'ERP, ce que le glossaire ABAP de SAP appelle embedded Steampunk. En Private Edition et on-premise, chaque objet de développement porte une version de langage, de sorte qu'une équipe peut créer de nouveaux objets avec ABAP Cloud tandis que le code plus ancien reste en ABAP classique.

ABAP Cloud est la seule option ABAP dans les produits de cloud public et l'option recommandée, aux côtés de l'ABAP classique, partout ailleurs.

Comment ABAP Cloud impose-t-il la stabilité aux mises à niveau ?

ABAP Cloud transforme les règles du clean core en contrôles exécutés pendant l'écriture du code :

  1. Chaque objet de développement possède une version de langage ABAP. Les objets en ABAP for Cloud Development sont contrôlés par le contrôle de syntaxe et à l'exécution.
  2. Le contrôle de syntaxe n'accepte que les objets SAP libérés pour le développement cloud sous le contrat de libération C1, ainsi que les points d'extension libérés sous C0.
  3. SAP vérifie ses propres objets libérés par rapport à leur contrat de libération, de sorte qu'aucune modification incompatible n'est attendue lors d'une mise à niveau.
  4. En Private Edition et on-premise, lorsqu'une API libérée nécessaire fait défaut, les recommandations de SAP autorisent un wrapper écrit en ABAP classique, libéré par le client avec le contrat C1 et encadré par des contrôles ABAP Test Cockpit.

Chez Alder Manufacturing, une application de validation spécifique pour le référencement des fournisseurs, construite de cette manière, lit les données fournisseurs via des vues CDS libérées, et non via les tables SAP. ABAP Cloud fait de la stabilité aux mises à niveau une propriété du compilateur plutôt qu'une promesse de revue de code.

Quels sont les points forts d'ABAP Cloud ?

  • Mises à niveau prévisibles. Le code qui compile sous ABAP Cloud ne dépend que d'objets libérés, ce qui réduit le travail de non-régression à chaque changement de release.
  • Un seul modèle pour tous les déploiements. Les mêmes compétences et les mêmes patterns s'appliquent dans l'environnement ABAP de SAP BTP, en Public Edition et en Private Edition ou on-premise.
  • Compétences ABAP existantes. Les équipes conservent ABAP, les transports et une gestion du cycle de vie familière au lieu de changer de langage.
  • Proximité des données. Le code ABAP Cloud on-stack s'exécute à côté des données et des transactions SAP S/4HANA, avec une cohérence transactionnelle qu'une extension distante ne peut pas offrir.
  • Chemin SAP Fiori intégré. Les services RAP alimentent directement les applications SAP Fiori elements.

Pour le code ABAP spécifique qui doit survivre aux changements de release, ABAP Cloud est le modèle de développement autour duquel sont conçus les outils, les contrôles et la documentation de SAP.

Où s'arrête ABAP Cloud ?

  • Limité par les API libérées. Lorsque SAP n'a pas libéré un objet, le code ABAP Cloud ne peut pas l'utiliser. En Public Edition, le manque persiste jusqu'à ce que SAP libère une API ; ailleurs, il est comblé par des wrappers qui nécessitent un responsable.
  • Les patterns hérités sont exclus. Les écrans dynpro classiques et les reports avec sortie SAP GUI ne font pas partie du modèle ; le code existant se porte donc rarement sans refonte.
  • Courbe d'apprentissage. CDS, les behavior definitions RAP et les outils basés sur Eclipse sont nouveaux pour beaucoup de développeurs ABAP classiques.
  • Pas un processus de gouvernance. ABAP Cloud garantit la manière dont le code dépend de SAP ; il ne décide pas de ce qu'il faut construire, de qui en est responsable ni de son lien avec un processus métier.

ABAP Cloud sécurise la dépendance technique ; le périmètre, la responsabilité et l'adéquation au processus restent des décisions distinctes.

Quelles sont les erreurs fréquentes lors de l'adoption d'ABAP Cloud ?

  1. Traiter ABAP Cloud comme un produit sous licence. C'est un modèle de développement ; les produits sont l'environnement ABAP de SAP BTP et SAP S/4HANA.
  2. Mélanger les versions de langage sans plan. En Private Edition, décidez par composant logiciel quels objets doivent être en ABAP Cloud et imposez-le avec ABAP Test Cockpit.
  3. Recourir au wrapper par défaut. Un wrapper C1 est une passerelle pour une API manquante ; cherchez d'abord une API libérée.
  4. Choisir le mauvais emplacement. Utilisez ABAP Cloud on-stack lorsque la logique exige une cohérence transactionnelle avec les données SAP S/4HANA ; utilisez l'environnement ABAP de SAP BTP ou d'autres runtimes lorsque l'extension a besoin de son propre cycle de vie.

Le critère de décision est la dépendance : si la logique doit modifier des données SAP dans la même unité de travail, ABAP Cloud on-stack est généralement le bon emplacement.

ABAP Cloud ou clean core : quelle différence ?

ABAP CloudClean core
NatureUn modèle de développement et une version de langage ABAPUn principe et un objectif de gouvernance
PérimètreCode ABAP spécifique on-stack ou dans l'environnement ABAP de SAP BTPExtensions, configuration, intégration, données et exploitation
Imposé parContrôles de syntaxe et d'exécution sur les API libéréesPolitique, contrôles ABAP Test Cockpit, niveaux clean core
RelationL'un des principaux moyens d'atteindre l'objectif pour le code ABAPL'objectif

ABAP Cloud est le modèle de développement qui rend le code ABAP spécifique conforme au clean core par construction ; le clean core est l'objectif plus large qu'il sert.

Questions fréquentes

ABAP Cloud est-il la même chose que l'environnement ABAP de SAP BTP ?

Non. ABAP Cloud est le modèle de développement ; l'environnement ABAP de SAP BTP est un produit qui le propose, comme seul modèle ABAP disponible. SAP S/4HANA Cloud Public Edition, Private Edition et on-premise à partir de la release 2022 proposent également ABAP Cloud.

Peut-on utiliser ABAP Cloud dans SAP S/4HANA on-premise ?

Oui, à partir de SAP S/4HANA 2022 (ABAP 7.57). Les systèmes on-premise et Private Edition proposent ABAP Cloud aux côtés de l'ABAP classique, et la version de langage de chaque objet de développement détermine les règles applicables. SAP recommande ABAP Cloud pour les nouveaux développements partout où c'est possible.

Le code ABAP Cloud peut-il appeler des BAPI ou lire des tables SAP ?

Pas directement. Le code ABAP Cloud ne peut utiliser que des API libérées. En Private Edition et on-premise, un wrapper écrit en ABAP classique et libéré avec le contrat C1 peut exposer une API classique, comme une BAPI, au code ABAP Cloud.

Quel IDE faut-il pour ABAP Cloud ?

ABAP Development Tools dans Eclipse est l'IDE principal pour ABAP Cloud, et SAP propose aussi les ABAP development tools pour Visual Studio Code. Les outils key user utilisent la version de langage distincte ABAP for Key Users au sein d'applications SAP Fiori, sans IDE.

Sources

S'applique à
SAP S/4HANA Cloud Public Edition · SAP S/4HANA Cloud Private Edition · SAP S/4HANA on-premise · 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.