Showing results for 
Search instead for 
Did you mean: 

ABAP RAP, VDM, CDS complex business logic. Need some guidance


Hello community,

after several years on ABAP development, I have to learn new things and I'm a bit lost now, looking for some guidance.

From my understanding, everything starts with CDS views, which define our business entities and their relations (Interface views, Composite views). Also they offer a way to enrich these entities with annotations for metadata and UI. This I fully understand

VDM is also some kind of CDS view which represents Business objects and their relations. They have some "special" annotations to act as a VDM. From my understanding, VDM is a representation of, lets call it, common SAP entities like sales orders, items, and so on. But I don't see the benefit of VDM over "classic" CDS Views (beside there are already thousands pre-defined by SAP).

RAP also heavily rely on CDS views and, moreover, defines a way to implement CRUD and other actions.

Correct so far? Now things starts to confuse me, even after reading lots of blogs, help and courses.
When I start developing a Fiori application from scratch, what should I use? I'm working on-premise. Should I:

  • build consumption views based on VDM with UI annotations only and create service definition and binding?
  • build RAP based on VDM with service definition, behavior definition and all these kind in case of:
  1. use RAP anytime
  2. only RAP if behavior is needed (like custom actions)

Sometimes, it is not enough to read from a couple of tables/views. Business Logic can be more complex (even for read). Should I place everything into VDM, do it with RAP or should I use the good old SEGW for such an Entity?

Let's imagine I need to build a Fiori app which displays PP orders as list. It should also provide some actions like printing orders, create PP order out of planned orders and so on.
How should I start here?

Hopefully someone can sort things for me to clarify, when to use what.

View Entire Topic
0 Kudos

You have to understand the evolution of ABAP programming Mode starting from ABAP 7.4 ->ABAP programming model for Fiori -> RAP. This video will help to understand the concepts:-

As per my understanding if your S4 HANA version is 1909 or Most preferably 2020 and above go for RAP respective of read-only application or transaction application.