ヘッダーをスキップ
Oracle Warehouse Builderユーザーズ・ガイド
10gリリース2(10.2)
B31258-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

34 Warehouse Builderリポジトリの拡張

この章では、カスタム・オブジェクトとカスタム・プロパティを作成して、Warehouse Builderリポジトリを拡張する方法について説明します。内容は次のとおりです。

ユーザー定義オブジェクトを使用したWarehouse Builderリポジトリの拡張

Warehouse Builder管理者として、既存のWarehouse Builderリポジトリにオブジェクトまたはプロパティを追加する必要がある場合があります。リポジトリに追加したオブジェクトはユーザー定義オブジェクト(UDO)と呼ばれ、追加したプロパティはユーザー定義プロパティ(UDP)と呼ばれます。

たとえば、Warehouse Builderを他のアプリケーションと併用する場合は、Warehouse Builderで管理するデータとメタデータが他のアプリケーションとどのように相互作用するかを記述できます。この記述を容易にするため、Warehouse Builderリポジトリに新規のメタデータ・オブジェクトを取り込み、既存のWarehouse Builderオブジェクトに関連付けることができます。Warehouse Builderにより、これらのカスタム・オブジェクトは選択したアイコンで「デザイン・センター」に表示されます。また、標準エディタが表示され、オブジェクトおよび影響分析レポートが線型に組み込まれます。

管理ユーザーは、新しいプロパティを追加するか、新しいオブジェクトを追加することにより、Warehouse Builderリポジトリを拡張できます。

この章では、混同をさけるため、Warehouse Builderリポジトリ固有のオブジェクトをWarehouse Builderオブジェクトと呼びます。リポジトリに取り込むオブジェクトはすべてUDOであり、新規プロパティはすべてUDPです。

Oracle Metabase(OMB)Plusについて

Warehouse Builderでカスタム・オブジェクトやカスタム・プロパティを定義するには、スクリプト作成ユーティリティOracle Metabase(OMB)Plusを使用する必要があります。スクリプトの作成によってUDOとUDPを指定した後は、スクリプトの作成を介して、またはグラフィカル・ユーザー・インタフェース(GUI)を使用して、これらのオブジェクトのインスタンスを作成できます。

OMB Plusは、Oracle Warehouse Builder用の柔軟で高水準なコマンドライン・メタデータ・アクセス・ツールです。OMB PlusはTclプログラミング言語の拡張で、UNIXおよびWindowsプラットフォームで使用できます。「OMB Plusスクリプトを使用したUDOおよびUDPの指定」に従って、変数サポート、条件とループによる制御構造、エラー処理、標準ライブラリ・プロシージャなどの構文構成概念を記述できます。OMB Plusを使用して、リポジトリをナビゲートし、リポジトリ内のメタデータを管理および操作できます。

OMB Plusを使用したUDOおよびUDPの指定について補足情報を確認するには、Oracle Warehouse Builder APIおよびスクリプト・リファレンスを参照してください。

OMB Plusスクリプトを使用したUDOおよびUDPの指定

OMB Plusスクリプトを使用して、新しいオブジェクトを定義したり、プロパティを追加および削除できます。また、既存のオブジェクトの属性を表示することもできます。構文では大/小文字が区別されるため、大文字を使用する必要があります。UDOおよびUDPを作成する場合は、「UDOとUDPのネーミング規則」に従ってください。

OMBDEFINE

OMBDEFINE CLASS_DEFINITIONを使用すると、リポジトリに新規オブジェクトを作成できます。

新しいモジュール・オブジェクトを作成するには、次のコマンドを使用します。このコマンドによって、UD_TABLEMODULEという新しいモジュールが作成されます。

OMBDEFINE MODULE CLASS_DEFINITION 'UD_TABLEMODULE' SET PROPERTIES (BUSINESS_NAME, PLURAL_NAME)
VALUES ('Table Module', 'Table Modules')

OMBREDEFINE

OMBREDEFINE CLASS_DEFINITIONを使用すると、Warehouse Builderオブジェクトにカスタム・プロパティが含まれるように再定義できます。

ディメンション・オブジェクトにUDPを作成するには、次の文を発行します。このコマンドによって、UD_DOCIDという新しいプロパティがクラス定義DIMENSIONに追加されます。

OMBREDEFINE CLASS_DEFINITION 'DIMENSION' 
     ADD PROPERTY_DEFINITION 'UD_DOCID' SET PROPERTIES (TYPE, DEFAULT_VALUE)
     VALUES ('INTEGER', '100')

次のコマンドを使用して、COLUMN型のnotesに新しいプロパティを追加します。列が表、ビュー、マテリアライズド・ビュー、外部表および順序に存在しているため、次のコマンドによって、このプロパティはそれらのメタデータ・オブジェクトすべての列に追加されます。

