Show TOC

Auswertung und Pflege der InstanzkopplungenLocate this document in the navigation structure

Verwendung

Die Instanzkopplung beschreibt die Zuordnung einer Verbraucherinstanz zu einer bestimmten Kombination von Objekttyp , Objektschlüssel und Ereignis . Diese Kopplung wird von der Verbraucherinstanz selbst über einen zur Verfügung gestellten Funktionsbaustein definiert.

Die Definition einer Instanzkopplung erfolgt immer erst zur Laufzeit des Ereignisverbrauchers.

Hinweis

Wenn Ereignisse im Rahmen des SAP Business Workflow genutzt werden (als auslösende und beendende Ereignisse, bei Warteschritten), werden die erforderlichen Definitionen der Kopplungen vom Workflow-System vorgenommen.

Die Definition einer Instanzkopplung wird vom Workflow-System dann vorgenommen, wenn Workitems auf ein Ereignis warten. Dies kann bei folgenden Workitem-Typen der Fall sein:

  • Dialog-Workitem (Typ W) und Hintergrund-Workitem (Typ B) (wenn eine asynchrone Objektmethode ausgeführt wird, muss immer auf ein Ereignis gewartet werden)

  • Warteschritt-Workitem (Typ E)

  • Arbeitsvorrats-Workitem (Typ A)

Integration

Technisch gesehen ist eine Instanzkopplung eine erweiterte Typkopplung, bei der die Reaktion auf das Ereignis nur dann hergestellt wird, wenn das Ereignis von einem bestimmten Objekt stammt. Dieses Objekt wird über seinen Objektschlüssel bei der Instanzkopplung angegeben.

Bei einer Instanzkopplung ist die eindeutige Kennung einer Verbraucherinstanz (Verbraucher-ID) angegeben. Diese Verbraucher-ID wird vom Ereignismanager in den Ereigniscontainer geschrieben und beim Aufruf des Verbraucherfunktionsbausteins an den Ereignisverbraucher weitergegeben.

Der allgemeine Teil der Instanzkopplung entspricht einer Typkopplung, die als Verbrauchertyp den Eintrag WORKITEM oder EVENTITEM besitzt. Zu einer derartigen Typkopplung können mehrere Instanzkopplungen existieren. Wenn ein Ereignis eintritt, für das eine derartige Typkopplung existiert, führt der Ereignismanager folgende Schritte durch:

  1. Der Ereignismanager überprüft, ob Objekttyp , Objektschlüssel und Ereignis in der Instanzkopplung mit den Ereignisparametern des erzeugten Ereignisses übereinstimmen.

    Ist das der Fall, dann wird die Kennung der Verbraucherinstanz (Verbraucher-ID) aus der Instanzkopplung in den Ereigniscontainer eingetragen.

  2. Wenn im allgemeinen Teil ein Check-Funktionsbaustein eingetragen ist, wird dieser aufgerufen. Endet dessen Ausführung mit einer Ausnahme, wird die Kopplung nicht ausgeführt.

  3. Der im allgemeinen Teil hinterlegte Verbraucherfunktionsbaustein wird mit den Parametern Ereignis , Verbrauchertyp und Ereigniscontainer aufgerufen.

  4. Wenn die Instanzkopplung hergestellt werden konnte, wird diese anschließend gelöscht. Der zugehörige allgemeine Teil (die zugehörige Typkopplung) bleibt erhalten, da sie noch von anderen Instanzkopplungen genutzt werden kann.

Hinweis

Die Kopplungslogik lässt es nicht zu, dass eine konkrete Verbraucherinstanz auf ein Ereignis wartet, dessen auslösendes Objekt noch nicht bekannt ist. Vielmehr muss für eine Instanzkopplung immer auch der Schlüssel des auslösenden Objektes bekannt sein.

Diese Problematik tritt dann auf, wenn in einem Workitem durch eine asynchrone Methode ein Objekt erzeugt wird und dies durch ein Ereignis an das Workflow-System zurückgemeldet wird. Das Workitem als konkrete Verbraucherinstanz soll auf ein Ereignis warten, dessen auslösendes Objekt noch nicht bekannt ist, wenn für das Workitem die Instanzkopplung definiert wird.

In diesem Fall setzt das Workflow-System automatisch den Workflow-Requester ein, über den eine Beziehung zwischen dem noch unbekannten Objekt und dem Workitem hergestellt werden kann. Dazu muss das Ereignis allerdings über eine Statusänderung , einen

Änderungsbeleg oder durch den Funktionsbaustein SWE_EVENT_CREATE_FOR_UPD_TASK erzeugt werden. Weitere Informationen finden Sie unter

Erzeugung von Ereignissen über Funktionsbausteinaufruf .

