S/4HANA Cloud system must be of release 1811 or higher.
Custom Business Object must already be created in S/4HANA Cloud.
Business rules must be created in SAP Cloud Platform and deployed in S/4HANA cloud.
Step 1
Open the Bonus Plan custom business object in S/4HANA cloud system.
Switch to Logic tab.
Click the After Modification link.
Can custom business object be extended with rules integration in SAP S/4HANA?
Step 2
Copy this code appropriately after consistency check block.
In the code do not forget to replace: bonusplanbusinessrules with your custom business object name and rule service ID in ABAP function call cl_fdt_brs_processor
ABAP
Copy
TYPES : BEGIN OF ts_bonus,
percentage_value TYPE c LENGTH 3,
END OF ts_bonus,
tt_bonus TYPE TABLE OF ts_bonus.
TYPES : BEGIN OF ts_bplan,
high_bonus_assign_factor TYPE int4,
low_bonus_assign_factor TYPE int4,
validity_end_date TYPE d,
validity_start_date TYPE d,
END OF ts_bplan.
DATA : lr_data TYPE REF TO data,
lr_bonus TYPE REF TO data,
lt_name_value TYPE cl_fdt_brs_processor=>t_name_value,
ls_name_value LIKE LINE OF lt_name_value,
lt_data TYPE tt_bonus,
ls_input TYPE ts_bplan.
FIELD-SYMBOLS : <la_any> TYPE ANY TABLE,
<lv_field> TYPE any,
<ls_bonus> TYPE data.
DATA(lo_dsm) = cl_fdt_brs_processor=>get_instance( EXPORTING iv_function_id = '2ad0fa9edf294a0482235917f728cba9' ).
lo_dsm->get_data_object_reference( EXPORTING iv_data_object = 'BONUS_PLAN_TT'
IMPORTING er_data = lr_bonus ).
ls_input-validity_start_date = bonusplanbusinessrules-validitystartdate.
ls_input-validity_end_date = bonusplanbusinessrules-validityenddate.
ls_input-low_bonus_assign_factor = bonusplanbusinessrules-lowbonusassignmentfactor.
ls_name_value-name = 'BONUS_PLAN_TT'.
ls_name_value-value = REF #( ls_input ).
APPEND ls_name_value TO lt_name_value.
"Invoke
*TRY.
lo_dsm->process( IMPORTING ea_result = lt_data
CHANGING ct_name_value = lt_name_value ).
*ENDTRY.
READ TABLE lt_data INTO DATA(ls_data) INDEX 1.
bonusplanbusinessrules-lowbonuspercentage_v = ls_data-percentage_value.
IF bonusplanbusinessrules-id IS INITIAL.
bonusplanbusinessrules-isconsistent = abap_false.
ENDIF.
Click Publish to save and publish the changes.
Step 3
Switch back to the General Information tab of custom business object.
Click the Go To Generated UI link.
Click Go if you have bonus plan data created, or click + to create a new one.
You can edit the Low Bonus Assignment Factor and save it to see the change in Low Bonus Percentage
Which ABAP (BRFPlus) utility API is used for rules consumption?