ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Intelligence Discoverer管理者ガイド
11gリリース1 (11.1.1)
E51906-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

B DiscovererのEULトリガー情報

ここでは、Oracle Business Intelligence DiscovererのEULトリガーに関する情報を記載します。項目は次のとおりです。

B.1 Oracle Business Intelligence DiscovererのEULトリガー

Oracle Business Intelligence DiscovererのEULトリガーは、Discovererで特定のアクション(ユーザーによるワークブックの保存など)が発生すると特定のPL/SQLファンクションを実行するデータベースのコールです。

注意:

B.2 Oracle Business Intelligence DiscovererのEULトリガー・リスト

次の表に、Discovererで使用できるEULトリガー、トリガーが実行される時期、トリガーの引数、引数が必須かオプションか、および推奨する使用目的を示します。

トリガー名 実行される時期 引数(データ型) 引数(必須/オプション) 推奨する使用目的
eul_trigger$post_login 正常なログイン後 ファンクションの戻りデータ型(NUMBER)

引数なし。

注意: このファンクションから返される数値は使用されません。

なし ユーザー環境コンテキストを設定します。たとえば、データベースまたはSSOユーザー名に基づいた行レベルのセキュリティを強制します。
eul_trigger$post_save_document ワークブックの保存時 ファンクションの戻りデータ型(NUMBER)

WorkbookOwner (VARCHAR)

WorkbookName (VARCHAR)

WorksheetName (VARCHAR)

Sequence (VARCHAR)

SQLSegment (VARCHAR)

必須

必須

必須

必須

必須

DiscovererワークシートからSQLを自動的に抽出し、データベースの事前定義されたテーブルに保存します。
eul_trigger$pre_delete_document ワークブックがデータベースから削除される前 ファンクションの戻りデータ型(NUMBER)

WorkbookOwner (VARCHAR)

WorkbookName (VARCHAR)

必須

必須

削除されるワークブックの名前と所有者を保持します。
eul_trigger$refresh_new_column リフレッシュ操作による新規列の検出時 ファンクションの戻りデータ型(VARCHAR)

DBLink (VARCHAR)

Schema (VARCHAR)

Table (VARCHAR)

Column Name (VARCHAR)

EUL Language (VARCHAR)

必須

必須

必須

必須

必須

Oracle Applicationsフィールドの適切な表示名を返します。
eul_trigger$get_developer_key ゲートウェイまたはオンライン・ディクショナリからのビジネスエリアのロード時、データベース内にオブジェクトが作成される前 ファンクションの戻りデータ型(VARCHAR)

Default Developer Key (VARCHAR)

Element Type (VARCHAR)

DB Link (VARCHAR)

Schema (VARCHAR)

Table (VARCHAR)

Constraint / Column (VARCHAR)

必須

必須

必須

必須

必須

必須

デフォルト識別子に製品の短縮名を付加します。たとえば、EMPLOYEEテーブル(デフォルト識別子: EMPLOYEE)に基づくフォルダをHRI製品でメンテナンスする場合、識別子はHRI_EMPLOYEEとなります。

デフォルト識別子に製品の短縮名を付加します。たとえば、EMPLOYEEテーブル(デフォルト識別子: EMPLOYEE)に基づくフォルダをHRI製品でメンテナンスする場合、識別子はHRI_EMPLOYEEとなります。

B.3 DiscovererのEULトリガーで実行可能なPL/SQLファンクションの登録方法

特定のファンクションを実行するPL/SQLファンクション(例: ワークシートの保存時にSQLをワークシートから抽出するファンクション)を登録できます。Oracle Business Intelligence DiscovererのEULトリガーによってPL/SQLファンクションが実行されるのは、PL/SQLファンクションがデータベースに存在し、Discoverer Administratorに適切に登録されている場合のみです。

注意: PL/SQLファンクションは、DiscovererのEULトリガーと同一の名前で登録する必要があります。名前が異なる場合、DiscovererのEULトリガーによるファンクションの検出または実行が行われません。したがって、PL/SQLファンクションの「表示名」フィールドの名前をPL/SQLファンクション名(eul_trigger$post_save_documentなど)に設定する必要があります。