OMBREDEFINE CLASS_DEFINITION 'COLUMN' 
     ADD PROPERTY_DEFINITION 'UD_COL_NOTE' SET PROPERTIES (TYPE, DEFAULT_VALUE)
     VALUES ('STRING', 'notes')

新規プロパティを作成および保存する際、OMB Plusでは次の検証が実行されます。

  • ユーザー・アクセス・チェックによって、リポジトリ全体へのシングル・ユーザー・アクセス権があるかどうかが確認されます。

  • ネームスペース・チェックによって、同じクラス階層に同じ名前の2つのプロパティを定義していないことが確認されます。

  • プロパティ値チェックによって、指定したデータ型と一致するデフォルト値を定義したことが確認されます。

指定されたプロパティの名前またはデフォルト値を変更するには、次のようなコマンドを発行します。

OMBREDEFINE CLASS_DEFINITION 'TABLE' MODIFY PROPERTY_DEFINITION 'UD_TBL_NOTE'
     SET PROPERTIES (DEFAULT_VALUE, BUSINESS_NAME) 
     VALUES ('99', 'Table Note') 

UDPを削除するには、次のようなコマンドを発行します。

OMBREDEFINE CLASS_DEFINITION 'TABLE' DELETE PROPERTY_DEFINITION 'UD_TBL_NOTE'

このコマンドでは、TABLEクラスからUD_TBL_NOTEプロパティを削除します。UDPの削除は元に戻せないため、危険であり、お薦めできない処理です。このコマンドを使用すると、このプロパティ定義に対して適用されたリポジトリ内のすべてのカスタム・プロパティ値をリカバリできなくなります。

OMBDESCRIBE

クラス定義に対してOMBDESCRIBEを使用して、メタデータ要素の属性を表示できます。特に、指定したオブジェクト・タイプのUDPをリストするには、OMBDESCRIBEを使用します。たとえば、次のコマンドを使用すると、ディメンションのUDPがリストされます。

OMBDESCRIBE CLASS_DEFINITION 'DIMENSION' GET PROPERTY_DEFINITIONS

OMBDESCRIBEを使用して、プロパティ定義のプロパティを検査することもできます。たとえば、UD_DOCIDというUDPについて、次のコマンドを使用してそのデータ型、デフォルト値およびビジネス名を確認できます。

OMBDESCRIBE CLASS_DEFINITION 'DIMENSION' PROPERTY_DEFINITION  'UD_DOCID' 
     GET PROPERTIES (TYPE, DEFAULT_VALUE, BUSINESS_NAME)

UDOとUDPのネーミング規則

UDOおよびUDPの名前には接頭辞UD_を使用する必要があります。これは、UDOおよびUDPの名前がリポジトリ内に定義されているオブジェクトの名前と重複しないようにするためです。


注意:

接頭辞UDP_が名前に指定されているUDPは現在も有効です。ただし、現行のリリースでは、UDPおよびUDOの名前に接頭辞UD_を使用することが望まれます。

Warehouse Builderオブジェクトへの新規プロパティの追加

Warehouse Builderオブジェクトに新規プロパティを定義する手順は、次のとおりです。

  1. リポジトリへの新規追加を慎重に計画します。

    可能な場合は、すべてのユーザー定義プロパティをWarehouse Builderリポジトリに定義してから、それらのプロパティに対するエンド・ユーザーのアクセスを許可してください。そうすることで、既存のオブジェクトに対してUDPの値を設定するタスクを回避します。

  2. Warehouse Builderにリポジトリ所有者としてシングル・ユーザー・モードでログインします。

    別のユーザーがGUIまたはOMB Plusを使用してログインしている場合は、リポジトリの構造を変更するコマンドは実行できません。

    Warehouse Builderデザイン・センターにすでにログインしている場合は、メイン・メニューの「ウィンドウ」からOMB Plusを起動できます。他のユーザーがリポジトリにアクセスしないようにするには、リポジトリに接続してコマンドOMBSWITCHMODE SINGLE_USER_MODEを発行します。

  3. カスタム・プロパティを追加するWarehouse Builderオブジェクトに対して、コマンドOMBREDEFINEを使用します。

    このコマンドの使用例は、「OMBREDEFINE」の項を参照してください。

  4. OMB Plusに変更を表示するには、コマンドOMBDESCRIBEを使用します。

  5. スクリプト作成を使用してUDPが作成された後は、GUIで値を表示したり、新しいプロパティに値を割り当てたりすることができます。

  6. Warehouse Builderにログインできることをユーザーに通知します。

UDPの作成: 例

