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