In this beginner blog post we are going to see how we can use Side Effects in ABAP Restful Application Programming Model.
What is Side Effects:
When user makes a change to a field on UI, and this change effect the content of other field, this behavior is called Side Effect.
Annotation to Implement Side Effects:
Source properties: Properties on which you want to trigger Side Effect behaviour. Source properties are responsible to trigger Determination on action (on modify)
Target properties: Properties you want to manipulate as a result of Side Effects. Target properties contains fields which are updated or modified as result of Determination.
Implement Determination logic:
Implementing Determination Logic to update Salary based on Role. The problem statement is – when user change Role from Teacher <-> Professor then Salary should be updated without refresh of full page.
Above requirement can be achieved by using Side Effects to update dependent field.
1- In behavior Definition file added Determination with method name changeSalary and action “on modify” with source property as Role.
Determination changeSalary will be triggered as soon as Role property is changed.
Create Service API V4
2- To create Service API V4 to use in Fiori Application. Create new Service Binding.
Once created Activate and Publish Local Service Endpoints.
3- Now we are going to create Fiori Application where we will be using this V4 API.
Create New Fiori Application using Template
Select Service created in previous steps.
Click Next. Select main Entity
Create Module and fill all required Information and click on Finish.
Once Module is ready. Open Annotations Folder and then Annotations.xml file
Update below SideEffects annotation to file.
<Annotations Target=".....">
<Annotation Term="Common.SideEffects">
<Record>
<PropertyValue Property="SourceProperties">
<Collection>
<PropertyPath>Role</PropertyPath>
</Collection>
</PropertyValue>
<PropertyValue Property="TargetProperties">
<Collection>
<PropertyPath>Salary</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
To add namespace click on QuickFix option.
Click on Availablable option to add Namespace for SideEffects Annotation.
Everything is done. Now run the Application.
Application is loaded.
For Role teacher Salary is 10,000
Change Role to Professor and Hit ENTER, Salary will be updated
No comments:
Post a Comment