SAP Build Code pour ABAP Cloud : Developpement Pro-Code assiste par IA

Catégorie
ABAP Cloud
Publié
Auteur
Johannes

SAP Build Code est le nouvel environnement de developpement assiste par IA de SAP pour les developpeurs professionnels. Contrairement a SAP Build Apps (Low-Code), Build Code s’adresse aux developpeurs Pro-Code et integre Joule AI directement dans le processus de developpement. Cet article montre comment SAP Build Code fonctionne avec ABAP Cloud et quand utiliser quel outil.

Qu’est-ce que SAP Build Code ?

SAP Build Code est le composant Pro-Code de la plateforme SAP Build, introduit en 2024 :

AspectDescription
BaseSAP Business Application Studio (BAS)
Integration IAJoule AI nativement integre
Public cibleDeveloppeurs professionnels
TechnologiesCAP, RAP, Fiori, ABAP Cloud
DeploiementBase sur le cloud (navigateur)

SAP Build Code vs. autres produits SAP Build

SAP Build Code fait partie de la famille SAP Build plus large, mais se distingue nettement :

ProduitApprochePublic cible
SAP Build AppsLow-Code/No-CodeCitizen Developer
SAP Build Process AutomationWorkflow/RPAAnalystes metier
SAP Build Work ZonePortail/UXTous les utilisateurs
SAP Build CodePro-Code + IADeveloppeurs professionnels

Plus d’informations sur Low-Code vs. Pro-Code dans l’article SAP Build vs. ABAP Cloud.


SAP Build Code vs. ADT vs. Business Application Studio

Une question frequente : Quel IDE utiliser pour ABAP Cloud ? Voici la comparaison detaillee :

Comparaison des fonctionnalites

FonctionnaliteADT (Eclipse)BAS (Navigateur)SAP Build Code
InstallationInstallation localeAucune (navigateur)Aucune (navigateur)
Developpement ABAPCompletCompletComplet
Developpement CAPNonOuiOui (optimise)
Joule AIOui (depuis 2024)LimiteEntierement integre
Generation de code IAOuiPartielEtendu
Mode hors ligneOuiNonNon
PerformanceTres bonneBonneBonne
Multi-projetsOuiOuiOui
Collaboration equipeGitGit + Dev SpacesGit + Dev Spaces + IA
Integration SAPBTP, On-PremAxe BTPAxe BTP
CoutsGratuitAbonnement BTPLicence Build Code

Quand utiliser quel outil ?

Choisir ADT (Eclipse) si :

  • Vous developpez principalement en ABAP Cloud
  • Le travail hors ligne est important
  • Vous connectez du S/4HANA On-Premise
  • Une performance maximale est requise
  • Vous avez deja de l’experience Eclipse

Choisir Business Application Studio si :

  • Vous ne voulez pas d’installation locale
  • Le developpement Fiori/CAP est au centre
  • Vous travaillez depuis differents appareils
  • Le partage de Dev Space en equipe est important

Choisir SAP Build Code si :

  • Vous voulez utiliser au maximum le support IA
  • Vous combinez CAP et ABAP Cloud
  • L’integration Joule est decisive
  • Vous construisez des Full-Stack Cloud Apps

Plus d’informations sur BAS sous SAP Business Application Studio.


Integration de Joule AI dans SAP Build Code

La caracteristique distinctive de SAP Build Code est l’integration profonde de Joule AI. Joule est l’IA generative de SAP, specialement entrainee sur les technologies SAP.

Que peut faire Joule dans SAP Build Code ?

CapaciteDescriptionExemple
Generation de codeCode ABAP/CAP depuis le langage naturel”Cree une vue CDS pour les commandes”
Explication de codeComprendre le code existant”Que fait cette methode ?”
DocumentationGenerer commentaires et docs”Documente cette classe”
Tests unitairesCreer des cas de test”Genere des tests pour cette validation”
Analyse d’erreursIdentifier et corriger les bugs”Pourquoi ce code echoue-t-il ?”
Objets RAPCreer Behavior, CDS, Service”Cree un RAP Business Object”
Modele de donneesSuggerer des modeles de donnees”Concois un modele pour la gestion de projet”

Workflow Joule : Generer une vue CDS

Voici comment fonctionne le developpement assiste par IA en pratique :

1. Prompt a Joule :

Cree une vue CDS Interface pour les commandes clients avec les champs :
- Numero de commande (cle)
- Numero client
- Date de commande
- Montant total
- Statut (ouvert, en cours, termine)

2. Joule genere :

@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Commandes clients"
define view entity ZI_CustomerOrder
as select from zcustomer_order
{
key order_id as OrderId,
customer_id as CustomerId,
order_date as OrderDate,
@Semantics.amount.currencyCode: 'Currency"
total_amount as TotalAmount,
currency as Currency,
@ObjectModel.text.element: ['StatusText']
status as Status,
case status
when 'O' then 'Ouvert"
when 'I' then 'En cours"
when 'C' then 'Termine"
else 'Inconnu"
end as StatusText
}