オブジェクトのUDPを作成する手順は、次のとおりです。

  1. Warehouse Builderクライアントに管理者としてログインします。

  2. OMB Plusクライアントを開きます。

  3. シングル・ユーザー・モードであることを確認します。コマンドOMBDISPLAYCURRENTMODEを使用して確認できます。マルチ・ユーザー・モードの場合は、次のコマンドを使用してシングル・ユーザー・モードに切り替えます。

    OMBSWITCHMODE SINGLE_USER_MODE
    
  4. OMB Plusクライアントで、次のコマンドを入力してオブジェクトVIEWに4つのUDPを作成します。

    • OMBREDEFINE CLASS_DEFINITION 'VIEW' \
      ADD PROPERTY_DEFINITION 'UDP_OWNER' SET PROPERTIES \ 
      (TYPE, DEFAULT_VALUE, BUSINESS_NAME) VALUES \ 
      ('STRING', 'REP_OWNER', 'Object Owner')  
      
    • OMBREDEFINE CLASS_DEFINITION 'VIEW' \ 
      ADD PROPERTY_DEFINITION 'UDP_FILE' SET PROPERTIES \ 
      (TYPE, DEFAULT_VALUE) VALUES ('FILE', 'C:\\vw.sql')
      
    • OMBREDEFINE CLASS_DEFINITION 'VIEW' \ 
      ADD PROPERTY_DEFINITION 'UDP_LINK' SET PROPERTIES \ 
      (TYPE, DEFAULT_VALUE) VALUES ('URL', 'http://www.oracle.com')
      
    • OMBREDEFINE CLASS_DEFINITION 'VIEW' \ 
      ADD PROPERTY_DEFINITION 'UDP_VERSION' SET PROPERTIES \ 
      (TYPE, DEFAULT_VALUE) VALUES ('DATE', '2006-1-7')
      
    • OMBSAVE
      

    これらのコマンドによって、UDP_OWNER、UDP_FILE、UDP_LINKおよびUDP_VERSIONのUDPが作成されます。


    注意:

    有効なUDPのタイプは、integer、string、float、double、date、timestamp、boolean、long、fileおよびurlです。

  5. プロジェクト・エクスプローラで、任意のモジュールにビューを作成します。

  6. ビューを右クリックしてそのビューのプロパティ・インスペクタを開き、「プロパティ」を選択します。

  7. 「ユーザー定義」タブをクリックし、左側のパネルでビューを選択します。図34-1に示すように、新しく作成されたUDPが表示されます。


    注意:

    UDPの値はGUIから変更できます。

リポジトリからUDPを削除するには、DELETE句を使用します。たとえば、UDP_VERSIONを削除するには、次のコマンドを使用します。

OMBREDEFINE CLASS_DEFINITION 'VIEW' DELETE PROPERTY_DEFINITION 'UDP_VERSION' 

リポジトリへのUDOの追加

UDOとは、既存のWarehouse Builderオブジェクトに加えて、ユーザーが定義してリポジトリに追加するオブジェクトです。

UDOはモジュールと呼ばれるプライマリ・オブジェクトで構成されます。このモジュールは、他のオブジェクトを保持する最上位コンテナとして機能します。モジュールには、フォルダ、ファースト・クラス・オブジェクト(FCO)およびセカンド・クラス・オブジェクト(SCO)を格納できます。同様に、フォルダには、他のフォルダ、FCOおよびSCOを格納できます。また、FCOには1つ以上のSCOを格納できます。

UDO内のオブジェクトは親子関係を示します。モジュールは親です。モジュール内のFCOはモジュールの子要素です。同様に、FCO内のSCOはFCOの子要素です。たとえば、Warehouse BuilderのOracleモジュールは親モジュールです。このモジュール内の表はFCOで、その表の列はSCOです。

リポジトリに新規オブジェクトを定義する手順は、次のとおりです。

  1. リポジトリへの新規追加を慎重に計画します。

    開始する前に、この章の残りすべてを確認し、必要なスクリプト作成コマンドについて理解してください。

  2. Warehouse Builderに管理者としてシングル・ユーザー・モードでログインします。

  3. 「UDOを定義するスクリプトの記述」の手順に従ってUDOを設計します。

  4. OMBDEFINEコマンドを使用して、新規モジュールおよびそのモジュールのFCOとSCOを作成します。OMBREDEFINEコマンドを使用して、それらのオブジェクトのプロパティを設定します。

    スクリプト作成を使用してUDOを作成した後は、GUIを使用して、そのUDOに格納するオブジェクトを作成および編集できます。

  5. 「UDOとUDPの使用」の説明に従って、Warehouse BuilderのGUIにログインし、新規オブジェクトを表示します。

    新しいオブジェクトが意図したとおりに表示されているかどうかを確認します。

  6. (オプション)「Warehouse Builderのオブジェクトに対する新規アイコンの作成」の説明に従って、新しいアイコンをユーザー定義オブジェクトに割り当てます。

  7. Warehouse Builderにログインできることをユーザーに通知します。