Oracle Business Intelligence DiscovererのEULトリガーで実行可能なPL/SQLファンクションを登録する手順は、次のとおりです。

  1. PL/SQLファンクションをデータベースに作成し、ファンクション名を指定します。

    詳細は、「ワークシートの保存時にPL/SQLトリガーを使用してSQLをワークシートから抽出する方法の例」を参照してください。

  2. Discoverer Administratorを起動し、「ツール」→「PL/SQL関数の登録」を選択すると、「PL/SQL関数」ダイアログの「関数」タブが表示されます。

    このダイアログを使用してPL/SQLファンクションをインポートし、Discovererに登録します。

    詳細は、「カスタムPL/SQLファンクションの登録」を参照してください。

B.4 ワークシートの保存時にPL/SQLトリガーを使用してSQLをワークシートから抽出する方法の例

SQLを自動抽出できるように、Discovererでは、ワークブックの保存時に必ず実行されるトリガーが有効になっています。このトリガーによってPL/SQLファンクション(eul_trigger$post_save_document)が検索されます。このファンクションが検出されない場合は、何も実行されません。PL/SQLファンクションが検出された場合は、そのファンクションに従ってSQLが保存されます。次に、使用可能なファンクションの例を示します。ただし、この機能は、顧客が各自の特定ニーズにあわせて使用できるようにオープンのままになっています。

ワークシートの保存時にPL/SQLトリガーを使用してSQLをワークシートから抽出する手順は、次のとおりです。

  1. SQL*Plusを起動します。

  2. 次のSQL文を入力して、SQLを格納するテーブルを作成します。

    注意: この例では、PL/SQLファンクションによって移入されるmy_sqlテーブルを作成します。

    SQL> create table my_sql (            workbookowner              varchar2 (100),
                workbook                   varchar2 (100), 
                worksheet                  varchar2 (100),
                seg_sequence               number (10),
                sql_segment                varchar2 (2000) );
    
  3. 次のSQL文を入力して、POST_SAVE_DOCUMENTという名前のPL/SQLファンクションを作成します。

    SQL> create or replace function POST_SAVE_DOCUMENT
              (P_WORKBOOKOWNER in varchar,
               P_WORKBOOK        in  varchar,
               P_WORKSHEET       in  varchar,
               P_SEQUENCE      in number,
               P_SQL_SEGMENT   in varchar,
    )
    return number as
    begin
    delete from my_sql;
    insert into my_sql
                           (       WORKBOOKOWNER,
                                   WORKBOOK
                                   WORKSHEET
                                   SEG_SEQUENCE
                                   SQL_SEGMENT
                          
    VALUES (          P_WORKBOOKOWNER,
                                   P_WORKBOOK,
                                   P_WORKSHEET,
                                   P_SEQUENCE,
                                   P_SQL_SEGMENT
                     );
    return 1;
    end;
    
  4. 次の権限をPUBLICユーザーに付与し、my_sqlテーブルおよびPL/SQLファンクションPOST_SAVE_DOCUMENTへのアクセスを許可します。SQL*Plusで次のSQL文を入力します。

    SQL> grant execute on POST_SAVE_DOCUMENT to PUBLIC;

    このSQL文によって、PUBLICユーザーによるPL/SQLファンクションPOST_SAVE_DOCUMENTの実行が可能になります。

    SQL> grant select, insert, update on my_sql to PUBLIC;

    このSQL文によって、PUBLICユーザーによるデータベース・テーブルmy_sqlに対する選択、挿入および更新が可能になります。

  5. Discoverer Administratorを起動し、「ツール」→「PL/SQL関数の登録」を選択すると、「PL/SQL関数」ダイアログの「関数」タブが表示されます。

    このダイアログを使用して、新規PL/SQLファンクションをDiscovererに登録します。

    注意: 新規PL/SQLファンクションの「表示名」フィールドの名前がeul_trigger$post_save_documentに設定されていることを確認してください。

  6. 新規PL/SQLファンクションを登録します。

    PL/SQLファンクションのインポート方法の詳細は、「カスタムPL/SQLファンクションを自動的に登録する方法」を参照してください。