3. Revue et ajustement : Vous examinez le code genere, ajustez les details (par ex. noms de champs, annotations) et l’integrez dans votre projet.

Workflow Joule : Classe ABAP avec tests unitaires

1. Prompt :

Cree une classe ABAP pour la validation des codes postaux francais.
La methode doit verifier si un code postal contient exactement 5 chiffres.
Genere egalement les tests unitaires correspondants.

2. Joule genere la classe :

CLASS zcl_cp_validator DEFINITION
PUBLIC
FINAL
CREATE PUBLIC.
PUBLIC SECTION.
METHODS validate_cp
IMPORTING iv_cp TYPE string
RETURNING VALUE(rv_valid) TYPE abap_bool.
ENDCLASS.
CLASS zcl_cp_validator IMPLEMENTATION.
METHOD validate_cp.
" Code postal francais : exactement 5 chiffres
DATA(lv_cp) = condense( iv_cp ).
rv_valid = xsdbool(
strlen( lv_cp ) = 5 AND
lv_cp CO '0123456789"
).
ENDMETHOD.
ENDCLASS.

3. Joule genere les tests unitaires :

CLASS ltcl_cp_validator DEFINITION
FOR TESTING
DURATION SHORT
RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA cut TYPE REF TO zcl_cp_validator.
METHODS setup.
METHODS test_valid_cp FOR TESTING.
METHODS test_invalid_cp_letters FOR TESTING.
METHODS test_invalid_cp_too_short FOR TESTING.
METHODS test_invalid_cp_too_long FOR TESTING.
METHODS test_cp_with_spaces FOR TESTING.
ENDCLASS.
CLASS ltcl_cp_validator IMPLEMENTATION.
METHOD setup.
cut = NEW #( ).
ENDMETHOD.
METHOD test_valid_cp.
cl_abap_unit_assert=>assert_true(
act = cut->validate_cp( '75001' )
msg = 'Un code postal valide devrait etre accepte"
).
ENDMETHOD.
METHOD test_invalid_cp_letters.
cl_abap_unit_assert=>assert_false(
act = cut->validate_cp( '7500A' )
msg = 'Un code postal avec des lettres devrait etre rejete"
).
ENDMETHOD.
METHOD test_invalid_cp_too_short.
cl_abap_unit_assert=>assert_false(
act = cut->validate_cp( '7500' )
msg = 'Un code postal trop court devrait etre rejete"
).
ENDMETHOD.
METHOD test_invalid_cp_too_long.
cl_abap_unit_assert=>assert_false(
act = cut->validate_cp( '750011' )
msg = 'Un code postal trop long devrait etre rejete"
).
ENDMETHOD.
METHOD test_cp_with_spaces.
cl_abap_unit_assert=>assert_true(
act = cut->validate_cp( ' 75001 ' )
msg = 'Un code postal avec espaces devrait etre valide apres nettoyage"
).
ENDMETHOD.
ENDCLASS.

Plus d’informations sur Joule et ABAP sous Joule pour ABAP.


Configuration de SAP Build Code

Prerequis

  • Compte SAP BTP (Trial ou productif)
  • Abonnement ou licence SAP Build Code
  • Navigateur moderne (Chrome, Firefox, Edge)
  • Connexion Internet (base sur le cloud)

Configurer l’acces

Etapes pour configurer SAP Build Code :
1. Ouvrir le SAP BTP Cockpit
2. Selectionner le Subaccount
3. Services → Instances and Subscriptions
4. Rechercher "SAP Build Code" et s'abonner
5. Attribuer le role utilisateur : "SAP_Build_Code_User"
6. Ouvrir le SAP Build Lobby
7. Selectionner "SAP Build Code"
8. Creer un nouveau projet ou ouvrir un existant

Creer un projet pour ABAP Cloud

Dans SAP Build Code, vous pouvez creer differents types de projets :

Type de projetDescriptionPertinence ABAP
Full-Stack ApplicationBackend CAP + UI FioriCAP comme alternative a ABAP
ABAP Cloud ProjectABAP Cloud purDeveloppement ABAP direct
Fiori ApplicationUI pour services existantsConsomme les services RAP ABAP
Mobile ApplicationSAP Mobile Development KitUtilise les APIs OData ABAP

Connecter un systeme ABAP

Connecter un systeme ABAP Cloud dans SAP Build Code :
1. Ouvrir le projet
2. Appeler le "Service Center"
3. Cliquer sur "Add Service"
4. Selectionner "SAP S/4HANA Cloud" ou "SAP BTP ABAP Environment"
5. Entrer l'URL du systeme
6. Authentification (utilisateur/mot de passe ou OAuth)
7. Tester la connexion
8. Parcourir les services et objets

Workflow de developpement dans SAP Build Code

Workflow Full-Stack typique

Un scenario frequent : Vous developpez une application Full-Stack avec un backend ABAP Cloud et une UI Fiori.

Etape 1 : Backend en ABAP Cloud (utiliser ADT en parallele)

