Skip to Content
Technical Articles
Author's profile photo Abhishek Sharma

How to add Determination in ABAP Restful Application Programming Model


In this beginner blog post we are going to see how to add Determination Functionality in ABAP Restful Application Programming Model.


Ref :



Determination in ABAP Restful Application Programming Model is used to determine something at runtime, when Trigger condition matches.

Determination is always invoked by Business Object Framework. Determination always defined inside the Behavior Definition of BO and it belongs to the Entity for which the Behavior Definition is created.

Determination can calculate the data or value based on certain condition (Determination Conditions). OR we can also say to understand : Determination can be used to determine value of one field based on some other field.

EX: College Course Duration : Course duration can be determine based on Course Name.


Determination is Invoked when Trigger Time matches. This Trigger time can be on save, on modify

on save : Determination will be triggered at the time of saving data i.e. when data getting to Persistent Layer.

on modify: The determination is triggered during a modify operation.


Trigger Fields : Determination cal also be triggered by the fields which are assigned to Entity of Business Object.


Step by Step Guide


Step 1

Define Determination in Behavior Definition.


Syntax :

Determination <method name> <Trigger Time> {field : <Trigger Field>}

Creating Determination with method name as updateCourseDuration which will be trigger on on save , and Trigger field would be Course. Since we want to update Course Duration field based on Course selected by user



Step 2

Determination is defined. Now Follow below steps to create method Implementation.



Method is created.



Step 3

Now we are going to write some code which will check if which course is selected by User. Based on Selected Course by User we are going to assign course duration.


step 1 : We are reading Entity and getting Course field values

step 2 : We are checking the Course field value. If Computers, then we are updating courseDuration field with 5.

step 3 : We are checking the Course field value. If Electronics, then we are updating courseDuration field with 3

Finally choose Activate All option to activate Determination changes in Behavior Definition.


Step 4

Run Application using Service Bindings


Choose the Course from F4 help, and click on Save button.

So once Course is changed to Computers the Course Duration field value got updated.



We can define multiple Determination for multiple Entities. If multiple Determination are defined then we can not know the order of which determination will be triggering first if they are getting triggered on same condition.




Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Shailaja Ainala
      Shailaja Ainala

      Nice blog.


      -- Shailaja.

      Author's profile photo Huy Huynh Hong
      Huy Huynh Hong

      Hello Abhishek,

      Could you trigger Determination after pressing Enter instead of pressing Save button?

      Best regards,


      Author's profile photo Abhishek Sharma
      Abhishek Sharma
      Blog Post Author

      Hi Huy Huynh Hong 

      change Determination to on modify instead on on Save.


      determination updatedata on modify { field Course; }

      Visit below video:


      Hope this helps.



      Author's profile photo Denis Galand
      Denis Galand

      Thank you Abhishek Sharma for your great guides, explained step by step makes it much easier to understand 🙂

      I have a problem with this exercise, when I change the course with a save, the value is changed in the database, but i have to refresh the object page, or go back to the list report page to see the change.

      Here's a video of the behaviour:

      The package ZARESTDEGAL is where my code stands, based on your exercises is in the ABAP Trial in BTP US East, if you have the chance to have a look?

      Best regards