UDOを定義するスクリプトの記述

UDOを定義するには、次の手順に従ってスクリプトを記述します。

  • ユーザー定義モジュールの作成: これが親モジュールになります。

  • オブジェクト・タイプの定義: モジュールを他のオブジェクトを格納できるフォルダとして定義します。

  • FCOとSCOの定義: UDOのFCOとSCOを作成し、それらのオブジェクトに物理名を割り当てます。たとえば、UD_WORKBOOKは有効な物理名です。ビジネス名と複数名を示すこともできます。デザイン・センターおよびエディタにはその両方が表示されます。前述の例で、WorkbookWorkbooksは、それぞれビジネス名と複数名に適した登録です。これらの値が未指定の場合は、物理名がデフォルトとして設定されます。

  • オブジェクト・プロパティの定義: 作成したすべてのオブジェクトにプロパティを設定します。Name、Business_Name、Plural_NameおよびDescriptionなどの一部のプロパティは、新規作成されたオブジェクトに自動的に割り当てられます。

  • コンポーネント定義の追加: すべての親オブジェクトにはコンポーネント定義を割り当てる必要があります。コンポーネント定義には子要素を追加する必要があります。コンポーネント定義によって子要素の存続期間が決まります。たとえば、親表が削除された場合、その列は存在できません。

  • アソシエーション・タイプの定義: アソシエーション・タイプを作成し、UDOがWarehouse Builderオブジェクトや他のUDOとともに保持できるアソシエーション・タイプを示します。これは、後でエンド・ユーザーがUDOをオブジェクトの特定のインスタンスに関連付けできるようにする場合のみ実行する必要があります。たとえば、スクリプトで、UDOを表とビューに関連付けできます。その後、エンド・ユーザーはデザイン・センターを使用して、UDOのインスタンスを特定の表とビューに関連付けることができます。これらのリレーションシップは、影響および系統分析レポートに表示されます。

  • アイコンの割当て(オプション)

  • 変更内容の保存

UDOの作成: 例

ここでは、Javaアプリケーションについてモデル化したUDOを作成する例を示します。アプリケーションはモジュールです。このモジュールにはクラス(FCO)が格納され、これらのクラスにはメソッド(SCO)が格納されます。メソッドでは、一連のコードをモデル化できます。ビジネスの観点から、アプリケーション内の特定のコード行がSQL(JDBC)文に使用される場合、そのコード行はデータベース表の変更によって影響を受けるため、この点に注意する必要があります。UDOの構造は図34-2のようになります。

