Auswertung und Pflege der Typkopplungstabelle 

Verwendung

Die Typkopplung beschreibt die Zuordnung eines Verbraucherfunktionsbausteins und eines Verbrauchertyps zu einer bestimmten Kombination von Objekttyp und Ereignis. Diese Kopplung wird in die Typkopplungstabelle eingetragen.

Die Tabelle muß ausgefüllt werden, sofern in irgendeiner Weise immer auf ein Ereignis eines bestimmten Objekttyps reagiert werden soll, also auch dann, wenn die Kopplung instanzbezogen erfolgen soll. Die Typkopplungstabelle wird zur Laufzeit vom Ereignismanager ausgewertet.

Die Eintragung in die Typkopplungstabelle ist vom Ereignisverbraucher über einen zur Verfügung gestellten Funktionsbaustein vorzunehmen.

Wenn Ereignisse im Rahmen des SAP Business Workflow genutzt werden (als auslösende und beendende Ereignisse, bei Warteschritten), werden die erforderlichen Einträge in die Kopplungstabellen vom Workflow-System vorgenommen.

Wenn Sie beispielsweise ein Ereignis als auslösendes Ereignis einer Aufgabe eintragen, erfolgen die folgenden Einträge automatisch:

Beim Aktivieren der Kopplung im Rahmen der Aufgabendefinition wird außerdem das Kennzeichen enabled in der Typkopplungstabelle gesetzt.

Integration

Transport und Mandanten-Copy

Einträge in die mandantenabhängige Typkopplungstabelle werden automatisch auf einen Customizing-Transportauftrag geschrieben, sofern der Mandant (in der Tabelle T000 ) so eingestellt ist, daß Änderungen automatisch aufgezeichnet werden. Alle Einträge einschließlich ihres Aktivierungskennzeichens werden dann transportiert.

Beim Mandanten-Copy ist zu beachten, daß die Ereignis-Verbraucher-Kopplungen in den Zielmandanten kopiert werden, aber im Zielmandanten immer deaktiviert sind.

Das Kennzeichen der Aktivierung jeder einzelnen Ereignis-Verbraucher-Kopplung wird nur auf expliziten Wunsch (Parameteroption zum Kopieren von Tabellen der Klasse A) beim Mandanten-Copy mitkopiert.

Ablauf

Der Ereignismanager beginnt die Auswertung der Typkopplungstabelle, wenn ihm der Name eines erzeugten Ereignisses mitgeteilt wird. Damit eine Ereignisbehandlung stattfindet, müssen in der Typkopplungstabelle entweder das erzeugte Ereignis und sein auslösender Objekttyp oder das erzeugte Ereignis und ein Supertyp des auslösenden Objekttyps eingetragen sein.

Nur die Einträge in der Typkopplungstabelle werden vom Ereignismanager zur Auswertung herangezogen, bei denen das Kennzeichen Ereigniskopplung aktiviert gesetzt ist.

Wenn der Ereignismanager für das erzeugte Ereignis einen Eintrag in der Typkopplungstabelle findet, laufen folgende Verarbeitungsschritte ab:

Beim Auftreten eines Fehlers innerhalb des Funktionsbausteines SWW_WI_CREATE_VIA_EVENT (fehlende oder fehlerhafte Aufgabe, Probleme beim tRFC) wird eine Mail an den Systemadministrator für Workflow verschickt.

Funktionsumfang

Aufbau der Typkopplungstabelle

In der Typkopplungstabelle stehen folgende Felder zur Verfügung:

Typ des Objektes, zu dem das Ereignis erzeugt wird.

Ereignis, das erzeugt wird.

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

Standardname einer logischen RFC-Destination, in der der Verbraucherfunktionsbaustein aufgerufen wird. Wenn keine Destination angegeben ist, wird der Verbraucherfunktionsbaustein lokal in der Destination WORKFLOW_LOCAL_<Mdt.> aufgerufen.

Das Workflow-Laufzeitsystem verwendet Ereignisse ausschließlich lokal und füllt dieses Feld nicht. Tragen Sie keine Destination ein.

Weitere Informationen finden Sie unter Destinationstypen.

Wenn die Ereigniskopplung als global markiert ist, wird der angegebene Verbraucherfunktionsbaustein bei jedem Auftreten des eingetragenen Objekttyp-/Ereignis-Paares unabhängig von der auslösenden Objektinstanz aufgerufen.

Eine Auswertung der Instanzkopplungstabelle für dieses Ereignis erfolgt nicht mehr.

Das Kennzeichen wird vom Workflow-System automatisch gesetzt:

