Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
boris_gebhardt
Explorer
The SAP S/4HANA Cloud ABAP Environment (Embedded Steampunk) is available for new customers.
Please see Sven Denecken's video and Arpan Shah presenting Embedded Steampunk in the last SAP S/4HANA Cloud update: SAP S/4HANA Cloud 2208: Run Business Efficiently | SAP News Center

Many of you have read Harald Kuck’s blog post https://blogs.sap.com/2021/09/30/steampunk-is-going-all-in/ which explains nicely the benefits and concepts behind Embedded Steampunk.
But we still get a lot of questions from ABAP experts asking what exactly Embedded Steampunk is about.
This blog provides some more details about Embedded Steampunk for ABAP developers. But stay tuned - we are in the final phase of releasing a new SAP community landing page for Embedded Steampunk. Additionally, a comprehensive SAP S/4HANA ABAP extensibility guide will be published soon. All these resources will answer most of your Embedded Steampunk questions.

From classic ABAP extensions to ABAP Cloud development


You all know the Classic ABAP extensibility model which has been used during the last decades to extend SAP ERP systems. It allows ABAP developers to use and even to modify all SAP objects. This is powerful and flexible. But the missing clear interface between SAP code and the extension adds a lot of test and adaptation effort during SAP upgrades – this is a no-go for the automated SAP software updates in the public Cloud.


Classic ABAP extensibility


With the launch of Steampunk (SAP BTP ABAP Environment) SAP introduced a new ABAP Cloud development model which leads to modern, cloud-ready, and upgrade-stable ABAP apps and extensions.

ABAP Cloud development means:

  • Use public SAP APIs (local or remote) released by SAP to access SAP functionality and SAP data.

  • Use public SAP extension points released by SAP to extend SAP objects. Modifications to SAP objects are not supported.

  • Use ADT (ABAP Development Tools) as your ABAP IDE

  • Use RAP (ABAP RESTful Application Programming Model) to build Fiori apps and services. SAP technologies like Dynpro or Web Dynpro are not released for ABAP Cloud development


The ABAP Cloud development rules are enforced via:

  • ABAP compiler and runtime checks: We introduced a new ABAP language version = “ABAP for Cloud Development” for ABAP Cloud. This ABAP language version defines the set of supported ABAP statements (e.g, no CALL SCREEN) and launches syntax- or runtime errors if for example, a non-public SAP API is used.

  • ABAP authorization checks: We redefined the authorizations in the ABAP Cloud developer role. For example, no authorization to change SAP objects.


The ABAP Cloud development model is mandatory for:

  • ABAP apps and extensions built on SAP BTP (Steampunk)

  • ABAP extensions built on SAP S/4HANA public Cloud edition (Embedded Steampunk)


This explains the term Embedded Steampunk. The ABAP Cloud development model of Steampunk is now available “embedded” in SAP S/4HANA Cloud.

SAP plans to support the ABAP Cloud development model (Embedded Steampunk) in the SAP S/4HANA private Cloud and on-premise edition as well. Private Cloud and on-premise customers can decide on ABAP object level whether they want to use ABAP Cloud (Embedded Steampunk) or stay with Classic ABAP extensibility.

ABAP Cloud will provide ONE common and future-proof ABAP development model for side-by-side extension on SAP BTP and for extensions running directly on the SAP S/4HANA stack:

  • Steampunk: Build ABAP Cloud apps and extensions on SAP BTP (side-by-side to SAP S/4HANA)

  • Embedded Steampunk: Build ABAP Cloud extensions on SAP S/4HANA (all editions)


