ヘッダーをスキップ
Oracle Warehouse Builderインストレーションおよび管理ガイド
11gリリース1(11.1)for Microsoft Windows and UNIX Systems
E05735-03
  目次
目次
索引
索引

前へ
前へ
 
次へ
次へ
 

8 カスタム・オブジェクトとプロパティの作成

この章では、カスタム・オブジェクトとカスタム・プロパティを作成することでワークスペースを拡張する方法について説明します。この章では、次の項目について説明します。

ユーザー定義オブジェクトによるワークスペースの拡張

管理者として、新しい型のオブジェクトやプロパティを既存のワークスペースに追加する必要性が生じる場合があります。ワークスペースに追加するオブジェクトは、ユーザー定義オブジェクト(UDO)と呼ばれています。また、ワークスペースに追加するプロパティはユーザー定義プロパティ(UDP)と呼ばれています。

たとえば、Warehouse Builderを他のアプリケーションと併用している場合、Warehouse Builderが他のアプリケーションと対話的に処理する際にデータとメタデータを管理する方法をドキュメントに記載する必要性が生じる場合があります。ドキュメントへの記載を容易にするために、新しいメタデータ・オブジェクトを導入して、既存のワークスペース・オブジェクトにそれらのオブジェクトを関連付けることができます。それらのカスタム・オブジェクトは、選択したアイコンでデザイン・センターに表示されます。基本的なエディタでそれらを編集して、系統分析と影響分析を実行できます。

管理ユーザーは、新しいプロパティやオブジェクトを追加することで、ワークスペースを拡張できます。

説明を簡潔にするために、この章ではワークスペースにおいてネイティブなオブジェクトをワークスペース・オブジェクトと呼ぶことにします。ワークスペースに導入するオブジェクトはUDOで、新規プロパティはUDPです。

Oracle Metabase(OMB)Plusについて

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

OMB Plusは、Oracle Warehouse Builder用の柔軟で高いレベルのコマンドライン・メタデータ・アクセス・ツールです。これはTclプログラミング言語を拡張したもので、UNIXとWindowsのプラットフォームで使用できます。「OMB PlusスクリプトによるUDOとUDPの使用」では、プログラム文(変数のサポート、条件制御と繰返し制御の構造、エラー処理、標準ライブラリ・プロシージャなど)を記述する方法について説明します。OMB Plusを使用すると、ワークスペース全体においてナビゲートし、ワークスペースにあるメタデータの管理や操作ができます。

OMB Plusを使用してUDOとUDPを指定する方法の詳細は、『Oracle Warehouse Builder API and Scripting Reference』を参照してください。

OMB PlusスクリプトによるUDOとUDPの使用

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

OMBDEFINE

OMBDEFINE CLASS_DEFINITIONにより、新しいオブジェクト定義をワークスペースで作成できます。

新しいモジュール定義を作成するには、次のコマンドを使用します。

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

これによって、UD_TABLEMODULEと呼ばれる新しいモジュール定義が作成されます。

OMBREDEFINE

OMBREDEFINE CLASS_DEFINITIONにより、ワークスペース・オブジェクトを再定義して、カスタム・プロパティを含めることができます。

UDPをDIMENSIONオブジェクトで作成するには、次のコマンドを使用します。

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

これによって、UD_DOCIDと呼ばれる新しいプロパティ定義がDIMENSIONクラス定義に追加されます。

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

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'

前述のコマンドにより、UD_TBL_NOTEプロパティ定義がTABLEクラスから削除されます。UDPを削除することは破壊的な操作になり、元に戻すことはできないので、注意して使用してください。ワークスペースのこのプロパティ定義ですべてのカスタム・プロパティ値は元に戻すことができない状態になります。

OMBDESCRIBE

OMBDESCRIBEをクラス定義で使用すると、メタデータ要素の属性を表示できます。他の操作とOMBDESCRIBEを併用すると、指定されたオブジェクト型に対応するUDPのリストが出力されます。たとえば、次のコマンドによりDIMENSIONに対応する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_を接頭辞として付加した場合、現行リリースでも有効です。ただし、今後使用するUDOとUDPのすべてにおいて、UD_を接頭辞として使用してください。

ワークスペース・オブジェクトへの新規プロパティの追加

