Interface IF_WORKFLOW
Das Interface IF_WORKFLOW ist für die Verwendung einer ABAP-Klasse innerhalb der SAP WebFlow Engine notwendig. Das Interface enthält Methoden, die bestimmte Voraussetzungen schaffen, damit das Objekt innerhalb der SAP WebFlow Engine genutzt werden kann.
Die SAP WebFlow Engine behandelt alle Objekte auf generische Weise. Beim Kontextwechsel müssen Objekte gespeichert werden. Deshalb ist es notwendig, Objektreferenzen so umzuwandeln, dass sie persistent gespeichert werden können. Umgekehrt muss es möglich sein, aus dem persistent gespeicherten Schlüssel die entsprechende Instanz einer ABAP-Klasse zu erzeugen.
Außerdem gibt es eine Reihe von Komponenten der SAP WebFlow Engine, z. B. das Workflow-Protokoll, die Objekte anzeigen können. Hierfür müssen entsprechende Funktionen durch das Objekt bereitgestellt werden.
Das Interface IF_WORKFLOW legt eine logische Klammer um die Interfaces BI_PERSISTENT (Instanzverwaltung) und BI_OBJECT (Objektverhalten). Das Interface IF_WORKFLOW enthält folgende Methoden:
· BI_PERSISTENT~FIND_BY_LPOR
· BI_PERSISTENT~LPOR
· BI_PERSISTENT~REFRESH
· BI_OBJECT~DEFAULT_ATTRIBUTE_VALUE
· BI_OBJECT~EXECUTE_DEFAULT_METHOD
· BI_OBJECT~RELEASE

Eine Klasse, die das Interface IF_WORKFLOW implementiert, kann in jedem Workflow verwendet werden. Mit der Implementierung des Interfaces ist die Klasse automatisch für die Nutzung in Workflows freigegeben. Deshalb sollte eine Klasse nach der Implementierung immer nur kompatibel geändert werden (keine Attribute löschen, keine Typänderung, keine Methode löschen). Es gibt keinen Verwendungsnachweis, mit dem man feststellen kann, in welchen Workflows die Klasse verwendet wird.
Interne Klassen einer Anwendung sollten das Interface IF_WORKFLOW nicht implementieren, da somit jede Methode der Klasse im Workflow verwendet werden könnte. Sie sollten deshalb die Workflow Funktionen in einer weiteren Klasse kapseln, die die ausgewählten Methoden der internen Klasse aufruft.