Manuell kann dieses Kennzeichen nur mit den folgenden Funktionsbausteinen gesetzt werden:

Wenn Sie dieses Kennzeichen setzen, wird die Typkopplung zwischen Ereigniserzeuger und Ereignisverbraucher aktiviert.

Dieses Kennzeichen wird nur ausgewertet, wenn die Ereignis-Queue aktiv ist.

Wenn das Kennzeichen gesetzt ist, erfolgt der Start des Ereignisverbrauchers durch die Ereignis-Queue. Wird dieses Kennzeichen nicht gesetzt oder ist die Ereignis-Queue nicht aktiv, wird der Verbraucher sofort gestartet.

Hier kann die Systemvoreinstellung, die auf der Registerkarte Grunddaten der Ereignis-Queue-Administration gepflegt wird, übernommen oder überdefiniert werden.

Der Status des Ereignisverbrauchers hat Auswirkung auf den Start des Verbrauchers. Generell muß die Verbraucherkopplung aktiv sein, um den Verbraucher starten zu können. Der Status der Verbraucherkopplung hat dabei folgende Auswirkungen:

Ist die Verbraucherkopplung im Status fehlerfrei, so werden die Verbraucher durch das System gestartet. Der Start kann dabei direkt oder durch die Ereignis-Queue erfolgen.

Ist die Verbraucherkopplung im Status fehlerhaft, so wird der Verbraucher nicht sofort gestartet, sondern automatisch in die Ereignis-Queue gestellt. Dort erhält der Eintrag den Status wartend wegen Fehler. Somit wird der Verbraucher einerseits nicht gestartet, andererseits besteht jedoch die Möglichkeit, diese Verbraucher nach der Beseitigung des Fehlers erneut zu starten. Ausgelöste Ereignisse gehen damit auch bei fehlerhaften Kopplungen nicht verloren. Das erneute Starten der Ereignisverbraucher kann über die Registerkarte Fehlerhafte Kopplungen vorgenommen werden.

Pflege der Typkopplungstabelle

In folgenden Fällen müssen Sie die Typkopplungstabelle manuell bearbeiten:

Die Pflege der Typkopplungstabelle, also das Eintragen von Kopplungen für auslösende oder beendende Ereignisse, wird ansonsten vom Workflow-System übernommen.

Das Anlegen eines vollständigen Eintrags in der Typkopplungstabelle kann über folgenden Funktionsbaustein erfolgen:

SWE_EVENT_REC_TYPE_ENTER

Darüber hinaus stehen APIs zum Bearbeiten einzelner Felder in der Typkopplungstabelle zur Verfügung:

Name des Funktionsbausteins

Erläuterung

SWE_EVENT_REC_TYPE_CHECK_FB

Ändern des Check-Funktionsbausteins für den Ereignisverbraucher

SWE_EVENT_REC_TYPE_DISABLE

Deaktivieren einer Typkopplung

SWE_EVENT_REC_TYPE_ENABLE

Aktivieren einer Typkopplung

SWE_EVENT_REC_TYPE_FB

Ändern des Verbraucherfunktionsbausteins

SWE_EVENT_REC_TYPE_GET_FB

Ändern des Funktionsbausteins für die Typbestimmung des Ereignisverbrauchers

SWE_EVENT_REC_TYPE_GLOBAL

Setzen einer globalen Ereigniskopplung

SWE_EVENT_REC_TYPE_NOT_GLOBAL

Löschen einer globalen Ereigniskopplung

SWE_EVENT_REC_TYPE_READ

Lesen einer Typkopplung

Verwenden Sie folgenden Funktionsbaustein, um einen Eintrag aus der Typkopplungstabelle zu löschen:

SWE_EVENT_REC_TYPE_DELETE

Wenn Sie in der Typkopplungstabelle Einträge vornehmen, achten Sie darauf, diese auch wieder zu löschen, wenn eine Typkopplung nicht mehr erwartet wird. Dabei ist sicherzustellen, daß keine Instanzkopplungen zu dieser Typkopplung existieren.

Aktivitäten

Die Pflege der Typkopplungstabelle erfolgt über Werkzeuge ® Business Workflow ® Entwicklung ® Hilfsmittel ® Ereignisse ® Typkopplungen.

In der Übersicht werden die bereits bestehenden Typkopplungen mit Angaben zu Objekttyp, Ereignis und Verbrauchertyp angezeigt.

Wählen Sie Bearbeiten ® Neue Einträge, um der Typkopplungstabelle neue Einträge hinzuzufügen.

Wählen Sie Springen ® Detail, um Einträge zu ändern.