cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Seeking Architectural Guidance for a Generic Data Maintenance Tool on BW/4HANA – RAP, SEGW, CAP etc.

Hinzundkunz
Explorer
0 Kudos
840

Hello SAP Community,

I’m currently evaluating architectural options for a generic web-based tool that allows maintenance of Direct Update aDSOs or ABAP tables in a project-independent and highly configurable way. The backend system is SAP BW/4HANA, and the frontend will be developed using SAPUI5. Deployment on SAP BTP is possible, but BW/4HANA will remain the system of record.

Functional Requirements:

  • Maintain arbitrary Direct Update aDSOs or ABAP tables
  • Control logic via a customer-specific control table, enabling:
    • Field-level validations (based on data types)
    • Semantic validations (configurable with minimal effort)
    • Project-specific logic via custom ABAP enhancements

Technical Considerations:

  • Frontend: SAPUI5
  • Backend: BW/4HANA (not S/4HANA)
  • Deployment: Either embedded in BW/4HANA or hosted on SAP BTP
  • Integration: Even if hosted on BTP, the app must integrate with BW/4HANA

Architectural Alternatives I'm Considering:

  1. ABAP RAP (on BW/4HANA) – but I’m aware RAP is only partially supported in BW/4HANA.
  2. SEGW (SAP Gateway) – traditional OData service generation.
  3. Custom OData services – manually implemented in ABAP.
  4. CAP (Cloud Application Programming Model) – if hosted on BTP.
  5. RAP on BTP (Steampunk) – with remote access to BW/4HANA via RFC or OData.

My Challenge:

I initially tried generating an OData service via CDS and /IWFND/MAINT_SERVICE, but quickly realized this only supports read-only scenarios. Since I need full CRUD capabilities, this approach turned out to be a dead end for my use case.

I’m now trying to evaluate the pros and cons of the above options, especially in the context of:

  • Compatibility with BW/4HANA
  • Support for custom validations and extensibility
  • Integration with SAPUI5
  • Maintainability, scalability, and security
  • Performance and data volume handling

Request to the Community:

If you have experience with similar scenarios, I would greatly appreciate:

  • Your recommendation for the most suitable architecture
  • Any lessons learned, especially regarding limitations or pitfalls
  • Insights into what works well with BW/4HANA and what doesn’t
  • Whether RAP on BTP is a viable and future-proof option in this context

Thank you in advance for your support and insights!

Best regards,
UI5 Beginner

View Entire Topic
Marian_Zeis
Active Contributor
0 Kudos

You're clearly already using a LLM, why not continue to chat with it to ask the questions? Just use RAP and Fiori Elements on stack.

Hinzundkunz
Explorer
0 Kudos

Hi Marian,

I am working with MS Copilot to investigate new topics and better formulate what I have in mind.
1. I started with a SAP Learning Journey
"Getting Started with Creating an SAP Fiori Elements App Based on an OData V4 RAP Service"
The second unit "Getting an Overview of ABAP RESTful Application Programming Model" taught me that there is Boilerplate generator class available for RAP artifacts.
I checked my BW/4HANA development system. The generator class is not available.

2. Eclipse ADT version 2024-09
When I connect with BW/4HANA ABAP I don't see any generator function for RAP. Sure I could create the CDS data definition and other objects from scratch with eclipse.

3. SAP Github page with samples
Than I found https://github.com/SAP-samples/cloud-abap-rap. Here I saw as requirement that only S/4 environments and BTP is listed explicitly. There is no single word/hint about BW/4HANA.

4. MS Copilot
I consulted LLM as you said. The only information here I got is that RAP is limited on BW/4HANA. Copilot does not find any web resource where I could get more details what kind of limitation.

5. Web search
I utilized Google. Still I could not find any information about the compatibility of RAP on BW/4HANA (on-premise) neither on SAP.com nor the Internet.

6. RAP on BW/4HANA (on-premise) vs RAP on BTP
Now I am asking who made this experience before. Is RAP on BW/4HANA (on-premise) against the information from Copilot fully supported. Or should I directly start with RAP on BTP because the support coverage, compatibility BW/4HANA and RAP is not enough.

Thanks in advance!

Best regards,
UI5 Beginner

 

Hinzundkunz
Explorer
0 Kudos

Hi Marian,

I asked AI to gave me a minimal RAP step by step example. I failed at step 3.
The Behavior Definition shows following error: "Empty Module #66"
The conclusion of AI is that SAP BW/4HANA 2023 even with the most recent support package has an old Netweaver version and therefore no ABAP Platform 2021 features. And with that BW/4HANA has no RAP stack at all.
My conclusion now is RAP on BW/4HANA (on-premise) is not limited, it is not working at all, if I could not get a Hello World program to work.

STEP 1: SE11 - Creating a simple table
@EndUserText.label : 'Hello World with RAP'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table zhello_rap {

key mandt : abap.clnt not null;
key id : abap.numc(5) not null;
name : abap.char(40);
created_at : abap.dats;

}

STEP 2: Creating a CDS Data Definition
@EndUserText.label: 'Hello RAP View'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.modelCategory: #BUSINESS_OBJECT
@ObjectModel.createEnabled: true
@ObjectModel.updateEnabled: true
@ObjectModel.deleteEnabled: true
define root view entity Z_I_HELLO_RAP as select from zhello_rap {
key id,
name,
created_at
}

STEP 3: Creating a CDS Behavior Definition
define behavior for Z_I_HELLO_RAP
persistent table zhello_rap
lock master
authorization master ( instance )
{
create;
update;
delete;
}