Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation ABAP-Klassen in Prozessschritten  Dokument im Navigationsbaum lokalisieren

Verwendung

Innerhalb von Prozessschritten können Methoden und Attribute von ABAP-Klassen gleichbedeutend mit Methoden und Attributen von Objekten des Business Object Repository (BOR) verwendet werden. Diese Methoden können im Kontext des Prozesses aufgerufen werden.

Funktionsumfang

Die Methoden von ABAP-Klassen können innerhalb von Prozessschritten in gleicher Weise eingesetzt werden wie Methoden von Objekten des Business Object Repository. Die Methoden können Dialoge enthalten, sie können synchron oder asynchron sein, im Workflow-Protokoll erscheinen usw.

Generell kann jede Methode verwendet werden, die als öffentliche Methode implementiert ist. Die Methode kann in der Klasse selbst, in einer der Superklassen der Klasse oder über ein Interface implementiert sein.

Hinweis

Methoden, die über ein Interface implementiert sind, z. B. IF_WORKFLOW~FIND_BY_LPOR, dürfen insgesamt nicht länger als 30 Zeichen lang sein. Falls der Methodenname zu lang ist, kann durch die Definition eines Alias eine entsprechend kürzere Bezeichnung für die Methode gewählt werden. Ist die Methode in der Klasse oder einer Superklasse implementiert, kann der Name der Methode nicht länger als 30 Zeichen sein, so dass diese Beschränkung in diesem Fall nicht zum Tragen kommt.

Parameter

Es besteht die Möglichkeit, Parameter der Methoden mit Werten aus dem Workflow-Container zu versorgen. Umgekehrt können Exportparameter Werte des Workflow Containers befüllen. Folgende Übersicht zeigt die Verwendbarkeit der einzelnen Typen als Parameter:

·        einfache Typen (String, Integer usw.)

·        Typen aus dem Data Dictionary (Strukturen, Tabellen, komplexe Typen)

·        Referenzen auf Objekte des Business Object Repository

·        Referenzen auf ABAP-Klassen (die das Interface IF_WORKFLOW unterstützen)

Methodenparameter, die ein persistentes Objekt (IF_WORKFLOW oder BOR-Objekt) repräsentieren, können auf folgende Arten übergeben werden:

·        ABAP-Klassen (mit Interface IF_WORKFLOW)

¡        TYPE SIBFLPORB

Objekt wird mit Hilfe der persistenten Darstellung übergeben

¡        TYPE REF TO <Klassenname>

Objekt wird als Objektreferenz übergeben

·        BOR-Objekte

¡        TYPE SIBFLPORB

Objekt wird mit Hilfe der persistenten Darstellung übergeben

¡        TYPE SWOTOBJID

Objekt wird mit Hilfe der persistenten Darstellung übergeben, diese Darstellung ist nur für BOR-Objekte gültig

¡        TYPE SWC_OBJECT

Objekt wird als Objektreferenz übergeben

Ausnahmen

Die SAP WebFlow Engine kann Ausnahmen, die durch die Methode ausgelöst werden, behandeln. Hierbei werden Ausnahmen der Anwendung und temporäre Ausnahmen unterschieden. Die Unterscheidung zwischen den beiden Ausnahmekategorien erfolgt aufgrund der Ausnahme in der Klassenhierarchie oder durch Namenskonventionen. Im Fall einer temporären Ausnahme versucht die SAP WebFlow Engine erneut die Methode auszuführen. Im Fall eines dauerhaften Fehlers wird der Status fehlerhaft für den Workflow gesetzt.

Klassenbasierte Ausnahmen

Um eine temporäre Ausnahme zu erzeugen, kann z. B. die Klasse CX_BO_TEMPORARY oder eine entsprechende Subklasse verwendet werden. Für Dialog-Methoden kann es hilfreich sein, eine Ausnahme auszulösen, wenn der Benutzer den Dialog abbricht. Hier könnte z.B. die Ausnahme CX_BO_ACTION_CANCELED (Subklasse der Klasse CX_BO_TEMPORARY) ausgelöst werden.

Nicht klassenbasierte Ausnahmen

Es können auch nicht klassenbasierte Ausnahmen ausgelöst werden. Die SAP WebFlow Engine kann die beiden Ausnahmenkategorien (temporär oder permanent) anhand des Namens unterscheiden. Beginnt die Ausnahme mit TMP oder TEMP, handelt es sich um eine temporäre Ausnahme, sonst um eine dauerhafte Ausnahme.

Ende des Inhaltsbereichs