Abap Cloud en het Clean Core principe
Hylke Visser - Senior Developer & SAP Invoice Management Consultant
Introductie
In augustus 2024 verscheen een blog over ABAP Cloud op de Avelon-website. Hierin wordt toegelicht hoe ABAP Cloud kan helpen bij de transitie naar een Clean Core-systeem binnen S/4HANA on-premise en private cloud. Omdat steeds meer organisaties deze transitie maken, wordt in deze blog dieper ingegaan op wat een Clean Core inhoudt en hoe ABAP Cloud hieraan kan bijdragen.
Voordat hiermee wordt gestart, volgt eerst een korte samenvatting van deze eerdere blog over ABAP Cloud. Voor wie deze blog gemist heeft: deze is hier te vinden.
ABAP Cloud
Wat is het?
ABAP Cloud is het moderne ontwikkelmodel van SAP voor het bouwen van applicaties, services en extensies. Het model is beschikbaar op:
SAP BTP ABAP Environment
SAP S/4HANA Cloud (public & private edition)
SAP S/4HANA on-premise (vanaf versie 2202)
Het model stelt ontwikkelaars in staat om cloud-ready oplossingen te maken die passen binnen de richtlijnen van SAP’s toekomstvisie. Deze richtlijnen zijn essentieel voor het realiseren van een Clean Core.
Naast greenfield implementaties is ABAP Cloud ook bij brownfield mogelijk. Bestaande ABAP ontwikkelingen kunnen omgezet worden naar, of vervangen worden door ABAP Cloud ontwikkelingen. Het is dus niet zo dat het ABAP Cloud Clean Core-principe alleen voor nieuwe S/4 systemen geldt, voor bestaande S/4 systemen kan ABAP Cloud ook bijdragen aan een Clean Core.
Hoe wordt ABAP Cloud gebruikt?
ABAP Cloud kan gebruikt worden door de language version in de eigenschappen van een ontwikkelobject aan te passen in ‘ABAP for Cloud Development’. De language version kan in een ontwikkelklasse ook als default worden ingesteld.
ABAP Language version in een ABAP-klasse
ABAP Language version in Eclipse
Deze versie hanteert een striktere ABAP-syntax. Zo is er alleen toegang tot vrijgegeven API’s, kunnen er geen SAP GUI transacties en schermen gebruikt worden en geven write statements bijvoorbeeld een functie als popup_to_confirm een syntax error.
Foutmelding bij select op niet vrijgegeven tabel BUT000. De compiler adviseert om gebruik te maken van de vrijgegeven CDS-view I_BUSINESSPARTNER.
Het Clean Core principe
Van klassiek naar modern
SE80 startscherm
In het verleden boden ECC-systemen met SE80 en BAdI's enorme flexibiliteit. Ontwikkelaars konden vrijwel alles aanpassen. In een cloudomgeving, waarin systemen gedeeld worden tussen klanten, is deze aanpak niet langer houdbaar. ABAP Cloud is ontworpen om deze vrijheid op een gecontroleerde manier te herdefiniëren.
Vul voor S/4HANA Cloud systemen hier de service instance URL in. Voor BTP omgevingen kan er verbinding gemaakt worden via de service key (in JSON formaat) die je in BTP bij de instances credentials kunt vinden.
Wat is een Clean Core?
Het idee achter het Clean Core-principe is om de ERP-systemen zo standaard mogelijk te houden, terwijl er gebruik kan worden gemaakt van cloud-compatibele extensies en integraties.
Een Clean Core betekent niet dat er geen aanpassingen zijn. Het gaat juist om gestandaardiseerde en gecontroleerde uitbreidingen die de kern van het systeem onaangetast laten. De voordelen zijn:
Snellere upgrades door minder maatwerk;
Lagere onderhoudskosten;
Snellere adoptie van innovaties zoals AI en machine learning;
Betere beveiliging en compliance;
Sterkere integratie met cloudapplicaties;
Verbeterde systeemprestaties en datakwaliteit.
Overigens werd de term "Keep the core clean" geïntroduceerd door SAP's Björn Goerke, die het concept al presenteerde tijdens de keynote op de TechEd in 2018.
Hoe gebruik je ABAP Cloud voor een Clean Core?
Gebruik alleen ‘Released’ objecten
Ontwikkel met objecten die officieel zijn vrijgegeven (CDS views, API’s, interfaces). Dit voorkomt conflicten bij upgrades en verbetert de stabiliteit.
In S/4HANA Cloud kunnen Released objecten via de Extensibility Cockpit gevonden worden (Fiori app F3990). In S/4HANA on-premise kan dit via een Eclipse ‘Released Objects’ Repository Tree.Ontwikkel met RAP (RESTful ABAP Programming Model)
Modelleer data met CDS views, voeg logica toe via RAP en stel ze beschikbaar via OData of REST API’s.Zet SAP BTP in voor ‘side-by-side’ extensies
Wanneer aanpassingen niet in S/4HANA zelf kunnen, bouw je ze op het Business Technology Platform en communiceer je via API’s of Events.
Voorbeeld: extra veld op factuur
Klassieke aanpak: Z-velden toevoegen aan tabel, aanpassen van schermen in de transactie en klassieke BAdI’s gebruiken.
Clean Core-aanpak: Gebruik een custom CDS view op een released object, voeg logica toe met RAP, publiceer via OData en toon het veld in een Fiori UI.
Praktische tools
Tenslotte nog een aantal handige tools die ondersteuning bieden de implementatie van ABAP Cloud en het Clean Core-principe:
ABAP Cloud syntax check
ABAP Test Cockpit
ABAP Call monitor (SCMON) – welk maatwerk wordt nog gebruikt?
Extensibility cockpit
SAP Extensibility Explorer - Voorbeelden en demo’s
Conclusie
De combinatie van ABAP Cloud en het Clean Core-principe biedt organisaties een krachtig pad naar toekomstbestendige SAP-systemen. Door slim gebruik te maken van moderne ontwikkelmodellen en tools, kunnen flexibele, veilige en onderhoudsarme oplossingen gemaakt worden die klaar zijn voor de toekomst.
Meer informatie
Benieuwd hoe jouw organisatie de stap kan zetten naar een Clean Core-systeem? Of heb je vragen over SAP Workflow, Fiori, SAP Invoice Management (SIM) of SAP Master Data Governance (MDG)? Neem dan contact op met Victor van den Hazelkamp.