Added value of ABAP Cloud development (Embedded Steampunk):

  • Public Cloud: ABAP Cloud (Embedded Steampunk) is the only option* to develop extensions that should run on the SAP S/4HANA public Cloud edition stack - e.g. because the extension needs proximity or coupling to SAP data, SAP transactions, or SAP apps.
    For all other loosely coupled apps and extensions SAP BTP is the default choice. Here, developers can choose their preferred programming environment (Java, Node.js, ABAP…). ABAP Cloud added the option to build ABAP based apps or extensions on SAP BTP (Steampunk)

  • SAP S/4HANA private Cloud and on-premise edition: ABAP Cloud will be a new option to build upgrade-stable extensions on SAP S/4HANA (Embedded Steampunk) that are ready for the next cloud transformation steps. This complements the SAP BTP extensibility offering and helps to reach a Clean Core.


 *Embedded Steampunk is often combined with Key user extensibility - for details and a comprehensive example please read this nice blog post.

 

Examples and a glimpse into the system


ABAP extension on Steampunk or on SAP S/4HANA public Cloud edition (Embedded Steampunk)


In the public cloud, the ABAP Cloud development model is mandatory for ABAP extensions. The ABAP language version is automatically set to "ABAP for Cloud development" for all custom ABAP objects and cannot be changed. (Here for the custom ABAP class ZCL_BGTEST)


In the public cloud ABAP Cloud development is mandatory



ABAP Cloud development (Embedded Steampunk) on SAP S/4HANA private Cloud or on-premise edition (planned innovation)


In SAP S/4HANA private Cloud and on-premise, ABAP Cloud development will be a recommended option - especially for new ABAP development projects. The ABAP language version of custom ABAP objects  (e.g., an ABAP class) can be changed one by one from Classic ABAP  (= Standard ABAP) to ABAP Cloud (= ABAP for Cloud Development)


In private cloud and on-premise ABAP Cloud development will be a new recommended option



Example for a local public SAP API released by SAP for ABAP Cloud development


The SAP CDS (Core Data Services) view i_product allows to read data (e.g. via a SELECT) from the SAP table MARA (material master). SAP released this SAP CDS view as a local public SAP API for ABAP Cloud development (ABAP language version “ABAP for Cloud development”). The direct access to SAP tables is not allowed in the ABAP Cloud development model.


The released public SAP CDS view i_product



ABAP Cloud development (Embedded Steampunk) – Get syntax errors when trying to use non-public SAP APIs


The ABAP class ZCL_BGTEST in the screenshot underneath uses the ABAP Cloud development model (ABAP language version “ABAP for Cloud development”). The class cannot be compiled because of two ABAP statements containing syntax-errors:

  • Line 23: The SAP function module “POPUP_TO_CONFIRM” is used in the classic Dynpro/SAP GUI world and is no public SAP API in the ABAP Cloud development model.

  • Line 24: Direct access to SAP table MARA is not allowed (use public CDS view i_product – see line 27).



ABAP Cloud development - Syntax errors for non-public API usage

56 Comments
larshp
Active Contributor
As a developer without access to a system with Embedded Steampunk, how is it possible to identify the objects that are released?

I would like to use released objects on lower releases, if they exist, so the code I'm writing today is compatible with Embedded Steampunk.
WolfgangJanzen
Product and Topic Expert
Product and Topic Expert
For "SAP BTP ABAP Environment" (aka "Steampunk") there's the option to use a trial system.

Starting point: https://developers.sap.com/trials-downloads.html resp. https://account.hanatrial.ondemand.com/trial/#/home/trial


There's even a tutorial provided.
larshp
Active Contributor

For Steampunk, most released objects are listed at https://abapedia.org/steampunk-2208-api/

But I don't know of a way to list released objects in Embedded Steampunk(SAP S/4HANA Cloud) without access to a system. I find it important that already today, all developers in lower releases starts aligning towards the released objects.

Will there be a free public trial for Embedded Steampunk in the last SAP S/4HANA Cloud ?

VijayCR
Active Contributor
boris.gebhardt
Can we use BADIs,User Exits BTEs in embedded steam punk ?

Which classical SAP features SAP is trying to bring in Embedded Steam punk ?


Thanks,

Vijay
karl_kessler
Product and Topic Expert
Product and Topic Expert
Hi Vijay,

