BRFplus: Geschäftsregeln eingepflegt – und jetzt?
In BRFplus, dem Geschäftsregelmanagementsystem der SAP, können Geschäftsregeln abgebildet werden. Der große Vorteil für die Fachbereiche: Programmiererfahrung ist hierzu im Allgemeinen nicht nötig. Wollen Sie aber eine initiale Verbindung von Programmcode und BRFplus-Funktion herstellen, ist das nicht ohne einmaligen Programmieraufwand möglich. In diesem Blogbeitrag zeige ich Ihnen anhand eines einfachen Beispiels, wie Sie eine Verbindung zum BRFplus-Framework herstellen und somit Informationen aus dem BRFplus-System verwenden können.
Ein Framework für alle
Bei dem Business Rule Framework plus (BRF+/BRFplus) handelt es sich um ein einheitliches Framework, das von der SAP geschaffen wurde, um Geschäftsregeln abzubilden. Sie können flexibel Ihre Geschäftsregeln ändern und warten – Sie haben also keine festgesetzten, im System implementierten Prozesse, die Sie nur umständlich warten und verändern können.
Dass Sie die Geschäftsregeln von BRFplus auch ohne Erfahrung im Programmieren anlegen und verwalten können, ist ein weiteres „Plus“. Es schließt dadurch eine Lücke, die vielen Unternehmen nur allzu bekannt ist: die Lücke zwischen dem Coding des Programmierers und dem Wissen des Fachbereiches. Dieses Framework kann Ihnen also sowohl Zeit als auch Geld sparen und ist ohne weitere Kosten im SAP-System aktivierbar.
Um BRFplus aber nutzen zu können, müssen Sie zunächst einmal das Framework an Ihr BRFplus-System anschließen. Um das zu erreichen, gehen Sie wie folgt vor:
BRFplus-Entscheidungstabelle und Funktion
In unserem Beispiel ist im BRFplus-Framework bereits eine Entscheidungstabelle enthalten (siehe Abbildung 1). In dieser Tabelle wird für einen Informationseingang, in diesem Fall eine Sprache, eine bestimmte Ausgangsinformation zurückgegeben. Hier ist das ein Buchstabe, der der übertragenen Sprache entspricht:
In der zugehörigen Funktion legen Sie fest, welche Parameter mit welchem Typ in das BRFplus-Framework einfließen. Diese Infos können Sie im Kontext einsehen (siehe Abbildung 2). Dazu geben Sie ein Ergebnisdatenobjekt an. Das Objekt enthält das Ergebnis der Entscheidung und überträgt dieses Ergebnis wieder zurück an den Anrufer.
Ausführliche Infos zur Anlage der Entscheidungstabellen und Funktionen finden Sie übrigens in diesem Blogartikel.
In den allgemeinen Daten des BRFplus-Eintrages befinden sich nun weitere Angaben zur Anlage und letzten Änderung. Dazu ist eine eindeutige Identifikationsnummer (ID) vom System vergeben worden. Diese ID ist der Schlüssel zur Kommunikation mit der angelegten Funktion (siehe Abbildung 3).
Zugriff auf die BRFplus-Funktion
Im ABAP Coding verwenden Sie genau diese ID, um auf die Funktion des BRFplus-Frameworks zuzugreifen und entsprechende Daten zur Entscheidung zu übertragen. Das Ergebnis der Entscheidung wird dann vom BRFplus-Framework zurückgeliefert.
Im Coding wird zuerst eine Instanz erzeugt und eine Funktion über die ID angesprochen (siehe Abbildung 4). Anschließend befüllen Sie den Kontext der Funktion mit dem Komponentennamen und dem Wert, bei dem eine Entscheidung durch die BRFplus-Funktionalität getroffen werden soll.
Das Ergebnisobjekt beinhaltet jetzt die vom BRFplus-Framework getroffene Entscheidung. Mit diesem Ergebnis oder ggf. auch mit dieser Ergebnismenge können Sie nun weiterarbeiten.
Die Brücke zwischen Framework und System
Über diesen einfachen Zugriff im Code ist nun das BRFplus-Framework angeschlossen. Im BRFplus-Framework können Sie jetzt einfache Entscheidungstabellen, wie in diesem Beispiel, aber auch komplexe Logiken implementieren. Das Coding verändert sich jedoch nicht, solange die Input- und Outputparameter sich nicht verändern.
Konnten Sie das Beispiel erfolgreich anwenden? Teilen Sie gerne Ihre Erfahrungen und Feedback! Wenn Sie das Customizing des BRFplus-Frameworks aktuell noch vor Herausforderungen stellt, kann ich Ihnen unsere BRFplus-Schulung ans Herz legen. Hier zeigen wir Ihnen an einem Tag, wie Sie Ihre Bedürfnisse im Customizing ganz ohne Programmierkenntnisse anlegen und anpassen können – egal, wie komplex!