UDOを作成する手順は、次のとおりです。

  1. Warehouse Builderクライアントに管理者としてログインし、OMB Plusウィンドウを開きます。シングル・ユーザー・モードでログインしていることを確認します。

  2. 最初にモジュール・クラスを作成し、このモジュールのプロパティを設定します。

    OMBDEFINE MODULE CLASS_DEFINITION 'UD_JAVA_APP' \ 
    SET PROPERTIES (BUSINESS_NAME, PLURAL_NAME) \ 
    VALUES ('Java Application', 'Java Applications')
    

    このコマンドによってクラスが定義され、すべてのWarehouse Builderオブジェクトに割り当てられる特定のプロパティが設定されます。BUSINESS_NAMEにはオブジェクトについて理解しやすい名前を指定します。デザイン・センターの「ネーミング・モード」プリファレンスがビジネス・モードに切り替わると、そのオブジェクトのBUSINESS_NAMEに設定されている値が表示されます。PLURAL_NAMEは、オブジェクトの複数のインスタンスが格納されているデザイン・センターのツリー・ノードに使用するラベルなど、オブジェクトのインスタンスが複数表示された場合に使用されるラベルです。

  3. モジュールがフォルダのロールを引き継ぐように、モジュールと同じ名前でフォルダを作成します。

    OMBDEFINE FOLDER_DEFINITION 'UD_JAVA_APP'
    
  4. FCOを作成します。

    OMBDEFINE FIRST_CLASS_OBJECT CLASS_DEFINITION \ 
    'UD_JCLASS' SET PROPERTIES (BUSINESS_NAME, PLURAL_NAME) \ 
    VALUES ('Java Class File', 'Java Class Files')
    
  5. FCOをフォルダ・クラスの子として追加します。

    OMBREDEFINE CLASS_DEFINITION 'UD_JAVA_APP' \ 
    ADD CHILD_TYPE 'UD_JCLASS'
    
  6. FCOのコンポーネント定義を作成します。

    OMBDEFINE COMPONENT_DEFINITION 'UD_JCLASS'
    
  7. コンポーネント定義をフォルダ定義に追加します。

    OMBREDEFINE FOLDER_DEFINITION 'UD_JAVA_APP' \ 
    ADD 'UD_JCLASS'
    
  8. SCOを作成し、そのプロパティを設定します。

    OMBDEFINE SECOND_CLASS_OBJECT \ 
    CLASS_DEFINITION 'UD_JMETHOD' \ 
    SET PROPERTIES (BUSINESS_NAME, PLURAL_NAME) \ 
    VALUES ('Method', 'Methods')
    
  9. SCOをFCOの子として追加します。

    OMBREDEFINE CLASS_DEFINITION 'UD_JCLASS' \ 
    ADD CHILD_TYPE 'UD_JMETHOD'
    
  10. SCOをコンポーネント定義に追加します。

    OMBREDEFINE COMPONENT_DEFINITION 'UD_JCLASS' \ 
    ADD 'UD_JMETHOD' 
    
  11. SCOを作成し、そのプロパティを設定します。

    OMBDEFINE SECOND_CLASS_OBJECT \ 
    CLASS_DEFINITION 'UD_JMETHOD_LINE' \ 
    SET PROPERTIES (BUSINESS_NAME, PLURAL_NAME) \ 
    VALUES ('Java Method Line', 'Java Method Lines') 
    
  12. このSCOを最初に作成したSCOの子として追加します。

    OMBREDEFINE CLASS_DEFINITION 'UD_JMETHOD' \ 
    ADD CHILD_TYPE 'UD_JMETHOD_LINE' 
    
  13. このSCOをコンポーネント定義に追加します。

    OMBREDEFINE COMPONENT_DEFINITION 'UD_JCLASS' \ 
    ADD 'UD_JMETHOD_LINE'
    

これによって、次の特性を備えたUDOが作成されます。

  • UD_JAVA_APPと呼ばれるモジュール・フォルダ

  • モジュール内のUD_JCLASSというFCO

  • UD_JCLASSの子であるUD_JMETHODというSCO

  • UD_JMETHODの子であるUD_JMETHOD_LINEというSCO

UDOはプロジェクト・エクスプローラからアクセスできます。UDOは、図34-3に示すように、「ユーザー定義モジュール」アイコンの下にあります。UDOの新規インスタンスを作成するには、UDOを右クリックして「新規」を選択します。新しいモジュールやSCOの作成に加え、これらのモジュールやSCOを編集することもできます。


注意:

新しく作成したUDOをプロジェクト・エクスプローラで表示するには、Warehouse Builderを完全に停止し、再起動する必要があります。その際、プロンプトが表示された場合は、変更内容を保存してください。

図34-3 プロジェクト・エクスプローラからのUDOのアクセス

図34-3の説明が続きます
「図34-3 プロジェクト・エクスプローラからのUDOのアクセス」の説明

オブジェクトへのUDOの関連付け

UDOは、他のオブジェクトに関連付けることができます。これらのアソシエーションを作成することで、系統および影響分析を使用する際に、UDOを他のオブジェクトと同様に使用できるようになります。

Javaアプリケーションと表の関連付け

この例では、UD_JMETHODというSCOを1つ以上の表に関連付けます。この例は、メソッドを使用してJDBCコールで表を参照できるという事実をモデル化しています。

Javaメソッドを表に関連付けるには、次のコマンドを使用します。

OMBDEFINE ASSOCIATION_DEFINITION 'UD_XJMETHOD2TABLE' \ 
SET PROPERTIES (CLASS_1,CLASS_2,ROLE_1,ROLE_2 \ 
,ROLE_1_MAX_CARDINALITY,ROLE_1_NAVIGABLE) \ 
VALUES ('UD_JMETHOD','TABLE','TABLEUSED','JM2TABLE' \ 
,'INFINITE','true') ADD DEPENDENCY_DEFINITION 'DATAFLOW' 

CLASS_1とCLASS_2は任意のクラス(FCOまたはSCO)にできます。少なくとも1つのクラスはユーザー定義クラスにしてください。別のクラスは、ユーザー定義クラスまたはWarehouse Builderの主なクラス(表、列など)にできます。この例では、UDO(UD_JMETHOD)と表の間にアソシエーションがあります。

Role_1とRole_2は、このアソシエーションの観点からClass_1を識別するために使用する名前です。1つのクラスには複数のアソシエーションを指定でき、そのクラスはこれら複数のアソシエーションのそれぞれで1つのロールを担当します。

