All topics
RAP_CDS_ODATAintermediate

RAP Business Objects

Learn RAP Business Objects as transactional aggregates with root and child entities, behavior, actions, validations, determinations, locks, authorization and save handling. The focus is designing one coherent business transaction rather than exposing database tables as CRUD.

Overview

Learn RAP Business Objects as transactional aggregates with root and child entities, behavior, actions, validations, determinations, locks, authorization and save handling. The focus is designing one coherent business transaction rather than exposing database tables as CRUD.

Lessons in this topic

Interview questions covered

  • What is a RAP business object, and how do you decide which entities belong in its composition tree?
  • A 'Project' BO contains WBS elements, tasks, time entries and documents as compositions. Project managers constantly get lock errors. How would you redesign it?
  • Walk through the four RAP implementation types and give one example scenario for each.
  • Explain the RAP transaction model: what happens between a user's change and the database commit?
  • An action calls a legacy function module that ends with COMMIT WORK. What can go wrong, and how do you integrate it correctly?
  • Explain locks, ETags and the total ETag in RAP. Which problem does each one solve?
  • Users sometimes get 'data has been changed by another user' immediately after their own change in an unmanaged BO. What do you investigate?
  • Explain the difference between authorization, feature control and CDS access control in RAP, with an example of each.
  • How do you design RAP messages so that users understand what went wrong and messages disappear once the problem is fixed?
  • Support tickets say 'no authorization to change the request', but users have the right roles. Investigation shows the rule is 'approved requests cannot be changed'. What is wrong and how do you fix it?

Related topics

Interview questions on this topic