Oracle E-Business Suite のスターター・アクティビティーの前提条件
このセクションでは、Oracle E-Business Suite インバウンド・アクティビティーを構成するための前提条件について説明します。
スターター・アクティビティーを使用するための前提条件として、Oracle データベースにイベント・ストアとトリガーを作成する必要があります。
イベント・ストアは、ポーリング・コネクターが処理できるようになるまで、データ変更を表すイベントを保持するテーブルです。コネクターは、イベント・エンティティーを追跡するために、イベント・ストアを使用します。データベース・レコードが作成、更新、または削除されるたびに、コネクターはイベント・ストア内でイベントの状況を更新します。「イベント・ストア名」フィールドは、「作成済みの取得 (Get Created)」、「削除済みの取得 (Get Deleted)」、および「更新済みの取得 (Get Updated)」の各アクティビティーの「構成」パネルにあります。
トリガーは、イベント・ストアにデータを設定するために、必要に応じてユーザー表に設定できます。Oracle データベースの場合、ユーザー表に対する変更によって、イベント・ストア内に保管されるイベントが自動的に生成されるように、ユーザー表にトリガーをセットアップします。
Oracle E-Business Suite でのイベント・ストアとトリガーの作成
Oracle データベース内に「イベント・ストア」と「トリガー」を作成するには、以下の手順を実行します。
- 新しい表を作成します。例えば、IBM_CI_EVENTS というイベント・ストア名を構成するには、<STUDIO ROOT>/etc/oracleebs/scripts/IBM_CI_EVENTS.SQL にあるスクリプトを使用します。イベント表の構造を以下に記載します。注: 構成される表/ビューごとに別個のイベント表を作成して使用することをお勧めします。
表 1. イベント表の構造 列名 タイプ 説明 event_id Number 表の 1 次キーとなる固有のイベント ID。object_key と同じ値にできます。 object_key String 取得されるレコードの 1 次キーを含んでいるストリング。 この列を null にすることはできません。
object_name String 各ビジネス・オブジェクトは表またはビューを指します。ビジネス・オブジェクトの名前は、スキーマ名と表名で構成されます。 この列を null にすることはできません。
object_function String イベントに対応する操作 (Delete、Create、および Update)。 この列を null にすることはできません。
event_priority Number イベント優先順位を識別します。この値は正整数でなければなりません。 この列を null にすることはできません。
event_time Timestamp イベントが生成された日時。 形式は mm/dd/yyyy hh:mm:ss です。 event_status イベント状況は、当初、新規イベント用の値に設定され、アダプターがイベントを処理するときにアダプターによって更新されます。 状況は以下のいずれかの値になります。 - 0: 新規イベントを識別します。
- 1: エクスポートに配信されたイベントを識別します。
- -1: イベントの処理中にエラーが発生しました。
この列を null にすることはできません。
event_comment イベントに関連したコメント。 event_message
これはオプションです。このフィールドはブランクにできます。 xid これはオプションです。このフィールドはブランクにできます。 connector_ID 特定のイベントを受け取るコネクター・インスタンスの固有 ID。 - 表のためのトリガーを作成する場合は、サンプルの <STUDIO ROOT>/etc/oracleebs/scripts/sample_trigger.sql を参照してください。トリガーは、行が作成、更新、または削除されたときに、イベント・ストアにデータを設定するために使用されます。
以下に、event_create という挿入トリガーのサンプルを示します。このトリガーは、選択された表に行が追加されると、イベント・ストア IBM_CI_EVENTS にデータを設定します。
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;
列名 | 値 |
---|---|
event_id | 固有の event_id を生成するために、event_sequence というシーケンスが使用されます。あるいは、挿入される各行に固有のイベント ID を提供することができます。 |
object_key | レコードの 1 次キーが含まれます。 |
object_name | オブジェクト名は、スキーマ名と表名で構成されます。例えば、Scott のスキーマ内に表 CUSTOMER が存在する場合、このプロパティーの値は ScottCustomer になります。 |
object_function | object_function の値は、挿入/更新/削除トリガーのどれかに応じて Create/Update/Delete になります。 |
event_priority | event_priority の値は 0 または正整数でなければなりません。 |
event_status | 新規イベントと見なされるために、event_status の値は 0 でなければなりません。 |