BADIs are fully supported in Embedded Steampunk. BADIs belong to the public extensions points and therefore are upgrade-stable.

User exits and BTEs belong to classical extension techniques and are not supported for ABAP Cloud development following the Embedded Steampunk rules. They still occur in private Cloud deployments, though, and can be implemented using the classic extension approach.

Best regards,
Karl
AlexanderRother
Advisor
Advisor
Hi Lars,

the public local APIs for Embedded Steampunk can be inspected on the SAP API Business Hub > S/4HANA Cloud > Developer Extensibility (https://api.sap.com/products/SAPS4HANACloud/developerextensibility/bointerface). There you currently find RAP Business Object Interfaces and BAdIs. Likewise, released CDS views can be found under SAP API Business Hub > S/4HANA Cloud > CDS Views (https://api.sap.com/products/SAPS4HANACloud/cdsviews/cdsviews)

These sections will be extended continuously with newly released objects.

Please also have a look at the product documentation on SAP Help to get more information about CDS Views and Developer Extensibility in SAP S/4HANA Cloud.

Best regards,
Alexander
larshp
Active Contributor

Classic Steampunk have released objects of types(and more?):

  • Classes
  • Interfaces
  • Table Types
  • Data Elements
  • Domains
  • Structures (TABL)
  • Type Pool(ABAP)
  • and a few XSLT

does none of these object types have released objects in Embedded Steampunk on SAP S/4HANA Cloud ? I would expect the released objects on S/4 to be a superset of classic steampunk?

ThFiedler
Product and Topic Expert
Product and Topic Expert
As an interim solution you can check the content of note: https://launchpad.support.sap.com/#/notes/3088062

This includes a table of successor informations ("old API" -> released API),
e.g. MARA -> I_PRODUCT

Our goal is to provide this information in a human and machine readable format in near future.

Regards,

Thomas.
larshp
Active Contributor

Thanks, I've noted that 150+ BAPIs are mentioned in the "old API" column, does SAP consider BAPIs to be deprecated/obsolete?

 

https://help.sap.com/docs/ABAP_PLATFORM_NEW/166400f6be7b46e8adc6b90fd20f3516/4dd3d01ec1b964dfe100000... mentions

Once a BAPI has been developed and released by SAP, its interface definition and parameters remain stable in the long term. This ensures that an application program is not affected by changes in the underlying SAP software and data.

If BAPIs need to be enhanced, for example by adding optional parameters, SAP can do this without affecting the stability of existing applications. At the same time new applications can benefit from the enhanced functions.

ThFiedler
Product and Topic Expert
Product and Topic Expert
BAPIs will most likely not be released for ABAP for Cloud development. Read access to business data will be available via CDS views. Updates via RAP facades.

 
ThFiedler
Product and Topic Expert
Product and Topic Expert
There is a list of all released BADIs available as attachment to OSS note: OSS Note mit Successor Excel

--> badidefinitions_catalog_s4core.zip
WRoeckelein
Active Participant
Hi Thomas,

weil, this note is better than nothing, but for anything non-obvious it is not helpful.

eg kbed is also used in maintenance orders and not only in production orders which is completly ignored in the table from the note.

eg currently I am searching for a method to parse an ISO timestamp string into a timestamp (like cl_xlf_date_time->parse offers) - does anybody here has a suggestion for this (besides manual implementation) in steampunk?

Otherwise we are looking forward to S/4HANA Cloud ABAP Environment!

Regards,

Wolfgang
WRoeckelein
Active Participant
0 Kudos
Hi all,

BTE sucessor should be the newly released RAP Events AFAIK, but the question remains, how fast this will be adopted in the individual areas...

Regards,

Wolfgang
AlexanderRother
Advisor
Advisor
Hi Lars,

very good point, of course the objects that are released on Steampunk are also available in Embedded Steampunk in SAP S/4HANA Cloud. You can find more information in the corresponding section of the SAP Help documentation.

The focus of the released objects listed on the SAP API Business Hub is on business object-related object types.

Best regards,
Alexander
WRoeckelein
Active Participant
Thanks, great idea, I wasn't really aware that I could search abapedia.

yes,
    cl_abap_utclong=>read_iso_format( EXPORTING string = '' IMPORTING value = DATA(val) ).
DATA(test) = cl_abap_tstmp=>utclong2tstmp( val ).

should work.
VijayCR
Active Contributor
Thanks karl.kessler  : This is very helpful , How to handle the background job reports and SE11 tables using embedded steam , Is there any roadmaps planned for this using embedded steampunk ?
VijayCR
Active Contributor
0 Kudos
thomasfiedler  : Really help SAP Note 🙂 I am able get most of the new BADIs and hopefully these will be available in the on-premise version of 2208 as well ?
GK817
Active Contributor
0 Kudos
Thanks for this very informative blog.

What is the difference between 'ABAP for Cloud Development' and 'ABAP for Key Users'?

Gaurav
ThFiedler
Product and Topic Expert
Product and Topic Expert

Yes, this is our goal to provide the same list of released BAdis also for on-premise with the 2022 release.

ThomasSchneider
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi,

'ABAP for Cloud Development' and 'ABAP for Key Users' are explained in detail in the following blog posts:

S/4HANA Extensibility Concept Details: Restricted ABAP | SAP Blogs -> general concept of ABAP Language versions and ABAP for Key Users.

Restricted ABAP for SAP BTP ABAP Environment | SAP Blogs -> 'ABAP for Cloud Development'. In this blog the name of the language version is still referred to as "ABAP for SAP BTP", it has been recently renamed to 'ABAP for Cloud Development' . It is available in SAP BTP (therfore the original name) and - as of 2208 - in SAP S/4HANA Cloud, and in S/4HANA on-premise.

Best regards,

Thomas

 
GK817
Active Contributor
0 Kudos
Thanks Thomas.

 

I would assume that 'ABAP for Cloud Development' and 'ABAP for BTP' will have some differences. Embedded steampunk should have less restrictions, i believe, as it will be closer to S/4HANA. ABAP for BTP won't have any BAdI implementations or direct access to back-end released CDS views. As per my understanding, Embedded steampunk ABAP should be closer to ABAP for Key users. No?
ThomasSchneider
Product and Topic Expert
Product and Topic Expert
Hi Gaurav,

there is no difference between the language versions 'ABAP for Cloud Development' and 'ABAP for BTP'. 'ABAP for Cloud Development' is just the new name for 'ABAP for BTP'.

But there is of course a difference in the amount of APIs and extension points that you can use. In SAP BTP ABAP Environment, you can use the (local) APIs (and extension points) from the ABAP platform only. In SAP S/4HANA Cloud ABAP Environment, you can use the (local) APIs from ABAP platform and from the S/4HANA Cloud layer. This is visualized nicely in Harald Kucks blog  https://blogs.sap.com/2021/09/30/steampunk-is-going-all-in/ in the pictures.

It is important to distinguish between the language version (= which ABAP language elements are allowed) and the APIs (and extension points) that are available in a particular product. The language version 'ABAP for Cloud Development' is exactly the same in SAP BTP and in S/4HANA Cloud. The APIs (and extension points) are different.

For 'ABAP for Cloud Development' and 'ABAP for Key Users', the language versions are different. 'ABAP for Cloud Development' is much richer. See details in the my blog Restricted ABAP for SAP BTP ABAP Environment | SAP Blogs . The APIs are also different.

I hope this clarifies your question.

Best regards, Thomas.

 
Sschlegel
Participant
Hi Lars,

if the note 2923223 is back, you'll find there a list of public released and also deprecated APIs like classes, Views and BDEFs and so on...

Regards

Sören
BMEIJS
Active Participant
I created a new ABAP repository Tree in Eclipse ADT for released objects.

 


ABAP Repository Tree for released objects

wagener-mark
Contributor
0 Kudos
So if I want to use it in a S/4HANA private Cloud system can I do this once the 2022 OP release is available? And in a greenfield scenario (where the realize phase has not yet started) it is SAP's recommendation to do so?!
In SAP S/4HANA private Cloud and on-premise, ABAP Cloud development will be a recommended option – especially for new ABAP development projects.
ThomasSchneider
Product and Topic Expert
Product and Topic Expert
0 Kudos
For some detailed questions on ABAP language versions, the following FAQ might be useful:

ABAP Language Versions – FAQs

boris_gebhardt
Explorer
0 Kudos
The promised SAP community landing page for SAP S/4HANA Cloud ABAP Environment (Embedded Steampunk) is now available:

SAP S/4HANA Cloud ABAP Environment | SAP Community

Use this community to ask questions or to find more information about Embedded Steampunk.
IanStubbings
Active Participant
Hi Boris and Thomas

Are there replacements for BTEs? Perhaps in the same way that VOFM has a replacement in ES_SD_SLS_EXTEND? (see this blog post by vijay.sharma4)

Thanks

Ian
rchudziak
Participant
"Updates via RAP facades" - is this mentioned somewhere in documentations or any of the learning courses?

I understand that USING BAPis won't be possible to do it in the cloud version, but in the on premise we may still need to be required to use a BAPI as I don't think all available BAPIs have been replaced by RAP facades.

When working with RAP I noticed it is not the best tool to work with BAPIs, especially where you have a Parent->child relationship and have to pass them to the BAPI at the same time e.g. BAPI_PO_CREAT1. There is still no example how to do it. BOPF FIORI apps would be using a draft table and then converting it to an active instance on 'SAVE'  (although this is not released to customers - so it is a hack!).

Still not sure how this would be done in RAP. An example would be much appreciated.

And maybe a quick blog post comparing the on premise to cloud world e.g.

Data reads

Before: SELECT FROM DB TABLE

Cloud: CDS Views

Data updates

Before: BAPIs,

Cloud: RAP facades

Enhancements

Before: User exits, Customer Exits, BTEs, BADIs

Cloud: BADIs implemented in Eclipse ADT or via a "Custom Logic" FIORI app
CarineTchoutouo
Product and Topic Expert
Product and Topic Expert
CBasis
Participant
Hi boris.gebhardt

the term "ABAP Cloud" was announced by Jürgen Müller in the keynote
and we got the hint that your blog explains the term.

Unfortunately I still don't get it.

In your blog these terms are used:
- ABAP Steampunk
- ABAP Cloud development model
- ABAP Cloud development
- ABAP for Cloud development
- ABAP Cloud

(The term "ABAP Cloud" is rarely used in the blog .. and not even used once in https://blogs.sap.com/2022/09/09/abap-language-versions-faqs/ )

Question:  Are all these terms synonyms so far?
If yes:    Can we now reduce it to just "ABAP Cloud" starting with SAPTechEd 2022?


Remark:
Anyhow it will give us a hard to time calling the ABAP engine
in an OnPrem S/4HANA system:
"ABAP Cloud"   .. without any Cloud involved.


Christian
alejiandro_sensejl
Active Participant

Hi boris.gebhardt , I was led here from Teched Keynote and would like to share some doubts regarding new Clean Core API.

We are coming from ABAP addon partner (in a own registered namespace) and have only used BTP apps as side-by-side extensions.

For on-prem system we developing our addon in S/4HANA system but have ERP EHP8 system in our system track (as per SAP ICC suggestion for ABAP addons!) adopting one codeline approach. That being sad we are using the same released BAPIs for both S/4 and ERP.

Following new ABAP Cloud world suggesting to use new released APIs with new ABAP language version we cannot use BAPIs anymore. We also cannot use new RAP fascades as they are not available in ERP. So we will now have to implement some additional layer to split delivery components for ERP and S/4HANA and leave one codeline way, right?

My question to you: Can you provide a compability layer for ERP in SAP standard that uses BAPI or RAP depending on current system? Otherwise many many many manpower will be utilized at many development partners and probably also customers to implement such a compability layer, which will be very un-sustainable.

Cheers,
Alej

boris_gebhardt
Explorer
Hi Christian

Yes, now we can start to clean up all the names/terms and use those consistently. Concerning your list - only ABAP Cloud will survive this cleanup.

Naming

ABAP Cloud = The new ABAP development model (IDE, services, development model, ABAP language) leading to state-of-the-art, cloud-ready and upgrade-stable extensions and solutions.

ABAP Cloud is supported in the following products (+ links to the recommended blogs):

ABAP Cloud includes everything you need to build state-of-the art apps and services:

  • public SAP APIs (local or remote) to access SAP functionality and SAP data

  • public SAP extension points to extend SAP objects

  • ADT (ABAP Development Tools) as your ABAP IDE

  • RAP (ABAP RESTful Application Programming Model) to build Fiori apps and services.

  • Integrated support to consume and expose services

  • An ABAP Cloud language version that enforces the ABAP Cloud rules via syntax- and runtime checks (in the system the name is still “ABAP for Cloud Development” – one of the necessary clean-up steps)


So, we use the term ABAP Cloud for the entire development model and for the ABAP language version. This is consistent with the use of the term “ABAP”.
ABAP has always been more than the pure ABAP language.

The term ABAP Cloud in SAP S/4HANA Cloud, private edition and in on-premise

Many of the SAP S/4HANA Cloud, private edition and on-premise customers want to go for a Clean Core to have smoother SAP upgrades and to build future-safe extensions that are ready for their next cloud transformation steps.
For ABAP extensions this means that they follow whenever possible the cloud extensibility rules and switch step by step from classic ABAP to ABAP Cloud.

Next steps

Please read the new ABAP extensibility guide to get more details about ABAP Cloud.

Additionally, we plan to release a blog explaining ABAP Cloud in more detail.

Regards

Boris
larshp
Active Contributor
few examples, for code that runs on classic ABAP and ABAP cloud,

1: converting hex to utf, https://github.com/open-abap/open-table-maintenance/blob/main/src/zcl_otm_table_maintenance.clas.aba...

2: listing key fields of a database table, https://github.com/open-abap/open-table-maintenance/blob/main/src/zcl_otm_table_maintenance.clas.aba...

Its quite a lot of work

Also created https://github.com/open-abap/cross-http-client some time ago, pull requests welcome
alejiandro_sensejl
Active Participant

Hi Lars, yeah, that dynamic aproach is what we have started doing in cases we need it (ERP vs. S/4HANA) and maybe many other SAP customers/partners need to do. As we are providing our applications as add-on, which required use of only our registered namespace, we cannot rely on open source projects outside of our namespace.

But while you show examples for fascading ABAP tooling, I am asking more about APIs for SAP processes for both read (many many CDS views are already available, but no chance to use them on ERP) and write access (hardly any fascades for BAPIs available) to documents.

Edit: And while I have the chance here - THANKS a lot for your great efforts abapGit and ABAPLint! 🙂

larshp
Active Contributor

we cannot rely on open source projects outside of our namespace

Just automatically rename it and copy into your namespace

mwn
Explorer
0 Kudos
I’ve only just found this blog and was interested if the BC flight model, such as SCARR, SPFLI etc are available? Thanks
volkerdrees
Product and Topic Expert
Product and Topic Expert

Hello Michael,

it's technically there - but it's not released. Instead we offer a new reference scenario that can be imported from github. See: https://github.com/SAP-samples/abap-platform-refscen-flight

Best Regards, Volker

0 Kudos
Hi,

What are the specific (1) Advantages and (2) Limitations of Embedded Steampunk/Developer On-Stack extensibility as compared to Side-by-Side extensibility?

 

Regards,

Freddie
boris_gebhardt
Explorer
Hello Freddie

Please check chapter 3 "When to use which cloud extensibility option" of the new ABAP extensibility guide . Here you find the answers when to use on-stack and when to use side-by-side extensibility.

Regards

Boris
FelixOrtiz
Explorer
0 Kudos
olga.dolinskaja     Will there be an ABAP Test Cockpit (ATC) check we can leverage to check the ABAP for Cloud Development status of development objects already created in the landscape?
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Felix,

see please this blog: https://blogs.sap.com/2022/10/26/how-to-make-your-custom-code-cloud-ready-and-upgrade-stable/

The new functionality with regard to the ATC check for ABAP cloud development will come in the upcoming weeks (will be described in the new blog), stay tuned!

Best Regards,

Olga.
Hasan_Saeed
Explorer
0 Kudos
Hi Team,,

I need to extend standard App such as Sales order by additional fields in addition to add custom logic for some validations (that's implemented already in customer exits or BADI).

To keep the core clean, I need to do this using the BTP side by side extension, is this applicable? If not, what alternatives do you suggest?

Regards

Hasan
boris_gebhardt
Explorer
Hi Hasan

To keep the clore clean you can use the on-stack cloud extensibility options based on key-user extensibility or Embedded Steampunk, or you build the extension side-by-side on SAP BTP.

On-stack extensibility is used for extensions which are tightly coupled to the extended SAP S/4HANA apps, transaction or data. For loosely coupled extensions SAP BTP is the default choice.

For details please refer to chapter 3 "When to use which cloud extensibility option" of the ABAP extensibility guide.

Your example (add a custom field to the SAP sales order app, implement a BADI in the SAP business logic) sounds like a very tightly coupled extension and therefore I would first check key-user extensibility or Embedded Steampunk.

Regards

Boris
Hasan_Saeed
Explorer
0 Kudos
Thanks a lot Boris for your reply.
ssen283
Explorer
0 Kudos
Hi boris.gebhardt

 

Thank you for sharing valuable information.

With regards to developer/on-stack extensibility, we see a list of legacy objects that have 'released' successor (substitution) object recommendations, as seen in Note#3088062. While this list is helpful for on-stack developments, however most of those substitution objects are 'non-extensible' in context of Developer Extensibility.

For example, there are many traditional BAPIs that are recommended to be substituted with released BDEF or DDLS objects; (example - I_JOURNALENTRYTP for BAPI_ACC_DOCUMENT_POST) but they are mostly non-extensible, meaning any custom field extensions to the legacy object, cannot be handled via the released successor/substitution objects. Also checked in the SAP data sources like ARS_ADT_API_FLTR in latest S/4HANA 2022 system - which says there are only 20 released objects that are extensible (tagged - EXTEND_IN_CLOUD_DEVELOPMENT).

As custom field extensions are quite common customer use-cases, wanted to understand what is the recommended alternative for such scenarios?  Is the 'Tier-2' approach suggested here until more released APIs are enabled for custom extensions in Developer Extensibility? Kindly advise.

 

Warm Regards,

Saptarshi Sen
ThomasSchneider
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Saptarshi Sen,

the "golden path" is to create your custom fields  and add it to the BO interface with key user extensibility using the Custom Fields app. Many BO interfaces are already enabled, for example I_SalesOrderTP, I_PurchaseOrderTP, I_EnterpriseProjectTP, and many more.

You can use the custom fields created in key user extensibility in your code in developer extensibility.

If the extensibility enablement for a particular BO interface is missing, I would recommend to create a request on the S/4 API influence channel: https://influence.sap.com/sap/ino/#/campaign/2759

Best regards,

Thomas

.
ssen283
Explorer
0 Kudos
Ok. We can adapt a hybrid approach in terms of extensibility types based on API/BO properties. Thanks for your response thomas.schneider.
avijit_majumdar2
Newcomer
0 Kudos
Hi Experts,

We are transforming our systems to public cloud. We need to extend PR creation application by using SAP Released BADI for follow on processes post creation of Purchase requisition. But we are unable to see any BADI from ADT. Is there any configuration required in BTP? Please see the screen shot bellow for reference.