La majorité des développeurs ABAP ont appris sur ECC : rapports, user exits, BAPI, Smartforms. Ce socle reste utile, car beaucoup de systèmes S/4HANA conservent du code classique migré. Les nouveaux développements suivent pourtant un autre modèle : des vues CDS pour lire les données, RAP pour les applications Fiori et les API OData, et ABAP Cloud, une version restreinte du langage qui n'autorise que les objets SAP publiés. Les offres demandent les deux.
Un profil qui a vraiment pratiqué RAP parle de behavior definition, de brouillon, de validations et de déterminations, d'EML et de séquence de sauvegarde. Il sait pourquoi un COMMIT WORK est interdit dans un handler. Celui qui a seulement suivi une formation décrit les couches sans pouvoir dire où il placerait un contrôle métier. Sur les vues CDS, la différence s'entend dans l'usage des associations, des contrôles d'accès et dans le choix entre une vue et une AMDP.
Le clean core se mesure désormais en niveaux, du niveau A (ABAP Cloud et API publiées) au niveau D (modifications du standard). Un candidat à jour sait situer son code sur cette échelle et le vérifie avec l'ATC. La certification SAP Backend Developer ABAP Cloud (C_ABAPD) atteste les bases du modèle. Le PDF reprend l'entretien complet sur six axes.
Le modèle de développement ABAP sur S/4HANA, brique par brique
Vues CDS (view entities)
Les vues CDS décrivent les données en SQL enrichi : jointures, associations entre entités, champs calculés, annotations qui pilotent l'interface Fiori ou l'analytique. Elles s'exécutent dans HANA. On écrit aujourd'hui des CDS view entities, les anciennes vues CDS liées au dictionnaire étant obsolètes. SAP livre des milliers de vues standard, organisées en modèle de données virtuel (I_ pour les vues d'interface, C_ pour la consommation).
RAP (ABAP RESTful Application Programming Model)
Le modèle de programmation des applications transactionnelles sur S/4HANA et sur SAP BTP. Une behavior definition déclare ce qu'on peut faire sur un objet métier : créer, modifier, actions, validations, brouillon. Une classe ABAP en porte la logique. Une service definition et un service binding exposent le tout en OData V2 ou V4, pour une app Fiori Elements ou une API.
ABAP Cloud
Une version restreinte du langage, utilisée dans S/4HANA Cloud, sur SAP BTP et, depuis la version 2022, dans S/4HANA sur site. Elle n'autorise que les objets SAP publiés, interdit l'accès direct à la plupart des tables standard et se développe uniquement dans ADT, sans SAP GUI.
Clean core et niveaux A à D
La règle qui garde le standard SAP intact pour faciliter les mises à niveau. Les extensions sont classées par niveau : A pour ABAP Cloud avec API publiées, B pour les API classiques encore admises, C pour l'usage d'objets internes non publiés, D pour les modifications du standard et les objets que SAP déconseille. Le Cloudification Repository indique, pour chaque objet non publié, son successeur.
AMDP
Des méthodes ABAP écrites en SQLScript et exécutées directement dans HANA, pour des calculs que les vues CDS n'expriment pas. Elles servent aussi à implémenter les fonctions de table CDS. Un bon développeur les réserve aux cas où une vue ne suffit pas.
ADT et ATC
ABAP Development Tools, l'environnement Eclipse obligatoire pour les vues CDS, RAP et ABAP Cloud. L'ABAP Test Cockpit (ATC) contrôle le code : performance, sécurité, conformité ABAP Cloud avec la variante ABAP_CLOUD_READINESS. Un développeur qui ne travaille que dans SE80 n'a pas pratiqué le modèle S/4HANA.
Fiori Elements et OData
Les applications Fiori Elements (liste, page objet) sont générées à partir des annotations des vues CDS et du service RAP, sans écrire de JavaScript. Le développeur ABAP en règle le rendu par les annotations @UI, souvent dans des métadonnées d'extension. Le développement SAPUI5 sur mesure relève plutôt du profil Fiori.
ABAP moderne et ABAP SQL
La syntaxe introduite à partir d'ABAP 7.40 : déclarations en ligne, expressions de constructeur (VALUE, CORRESPONDING, REDUCE), ABAP SQL avec variables hôtes préfixées par @. C'est le socle attendu de tout développeur, sur du code classique comme en ABAP Cloud.
Le poste se trouve surtout dans les projets de passage à S/4HANA et dans les équipes qui maintiennent un système déjà migré. Sur une migration, le développeur adapte le code spécifique aux simplifications de S/4HANA (journal universel ACDOCA, partenaire commercial, statuts des documents de vente) et réécrit en ABAP Cloud ce qui peut l'être. En maintenance, il traite les demandes des consultants fonctionnels sur un ou plusieurs modules (FI/CO, SD, MM), dans un système où cohabitent code classique et développements RAP. Les offres citent aussi SAP BTP pour les extensions hors du système, qui relèvent d'un profil voisin. La maintenance standard d'ECC prend fin en 2027.
Les compétences ABAP S/4HANA à noter une par une
- Modélisation en vues CDS
- Applications transactionnelles RAP
- ABAP Cloud et clean core
- Performance HANA, ABAP SQL et AMDP
- Adaptation du code ECC à S/4HANA
- Tests, transports et qualité du code
Des vues CDS à la sauvegarde RAP, les questions à poser
Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.
Question 1 · confirmé
Où placez-vous la règle « la date de fin doit suivre la date de début » dans un objet RAP, et quand s'exécute-t-elle ?
Une bonne réponseDans une validation déclarée dans la behavior definition, déclenchée à la sauvegarde sur la création et sur la modification des deux champs, et implémentée dans la classe de comportement. Elle lit les instances avec READ ENTITIES IN LOCAL MODE et remplit les tables failed et reported avec un message rattaché au champ. Avec le brouillon, il ajoute la validation à l'action Prepare pour que l'erreur s'affiche avant l'activation.
Signal d'alerteUn contrôle seulement dans l'app Fiori, ou un MESSAGE TYPE 'E' dans le handler.
Question 2 · confirmé à senior
Dans un handler RAP, un collègue a écrit COMMIT WORK après sa mise à jour. Qu'en pensez-vous ?
Une bonne réponseC'est interdit par le contrat transactionnel de RAP. Pendant la phase d'interaction, le handler travaille dans le tampon transactionnel ; c'est le framework qui déroule la séquence de sauvegarde et le commit, à la demande de l'appelant (COMMIT ENTITIES ou fin de la requête OData). Un COMMIT WORK casse la cohérence et provoque une erreur d'exécution dans les contextes contrôlés. Les écritures en base se font dans la phase de sauvegarde, et un appel à une ancienne BAPI qui fait son propre commit doit être isolé.
Signal d'alerte« Il faut bien enregistrer les données en base. »
Question 3 · junior à confirmé
Comment écrivez-vous une vue CDS des commandes client avec le nom du client, sans lire le client quand personne ne le demande ?
Une bonne réponseUne CDS view entity bâtie sur la vue d'interface standard des commandes plutôt que sur VBAK, avec une association vers le client exposée dans la liste des éléments. La jointure n'est exécutée que si un consommateur suit le chemin de l'association. Il ajoute les annotations utiles (libellés, contrôle d'accès) et nomme la vue dans l'espace client, Z ou Y.
Signal d'alerteUne jointure systématique dans la vue, ou un SELECT sur VBAK puis sur KNA1 dans une boucle ABAP.
Question 4 · confirmé
En ABAP Cloud, vous devez lire des données de stock, mais la table MARD n'est pas accessible. Comment faites-vous ?
Une bonne réponseChercher la vue CDS ou l'API publiée qui couvre le besoin, dans ADT (état de publication dans les propriétés de l'objet) ou sur le SAP Business Accelerator Hub. Le Cloudification Repository donne le successeur des objets non publiés. Si rien n'existe, sur un système sur site ou en Private Edition, écrire un wrapper en ABAP classique autour de l'objet interne, le publier pour l'usage cloud et le documenter comme écart de clean core, à retirer quand SAP publie une API.
Signal d'alerteRepasser l'objet en ABAP standard pour lire la table, ou copier les données dans une table Z.
Question 5 · confirmé
Un rapport migré d'ECC met dix minutes à s'exécuter sur S/4HANA. Comment le diagnostiquez-vous et le corrigez-vous ?
Une bonne réponseMesurer d'abord : trace SQL (ST05 ou dans ADT), ABAP Profiler, SQL Monitor (SQLM) en production si besoin. Causes fréquentes : SELECT dans une boucle, FOR ALL ENTRIES sur une table interne énorme, colonnes lues pour rien, traitement en ABAP de ce que la base fait mieux (agrégations, jointures). La correction pousse le calcul dans HANA : une seule requête ABAP SQL avec jointures et agrégats, ou une vue CDS, et une AMDP seulement si le SQL ne suffit pas.
Signal d'alerteAjouter un index sans mesure, ou paralléliser la boucle sans changer la lecture.
Recevez la fiche d'entretien complète en PDF
La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.
- 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
- Le niveau visé pour chaque question
- Une mise en situation de 20 minutes et ce qu'on attend du candidat
- La grille d'évaluation de 1 à 4, axe par axe
ECC, ABAP Cloud, certification : réponses aux recruteurs SAP
Un développeur ABAP ECC peut-il passer sur un poste S/4HANA RAP ?
La plupart des profils RAP viennent de là, mais la marche existe. Le langage reste ABAP. Ce qui change, c'est la manière de construire : modéliser en vues CDS, déclarer le comportement au lieu de tout coder, respecter le contrat transactionnel, n'utiliser que des API publiées. Demandez un projet RAP concret, pas seulement une formation suivie. Un bon développeur ECC devient opérationnel sur RAP s'il est accompagné sur un premier objet.
La certification ABAP Cloud permet-elle de trier les candidatures ?
La certification SAP Backend Developer ABAP Cloud (code C_ABAPD) porte sur le langage, les vues CDS, RAP et la programmation objet. Elle montre que la personne connaît le modèle. Elle ne prouve pas l'expérience de projet : migration de code, objets RAP complexes, débogage en production. Prenez-la comme un plus pour un junior ou un développeur ECC qui se met au nouveau modèle, et vérifiez le reste par les questions et l'étude de cas.
Quelle différence avec un développeur Fiori ou un développeur BTP ?
Le développeur ABAP S/4HANA travaille dans le système : vues CDS, RAP, services OData, applications Fiori Elements générées par annotations. Le développeur Fiori écrit des interfaces SAPUI5 sur mesure en JavaScript quand Fiori Elements ne suffit pas. Le développeur BTP construit des extensions hors du système, souvent avec CAP en Node.js ou en Java. Beaucoup d'offres mélangent les trois ; précisez lequel compte le plus dans le poste.
Comment construire un test technique pour un développeur ABAP ?
Sur un système de démonstration ou l'environnement ABAP d'essai de SAP BTP, demandez une petite vue CDS avec une association, puis un objet RAP avec une validation et une action, en une heure et demie environ. Sans système disponible, faites commenter un extrait de behavior definition ou un rapport ECC à moderniser. Le raisonnement à voix haute montre vite si la personne a déjà construit un objet RAP.
Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.



