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
- 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. - 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.
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;
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. |