07.05.2020

Obsługa reguł biznesowych w aplikacjach SAP ABAP

Jak można zdefiniować regułę biznesową? Krótko mówiąc: określa ona jaki wynik powinien nastąpić na podstawie zadanych wartości kryteriów wejściowych. Za przykład takiej reguły może posłużyć następujące stwierdzenie: „polscy kierowcy, którzy spowodowali wypadek w ciągu ostatniego roku, będą musieli zapłacić o 20% wyższe stawki ubezpieczenia”. Fakt bycia obywatelem polskim i spowodowanie wypadku w ciągu ostatniego roku jest w tym przypadku kryterium wejściowym, podczas gdy wynikiem jest to, czy stawka ubezpieczenia będzie o 20% wyższa.

Tworząc niezliczone raporty ABAP, zapewne wielokrotnie zdarzyło się, że musiałeś zaimplementować skomplikowane reguły biznesowe. W tym miejscu należałoby sobie zadać pytanie: dlaczego w ogóle miałbyś przeplatać reguły biznesowe z logiką programu? Zacznijmy od wyjaśnienia, o co chodzi w BRFplus, a później zagłębimy się w szczegóły, porównując go przy tym z poprzednimi sposobami obsługi reguł biznesowych w aplikacjach SAP.

Nadrzędnym celem BRFplus było dostarczenie rozwiązania, dzięki któremu reguły można tworzyć i modyfikować w bardziej elastyczny sposób niż wszystko, co dotychczas widziano w SAP. Aby to osiągnąć, środowisko zostało zaprojektowane w taki sposób, że zapewnia kompleksowy interfejs tworzenia aplikacji oraz interfejs użytkownika do definiowania reguł biznesowych. Główną i najważniejszą zaletą jest to, że oddzielono reguły biznesowe od samego kodu ABAP. Dzięki temu może on być używany zarówno przez programistów, jak i użytkowników nietechnicznych/biznesowych, którzy mogą teraz tworzyć własne reguły i zestawy reguł w łatwy i intuicyjny sposób.

Przed wprowadzeniem Business Rule Framework plus reguły biznesowe były często implementowane w SAP w formie Z-owych tabel konfiguracyjnych. Czasami jednak nie było to wystarczające i developer był zmuszony oprogramować je (reguły) w ABAP. Sam ten fakt niekoniecznie musi być złą rzeczą, z wyjątkiem, w którym reguły te okazałyby się skomplikowane. Niestety utrzymanie reguł w tabelach konfiguracyjnych miało swoje wady. Tabele te zaprojektowane są w taki sposób, że do poprawnego odczytu bazy danych potrzebna wszystkich kluczy. W ten sposób, mając zaledwie kilka kolumn, z których każda może zawierać do 10 różnych wartości, otrzymalibyśmy naprawdę dużą liczbę rekordów, które musiałyby być przechowywane w takiej tabeli. Oczywiście mogą istnieć pewne sposoby na zminimalizowanie liczby wpisów. Z drugiej strony, porównując to do BRFplus, metoda ta prawdopodobnie nadal generowałaby sporą nadmiarowość wpisów w tabeli. Co więcej, w celu zapewnienia akceptowalnego poziomu wydajności musiałaby zostać przeprowadzona dodatkowa optymalizacja zarówno po stronie samego raportu ABAP, jak i tabel konfiguracyjnych.

Tworzenie reguły biznesowej w BRF+

Teraz dzięki BRFplus użytkownik może tworzyć nie tylko proste reguły biznesowe, ale także naprawdę złożone, nie ograniczając się jednak tylko do nich. Korzystając z tego środowiska, może również tworzyć drzewa decyzyjne oraz tabele decyzyjne. Platforma ta umożliwia użytkownikowi wykonanie symulacji wcześniej utworzonej reguły, co wydaje się miłym dodatkiem. Zwłaszcza, gdy nie działa ona dokładnie tak, jak oczekiwano. W tym przypadku symulacja pozwala nam ją prześledzić i zobaczyć, co poszło nie tak.

Symulacja wraz ze śledzeniem przetwarzania tabeli decyzyjnej

Chociaż BRFplus nie jest całkowicie nowym rozwiązaniem, nietrudno dostrzec jego zalety w kontekście obsługi reguł biznesowych.

Na koniec warto wspomnieć, iż BRF+ nie stanowi oddzielnego produktu, ale zintegrowany jest z platformą SAP NetWeaver. Dostępny jest począwszy od wersji SAP NW 7.0 Enhancement Package 1.

Share
Contact Person

Blog writer

Tomasz Mielcarek

Integration Consultant