De SAP-wereld heeft zijn eigen speciale kenmerken. Advanced Business Application Programming, kortweg ABAP, is er daar één van. Met SAP's eigen programmeertaal kunnen bedrijven hun SAP-landschap op maat aanpassen en verbeteren. De nieuwste versie, het ABAP Cloud Development Model, is ontwikkeld in de jaren 80 en voldoet ook aan de huidige eisen. Kunstmatige intelligentie belooft nu een verdere moderniseringsimpuls. Maar wat kan AI vandaag al?
Kunstmatige intelligentie ondersteunt ontwikkelaars bij het programmeren in SAP door te helpen met codeanalyse, probleemoplossing en optimalisatie. Het kan routinetaken automatiseren, waardoor ontwikkelteams meer tijd hebben voor complexere taken. Door gebruik te maken van AI kunnen we bij T-Systems bijvoorbeeld efficiënter oplossingen op maat ontwikkelen en bestaande codes sneller aanpassen. Dit is vooral voordelig voor SAP-klanten die in een dynamische bedrijfsomgeving werken.
Een voorbeeld: Bedrijven hebben unieke interne processen die vaak verder gaan dan de standaard SAP-functionaliteit. Met ABAP kunnen ze hun SAP-systemen aanpassen aan individuele of branchespecifieke bedrijfsvereisten. Na verloop van tijd worden SAP-systemen groter en complexer. Bovendien veranderen de betrokken ABAP-ontwikkelaars tussentijds van bedrijf of gaan ze met pensioen vanwege hun leeftijd. Door de lange levensduur van de systemen en wisselende ontwikkelteams hebben bedrijven hun ABAP-programmering vaak niet consistent gedocumenteerd. Het is daarom onduidelijk voor welke functies ABAP-code wordt gebruikt. Dit is waar AI om de hoek komt kijken: Met behulp daarvan is het mogelijk om te bepalen waar "oude" ABAP-code eigenlijk voor wordt gebruikt, aangezien AI-tools kunnen helpen bij het begrijpen en analyseren van afzonderlijke stukjes van de codeerpuzzel.
AI-tools helpen de complexiteit van ABAP-ontwikkeling te verminderen. SAP-landschappen veranderen voortdurend. AI maakt het gemakkelijker om complexe structuren in de gaten te houden. Met AI kunnen we automatiseren, rationaliseren en het besparingspotentieel voor onze klanten optimaal benutten. Als ze er ook voor moeten zorgen dat hun gegevens en coderegels op een veilige locatie blijven - in Duitsland of de EU - dan zijn wij de juiste partner om precies dat te garanderen. Als leverancier van end-to-end SAP-services heeft T-Systems de juiste oplossing: Met "AI Engineer" gebruiken we een beveiligde AI-omgeving van T-Systems Digital Solutions voor ABAP-ontwikkeling.
Het hart van onze AI-omgeving wordt gevormd door de Large Language Models (LLM), die door T-Systems worden gehost in een beschermde IT-omgeving die voldoet aan de eisen op het gebied van gegevensbescherming en compliance. Het voordeel voor SAP klanten: Jouw ABAP-code wordt niet gebruikt om te leren of om LLM's te trainen. Bovendien komen de gegevens die ze invoeren in het LLM of de verzoeken die ze via het LLM doen niet terecht in een publieke cloud. De situatie is anders bij de LLM's van grote, meestal Amerikaanse aanbieders: Daar zijn de gegevens vrij toegankelijk op het web, zodat onbevoegden gemakkelijk ingevoerde codefragmenten kunnen reproduceren door middel van slimme zoekopdrachten.
Onze AI Engineer gebruikt de LLM's van grote aanbieders, zoals op dit moment Llama van Meta. De uitdaging: Gewone LLM's worden getraind met enorme hoeveelheden gegevens van het internet. Aangezien ABAP voornamelijk binnen bedrijven wordt gebruikt voor softwareontwikkeling, is codering of uitgebreide informatie over ABAP meestal niet beschikbaar op internet. Daarom lukt het LLM's zoals ChatGPT 4.0 in ongeveer 50 procent van de gevallen niet om compileerbare ABAP-code te genereren. Bovendien komt de ABAP-code die door dergelijke LLM's wordt gegenereerd, regelmatig niet door de test omdat niet aan de vereiste kwaliteitsnormen wordt voldaan.
T-Systems vertrouwt op Retrieval Augmented Generation (RAG) om het gebruik van AI Engineer voor de ontwikkeling van ABAP-code te optimaliseren. RAG breidt de mogelijkheden van LLM's uit door de kennis uit de trainingsgegevens aan te vullen met extra informatiebronnen om nauwkeurigere antwoorden te genereren. Een voorbeeld: Als SAP-klanten al enige tijd met ABAP programmeren, hebben ze hun eigen coderingsrichtlijnen. Met behulp van RAG laden we dergelijke aanvullende informatie in een beveiligde vectordatabase, die relevante informatie levert bij elke LLM-query en de antwoorden van de AI verbetert.
De grote verandering zal SAP's eigen LLM voor ABAP-code zijn, die werd gepresenteerd op TechEd in oktober 2024 en waarvan de officiële release gepland staat voor 2025. SAP traint deze LLM al enige tijd met meer dan 250 miljoen regels ABAP-code. Voor ons is het dan een kwestie van de SAP ABAP LLM verbinden met de gegevensbeschermingsconforme omgeving van T-Systems. Daarnaast zullen onze ABAP-ontwikkelaars de LLM uitgebreid testen.
Een ander belangrijk element voor de codekwaliteit van onze oplossing is Prompt Engineering. AI Engineer biedt workflows voor prompts op meerdere niveaus die ontwikkelaars ondersteunen bij routinetaken. De bestaande code kan bijvoorbeeld eerst worden geanalyseerd voordat in de tweede stap nieuwe code wordt gegenereerd. Deze gestructureerde aanpak verbetert de kwaliteit van de gegenereerde ABAP-code nog verder. Het plan is om de AI-oplossing te gebruiken in SAP S/4HANA-transformaties, met name om de analyse en documentatie van bestaande codebases te vergemakkelijken. Dit zal helpen om oude systemen sneller te begrijpen en over te zetten naar moderne architecturen.
Het volgende voorbeeld laat zien hoe AI succesvol kan worden gebruikt in ABAP-programmering: Bij T-Systems gebruiken we onze AI-tool om codesegmenten te maken of eenvoudige taken uit te voeren, zoals stringbewerkingen en database queries. De AI-tool biedt ons ook razendsnelle antwoorden op standaardvragen die met name beginners in ABAP anders veel tijd zouden kosten voor het zelf opzoeken in SAP-forums. Maar het gebruik van AI kan nog worden verbeterd: Als het aankomt op het schrijven van volledige programma's of het genereren van veel code op maat van klantspecifieke vereisten, bereikt AI momenteel zijn grenzen.
We zijn er zeker van dat AI in de toekomst zowel ABAP-programmering als de SAP-wereld in zijn geheel zal veranderen. Bij T-Systems willen we altijd op de hoogte blijven van alle ontwikkelingen, nieuwe dingen uitproberen - en onze klanten altijd bij het proces betrekken. Zo kunnen we samen bepalen waar de kansen en risico's van AI liggen. Maar het is ook duidelijk: In de nabije toekomst zal het nauwelijks mogelijk zijn om de AI te voeden met "oude" SAP-programmacode en te geloven dat je met één druk op de knop een nieuwe SAP S/4HANA-applicatie krijgt. Dit is goed nieuws voor ABAP-ontwikkelaars, die daarom ook in de toekomst onmisbaar zullen blijven.