Best Practices for customizable Business Rules?
In a recent project, I finally had the opportunity to try out BRF+. With the help of several articles and on-line tutorials, I was able to create an application with a function and several other objects, generate the template code and integrate it into the remaining ABAP application. So far so good.
What I want to achieve next is a better separation of the rule set from the application. At the moment, the application code contains a hard-coded UUID that refers to the BRF+ function (and actually a second UUID for the import data object). This is OK as long as that application and the BRF+ function are always used in that combination. When delivering the application to another system landscape or another customer, this might not be we need: The other customer will have different business rules. At the moment, the only way to implement these rules would be to modify "our" BRF+ application, which is undesirable (especially since with every subsequent transport, there's a risk of overwriting the BRF+ objects again).
What is the recommended way to approach this? At the moment, all I can think of is some kind of customizing table that lets the customer specify another BRF+ application. However, this raises another set of questions: Can I somehow specify function names instead of (rather cumbersome) UUIDs? What do I do about the data object UUIDs? How do I ensure that the customers function has the same signature (input and output structure) so that I don't have to worry about runtime compatibility? Somehow I think that there should be something more sophisticated than a simple customizing table, but I don't know what to look for, exactly...
Christian Lechner replied
usually it possible to switch from functional mode to event mode (the other way round is not a that good idea). Nevertheless try it first with a "non-productive" function to test if everything works out fine (sometimes there are surprises e. g. due to missing notes). So this problem should be solvable
P.S. The book describes the different modes in the second chapter