Voraussetzungen für Starteraktivitäten in Oracle E-Business Suite

Dieser Abschnitt enthält die Voraussetzungen für die Konfiguration von eingehenden Oracle E-Business Suite-Aktivitäten.

Als Voraussetzung für die Verwendung von Starteraktivitäten müssen Sie einen Ereignisspeicher und Trigger in der Oracle-Datenbank erstellen.

Der Ereignisspeicher ist eine Tabelle, die Ereignisse enthält, die Datenänderungen darstellen. Diese werden so lange gespeichert, bis der abfragende Connector sie verarbeiten kann. Der Connector verwendet den Ereignisspeicher, um die Ereignisentitäten zu verfolgen. Jedes Mal, wenn ein Datenbanksatz erstellt, aktualisiert oder gelöscht wird, aktualisiert der Connector den Status des Ereignisses im Ereignisspeicher. Das Feld 'Ereignisspeichername' ist im Fenster 'Konfigurieren' der Aktivitäten 'Erstellte Objekte abrufen', 'Gelöschte Objekte abrufen' und 'Aktualisierte Objekte abrufen' zu finden.

Sie können Trigger für Benutzertabellen nach Bedarf definieren, um den Ereignisspeicher mit Daten zu füllen. Richten Sie für eine Oracle-Datenbank Trigger für Benutzertabellen ein, sodass Änderungen an den Benutzertabellen automatisch Ereignisse generieren, die im Ereignisspeicher gespeichert werden.

Ereignisspeicher und Trigger in Oracle E-Business Suite erstellen

Führen Sie die folgenden Schritte aus, um einen Ereignisspeicher (‘Event Store’) und ‘Trigger’ in einer Oracle-Datenbank zu erstellen:
  1. Erstellen Sie eine neue Tabelle. Wenn der Ereignisspeicher zum Beispiel mit dem Namen IBM_CI_EVENTS konfiguriert ist, verwenden Sie das Script, das im Verzeichnis <STUDIO ROOT>/etc/oracleebs/scripts/IBM_CI_EVENTS.SQL verfügbar ist. Die Struktur der Ereignistabelle wird nachfolgend beschrieben.
    Anmerkung: Es wird empfohlen, für jede konfigurierte Tabelle/Ansicht eine separate Ereignistabelle zu erstellen.
    Tabelle 1. Struktur der Ereignistabelle
    Spaltenname Typ Beschreibung
    event_id Zahl Die eindeutige Ereignis-ID, die ein Primärschlüssel für die Tabelle ist. Dieser Wert kann mit dem Wert von object_key übereinstimmen.
    object_key Zeichenfolge Eine Zeichenfolge, die den Primärschlüssel des Datensatzes enthält, der abgerufen wird.

    Diese Spalte kann nicht null sein.

    object_name Zeichenfolge Jedes Geschäftsobjekt bezieht sich auf eine Tabelle oder Ansicht (View). Der Name des Geschäftsobjekts setzt sich aus dem Schemanamen und dem Tabellennamen zusammen.

    Diese Spalte kann nicht null sein.

    object_function Zeichenfolge Die Operation, die dem Ereignis entspricht (Löschen - Delete, Erstellen - Create und Aktualisieren - Update).

    Diese Spalte kann nicht null sein.

    event_priority Zahl Gibt die Ereignispriorität an. Dieser Wert muss eine positive ganze Zahl sein.

    Diese Spalte kann nicht null sein.

    event_time Zeitmarke Der Zeitpunkt (Datum/Uhrzeit), zu dem das Ereignis generiert wurde. Format: mm/tt/jjjj hh:mm:ss.
    event_status   Der Ereignisstatus wird anfangs auf einen Wert für ein neues Ereignis gesetzt und durch den Adapter beim Verarbeiten des Ereignisses aktualisiert. Der Status kann einen der folgenden Werte haben:
    • 0: Gibt ein neues Ereignis an.
    • 1: Gibt ein Ereignis an, das an einen Export geliefert wurde.
    • -1: Während der Verarbeitung des Ereignisses ist ein Fehler aufgetreten.

    Diese Spalte kann nicht null sein.

    event_comment   Ein beliebiger Kommentar zu dem Ereignis.
    event_message
      Diese Spalte ist optional. Dieses Feld kann leer sein.
    xid   Diese Spalte ist optional. Dieses Feld kann leer sein.
    connector_ID   Die eindeutige ID für die Connectorinstanz, die ein bestimmtes Ereignis empfängt.
  2. Informationen zur Erstellung von Triggern für Ihre Tabelle finden Sie in dem Beispiel in <STUDIO ROOT>/etc/oracleebs/scripts/sample_trigger.sql. Der Trigger dient zum Einfügen von Daten in den Ereignisspeicher, wenn eine Zeile erstellt, aktualisiert oder gelöscht wird.
Das folgende Beispiel zeigt einen INSERT-Trigger mit dem Namen event_create, der Daten in den Ereignisspeicher IBM_CI_EVENTS einfügt, wenn der ausgewählten Tabelle eine Zeile hinzugefügt wird.
create or replace
TRIGGER SCOTT.event_create
      after insert on SCOTT.CUSTOMER for each row
   begin
         insert into "SCOTT"."IBM_CI_EVENTS"
            (
			event_id
            , object_key
            ,object_name
            ,object_function
            ,event_priority
            ,event_status
            )
         values
            (
             event_sequence.nextval
            ,:new.PKEY
            ,'ScottCustomer'
            ,'Create'
            ,0
            ,0
            );
   end;
Tabelle 2. Triggerbeschreibung
Spaltenname Werte
event_id Für einen eindeutigen Wert von event_id wird eine Sequenz mit dem Namen event_sequence verwendet. Alternativ können Sie eine eindeutige Ereignis-ID für jede Zeile angeben, die eingefügt wird.
object_key Dieser Wert ist der Primärschlüssel des Datensatzes.
object_name Der Objektname setzt sich aus dem Schemanamen und dem Tabellennamen zusammen. Beispiel: Wenn die Tabelle CUSTOMER im Schema von Scott enthalten ist, hat diese Eigenschaft den Wert ScottCustomer.
object_function Der Wert von object_function ist Create/Update/Delete je nachdem, ob es sich um einen INSERT-, UPDATE- oder DELETE-Trigger handelt.
event_priority Der Wert von event_priority muss 0 oder eine positive ganze Zahl sein.
event_status Der Wert von event_status muss 0 sein, sodass das Ereignis als neues Ereignis betrachtet wird.