新しいプロパティをワークスペース・オブジェクトで定義するには、次の手順を実行します。

  1. ワークスペースへの新規追加に関して慎重に計画を立案します。

    エンド・ユーザーがアクセスできるようになる前に、できるかぎりすべてのユーザー定義プロパティをワークスペースに定義する必要があります。このためには、既存のオブジェクトにおいてUDP用の値を用意する作業は避けてください。

  2. ワークスペース所有者としてシングル・ユーザー・モードでログインします。

    GUIやOMB Plusで別のユーザーがログインしていると、ワークスペースの構造を変更するコマンドを実行できなくなります。

    デザイン・センターにログインしている場合、デザイン・センターのメイン・メニューにある「ウィンドウ」オプションからOMB Plusを起動できます。他のユーザーがワークスペースにアクセスしていないことを確認するには、ワークスペースに接続して、OMBSWITCHMODE SINGLE_USER_MODEコマンドを実行します。

  3. カスタム・プロパティ定義の追加先ワークスペース・オブジェクトに対して、OMBREDEFINEコマンドを使用します。

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

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

  5. スクリプトを使用してUDPを作成すると、ユーザーはグラフィカル・ユーザー・インタフェースにより新しいプロパティを表示して値を割り当てることができます。

  6. デザイン・センターにログイン可能であることをユーザーに通知します。

UDPの作成: 例

オブジェクトのUDPを作成するには、次の手順を実行します。

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

  2. OMB Plusクライアントを起動します。

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

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

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

    前述のコマンドによって、UD_OWNERUD_FILEUD_LINKおよびUD_VERSIONのUDPが作成されます。

    有効なUDP型としては、整数型、文字列型、単精度浮動小数点型、倍精度浮動小数点型、日付型、タイムスタンプ型、ブール型、長整数型、ファイル型およびURL型があることに注意してください。

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

  6. ビューを右クリックし「プロパティ」を選択することで、ビューに対応するプロパティ・インスペクタを起動します。

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

    グラフィカル・ユーザー・インタフェースによりUDPの値を変更できます。

    図8-1に、「ユーザー定義」タブで作成されたUDPを示します。

    図8-1 TEST_VIEWのUDP

    図8-1の説明は図の下にあります。
    「図8-1 TEST_VIEWのUDP」の説明

UDPをワークスペースから削除するには、DELETE句を使用します。たとえば、UD_VERSIONを削除するには、次のコマンドを使用します。

OMBREDEFINE CLASS_DEFINITION 'VIEW' DELETE PROPERTY_DEFINITION 'UD_VERSION'

ワークスペースへのUDOの追加

UDOは、既存のワークスペース・オブジェクトに加えてワークスペースに追加するユーザー定義オブジェクトです。

すべてのUDOはモジュールに属する必要があります。モジュール自体はUDOです。このモジュールは、内部に他のオブジェクトが格納されている最上位コンテナとして動作します。モジュールには、フォルダ、ファースト・クラス・オブジェクト(FCO)およびセカンド・クラス・オブジェクト(SCO)を格納できます。同様に、フォルダには他のフォルダ、FCOおよびSCOを格納できます。FCOにはSCOを1つ以上格納できます。

UDOでは親子関係が公開されます。モジュールは最上位の親です。モジュールの内部にあるFCOは、モジュールの子要素です。同様に、FCOの内部にあるSCOは、FCOの子要素です。たとえば、Oracleモジュールは親モジュールです。このモジュールの内部にある表はFCOで、表の内部にある列はSCOです。

ワークスペース用に新しいオブジェクトを定義するには:

  1. ワークスペースへの新規追加に関して慎重に計画を立案します。

    作業を開始する前に、この章の残りの部分をすべて通読して、必要なスクリプト・コマンドに習熟します。

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

  3. UDO定義用スクリプトの作成」に記載されている手順に基づいてUDOを設計します。

  4. OMBDEFINEコマンドを使用して、新しいモジュール定義、FCOおよびSCOをそのモジュール内部に作成します。OMBREDEFINEコマンドを使用して、UDOに対して変更を行ったり、これらのオブジェクトのプロパティを設定したりします。

    スクリプトを使用してUDOを作成すると、グラフィカル・ユーザー・インタフェースを使用して、UDOに格納するオブジェクトの作成と編集ができます。

  5. UDOとUDPを使用した作業」の説明に従って、デザイン・センターにログインして新しいオブジェクトを表示します。

    新しいオブジェクトが適切に表示されていることを確認します。

  6. ワークスペース・オブジェクト用新規アイコンの作成」の説明に従って、新規アイコンをUDOに割り当てます(オプション)。

  7. クライアントにログイン可能であることをユーザーに通知します。

UDO定義用スクリプトの作成

