Compétences SAP : ABAP Objet, CDS Views, OData V4, RAP, S/4HANA

En bref

Sur SAP S/4HANA, quatre technologies sont indissociables pour tout développement moderne : ABAP Objet (la couche programmation), CDS Views (la couche données), OData V4 (la couche exposition) et RAP (le framework qui orchestre les trois). Kaï Consulting accompagne ses clients sur ces quatre compétences depuis 2011, avec une expérience cumulée de 35 ans entre les co-fondateurs.

Sommaire

1. ABAP Objet (ABAP OO)

ABAP Objet — aussi appelé ABAP Orienté Objet ou ABAP OO — est l'extension orientée objet du langage ABAP de SAP. Introduit dès Web AS 6.10 (2001), il est devenu obligatoire à partir de S/4HANA pour tout nouveau développement et indispensable au framework RAP.

Concepts clés

  • Classes et instances — encapsulation des données et des comportements
  • Héritage et interfaces — réutilisation et contrats de comportement
  • Polymorphisme — substitution d'implémentations
  • Exceptions de classe (CX_) — gestion d'erreur structurée
  • ABAP Unit — tests unitaires natifs avec test doubles

Cas d'usage chez Kaï Consulting

Sur S/4HANA, ABAP Objet est utilisé pour : implémenter les Behavior Implementation Classes de RAP, encapsuler la logique métier dans des classes testables, structurer les batchs et traitements de masse, et écrire les exits propres (BAdI) conformes Clean Core. Sur les projets Kuhn Group et Thom Europe, 100% du code applicatif spécifique est en ABAP Objet.

2. CDS Views (Core Data Services)

Les CDS Views sont le langage de modélisation de données natif de S/4HANA. Elles remplacent les vues SE11 classiques en apportant une expressivité comparable au SQL moderne, enrichie d'annotations sémantiques.

Trois apports majeurs

  • Code-pushdown — la logique s'exécute directement sur HANA, pas dans la VM ABAP. Gain de performance considérable sur les requêtes complexes.
  • Associations — joins déclaratives et navigables, sans la verbosité du JOIN SQL classique.
  • Annotations — métadonnées qui pilotent l'UI Fiori (@UI), l'analytique (@Analytics), l'autorisation (@AccessControl) et l'exposition OData (@OData.publish).

Exemple : CDS View avec annotations UI

@AbapCatalog.sqlViewName: 'ZICUSTOMER'
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Customer Interface View'
@UI.headerInfo: { typeName: 'Customer', typeNamePlural: 'Customers' }
define view ZI_Customer
  as select from kna1
  association [0..*] to ZI_SalesOrder as _Orders
    on $projection.Customer = _Orders.Customer
{
  @UI.lineItem: [{ position: 10 }]
  key kunnr  as Customer,

  @UI.lineItem: [{ position: 20 }]
  name1      as Name,

  land1      as Country,

  _Orders
}

Pourquoi c'est critique pour un DSI

Sans maîtrise des CDS Views, il est impossible de tirer parti de S/4HANA : pas de RAP, pas d'embedded analytics, pas de Fiori Elements bien généré. C'est la première compétence à valider chez un consultant SAP S/4HANA.

3. OData V4

OData V4 (Open Data Protocol) est le protocole REST standardisé OASIS utilisé par SAP pour exposer ses applications S/4HANA. C'est le protocole natif de RAP et de tous les nouveaux services Fiori sur S/4HANA.

OData V2 vs OData V4

CritèreOData V2OData V4
StatutLegacy, encore supportéStandard cible S/4HANA
GénérationSEGW (transaction)RAP + CDS Views
Draft natifNon (workaround)Oui (intégré au framework)
Actions/FunctionsLimitéesRiches et typées
PerformanceSérialisation XML/JSONJSON optimisé
AnnotationsExternes au modèleIntégrées et standardisées

Cas d'usage

OData V4 est utilisé pour : exposer les Business Objects RAP aux applications Fiori, alimenter les intégrations REST tierces (microservices, IoT, partenaires logistiques), construire des extensions side-by-side sur SAP BTP, et permettre la consommation des données S/4HANA par les outils analytics modernes.

4. RAP (RESTful Application Programming Model)

RAP est le modèle de développement applicatif natif de S/4HANA depuis 1909. Il unifie en un seul paradigme la couche données (CDS Views), le comportement métier (Behavior Definition + Behavior Implementation) et l'exposition OData V4.

L'architecture en trois couches

  1. Data layer (CDS Views) — Interface View + Projection View consommation
  2. Behavior layer (BDEF) — déclaration des actions, validations, déterminations, Draft Handling
  3. Implementation layer — classe ABAP Objet annotée FOR BEHAVIOR OF

Managed vs Unmanaged

Managed : le framework gère automatiquement le CRUD, le lock, l'ETag et le Draft. Cas par défaut pour 90% des Business Objects spécifiques.

Unmanaged : le développeur prend en charge l'ensemble du cycle de vie. Utile pour wrapper des BAPIs existants ou des interfaces legacy.

👉 Lire l'article complet sur RAP

5. Fiori Elements

Fiori Elements est le framework de génération d'interfaces utilisateur basé sur les métadonnées OData V4. Il propose 5 floor plans standards :

  • List Report — liste avec filtres et variant management
  • Object Page — fiche détail avec sections et facettes
  • Worklist — file de tâches métier
  • Analytical List Page (ALP) — vue analytique avec KPI cards
  • Overview Page (OVP) — tableau de bord multi-cartes

