Oracle E-Business Suite のスターター・アクティビティーの前提条件

このセクションでは、Oracle E-Business Suite インバウンド・アクティビティーを構成するための前提条件について説明します。

スターター・アクティビティーを使用するための前提条件として、Oracle データベースにイベント・ストアとトリガーを作成する必要があります。

イベント・ストアは、ポーリング・コネクターが処理できるようになるまで、データ変更を表すイベントを保持するテーブルです。コネクターは、イベント・エンティティーを追跡するために、イベント・ストアを使用します。データベース・レコードが作成、更新、または削除されるたびに、コネクターはイベント・ストア内でイベントの状況を更新します。「イベント・ストア名」フィールドは、「作成済みの取得 (Get Created)」、「削除済みの取得 (Get Deleted)」、および「更新済みの取得 (Get Updated)」の各アクティビティーの「構成」パネルにあります。

トリガーは、イベント・ストアにデータを設定するために、必要に応じてユーザー表に設定できます。Oracle データベースの場合、ユーザー表に対する変更によって、イベント・ストア内に保管されるイベントが自動的に生成されるように、ユーザー表にトリガーをセットアップします。

Oracle E-Business Suite でのイベント・ストアとトリガーの作成

Oracle データベース内に「イベント・ストア」と「トリガー」を作成するには、以下の手順を実行します。
  1. 新しい表を作成します。例えば、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。
  2. 表のためのトリガーを作成する場合は、サンプルの <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;
表 2. トリガーの説明
列名
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 でなければなりません。