Funktionsumfang

Daten einer Instanzkopplung

Die Daten einer Instanzkopplung werden zweigeteilt angezeigt. Sie teilen sich in einen allgemeinen und in einen speziellen Teil auf. Der allgemeine Teil enthält die Informationen über das Ereignis und die Reaktion auf das Eintreffen des Ereignisses. Dieser Teil entspricht einer Typkopplung mit speziellen Verbrauchertypen. Der spezielle Teil enthält Angaben zum Objekt, das das Ereignis erzeugt.

Wird eine Instanzkopplung gelöscht, so wird der allgemeine Teil nicht gelöscht.

Allgemeiner Teil

Der allgemeine Teil ist für alle Instanzkopplungen gültig, die vom selben Verbrauchertyp sind und auf das gleiche Ereignis warten. Im allgemeinen Teil finden Sie folgende Daten:

  • Objekttyp und Ereignisname

    Hinweis

    Objekttyp und Ereignis müssen im Business Object Repository definiert sein

  • Verbrauchertyp

    WORKITEM (bei beendenden Ereignissen) bzw. EVENTITEM (bei Warteschritten)

  • Verbraucherfunktionsbaustein

    SWW_WI_COMP_EVENT_RECEIVE (bei beendenden Ereignissen) bzw. SWW_EI_EVENT_RECEIVE (bei Warteschritten)

Die Angabe eines Check-Funktionsbausteines ist optional. Weitere Informationen zu den übrigen Feldern finden Sie unter

Auswertung und Pflege der Typkopplungen .

Spezieller Teil

Zu jeder Instanzkopplung finden Sie folgende Daten:

  • Objekttyp und Ereignisname

  • Verbrauchertyp

    Hinweis

    Diese Angaben stimmen mit denen des zugehörigen allgemeinen Teils überein.

  • Objektschlüssel

    Zusammengesetzter Schlüssel des Objektes, das das Ereignis erzeugt.

  • Verbraucher-ID

    Kennung oder Instanz eines Verbrauchers. Dies ist bei Instanzkopplungen des Business Workflow die Workitem-ID des auf das Ereignis wartenden Workitem.

Achtung

Die Instanzkopplungen, die für die Warteschritte und die beendenden Ereignisse einer Aktivität in der Workflow-Definition erforderlich sind, werden vom Workflow-System automatisch eingetragen. Verändern Sie diese Einträge nicht.

Anzeige der Instanzkopplungen

Für Zwecke der Fehlersuche und -analyse kann es hilfreich sein, die eingetragenen Instanzkopplungen anzuzeigen. Die Anzeige erfolgt zweigeteilt. Nach Aufruf der Sicht " Instanzkopplungen " werden alle allgemeinen Teile der existierenden Instanzkopplungen angezeigt. Dadurch erhalten Sie einen Überblick, zu welchen Objekttyp-Ereignis-Kombinationen Instanzkopplungen existieren. Um sich die speziellen Daten einer Instanzkopplung anzuzeigen, markieren Sie eine Zeile und öffnen den Knoten Objektdaten .

Definition eigener Instanzkopplungen

Sie müssen nur dann eigene Instanzkopplungen definieren, wenn Sie die Ereignissteuerung im Rahmen eigener Entwicklungen unabhängig vom Workflow verwenden.

Die Pflege der Instanzkopplungen ist über folgende Funktionsbausteine möglich:

  • SWE_EVENT_REC_INST_ENTER

    Über die Parameter dieses Funktionsbausteins können Sie neue Instanzkopplungen einfügen.

  • SWE_EVENT_REC_INST_DELETE

    Mit Hilfe dieses Funktionsbaustein können Sie eine Instanzkopplung löschen.

  • SWE_EVENT_REC_INST_DELETE_ID

    Mit Hilfe dieses Funktionsbausteins können Sie alle Instanzkopplungen für einen Verbraucher löschen.

Wenn Sie neue Instanzkopplungen anlegen, achten Sie darauf, diese auch wieder zu löschen, wenn eine Instanzkopplung nicht mehr erwartet wird.

Die zugehörigen allgemeinen Teile der Instanzkopplung (Typkopplungseinträge) sollten Sie ebenfalls löschen. Dabei ist sicherzustellen, dass keine Instanzkopplungen (mehr) zu diesem allgemeinen Teil existieren.

Aktivitäten

Die Anzeige und Pflege der Instanzkopplungen erfolgt über Anfang des Navigationspfads Werkzeuge Nächster Navigationsschritt Business Workflow Nächster Navigationsschritt Entwicklung Nächster Navigationsschritt Administration Nächster Navigationsschritt Ereignismanager Nächster Navigationsschritt Instanzkopplungen Ende des Navigationspfads.