SAP Business Workflow - klasy Abap
W SAP ABAP kreator klas jest narzędziem w ABAP, które pozwala definiować, zmieniać i testować globalne klasy i interfejsy ABAP. Class Builder ma dwa tryby -
- Tryb oparty na formularzu
- Tryb oparty na kodzie źródłowym
Korzystając z interfejsu IF_WORKFLOW, można korzystać z klas ABAP w SAP WebFlow Engine. W systemie SAP do definiowania i mapowania procesów biznesowych, które nie są mapowane, używany jest mechanizm WebFlow Engine (SAP Business Workflow). Obejmuje procesy wydawania lub zatwierdzania, a także złożone procesy, takie jak tworzenie zamówienia zakupu itp. Oraz różne działania zaangażowanych działów. SAP WebFlow Engine jest najczęściej używany do procesów, które z natury są powtarzane lub obejmują działania dużej liczby agentów w predefiniowanej kolejności.
Silnik WebFlow może być również używany do obsługi błędów w istniejących procesach i przepływach pracy. Korzystając z mechanizmu WebFlow Engine, możesz również uruchomić przepływ pracy, gdy wystąpią predefiniowane zdarzenia.
Aby używać klas ABAP w przepływach pracy, konieczne jest zaimplementowanie interfejsu IF_WORKFLOW w klasie ABAP. Ten interfejs zawiera metodę, która tworzy określone wymagania wstępne, takie jak obiekt może być używany w mechanizmie SAP WebFlow.
Interfejs IF_WORKFLOW zawiera następujące metody -
- BI_PERSISTENT~FIND_BY_LPOR
- BI_PERSISTENT~REFRESH
- BI_OBJECT~EXECUTE_DEFAULT_METHOD
- BI_PERSISTENT~LPOR
- BI_OBJECT~DEFAULT_ATTRIBUTE_VALUE
- BI_OBJECT~RELEASE
Jak dodać IF_WORKFLOW w klasie ABAP?
Aby dodać interfejs IF_WORKFLOW do klasy, musisz otworzyć kod T Kreatora klas: SE24.
Przejdź do zakładki Interfejs, dodaj interfejs IF_WORKFLOW. Po dodaniu tego interfejsu dodaje on również dwa interfejsy podrzędne: BI_OBJECT i BI_PERSISTENT. Kiedy przejdziesz do zakładki Methods, zobaczysz, że niektóre metody tych interfejsów zostały automatycznie odziedziczone do klasy ABAP.
Aby klasa Utility zaimplementowała interfejs IF_WORKFLOW, musisz otworzyć każdą z metod odziedziczonych z interfejsu IF_WORKFLOW, a następnie aktywować pusty kod źródłowy → aktywować klasę ABAP.
Note- Po zaimplementowaniu interfejsu IF_WORKFLOW w klasie można go używać w dowolnym przepływie pracy. Klasa ABAP jest automatycznie zwalniana do użycia z implementacją tego interfejsu. Zmiany zgodności należy wprowadzać tylko po wdrożeniu interfejsu i nie należy usuwać atrybutów, zmian typu ani metod. W systemie SAP nie definiuje listy, na której wspomina, że klasa jest używana w tych przepływach pracy.
Należy również pamiętać, że interfejs IF_WORKFLOW nie powinien być implementowany w wewnętrznych klasach aplikacji, ponieważ oznaczałoby to, że każda metoda klasy ABAP może być używana w przepływach pracy.