UDOを定義するには、次の手順を実行してスクリプトを作成します。

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

  • オブジェクト型の定義: 他のオブジェクトを格納可能なフォルダとしてモジュールを定義します。

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

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

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

  • 関連型の定義: UDOがワークスペース・オブジェクトや他のUDOと関連付けることが可能な関係の型を示す関連型を作成します。エンド・ユーザーが後からオブジェクトの特定インスタンスにUDOを関連付ける場合のみ、この手順を実行する必要があります。たとえば、スクリプトでUDOを表とビューに関連付けることができます。デザイン・センターにおいて、エンド・ユーザーが後からUDOのインスタンスを特定の表とビューに関連付けることができます。Warehouse Builderではこれらの関係が、影響分析と系統分析のレポートで表示されます。

  • 新規アイコンの割当て(オプション): 「ワークスペース・オブジェクト用新規アイコンの作成」を参照してください。

  • 変更を保存します。

UDOの作成: 例

この項では、JavaアプリケーションでモデリングされたUDOを作成する例について説明します。Javaアプリケーションは、モジュールとして動作します。このモジュールにはクラス(FCO)が格納され、それらのクラスにはメソッド(SCO)が格納されます。メソッド内部で、コードの行をモデリングできます。ビジネスの観点では、これは対象になります。理由としては、データベース表がSQL(JDBC)文の内部で使用されている場合、アプリケーションにあるコードの特定の行がデータベース表における変更の影響を受ける場合があるからです。

図8-2は、UDOの構造を示します。

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')
    

    前述のコマンドによりモジュール定義が定義され、すべてのオブジェクトで共通のプロパティが設定されます。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(モジュール内部に作成されるFCO)

  • UD_JMETHODという名前のSCO(UD_JCLASSの子)

  • UD_JMETHOD_LINEという名前の別のSCO(UD_JMETHODの子)

プロジェクト・エクスプローラの「ユーザー定義モジュール」アイコンでUDOにアクセスできます。UDOのインスタンスを新規に作成するには、UDOを右クリックし「新規」を選択します。新しいモジュールとSCOを作成することができ、これらのモジュールとSCOを編集することもできます。


注意:

新規に作成したUDOをプロジェクト・エクスプローラで表示可能にするには、Warehouse Builderを完全に停止してから再起動する必要があります。停止する際に、変更を保存するように求められたら、変更を保存します。

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

UDOは他のオブジェクトと関連付けることができます。これらの関連付けを作成すると、UDOは他のオブジェクトと同様に系統と影響の分析ダイアグラムの一部になります。

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

この例では、1つ以上の表とSCO、UD_JMETHODを関連付けます。これは、メソッドにおいて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を識別するために使用する名前です。クラスには複数の関連付けが存在する場合があり、その場合それらの各関連付けのロールとして機能します。

MAX_CARDINALITYにより、対象クラスで関連付けられているオブジェクトの数を制限できます。たとえば、uniqueKeyとforeignKeyの間において関連付けがあると仮定します。uniqueKeyのMAX_CARDINALITYは1になります。理由としては、指定されたforeignKeyオブジェクトは、最大1個のuniqueKeyオブジェクトと関連付けることができるからです。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クラスの名前を指定します。

    図8-3に、プロジェクト・エクスプローラから作成した新しいユーザー定義モジュールを示します。

    図8-3 プロジェクト・エクスプローラから作成したユーザー定義モジュール

    図8-3の説明は図の下にあります。
    「図8-3 プロジェクト・エクスプローラから作成したユーザー定義モジュール」の説明

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

  7. 「オブジェクトとアソシエーションのツリー」タブをクリックし、「CUSTOMERUPDATE」を選択します。FCO、UD_JCLASSのプロパティを表示できます。

    図8-4は、FCOのエディタを示します。

    図8-4 UD_JCLASSのエディタ

    図8-4の説明は図の下にあります。
    「図8-4 UD_JCLASSのエディタ」の説明

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

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

  9. JMETHOD_1にはノードが2つあります。1つ目はJava Method Linesで、子SCOです。2つ目はTABLEUSEDで、これはUD_XJMETHOD2TABLEの関連付けが作成されたときにROLE_1用に指定された値です。

    図8-5は、SCOのノードを示します。

    図8-5 SCOの内部にあるノード

    図8-5の説明は図の下にあります。
    「図8-5 SCOの内部にあるノード」の説明

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

    「オブジェクト・セレクタ」ダイアログ・ボックスが表示されます。これによって、UDOの接続先になる表を選択できます。

    図8-6は、「オブジェクト・セレクタ」ダイアログ・ボックスを示します。

    図8-6 「オブジェクト・セレクタ」ダイアログ・ボックス

    図8-6の説明は図の下にあります。
    「図8-6 「オブジェクト・セレクタ」ダイアログ・ボックス」の説明

UDOとUDPを使用した作業

グラフィカル・ユーザー・インタフェースにより、「リポジトリ・デザイン・ブラウザ」においてUDOとUDPをプロジェクト・エクスプローラで表示できます。また、プロジェクト・エクスプローラでUDOとUDPを編集することもできます。