MAX_CARDINALITYを使用すると、そのアソシエーションに関与するクラスのオブジェクト数を制限できます。たとえば、uniqueKeyとforeignKeyの間のアソシエーションを考えてみます。指定されたforeignKeyオブジェクトは、最大で1つのuniqueKeyオブジェクトに関連付けることができるため、uniqueKeyのmax_cardinalityは1です。MAX_CARDINALITYには、正の整数または予約語INFINITEを設定できます。

ROLE_1_NAVIGABLEは系統/影響分析で使用されます。TRUEに設定されている場合は、Class_1とClass_2の間でいずれの方向にもアソシエーションをトラバースできることを意味します。このプロパティがFALSEに設定されている場合は、Class_1からClass_2に関連をトラバースでき、逆方向にはトラバースできないことを意味します。

DEPENDENCY_DEFINITIONはアソシエーションの必須パラメータで、常にDATAFLOWに設定する必要があります。

UDOを表に関連付ける手順は、次のとおりです。

  1. プロジェクト・エクスプローラで、「ユーザー定義モジュール」ノードを開きます。

  2. 「Javaアプリケーション」を右クリックして「新規」を選択します。

  3. アプリケーションの名前を指定します。

  4. Javaクラス・ファイル・ノードを右クリックして「新規」を選択します。

  5. Javaクラスの名前を指定します。

    udo003_customerupdate.gifの説明が続きます
    図udo003_customerupdate.gifの説明

  6. 作成したオブジェクトを右クリックし、「エディタを開く」を選択してUDOエディタを開きます。

  7. 「オブジェクトとアソシエーションのツリー」タブをクリックし、CUSTOMERUPDATEを選択します。図34-4のように、FCO(UD_JCLASS)のプロパティが表示されます。

    図34-4 UD_JCLASSのエディタ

    図34-4の説明が続きます
    「図34-4 UD_JCLASSのエディタ」の説明

  8. 「メソッド」を右クリックし、「作成」を選択します。

    JMETHOD_1というSCOが作成されます。

  9. JMETHOD_1には2つのノードがあります。1つは子SCOであるJavaメソッド行です。もう1つはTABLEUSEDで、これはアソシエーションUD_XJMETHOD2TABLEが作成されたときにROLE_1に指定した値です。

    udo005_jmethod1.gifの説明が続きます
    図udo005_jmethod1.gifの説明

  10. TABLEUSEDを右クリックし、「参照」を選択します。

    「オブジェクト・セレクタ」ダイアログが表示されます。このダイアログを使用して、UDOを接続する表を選択できます。

    udo006_objectselector.gifの説明が続きます
    図udo006_objectselector.gifの説明

UDOとUDPの使用

GUIでUDOおよびUDPを表示するには、プロジェクト・エクスプローラとWarehouse Builderデザイン・ブラウザを使用できます。プロジェクト・エクスプローラでは、UDOおよびUDPを編集することもできます。

Warehouse Builderデザイン・ブラウザ

Warehouse Builderブラウザは、Warehouse Builderのメタデータ管理およびレポート作成ポータルです。このブラウザには、UDOやUDPも含めたオブジェクト、オブジェクトのプロパティ、オブジェクトの関係が表示されます。また、UDOを含めたすべてのオブジェクトの系統および影響分析レポートも表示されます。

指定のオブジェクトにUDPを定義すると、図34-5に示すように、UDPの名前と値が「拡張プロパティ名」および「拡張プロパティ値」としてブラウザにリストされます。

図34-5 ユーザー定義プロパティが含まれているサンプル・プロパティ・シート

図34-5の説明が続きます
「図34-5 ユーザー定義プロパティが含まれているサンプル・プロパティ・シート」の説明

他のリポジトリへのUDOおよびUDPの伝播

あるリポジトリから別のリポジトリに変更を伝播する主要な方法は、MDLを使用する方法です。MDLを使用すると、UDPとその内容のメタデータ定義をエクスポートおよびインポートできます。

UDOとUDPのエクスポート

UDOとUDPは他のオブジェクトと同様にエクスポートできます。

MDL制御ファイルで、メタデータ定義をエクスポートするためのオプションはDEFINITIONFILE=filenameです。次に例を示します。

## Sample Export file 
USERID=UserName/Password@HostName:PortID:OracleServiceName
#
DEFINITIONFILE=Drive:\DirectoryName\filename.mdd

FILE=Drive:\DirectoryName\filename.mdl
LOG=Drive:\DirectoryName\filename.log

UDOとUDPのインポート

UDPは、唯一コマンドラインからインポートできます。インポートの際は、MDLによってすべてのオブジェクトのUDPが更新されます。MDL制御ファイルで、メタデータ定義をインポートするためのオプションはDEFINITIONFILE=filenameです。次に例を示します。

