14.01.2020 Views

ABAP_to_the_Future

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Any fool can make a rule

And any fool will mind it.

—Henry David Thoreau, Journal #14

9 BRFplus

It is one of the great truths in life that rules are with us always—just like death

and taxes—and the same is true in SAP. A business rule defines what outcomes

should occur based upon the values of one or more input criteria. An example is

as follows: “Australians wh o do not have private health care have to pay 2.5%

extra income tax.” In this case, the input criterion is whether any given individual

has such insurance; the outcome is whether or not that individual has to pay more

tax.

A business rules framework (BRF), also known as a business rule management system

(BRMS), is a framework that enables you to express such rules within your

computer system. It consists of three components: a UI, a rules repository, and a

rules engine. An example of a business rules framework—and the subject of this

chapter—is, of course, BRFplus.

One of the purposes of a business rules framework is to isolate a process from the

decision logic that is a part of that process. A process is the high-level end goal

achieved by a set of decisions—for example, the process of making monsters. Processes

tend to be the same for all companies and very rarely change; in OO programming

terms, the process is the abstraction, which cares not about the details.

The decision logic, on the other hand, is the indivi dual decisions that go into the

bigger process. This can be very di fferent between companies and can also

change all the time. No two mad scientists can agree on what the best recipe is for

making a monster or which is the best so rt of hunchback to assist them. In OO

programming terms, these are the details, which depend upon the abstraction.

In Figure 9.1, you can see the differen ce between a process and the decisions in

that process.

357

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!