En bref
Fondée en 2011, Kaï Consulting est une ESN spécialisée dans le développement SAP et le Tech Lead. Nous intervenons auprès des DSI et en renfort des partenaires intégrateurs : réalisation de développements, reprise de code et accompagnement technique des projets S/4HANA.
Quel besoin technique devons-nous prendre en charge ?
Développer ou faire évoluer une application SAP
Développements ABAP et ABAP Objet, services RAP et OData, modèles CDS, applications Fiori : nous travaillons sur vos besoins métier avec vos interlocuteurs fonctionnels. Conception technique, code, tests et documentation constituent le périmètre à cadrer ensemble.
Renforcer votre équipe avec un développeur ou un Tech Lead
Nous rejoignons votre organisation projet pour réaliser les développements, structurer les choix techniques ou accompagner les revues de code. Pour les partenaires intégrateurs, notre rôle est complémentaire : nous prenons en charge le volet technique convenu, en coordination avec vos responsables de projet.
Préparer l'évolution vers S/4HANA et maintenir l'existant
Analyse et adaptation du code spécifique, modernisation des interfaces, reprise de développements et investigation des performances ABAP / HANA. Nous tenons compte de la version SAP, des dépendances et des contraintes d'exploitation avant de proposer une trajectoire.
Comment travaillons-nous avec vous ?
- Comprendre le contexte : système SAP, besoin métier, code existant, équipe en place et échéances.
- Définir notre place dans le projet : périmètre de développement ou de Tech Lead, responsabilités, interlocuteurs et modalités de collaboration.
- Développer et transmettre : réalisations, tests, revues de code et documentation pour faciliter la maintenance par vos équipes.
Nous intervenons quasi exclusivement en régie. Le forfait reste exceptionnel, pour des audits ou cadrages très délimités. Télétravail et présence sur site se définissent selon le projet.
Guillaume Soguet et Mathieu Chenu, cofondateurs, architectes et garants techniques, restent impliqués dans les projets et en appui des consultants. La transmission se fait dans le travail quotidien ; la formation au catalogue n'est pas notre offre.
Une expérience ancrée dans les projets
- Kuhn Group : Tech Lead et architecture de développement sur une migration S/4HANA Greenfield, avec RAP, Fiori Elements et standards qualité.
- Thom Group : développement et pilotage technique sur un projet S/4HANA Retail Greenfield.
- Criteo : accompagnement technique de l'évolution d'ECC et de la transformation Fiori.
Consulter les expériences détaillées de Guillaume · Lire les témoignages
Les technologies mobilisées selon votre contexte
Notre socle associe notamment ABAP Objet, CDS Views, RAP et Fiori. Le schéma ci-dessous illustre une application RAP exposée en OData V4 ; il ne décrit pas tous les développements SAP. RAP permet aussi une exposition en OData V2 selon le service binding et les capacités du système.
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 permet notamment de structurer la logique métier, les traitements et les tests, ainsi que les implémentations de comportements RAP. Ces compétences ont été mobilisées sur les projets Kuhn Group et Thom Europe.
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 la sémantique métier (@ObjectModel,@Semantics). L'exposition en OData V4 passe, elle, par un Service Definition + Service Binding RAP, pas par les annotations CDS.
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) permet d'exposer des données et services SAP. RAP propose des service bindings OData V2 et V4. SAP recommande V4 lorsque possible pour les services transactionnels ; la compatibilité du système et des consommateurs reste à vérifier. Voir la documentation SAP des service bindings.
OData V2 vs OData V4
| Critère | OData V2 | OData V4 |
|---|---|---|
| Services RAP | Binding V2 selon le système | Binding V4 selon le système |
| Choix du protocole | Compatibilité avec les consommateurs existants | À privilégier lorsque compatible avec le besoin |
| Fonctionnalités UI et Draft | À vérifier selon le type de binding, la version SAP et l'application Fiori | |
| Performance | À mesurer sur les requêtes et les volumes réels ; le protocole seul ne suffit pas | |
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
- Data layer (CDS Views), Interface View + Projection View consommation
- Behavior layer (BDEF), déclaration des actions, validations, déterminations, Draft Handling
- Implementation layer, classe ABAP Objet annotée
FOR BEHAVIOR OF
Managed vs Unmanaged
Managed : le framework prend en charge des mécanismes de persistance et de gestion des données. Le choix dépend du Business Object et de la logique à réutiliser.
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
Fiori Elements utilise les métadonnées et les annotations pour construire les interfaces métier. Le périmètre, les extensions nécessaires et les règles métier déterminent l'effort de développement.
→ 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, la reprise de traitements et des accès aux données a contribué à l'optimisation des flux intercompanies. Les effets d'une optimisation HANA se vérifient sur des mesures représentatives avant et après intervention.
→ 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. Combinées à RAP (Behavior Definition + Service Definition + Service Binding), elles deviennent la fondation des services OData V4 modernes, des applications Fiori Elements et de l'embedded analytics S/4HANA. À noter : l'exposition OData ne se fait pas via les annotations CDS, elle passe par un Service Binding RAP de type ODATA V4.
Faut-il choisir OData V2 ou OData V4 ?
RAP propose des service bindings OData V2 et V4. SAP recommande V4 lorsque possible pour les services transactionnels. Le choix dépend de la version du système, des consommateurs et des fonctionnalités requises ; un service V2 existant ne doit pas être remplacé sans analyse.
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 permet d'implémenter certains traitements en SQLScript côté HANA. Son intérêt dépend des volumes, des calculs et du plan d'exécution ; les effets se mesurent sur le traitement concerné.
Comment choisissez-vous les compétences pour une mission ?
Nous partons du besoin : développement, renfort d'équipe ou Tech Lead. Nous précisons ensemble le périmètre, la version SAP, les interfaces et les responsabilités, puis identifions le profil adapté. Les choix techniques dépendent du système et des usages, pas d'une stack imposée à tous les projets.
Un développement SAP à réaliser ou une équipe à renforcer ?
Décrivez votre environnement, le périmètre technique et vos échéances. Nous préciserons ensemble le besoin et les modalités d'intervention.
Discuter de votre projet SAPVous êtes développeur ou Tech Lead SAP ? Découvrez comment nous rejoindre.