## Sample Import file 
USERID=UserName/Password@HostName:PortID:OracleServiceName
#
DEFINITIONFILE=Drive:\DirectoryName\filename.mdd

FILE=Drive:\DirectoryName\filename.mdl
LOG=Drive:\DirectoryName\filename.log

次のいずれかの検索条件を使用してUDPをインポートできます。

  • ユニバーサルID: メタデータ定義には、ユニバーサル・オブジェクトID(UOID)が含まれています。UOIDは複数のリポジトリのオブジェクトを一意に識別します。UOIDによってMDLファイルをインポートすると、MDLではメタデータ定義がUOIDで検索されます。ソースMDLファイルのメタデータ定義名がリポジトリのメタデータ定義と異なる場合は、ソースMDLファイルのメタデータ定義名が変更されます。

  • 物理名: MDLではメタデータ定義が物理名で検索されます。

インポート・モードに関係なく、MDLでは、対象となるメタデータ定義がリポジトリにない場合は、その定義が追加され、対象となるメタデータ定義がすでに存在する場合は、その定義が更新されます。MDLでは、リポジトリのメタデータ定義は削除されません。

メタデータ定義の更新では、検索条件がUOIDで名前が異なる場合にのみオブジェクト名が変更され、デフォルト値が更新されます。MDLではデータ型は変更されません。

Warehouse Builderのオブジェクトに対する新規アイコンの作成

アイコンは、エンド・ユーザーに機能の可用性やオブジェクトのタイプを視覚的に提示するグラフィックです。Warehouse Builderでは多数のタイプのオブジェクトが事前に定義されており、それぞれに専用アイコンがあります。既存のオブジェクトまたはオブジェクト・インスタンスに関連付けられているアイコンを、より認識しやすいグラフィックに変更できます。たとえば、アイコンを変更することで特定の表を視覚的にハイライトできます。また、UDOの場合は、デフォルト・アイコンをオブジェクトを表すグラフィックに変更できます。グラフィック・エディタまたはサード・パーティ・ソフトウェアを使用して、独自のアイコンを作成できます。

デザイン・センターでは、アイコン・セットをオブジェクト・インスタンスに関連付けできます。または、OMB Plusスクリプト作成言語を使用して、アイコン・セットをオブジェクト・タイプ・レベルで関連付けできます(これによって、そのオブジェクトの任意のインスタンスでアイコン・セットが継承されます)。


注意:

新しいアイコンは、ほとんどのWarehouse Builderオブジェクトに割り当てることができます。ただし、例外があり、パブリック変換、パブリック・データ・ルール、DEFAULT_CONFIGURATION、DEFAULT_CONTROL_CENTERおよびOWB_REPOSITORY_LOCATIONなどの事前定義済オブジェクトには割当てできません。

Warehouse Builderの各オブジェクトには、各種のエディタやツールバーに表示するために、様々なサイズのアイコンのセットが用意されています。表34-1で説明するように、各アイコン・セットには、キャンバス・アイコン、パレット・アイコンおよびツリー・アイコンが含まれています。新規のアイコン・セットを定義する場合は、サイズ設定ガイドラインに従ってください。新規アイコンの指定時に不適切なサイズを指定すると、Warehouse Builderでは自動的にアイコンがサイズ変更され、意図したデザインが歪むことがあります。

表34-1 アイコン・セット

タイプ 説明

キャンバス・アイコン

エディタのキャンバスに表示されるオブジェクトのインスタンスを表します。たとえば、マッピング・エディタまたは系統レポートのキャンバスには表アイコンが表示されます。GIFまたはJPEG形式での適正サイズは、32x32ピクセルです。

パレット・アイコン

エディタのパレットに表示されるオブジェクトのタイプを表します。たとえば、マッピング・エディタの演算子パレットには表演算子が表示されます。GIFまたはJPEG形式での適正サイズは、18x18ピクセルです。

ツリー・アイコン

デザイン・センターのプロジェクト・エクスプローラなど、ナビゲーション・ツリーに表示されるオブジェクトのタイプとインスタンスを表します。GIFまたはJPEG形式での適正サイズは16x16ピクセルです。


アイコン・セットの作成

新しいアイコン・セットを作成する手順は、次のとおりです。

  1. Warehouse Builderクライアントに管理者としてログインします。

  2. グローバル・エクスプローラで、「アイコン・セット」ノードを右クリックして「新規」を選択します。

  3. 「アイコン・セットの作成」ダイアログが表示されます。このページで入力する値の詳細は、「「アイコン・セットの作成」ダイアログ」を参照してください。

「アイコン・セットの作成」ダイアログ

