Understanding ABAP

Objectives

After completing this lesson, you will be able to:
  • Comprendre les notions de base d'ABAP
  • Comprendre l'environnement ABAP
  • Comprendre les notions de base du modèle de programmation d'applications ABAP RESTful

Langage de programmation ABAP

Les notions de base d'ABAP

Lorsque ABAP a été publié pour la première fois en 1983, il a été conçu comme un langage de programmation procédural basé sur des instructions. Bien que relativement indépendant, il a été influencé par d'autres langages de programmation populaires de l'époque, principalement COBOL et Pascal.

À la fin des années 1990, le langage ABAP a été étendu pour permettre la programmation orientée objet. Des concepts importants de langages de programmation orientés objet populaires, comme C++ et Java, ont été intégrés dans le langage ABAP. ABAP Objects, comme le langage de programmation était maintenant appelé, combinait des parties procédurales et orientées objet dans un langage.

ABAP a été étendu à nouveau avec des expressions modernes. ABAP combine des éléments de syntaxe traditionnels basés sur des instructions et des éléments de syntaxe modernes basés sur l'expression dans un langage de programmation. Les éléments syntaxiques orientés objet et basés sur l'expression sont recommandés dans la mesure du possible pour les nouveaux développements ABAP.

Examinons quelques-unes des fonctionnalités clés d'ABAP dans la vidéo suivante.

Le périmètre du langage ABAP a été adapté pour prendre en charge le développement Cloud ABAP et les versions linguistiques "ABAP for Cloud Development" et "ABAP pour utilisateurs clés" ont été introduites. Des détails sur les versions de langage ABAP sont disponibles sur le SAP Help Portal.

Les trois versions de langage ABAP sont ABAP standard, ABAP for Cloud Development et ABAP pour utilisateurs clés.
ABAP standardABAP for Cloud DevelopmentABAP pour utilisateurs clés
Version universelleVersion de langage ABAP restreinteVersion de langage ABAP restreinte
Version de langage ABAP sans restrictionOptimisation du cloudDestiné à implémenter des extensions par les utilisateurs clés
Couvre l'ensemble du périmètre linguistique

Utilise SAP public validé :

  • API (locales ou distantes) pour accéder aux fonctionnalités et aux données SAP
  • Points d'extension pour étendre les objets SAP
Couvre les règles générales d'ABAP classique avec un ensemble restreint d'éléments de langage.
 Ne prend pas en charge les modifications apportées aux objets SAP 
ABAP Development Tools for SAP NetWeaver (ADT) comme IDE ABAP

Remarque

Ce cours donne une introduction universelle au développement ABAP. Il se limite aux éléments de syntaxe et aux fonctionnalités linguistiques disponibles dans les trois versions linguistiques. Une exception est l'introduction du modèle de programmation d'applications ABAP RESTful, qui ne fait pas partie d'ABAP pour les utilisateurs clés.

Ce cours utilisera SAP BTP, environnement ABAP pour les exercices et les démonstrations.

Le cloud ABAP

Environnements ABAP

ABAP Cloud est le modèle de développement commun pour la création d'extensions et d'applications prêtes à l'emploi dans des scénarios on-stack et côte à côte. Elle est disponible dans toutes les éditions de SAP S/4HANA et l'environnement ABAP de SAP Business Technology Platform (BTP).

Remarque

Pour plus d'informations sur SAP S/4HANA, rendez-vous sur https://learning.sap.com/learning-journeys/learn-the-basics-of-sap-fiori et sélectionnez ArchitectureDescription de SAP S/4HANA.

ABAP Cloud

Le modèle de développement ABAP pour créer des applications de gestion, des services et des extensions compatibles avec le Cloud.

Il est disponible avec SAP BTP et SAP S/4HANA.

Il fonctionne avec le Cloud public ou privé et même sur tous les sites.

Modèles de développement ABAP

Le modèle de développement ABAP est une approche de développement complète qui couvre tous les aspects de bout en bout du processus de développement. C'est un terme global englobant des choses concrètes et abstraites, telles que l'architecture sous-jacente, les outils utilisés pour le développement, les directives de développement, et bien plus encore.

Examinons les concepts clés sur lesquels repose le modèle de programmation ABAP Cloud.

Le modèle de programmation d'applications RESTful

Le modèle de programmation d'applications ABAP RESTful définit l'architecture pour un développement efficace de bout en bout des services OData optimisés pour SAP HANA (tels que les applications SAP Fiori) dans l'environnement ABAP. Il prend en charge le développement de tous les types d'applications Fiori et la publication d'API Web. Il est basé sur des technologies et des frameworks tels que Core Data Services (CDS) pour définir des modèles de données sémantiquement riches et une infrastructure de modèle de service pour créer des services OData avec des liaisons à un protocole OData et des services d'application basés sur ABAP pour la logique personnalisée et les interfaces utilisateur basées sur SAPUI5.

SAP utilise le modèle de programmation d'applications RESTful pour créer de nouvelles applications standard et moderniser les applications existantes. SAP recommande également à ses clients et partenaires de l'utiliser pour les développements personnalisés sur SAP S/4HANA et SAP Business Technology Platform (BTP), environnement ABAP.

Structure du modèle de programmation d'applications RESTful comprenant la modélisation et le comportement des données, l'exposition et la consommation des services de gestion

Les applications développées avec le modèle de programmation d'applications ABAP RESTful sont constituées des modules suivants :

Objets de gestion
Les objets de gestion représentent le modèle de données et définissent la logique liée aux données, appelée comportement, indépendamment de la consommation spécifique. Les objets de gestion de programmation d'applications RESTful sont définis via les vues de modélisation de données Core Data Service (CDS), les définitions de comportement CDS et les implémentations de comportement dans les classes ABAP.
Projections d'objets de gestion
La projection d'objet de gestion est une approche de projet et d'alias d'un sous-ensemble de l'objet de gestion pour un service de gestion spécifique. La projection permet une consommation de services flexible ainsi que des conceptions de services basées sur les rôles. Dans les programmes d'application RESTful, une projection d'objet de gestion se compose de vues de projection CDS, de projections de comportement CDS et, si nécessaire, de vues supplémentaires ou spécifiques à la consommation.
Définition de service
Une définition de service définit le périmètre d'un service de gestion, en particulier la projection d'objet de gestion à exposer par ce service.
Liaison de service
Une liaison de service définit le protocole de communication, tel que OData V2 ou OData V4, et le type de service à proposer à un consommateur, tel que les services IU ou un service Web.
IU SAP Fiori
L'interface utilisateur SAP Fiori fournit une IU désignée pour les modèles d'application couramment utilisés basés sur les services OData.
API Web
Une API Web fournit une interface publique permettant à tout client OData d'accéder au service.

Après avoir appris les notions de base de la programmation ABAP, vous allez créer une application ABAP RESTful pour une application d'épicerie durable. Vous utiliserez le générateur d'objets du Repository et créerez un objet de gestion de programmation d'applications ABAP RESTful prêt à l'emploi en moins d'une heure. Cette application vous permettra de garder une trace de vos épiceries et de leur date d'expiration.

Capture d'écran d'une application créée à l'aide du modèle de programmation d'applications RESTful