You are on page 1of 12

BRFPLUS

About BRFPLUS:

BRFPLUS or Business Rule Framework Plus is a business rules management system (BRMS) offered by
SAP AG. BRFplus is part of the SAP NetWeaver ABAP stack. Therefore, all SAP applications that are
based on SAP NetWeaver can access BRFplus within the boundaries of an SAP system.

Where and How to use BRFPLUS:

Consider an application to determine the salary of applicants to a job position where the salary and
designation of the applicant are getting calculated based on certain rules. And those rules are prone to
change. Meaning, in a year itself, there can be many rules for determining the salary. So it’s always
advisable to segregate rules from the code.

We can still go with normal IF ELSE conditions. But when the frequency of change in rules if high, let’s
leave that to a separate application where even a lay man can manage the rules.

In this application, we will see the creation of,

1) Data Objects

2) Expressions

3) Functions

4) Rule sets

5) Actions

Let’s say that a company decides to recruit people from outside and the process of recruitment is already
done. But the salary discussion is yet to happen and they have a list of people from different companies as
applicants. So, they decide to create a BRF Plus application and it will run with input of company name and
years of experience.

For this purpose, they have a list of values relevant for this. I will categorize them as 3 tables as in the
picture.
In the above picture, the rule is->If the applicant is belonging to a tier 1 company, then he has to have the
experience of 2 years to be an SE while for an applicant from tier 2 company needs 3 years. Also, the salary
for the tier 1 company applicant is more than the tier 2 company (Just for this example.

So, the rules are set and we know what needs to be done. Now we can go to BRF+ workbench with t-code
BRF+ or BRFPlus or FDT_Workbench.
I am clicking on ‘Create application’.
Keep in mind that we have created as Local object. If we select the storage type dropdown, we can move
this across landscape. Following are the types.

System-> transportable objects which should not be changed in your system environment.

Customizing-> transportable objects which allow changes.

Master Data-> objects which are local by default and cannot be transported.

Click on save and activate. Then,

1) Creation of Data objects->Elements/Structures/Tables.

I am creating all data objects required for this example here.


We can either create elements one by one or can go with Elements(Mass creation).

Activate all the data elements. (I created an internal table also to hold the values from db table.).

2) Create expression required for the function.

As mentioned at the beginning, we have 3 tables out of which 1 we will made as database (db) table and
other two will be created as decision table. Just for showing their operations I am keeping so.

So, here we need 2 decision tables and 1 db table. For fetching data from DB table, we would need to
create a DB lookup also.
We give the input and output of the decision table.

Save it and activate. Now the table is ready. Here we can insert the values to the table.
In the same way, create one more decision table called YEARS_TABLE with fields as Years of experience,
Tier and designation. Make the entries.

I already have a DB table created and it has the following values.


Now go with creation of DB lookup in the same way we created the decision table in expressions by
choosing Database Lookup.

Now we are done with the creation of expressions.

3) Create functions->This will be the one we will use in our ABAP program/buttons/BADIs etc. It’s very
similar to FM or methods of a class.
Now go to tab ‘Assigned Rulesets’ and create a rule set. And then assign the rules to the rule sets.

Here we assign rules one by one. After all the assignment, the screen will look like.
This means, we have the salary available in the table ‘Salary table’.

Now go to Simulate function.


Execute it.

You have the result as follows.


These are nothing but the fields of my table ZSALARY. (The heading is coming like this since I kept the
data elements of fields as standard char20 and all).

Now you are done with the creation of a simple BRF application.

You might also like