「アイコン・セットの作成」ダイアログでは、アイコン・セットの値を指定できます。次の値を入力して「OK」をクリックし、新規のアイコン・セットを定義します。

  • 名前: アイコン・セット名。

  • グループ: リストで使用可能なすべてのグループにアイコン・セットを割り当てることができます。これは、多数のアイコン・セットの作成中に様々なグループに編成する必要がある場合に役立ちます。

  • 説明: アイコン・セットの説明。

  • ファイル名: ナビゲートして、新規アイコン・セットに割り当てるイメージを選択します。「キャンバス」、「パレット」および「ツリー」の各アイコンのイメージを選択する必要があります。


    注意:

    新規アイコンを表す任意のイメージを選択して使用できます。

図34-6に示すように、新規に作成したアイコン・セットは「グローバル・エクスプローラ」の「アイコン・セット」の下で使用可能になります。

図34-6 ユーザー定義アイコン

図34-6の説明が続きます
「図34-6 ユーザー定義アイコン」の説明

Warehouse Builderオブジェクトへの新規アイコン・セットの割当て

Warehouse Builderのオブジェクトに対するデフォルトのアイコン設定は、そのプロパティを編集することで変更できます。デザイン・センターの任意のエクスプローラで、オブジェクトを右クリックして「プロパティ」を選択し、オブジェクトに新しいアイコン・セットを割り当てます。変更内容を保存すると、ユーザー・インタフェースに新しいアイコン・セットが表示されます。

当初のアイコンに戻すには、「製品デフォルト・アイコンの使用」を選択します。

アイコン・セットの詳細は、「Warehouse Builderのオブジェクトに対する新規アイコンの作成」を参照してください。

オブジェクトへの新規アイコン・セットの割当て

新しく作成したアイコン・セットCSV_ICONSETをオブジェクトのインスタンスに割り当てる手順は、次のとおりです。

  1. オブジェクトのインスタンスを右クリックして「プロパティ」を選択し、プロパティ・インスペクタを開きます。

  2. 「一般」タブで、「製品デフォルト・アイコンの使用」フィールドをクリックします。

    図34-7に示すように、このフィールドには省略記号ボタンが表示されます。

    図34-7 EXPENSE_CATEGORIES_CSVのプロパティ・インスペクタ

    図34-7の説明が続きます
    「EXPENSE_CATEGORIES_CSVのプロパティ・インスペクタ」の説明

  3. 省略記号ボタンをクリックすると、「アイコン・オブジェクト」ダイアログが開きます。

  4. CSV_ICONSETを選択して「OK」をクリックします。

  5. CSV_ICONSETは、図34-8に示すようにインスタンスEXPENSE_CATEGORIES_CSVに割り当てられています。

    図34-8 EXPENSE_CATEGORIES_CSVのアイコン・セット

    図34-8の説明が続きます
    「図34-8 EXPENSE_CATEGORIES_CSVのアイコン・セット」の説明

プロセス・フローでのアクティビティへの新規アイコン・セットの割当て

新しいアイコン・セットは、プロセス・フローでアクティビティに割り当てることができます。プロセス・フロー・エディタには「アイコンの選択」ボタンがあります。このボタンは、図34-9に示すように、アクティビティを選択すると使用可能になります。

図34-9 プロセス・フロー・エディタの「アイコンの選択」ボタン

図34-9の説明が続きます
「図34-9 プロセス・フロー・エディタの「アイコンの選択」ボタン」の説明

新規アイコン・セットをアクティビティに割り当てる手順は、次のとおりです。

  1. アクティビティを選択し、「アイコンの選択」ボタンをクリックします。「アイコン・セットの選択」ダイアログが表示されます。

  2. リストからアイコンを選択し、「選択」をクリックします。

アイコン・セットがアクティビティに割り当てられます。

プロセス・フローの詳細は、第7章「プロセス・フローの設計」を参照してください。

エキスパート・エディタでのタスクへの新規アイコン・セットの割当て

新規アイコン・セットは、エキスパート・エディタでタスクに割り当てることができます。割り当てるには、エキスパート・エディタで使用可能な「アイコンの選択」ボタンを使用します。これは、プロセス・フローでアイコン・セットをアクティビティに割り当てる場合と同様です。

新規アイコン・セットをタスクに割り当てる手順は、次のとおりです。

  1. タスクを選択し、「アイコンの選択」ボタンをクリックします。「アイコン・セットの選択」ダイアログが表示されます。

  2. リストからアイコンを選択し、「選択」をクリックします。

アイコン・セットがタスクに割り当てられます。

エキスパートの詳細は、Oracle Warehouse Builder APIおよびスクリプト・リファレンスを参照してください。