Personal Insights
Embedded Steampunk – What’s under the hood? Part III
Welcome to Part III of blog post series Embedded Steampunk – What’s under the hood?
- How to use Embedded Steampunk in S/4 HANA 2022 on premise system,
- RAP as the programming model of choice in Embedded Steampunk,
- Restricted ABAP in Embedded Steampunk with tried out examples (current topic),
- ADT tips which might be useful.
Hyperlinks to topic #4 will be updated here once it is published
NOTE: The term Embedded Steampunk is now replaced with “The SAP S/4HANA Cloud ABAP Environment”, as suggested in this blog
In part I, we observed how ABAP turns into Restricted ABAP as soon as we switch ABAP Language version from Standard ABAP to ABAP for Cloud Development. Let’s try to discover more about Restricted ABAP by having a look at few tried out examples. We will also see how error texts point to successor object name, hence making a developer’s life easier 😉
Restricted ABAP in Embedded Steampunk with tried out examples:
Direct (or even indirect) use of tables not permitted in repository objects
Direct use of table not allowed in class/FMs
Error Details:
Error
Use of table not allowed in USING parameter in AMDP methods
Table not allowed in USING clause of AMDP
Error Details:
Error
Direct use of table(as a data source) not permitted in ABAP for Cloud CDS
Direct use of table not allowed in ABAP cloud CDS
Error Details:
Error Details
Direct use of table(as an association) not permitted in ABAP for Cloud CDS
use of table as association not allowed
Error Details:
Error
Direct use of table not permitted in RAP Behavior Definition
use of table not allowed in RAP BDEF
Error Details:
Error
Wondering how to specify draft tables or how to specify persistent tables while building RAP based services or APIs on ABAP Cloud?
Nothing to worry, we have RAP BO Interfaces available now in S/4 HANA 2022 On Premise to serve this purpose 😉
Learn more about RAP BO Interfaces here.
Not allowed to release DB tables
Not allowed to release tables
After seeing above restrictions, this makes sense 😀
Use of unreleased APIs not permitted
Unreleased Class not permitted
Unreleased Class:
Unreleased Class
Error Details:
Error Details
Note: Error text points to the successor objects, that’s the most beautiful part 🙂
Use of unreleased standard CDS not allowed in ABAP for Cloud CDS
Unreleased CDS not allowed with successor object details in error text
Unreleased CDS:
Unreleased CDS with successor object
You can find more about Restricted ABAP, what’s allowed and what’s not, a list of whitelisted APIs in this document.
Hope you liked the post. Please share your thoughts in comments, or connect with me on LinkedIn.
In the next and final blog post of this series, we would see some really cool ADT features, so stay tuned 😉
Thanks,
Aman Garg
Hi!
I like your Trilogy-Blog very much.
Why should someone use the BTP_Steampunk instead of the embedded Steampunk?
THX
Ralf