リポジトリ・デザイン・ブラウザ

リポジトリ・ブラウザは、メタデータ管理とレポート作成のポータルです。このブラウザでは、オブジェクト、オブジェクトのプロパティ、オブジェクトの関係が、UDOとUDPを含めて、表示されます。ブラウザでは、UDOを含めてすべてのオブジェクトに対応する系統分析と影響分析のレポートが表示されます。

指定されたオブジェクトのUDPを定義すると、ブラウザではUDPの名前と値を「拡張プロパティ名」と「拡張プロパティ値」として一覧表示します。

図8-7は、プロパティ・シート例を示します。

図8-7 ユーザー定義プロパティのあるプロパティ・シート例

図8-7の説明は図の下にあります。
「図8-7 ユーザー定義プロパティのあるプロパティ・シート例」の説明

別のワークスペースへの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では、ワークスペースにおいてメタデータ定義を削除しません。

メタデータ定義を更新する際、MDLではオブジェクトの名前が異なっていれば名前のみ変更します(検索基準がUOIDの場合)。そして、デフォルト値を更新します。MDLではデータ型は変更しません。

ワークスペース・オブジェクト用新規アイコンの作成

アイコンとは、オブジェクトの機能や型が使用できるかどうかをエンド・ユーザーに対して視覚的に示すグラフィックです。事前定義済ワークスペース・オブジェクトの型は多く、それぞれ独自のアイコンがあります。既存のオブジェクトやオブジェクトのインスタンスに関連付けられているアイコンを、認識しやすいものに変更する場合があります。たとえば、アイコンを変更することで特定の表を視覚的にハイライト表示することができます。さらに、UDOの場合、オブジェクトを適切に表現するアイコンにデフォルトのアイコンを変更する場合があります。グラフィック・エディタやサード・パーティ製ソフトウェアを使用すると、独自のアイコンを作成できます。

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


注意:

新しいアイコンを大半のワークスペース・オブジェクトに関連付けることができます。ただし、パブリック変換やパブリック・データ・ルール、さらにDEFAULT_CONFIGURATION、DEFAULT_CONTROL_CENTERおよびOWB_REPOSITORY_LOCATIONのような事前定義済オブジェクトは例外です。

各オブジェクトには、様々なエディタやツールバーによってサイズが異なるアイコン・セットがあります。表8-1に記載されているように、各アイコン・セットにはキャンバス・アイコン、パレット・アイコンおよびツリー・アイコンがあります。新しいアイコン・セットを定義するときは、次のサイズ関連ガイドラインに従ってください。新しいアイコンのサイズを適切なサイズに指定しないと、自動的にサイズが変更されます。これによって、意図したデザインが変形する場合があります。

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

説明

キャンバス・アイコン

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

パレット・アイコン

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

ツリー・アイコン

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


アイコン・セットの作成

新しいアイコン・セットを作成するには、次の手順を実行します。

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

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

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

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

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

  • 名前: アイコンの名前です。

  • グループ: リストにおいて選択できるグループのいずれかにアイコン・セットを割り当てることができます。大量のアイコン・セットを作成した際に様々なグループに振り分ける場合に便利です。

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

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


    注意:

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

新規に作成したアイコン・セットが、グローバル・エクスプローラの「アイコン・セット」で選択できるようになります。

ワークスペース・オブジェクトへの新しいアイコン・セットの割当て

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

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

アイコン・セットの詳細は、「ワークスペース・オブジェクト用新規アイコンの作成」を参照してください。

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

次の手順を実行して、新規に作成したアイコン・セットのCSV_ICONSETをオブジェクトのインスタンスに割り当てます。

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

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

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

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

    図8-8の説明は図の下にあります。
    「図8-8 EXPENSE_CATEGORIES_CSVのプロパティ・インスペクタ」の説明

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

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

  5. これでCSV_ICONSETが、EXPENSE_CATEGORIES_CSVのインスタンスに割り当てられました。

    図8-9に、アイコン・セットがインスタンスに割り当てられたプロジェクト・エクスプローラを示します。

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

    図8-9の説明は図の下にあります。
    「図8-9 EXPENSE_CATEGORIES_CSVのアイコン・セット」の説明

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

プロセス・フローのアクティビティに新しいアイコン・セットを割り当てることができます。プロセス・フロー・エディタの「エクスプローラ」パネルには、「アイコンの選択」ボタンが上部にあります。このボタンはアクティビティの選択時に有効になります。

新しいアイコン・セットをアクティビティに割り当てるには:

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

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

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

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

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

新しいアイコン・セットをタスクに割り当てるには:

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

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

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

エキスパートの詳細は、『Oracle Warehouse Builder API and Scripting Reference』を参照してください。