Une application Fiori Elements bien conçue se développe en quelques jours là où l'équivalent Web Dynpro demandait des semaines. Les annotations @UI dans les CDS Views pilotent intégralement le rendu — pas une ligne de JavaScript à écrire.

👉 Fiori Elements vs Freestyle UI5 : lequel choisir ?

6. AMDP (ABAP Managed Database Procedures)

Les AMDP permettent d'écrire en SQLScript des procédures stockées HANA appelées directement depuis ABAP. C'est l'outil de référence pour exploiter la puissance In-Memory sur des traitements impossibles à exprimer efficacement en Open SQL.

Cas d'usage typiques

  • Agrégations massives multi-tables
  • Calculs analytiques avec window functions
  • Traitements de masse avec logique conditionnelle complexe
  • Algorithmes nécessitant des CTE récursives

Retour d'expérience Criteo

Sur la mission Criteo, le passage de boucles ABAP séquentielles à des AMDP bien conçues a permis de diviser par 40 le temps d'exécution du recalcul mensuel des commissions. Le batch nocturne est passé de 6h à 9 minutes.

👉 Tirer profit du In-Memory avec AMDP et CDS Views

7. Clean Core

Le Clean Core est la doctrine SAP S/4HANA pour préserver la capacité d'upgrade du système : pas de modification du standard, pas d'enhancement intrusif, utilisation exclusive des objets SAP Released dans les développements custom.

Les 3 piliers du Clean Core

  • Released APIs only — n'appeler que des objets SAP marqués comme libérés
  • Side-by-side extensions — les extensions lourdes vivent sur BTP, pas dans S/4HANA
  • Key User Extensibility — les extensions in-app passent par les outils Key User

👉 Stratégie Clean Core : préparer vos systèmes aux futurs upgrades

8. SAP BTP

SAP Business Technology Platform (BTP) est la plateforme cloud SAP pour développer les extensions side-by-side d'un système S/4HANA. Elle expose :

  • CAP (Cloud Application Programming Model) — framework Node.js/Java pour développer des services OData V4
  • SAP Build — low-code/no-code pour les apps métier simples
  • SAP Integration Suite — intégration des flux entre S/4HANA et systèmes tiers
  • SAP AI Core — exécution de modèles IA scalable

👉 SAP BTP ou On-Premise : comment choisir pour votre stratégie S/4HANA

Questions fréquentes

Quelle est la différence entre ABAP classique et ABAP Objet ?

L'ABAP classique est procédural : organisé en programmes, sous-programmes et function modules. L'ABAP Objet (ABAP OO) introduit les classes, l'héritage, le polymorphisme et les interfaces. Sur S/4HANA, ABAP Objet est obligatoire pour le développement RAP et fortement recommandé pour toute nouvelle logique métier. Il permet le test unitaire (ABAP Unit), la séparation des responsabilités et le respect du principe Clean Code.

À quoi servent les CDS Views ?

Les CDS Views (Core Data Services) sont le langage de modélisation de données natif de S/4HANA. Elles remplacent les vues SE11 classiques en offrant : des jointures et associations expressives, des annotations sémantiques (@UI, @Analytics, @ObjectModel), une exécution code-pushdown directement sur HANA, et l'exposition automatique en OData V4. C'est la fondation incontournable de RAP, Fiori Elements et l'embedded analytics S/4HANA.

Pourquoi OData V4 et plus OData V2 ?

OData V4 est la version standardisée OASIS et le protocole natif des applications RAP sur S/4HANA. Il apporte un modèle plus riche (actions, functions, types complexes), un support natif du Draft, une navigation hiérarchique et des performances améliorées. OData V2 reste utilisé pour les applications Fiori plus anciennes basées sur SEGW, mais tout nouveau développement S/4HANA doit cibler OData V4 via RAP.

Qu'est-ce que RAP exactement ?

RAP (RESTful Application Programming Model) est le modèle de développement applicatif natif de S/4HANA depuis 1909. Il unifie en un seul paradigme la couche données (CDS Views), le comportement métier (Behavior Definition + Behavior Implementation Class) et l'exposition OData V4. Il alimente directement Fiori Elements et respecte les règles Clean Core. Tout nouveau développement applicatif sur S/4HANA devrait passer par RAP.

Qu'est-ce qu'AMDP et quand l'utiliser ?

AMDP (ABAP Managed Database Procedures) permet d'écrire en SQLScript des procédures stockées HANA appelées directement depuis ABAP. Cas d'usage : agrégations massives, calculs analytiques complexes, traitements de masse impossibles à exprimer efficacement en Open SQL. Une AMDP bien conçue peut diviser par 10 à 100 le temps d'exécution d'un traitement HANA par rapport à du code ABAP séquentiel équivalent.

Vos consultants maîtrisent-ils les 4 technologies en même temps ?

Oui. Sur S/4HANA, ABAP Objet, CDS Views, OData V4 et RAP forment un écosystème indissociable : un Business Object RAP repose obligatoirement sur des CDS Views (couche données) et expose automatiquement en OData V4, avec la logique métier écrite en ABAP Objet. Nos consultants seniors maîtrisent les 4 simultanément. Sur le projet Kuhn Group, l'ensemble des nouvelles applications spécifiques a été développé avec cette stack.

Besoin de consultants SAP maîtrisant ABAP Objet, CDS Views, OData V4 et RAP ?

Discuter de votre besoin SAP