Pour la logique ABAP complexe, ADT reste recommande :

" Developper le RAP Business Object dans ADT
" Behavior Definition
managed implementation in class zbp_i_product unique;
strict ( 2 );
define behavior for ZI_Product alias Product
persistent table zproduct
lock master
authorization master ( instance )
{
field ( readonly ) ProductId;
field ( mandatory ) ProductName, Price;
create;
update;
delete;
action ( features : instance ) setDiscountPrice
parameter ZA_DiscountInput
result [1] $self;
validation validatePrice on save { create; update; }
determination setCreatedInfo on save { create; }
}

Etape 2 : Exposer le service dans SAP Build Code

Dans SAP Build Code, vous pouvez facilement integrer le service :

1. Ouvrir le Service Center
2. Selectionner le systeme ABAP
3. Rechercher le service OData (par ex. ZUI_PRODUCT_O4)
4. Cliquer sur "Add to Project"
5. Joule : "Cree une app Fiori List Report pour ce service"

Etape 3 : Generer l’app Fiori avec Joule

Joule peut scaffolder des apps Fiori completes :

Prompt : "Cree une app Fiori Elements List Report pour les produits
avec une table filtrable, navigation vers les details
et dialogue de creation."

Joule genere :

  • app/product/webapp/manifest.json
  • app/product/annotations.cds
  • Routing et navigation
  • Textes i18n (francais/anglais)

Bonnes pratiques : SAP Build Code avec ABAP Cloud

1. Utiliser le developpement hybride

Combinez les forces des deux mondes :

TacheOutil
Logique ABAP complexeADT (Eclipse)
Vues CDS avec IASAP Build Code + Joule
UI FioriSAP Build Code
DebogageADT
Tests unitairesADT ou Build Code
Services CAPSAP Build Code
Git/DeploiementLes deux

2. Utiliser Joule efficacement

A faire :

  • Utiliser des prompts clairs et specifiques
  • Toujours revoir le code genere
  • Affiner iterativement (prompts de suivi)
  • Utiliser pour le code boilerplate
  • Faire generer la documentation

A eviter :

  • Faire confiance aveuglément sans revue de code
  • Faire generer entierement la logique metier complexe
  • Adopter du code sensible a la securite sans verification
  • Utiliser des zones critiques pour les performances sans optimisation

3. Etablir des workflows d’equipe

Workflow d'equipe recommande :
1. Creer une branche de fonctionnalite (Git)
2. Developper le backend ABAP dans ADT
3. Tester le service (OData, Postman)
4. UI Fiori dans SAP Build Code + Joule
5. Revue de code (Pull Request)
6. Tests d'integration
7. Deploiement via CI/CD

Limitations et remarques

Limitations actuelles (etat 2026)

DomaineLimitation
Debogage ABAPLimite dans Build Code, meilleur dans ADT
Hors ligneImpossible (cloud uniquement)
PerformanceDepend du navigateur
Refactorings complexesADT offre plus d’outils
SAP GUINon integre

Licences

SAP Build Code necessite une licence separee ou fait partie de certains packages SAP :

  • SAP Build Code Free Tier : Utilisation limitee pour les tests
  • SAP Build Code Standard : Fonctionnalites completes
  • SAP BTP Enterprise Agreement : Souvent inclus

Verifiez votre contrat SAP pour les conditions exactes.


Aide a la decision : Quand SAP Build Code ?

SAP Build Code est ideal pour :

  • Developpement Full-Stack Cloud (CAP + Fiori + ABAP)
  • Productivite assistee par IA avec Joule
  • Nouveaux projets sans dependances legacy
  • Equipes avec competences CAP et ABAP
  • Prototypes rapides avec support IA

ADT reste meilleur pour :

  • Developpement ABAP Cloud pur
  • Projets S/4HANA On-Premise
  • Debogage et analyse complexes
  • Scenarios hors ligne
  • Equipes ABAP etablies sans besoin de CAP

Approche hybride (recommandee)

Pour la plupart des equipes, une approche hybride est recommandee :

+------------------+ +------------------+
| ADT | | SAP Build Code |
|------------------| |------------------|
| Backend ABAP |<--->| UI Fiori |
| Developpement RAP| | Services CAP |
| Debogage | | Joule AI |
| Tests unitaires | | Apps Full-Stack |
+------------------+ +------------------+
| |
v v
+---------------------------------+
| Repository Git |
| (Base de code commune) |
+---------------------------------+

Conclusion

SAP Build Code etend la boite a outils du developpeur ABAP Cloud avec le support IA et des capacites Full-Stack. Il ne remplace pas ADT, mais le complete. La combinaison d’ADT pour le developpement backend et de SAP Build Code pour l’UI et les fonctionnalites IA offre le meilleur des deux mondes.

Recommandation : Testez SAP Build Code en Free Tier, utilisez Joule pour le boilerplate et la generation d’UI, mais conservez ADT pour le travail ABAP approfondi. L’approche hybride maximise la productivite sans renoncer aux outils eprouves.

Articles connexes