In this session we introduce the new guidelines for clean core ABAP development in the well-known 3-tier extensibility model in SAP S/4HANA Cloud Private Edition and on-premise and handle transformation options for existing custom code to ABAP Cloud including outlook of future generative AI support. You will also learn how ABAP Test Cockpit will support governance of your clean core developments.
Speaker : Olga Dolinskaja and Thomas Fiedler
Link to presentation: https://dam.sap.com/mac/u/a/7iTe3Un?rc=10&doi=SAP1132138
Link to validation tutorial: https://developers.sap.com/tutorials/devtoberfest2024-week3-abap-session-validation.html
ABAP custom code tools: https://pages.community.sap.com/topics/abap-testing-analysis
ABAP development: https://pages.community.sap.com/topics/abap
How is the Tier-3 model upgrade-safe?
Even though the unreleased APIs are in Tier-3, those objects are invoked during the execution of the objects in Tier-1 via Tier-2. Imagine a situation where SAP modifies an unreleased object, which is obviously not guaranteed by SAP. So, how do the objects in Tier-1 maintain "stable functionality"?
Hi @Ramjee_korada ,
for Tier 2 developments you should use the Classic APIs for tier 2. They are unreleased for ABAP Cloud but stable and will not change.
Kind Regards,
Olga.
Hi @OlgaDolinskaja ,
Great. In that case, Can we say the objects are 'released and stable' for custom usage but not cloud ready ? If this is the case, do we get any error if we use non-released objects in Tier 2.
Best wishes,
Ramjee Korada
Hi @Ramjee_korada ,
if using Classic API (which is stable but not released for ABAP Cloud) in tier 2 you will get ATC info message (prio 3) during cloud readiness check.
Kind Regards,
Olga.
Thanks for quick feedback. Logically the same ATC message would be raised even in Tier 3. What is the value add in creating wrapper other than segregating? My perspective is that Tier-2 would be a redundant and overhead for classic released ( not cloud ready ) APIs.
Best wishes, Ramjee Korada
Hi @Ramjee_korada ,
the purpose of tier 2 is to cloud-enable not released APIs for ABAP cloud development in tier 1. After creating a custom wrapper you can release it for ABAP Cloud (switch the language version) and use in tier 1. The purpose of classic APIs for tier 3 is just to support your upgrade stability: if you still need to extend your classic developments in tier 3 you would rely on tier 3 Classic APIs. But the main development target is tier 1, and tier 2 is just supporting the cloud enablement of missing APIs for tier 1. The ATC checks for tier 2 and tier 3 Classic APIs will be also different.
Kind Regards,
Olga.
Hi @OlgaDolinskaja
Thanks again!!
'After creating a custom wrapper you can release it for ABAP Cloud (switch the language version) and use in tier 1.' - This does not mean the overall code being executed for a business transaction is cloud ready but just the wrapper is marked for cloud ready with help of ATC exemption.
Best wishes,
Ramjee Korada
Really looking forward to the extended ATC for Tier-3 developments. Big news for everyone who has to deal with a large amount of classic-ABAP Dynpro developments.