21フレックスフィールドの設定

この章の内容は次のとおりです。

フレックスフィールドは、ビジネス・オブジェクトに関連するプレースホルダ・フィールドのセットであり、追加データを格納するためにアプリケーション・ページ上に配置されます。フレックスフィールドを使用することで、データ・モデルを変更したりデータベース・プログラミングを実行したりせずに、ビジネス・オブジェクトを変更し、企業のデータ管理要件を満たすことができます。フレックスフィールドは、同じデータベース表上の様々なデータを取得するのに役立ち、アプリケーション機能を変更する手段となります。

たとえば、航空機製造業者は、事前定義されていない固有の属性をそのオーダーで必要とする場合があります。オーダー・ビジネス・オブジェクトにフレックスフィールドを使用すると、必要な属性を作成して構成できます。

フレックスフィールドのタイプ

アプリケーション・ページに表示されるフレックスフィールドは、事前定義されています。ただし、フレックスフィールドは構成が可能であり、そのプロパティを変更することもできます。ユーザーにはそれらのフレックスフィールドは、UIページ上のフィールド属性または情報属性として表示されます。フレックスフィールドを管理するには、「設定および保守」作業領域で次のいずれかのタスクを使用します。

  • 付加フレックスフィールドの管理: アプリケーション・ページ上で、ビジネスに固有の重要な追加情報に対応するフォームを展開します。請求書を表示するページ上で請求書詳細を収集するために、付加フレックスフィールドを使用できます。

  • 拡張可能フレックスフィールドの管理: 1対多のデータ関係を確立し、アプリケーション・データをコンテキスト依存にします。フレックスフィールドは、コンテキスト・データ条件が満たされている場合にのみ表示されます。したがって、拡張可能フレックスフィールドの方が、付加フレックスフィールドよりも高い柔軟性があります。

  • キー・フレックスフィールドの管理: 番号の組合せなど、いくつかの値を組み合せた情報を格納します。キー・フレックスフィールドは、会計コードや資産カテゴリなどのオブジェクトを表します。

  • 値セットの管理: 値のグループを使用して、フレックスフィールドに入力されたデータを検証します。

    注意: 「付加フレックスフィールドの管理」タスクまたは「拡張可能フレックスフィールドの管理」タスク内の値セットは管理できます。

フレックスフィールドのコンポーネント

フレックスフィールドは、フレックスフィールド構成に関係する情報を格納およびレンダリングする、いくつかのデータ・エンティティで構成されます。

フレックスフィールドは、次のコンポーネントで構成されます。

  • セグメント

  • 値セット

  • コンテキスト

  • 構成

セグメント

セグメントはフレックスフィールド内のフィールドであり、データベースの単一の表列を表します。フレックスフィールドを構成するときは、個々のセグメントの外観と意味を定義します。セグメントは、情報の属性を表します。セグメントは、フレックスフィールドが実装されている場所であればどこでもグローバルに、または構成やコンテキストに基づいて表示できます。各セグメントは、単一のアトミック値を取得し、情報の属性を表します。

セグメントの特性は、それが使用されているフレックスフィールドのタイプによって異なります。

  • キー・フレックスフィールドでは、セグメントはエンティティの特性を記述します。これはたとえば、アイテムのタイプ、色およびサイズに関する詳細を含む部品番号などです。

  • 付加フレックスフィールドまたは拡張可能フレックスフィールドでは、セグメントはアプリケーション・ページ上の情報属性を表します。これはたとえば、一部がグローバルで、残りがデバイスのカテゴリにコンテキスト依存するコンポーネントを含むデバイスに関する詳細などです。

値セット

ユーザーはアプリケーションの使用時に、セグメントに値を入力します。値セットは、フレックスフィールド・セグメントの内容を検証する、値の名前付きグループです。フレックスフィールド・セグメントを値セットで構成して、そのセグメントに有効な値のみが入力されるようにします。

構成には、次のタスクが関係します。

  • 値セットの値の定義。これには値の長さやフォーマットなどの特性が含まれます。

  • アプリケーションの表または事前定義リストからのフォーマット設定ルールまたは値の指定。

1つまたは複数のフレックスフィールド内の複数のセグメントで、単一の値セットを共有できます。

コンテキスト

コンテキスト依存のフレックスフィールド・セグメントは、コンテキスト値に基づいてアプリケーションで使用できます。コンテキストは、フレックスフィールドの構成プロセスの一部として定義します。ユーザーには、グローバル・セグメントと、選択したコンテキスト値に適用されるコンテキスト依存セグメントが表示されます。

付加フレックスフィールドと拡張可能フレックスフィールドでは、複数のコンテキストで、データベースの列に基づくコンテキスト依存セグメントを再利用できます。

構成

キー・フレックスフィールドには構成があります。各キー・フレックスフィールド構成は、セグメントの具体的な構成です。セグメントの追加または削除、あるいはその順序の再配列により、異なる構成が作成されます。複数の構成で、データベースの列に基づくセグメントを再利用できます。

注意: これらすべてのフレックスフィールド・コンポーネントは、アプリケーションの言語セッションを変更せずに優先言語に翻訳できます。すべての有効な言語行で翻訳を指定するには、それぞれの編集ページで翻訳エディタ・オプションを使用します。更新が行われると、ユーザーは実行時に特定のフレックスフィールド・コンポーネントの翻訳済テキストを表示できます。

フレックスフィールド構成の概要

フレックスフィールドの構成では、ビジネス・オブジェクトをユーザー定義属性で強化する必要性を確認してから、それらの属性をデプロイメント内に統合します。キー・フレックスフィールドの場合、フレックスフィールドの構成には、値セットの割当てを識別し、セグメント構造を判別することが関係します。

ユーザー定義属性の構成のための総合プロセス

フレックスフィールドを使用して属性を作成する前に、コンテキスト・レイヤーおよびアプリケーションの構成ライフ・サイクルについて理解しておいてください。開発者がビジネス・オブジェクトをフレックスフィールドに登録していれば、フレックスフィールドを使用して属性をそのオブジェクトに追加できます。付加および拡張可能のフレックスフィールドの場合、総合的な構成プロセスには次の作業が伴います。

  1. 「管理」メニューからフレックスフィールドの強調表示機能を使用して、ページ上でビジネス・オブジェクトに関連するフレックスフィールドを検出します。

  2. フレックスフィールドの構成を計画します。

  3. フレックスフィールド検証を計画します。

  4. フレックスフィールド・セグメントを構成することで、属性を定義します。

    1. 「付加フレックスフィールドの管理」タスクまたは「拡張可能フレックスフィールドの管理」タスクを使用するか、あるいはフレックスフィールドが強調表示されているページ上で「フレックスフィールドの構成」アイコン・ボタンを直接使用します。簡単な構成の場合は、フレックスフィールドが強調表示されているページ上で、「セグメントの追加」「コンテキスト値の追加」および「セグメントの編集」アイコン・ボタンを直接使用します。

    2. オプションで、フレックスフィールド構成を検証します。

    3. オプションで、フレックスフィールドを初期テスト用にサンドボックスにデプロイします。

    注意: 統合サンドボックスでは、付加フレックスフィールドのみをサンドボックスにデプロイできます。値セット、キー・フレックスフィールドおよび拡張可能フレックスフィールドの変更を、メインライン環境に直接デプロイできます。
  5. フレックスフィールドをメインライン・メタデータにデプロイして、アプリケーション・ページ上に属性を表示し、それらをOracle Business Intelligenceなどの他のツールとの統合に使用できるようにします。

  6. 属性をテクノロジ・スタックに統合するために必要なステップを実行します。

単純な構成は、フォーマット専用フィールドの追加や、値の基本リストがあるフィールドの追加などのアクションに限定されます。

ユーザー定義キーの構成のための総合プロセス

キー・フレックスフィールドを使用すると、ビジネス・プラクティスに従い、有意義な部分を含むインテリジェント・キー・コードを構成できます。キー・フレックスフィールドは、キー・コードを構成する各部分に対して1つのセグメントを持つように構成します。

キー・フレックスフィールドの場合、総合的な構成プロセスには次の項目が関係します。

  1. 「管理」メニューからフレックスフィールドの強調表示機能を使用して、ページ上でビジネス・オブジェクトに関連するフレックスフィールドを検出します。

  2. フレックスフィールドの構成を計画します。

  3. フレックスフィールドの検証を計画します。

  4. キー・フィールド・セグメントを構成する前に、「値セットの管理」タスクに移動して、値セットを定義します。

  5. キー・フレックスフィールド構成とそのセグメントを定義し、各構成の構成インスタンスを定義します。

    1. 「キー・フレックスフィールドの管理」タスクを使用するか、またはフレックスフィールドが強調表示されているページ上で「フレックスフィールドの構成」アイコン・ボタンを直接使用します。

    2. オプションで、フレックスフィールド構成を検証します。

    3. オプションで、フレックスフィールドを初期テスト用にサンドボックスにデプロイします。

    注意: 統合サンドボックスでは、付加フレックスフィールドのみをサンドボックスにデプロイできます。値セット、キー・フレックスフィールドおよび拡張可能フレックスフィールドの変更を、メインライン環境に直接デプロイできます。
  6. フレックスフィールドをメインライン・メタデータにデプロイしてアプリケーション・ページ上に表示し、Oracle Business Intelligenceなどの他のツールとの統合に使用できるようにします。

  7. フレックスフィールドをテクノロジ・スタックに統合するために必要なステップを実行します。

ランタイムのフレックスフィールド

ビジネス・オブジェクトには、付加フレックスフィールドまたは拡張可能フレックスフィールドが関連付けられています。これらを使用して、ランタイムにビジネス・オブジェクトの属性を作成できます。一部のビジネス・オブジェクトには、柔軟な複数の部分キーを構成するための関連するキー・フレックスフィールドがあります。

ページ上のフレックスフィールドの検出

フレックスフィールド・セグメントとして定義した属性は、ランタイムでは他の属性と同じようにアプリケーション・ページに表示されます。ただし、フレックスフィールドのタイプごとに表示方法が異なります。

次に示す特性は、アプリケーション・ページ上のフレックスフィールドのタイプを判別するのに役立ちます。

  • 付加フレックスフィールド・セグメントは、ラベルとフィールドのペアとして、または列ヘッダーに対応するフィールドのテーブルとして表示されます。フィールドはフレックスフィールド・セグメントを表し、セグメントに割り当てられた値セットから導出される値を受け入れます。

  • 拡張可能フレックスフィールド・セグメントは、ラベルが付けられたリージョン内でグループ化されて表示されます。各グループはコンテキストであり、リージョン・ラベルはコンテキスト名です。

  • キー・フレックスフィールドは、アプリケーション・ページではキー・フレックスフィールド・アイコンが付いたフィールドとして表示されます。そのフィールドの値はセグメントのコレクションです。

ページ上でフレックスフィールドを見つけるには、グローバル・ヘッダーで、自分のユーザー名を選択し、「設定およびアクション」メニューで、「フレックスフィールドの強調表示」を選択します。ページは特殊モードでレンダリングされ、ページ上にフレックスフィールドがあれば、その位置が示されます。次のことを実行します。

  • 「情報」アイコンにカーソルを合わせ、フレックスフィールドの詳細を表示します。

  • 「フレックスフィールドの構成」アイコンをクリックし、フレックスフィールドの管理タスクを使用してフレックスフィールドを管理します。

  • 「コンテキスト値の追加」「セグメントの追加」、または「セグメントの編集」アイコンをクリックして、コンテキスト値を追加するか、またはグローバルあるいはコンテキスト依存のフレックスフィールド・セグメントを編集します。これは、付加フレックスフィールドと拡張可能フレックスフィールドの両方に適用されます。

注意: すべてのフレックスフィールドに対して属性を作成できるわけではありません。たとえば、一部のフレックスフィールドは保護されており、その構成をまったく編集できないか、または限定的な変更しかできません。製品固有資料を参照して、フレックスフィールドの使用に関する制限があるかどうかを確認してください。

単一のフレックスフィールドのすべてのセグメントは、デフォルトではまとめてグループ化されています。フレックスフィールド・セグメントのレイアウトと位置は、アプリケーション開発者によるページ上でのフレックスフィールドの配置に依存します。フレックスフィールドは、ページの別セクション、表内、独自のページまたはダイアログ・ボックスに表示することもできます。フレックスフィールド・セグメントのレイアウト、位置または他の表示機能の編集には、Oracle Composerを使用できます。

ページ上にフレックスフィールドを表示する必要がなくなったら、「管理」メニューで「フレックスフィールドの強調表示解除」を選択します。

ページ・コンポーザを使用したフレックスフィールドの変更

ページ・コンポーザを使用して、ページに固有のフレックスフィールドを変更できます。

拡張可能フレックスフィールドの変更

ページ・コンポーザで、変更するフレックスフィールドのあるページを開きます。「ソース」ビューに切り替え、EffContextsPageContainerタスク・フローにバインドされているリージョンを探します。これは、拡張可能フレックスフィールド属性とコンテキストのコンテナです。フレックスフィールド・コードと識別情報を表示するには、リージョンのプロパティ・パネルを開きます。リージョン内のコンポーネントを変更するには、目的のタグを選択して、「編集」をクリックします。

付加フレックスフィールドの変更

ページ・コンポーザで、変更するフレックスフィールドのあるページを開きます。「ソース」ビューに切り替えて、そのフレックスフィールドの<descriptiveFlexfield>要素を探します。この要素のプロパティ・パネルを開き、フレックスフィールド・コードと識別情報を表示します。プロパティ・パネル内では、グローバルおよびコンテキスト依存セグメントのプロパティを変更したり、ページ上のセグメントを並べ替えたりできます。

注意: フレックスフィールド・セグメントは、個々のコンポーネント要素を使用して編集できません。これらは、所属する<descriptiveFlexfield>要素のプロパティ・パネルからのみ編集できます。これらのコンポーネントを検索するには、付加フレックスフィールドのプロパティ・パネルを開き、該当するタブに切り替えて、一意の識別情報を使用して検索します。たとえば、コンテキスト依存セグメントを検索する必要がある場合、フレックスフィールドのプロパティ・パネルを開き、フレックスフィールドの「コンテキスト・セグメント」タブに移動し、「コンテキスト値」と「セグメント・コード」を使用してセグメントを検索します。

フレックスフィールドとOracle Application Cloudアーキテクチャの連携の仕組み

追加データを取得するために、管理者または実装者は、ビジネス・オブジェクトの属性を表すフレックスフィールド・セグメントを構成します。ビジネス・オブジェクトは、付加フレックスフィールド拡張可能フレックスフィールドの両方に対応しています。

次の図は、フレックスフィールドの構成に関係したレイヤーを示しています。

  • データベース内のビジネス・エンティティ表およびメタデータ。

  • ADFビジネス・コンポーネント・オブジェクト。これらはメタデータから導出され、Oracle Metadata Services (MDS)リポジトリに格納されます。

  • フレックスフィールド・セグメントにより定義されたフィールドがレンダリングされるユーザー・インタフェース。

次の図に、構成時に定義されたすべてのメタデータで構成され、データベースに格納されたフレックスフィールド定義を示します。

図は、アプリケーション開発でフレックスフィールド・セグメントを有効にするために、フレックスフィールドを定義し、データベースに容量を追加するワークフローを示しています。フレックスフィールドが作成されて登録されたら、管理者は定義がデータベースに格納されるようにそのフレックスフィールドを構成します。関連するビジネス・コンポーネントは、Metadata Servicesリポジトリにデプロイされます。結果として、フレックスフィールドを表す属性がユーザー・インタフェースで使用できるようになり、それらのビジネス・コンポーネントはアクセス可能になります。

アプリケーション開発者は、フレックスフィールドを作成して登録し、構成に使用できるようにします。管理者と実装コンサルタントは、使用可能なフレックスフィールドのセグメントや他のプロパティを構成します。この情報は、データベース内に追加のフレックスフィールド・メタデータとして格納されます。フレックスフィールドをデプロイすると、データベース内のフレックスフィールド・メタデータに基づいて、ADFビジネス・コンポーネントが生成されます。

フレックスフィールドとOracle Applications Cloudアーキテクチャの連携方法を理解するためには、次の側面が重要です。

  • 統合

  • デプロイメント

  • インポートとエクスポート

  • ランタイム

  • パッチ適用

統合

フレックスフィールドを構成して追加した属性は、Oracle Fusion Middlewareテクノロジ・スタック全体で使用できます。フレックスフィールド・セグメントのアプリケーション・プログラミング・インタフェース(API)を使用して、セグメントを特定し、次の項目にフレックスフィールドを統合できます。

  • ユーザー・インタフェース・ページ

  • サービス指向アーキテクチャ(SOA)インフラストラクチャ

  • Oracle Business Intelligence

  • ESSbase (Extended Spread Sheet Database)

フレックスフィールドの構成は、アプリケーションの更新後も保持されます。

デプロイメント

構成変更を保存するとすぐに、フレックスフィールドのメタデータはアプリケーション・データベースに格納されます。フレックスフィールドをデプロイすると、ADFビジネス・コンポーネントが生成されるので、ランタイム・ユーザー・インタフェースは、メタデータ内の最新のフレックスフィールド定義を反映します。

インポートとエクスポート

「設定および保守」作業領域を使用して、実装サイト全体でフレックスフィールドをインポートおよびエクスポートできます。デプロイメント・ステータスは、デプロイ済またはサンドボックスにデプロイ済のいずれかでなければなりません。したがって、移行を試行する前に、フレックスフィールドが正常にデプロイされていることを検証して確認してください。

ランタイム

フレックスフィールドの最新の定義は、フレックスフィールドがデプロイされていれば、ランタイムのユーザー・インタフェースに反映されます。ユーザー・インタフェースがビジネス・オブジェクトにアクセスするときに、デプロイされたフレックスフィールド定義により、取得された値に関連する属性が特定されます。ページ上で、Oracle Composerを使用してフレックスフィールドの表示構成を追加した場合、同じフレックスフィールド・セグメントがページごとに異なって表示される可能性があります。

パッチ適用

フレックスフィールドの構成は、パッチ適用やアップグレードの後も保持されます。

フレックスフィールドの管理

フレックスフィールドの管理には、フレックスフィールドの登録、計画および構成が含まれます。

アプリケーション開発者によりアプリケーションで提供される登録済フレックスフィールドを、計画および構成します。フレックスフィールド・セグメントの構成方法により、フレックスフィールド・セグメントがユーザーにどのように表示されるかが決まります。オプションで、UIページを構成して、そのページ上でフレックスフィールド・セグメントがユーザーにどのように表示されるかを変更できます。

次の図は、フレックスフィールドをユーザーが使用できるようにするためのプロセスを示しています。「フレックスフィールドの定義」アクティビティのタスクにより、管理者はフレックスフィールドを構成してデプロイできます。フレックスフィールドを構成してサンドボックスにデプロイした後、それをメインライン・メタデータに再度デプロイして、ユーザーが使用できるようにします。

図では、計画からフレックスフィールドをユーザーが使用できるようにするまでのワークフローを示しています。構成とデプロイは、「フレックスフィールドの定義」アクティビティのタスクの範囲内で行われます

フレックスフィールドの管理について、次の面を考慮してください。

  • フレックスフィールドの登録

  • フレックスフィールドの計画

  • フレックスフィールドの構成

  • ビジネス・インテリジェンスに対するフレックスフィールド・セグメントの有効化

  • フレックスフィールドのデプロイ

  • オプションで、ユーザー・インタフェース・ページでのフレックスフィールド・セグメントの外観の変更

  • ランタイム・ページ上のフレックスフィールドの特定およびトラブルシューティング

フレックスフィールドの登録

フレックスフィールドは、構成する前に登録する必要があります。したがって、アプリケーション開発では、フレックスフィールドを登録し、管理者や実装コンサルタントが構成できるようにします。登録には、フレックスフィールドで使用するエンティティ表の列を予約することが関係します。フレックスフィールドの登録の詳細は、Oracle Fusion Applications開発者ガイドを参照してください。

フレックスフィールドの計画

フレックスフィールドの計画を開始する前に、どのタイプがニーズに適しているか、およびどのビジネス・オブジェクトがフレックスフィールドの変更に使用できるかを判別します。すべてのフレックスフィールドは、エンティティの属性を表すセグメントで構成されます。属性に対してユーザーが入力する値が、エンティティ表の列に格納されます。フレックスフィールドは、構成する前に慎重に計画してください。フレックスフィールドの新しいセグメントを構成する前に、必ずその実装について注意深く計画してください。

ビジネス・オブジェクトでフレックスフィールドをサポートすることを決定しており、それらのフレックスフィールドが登録済である場合は、その構成の計画を開始できます。構成する予定のフレックスフィールドのコード名を書き留めて、「フレックスフィールドの定義」アクティビティですぐに参照できるようにしておきます。ページ上でのフレックスフィールドの表示方法を決定し、構成できる場合もあります。製品固有のフレックスフィールドの使用に関する制限事項を確認するには、具体的な製品についてOracle Applications Cloudのヘルプを参照してください。

フレックスフィールドの構成

管理者または実装者は、企業のニーズを満たすようにフレックスフィールドを構成します。一部のフレックスフィールドでは、アプリケーションが正しく動作するための構成が必要です。フレックスフィールドは、次の方式を使用して構成できます。

  • 「設定および保守」作業領域でフレックスフィールドの管理タスクを使用します。

  • ランタイム・ページの表示中に、「管理」メニューのフレックスフィールドの強調表示コマンドを使用する。

    • 「フレックスフィールドの構成」アイコン・ボタンを使用して、フレックスフィールドのすべての面を管理します。これにはセグメントの順序番号の変更や、フレックスフィールド・セグメントのビジネス・インテリジェンス・ラベルの構成などが含まれます。

    • 「セグメントの追加」および「セグメントの編集」アイコン・ボタンを使用して、単純な構成の付加および拡張可能フレックスフィールド・セグメントを追加および編集します。

    • 「コンテキストの追加」アイコン・ボタンを使用して、付加または拡張可能フレックスフィールドのコンテキスト値を追加します。

フレックスフィールドの構成には、次が含まれます。

  • ユーザーが入力した値を突き合わせて検証する値セットの定義

  • フレックスフィールド内のセグメントの構成またはコンテキストの定義

  • 各セグメントの識別情報の指定

  • 表示プロパティ(各フレックスフィールド・セグメントのプロンプト、長さ、データ型など)の指定

  • 各セグメントの有効な値と、アプリケーション内での各値の意味の指定

ヒント: 値セットの作成は、付加フレックスフィールドおよび拡張可能フレックスフィールドの作成時に実行できます。ただし、値セットの定義は、それを使用するキー・フレックスフィールド・セグメントの構成前に実行してください。キー・フレックスフィールド・セグメントの構成時に、既存の値セットを割り当てるためです。

付加フレックスフィールドおよび拡張可能フレックスフィールドのセグメントの作成時に、表検証、独立、従属またはサブセットの値セットを作成する場合は、オプションで、選択した値の説明をランタイムにセグメントの横に表示するように指定できます。連番の順序番号を、グローバル・セグメントと、各コンテキスト内のコンテキスト依存セグメントに割り当てることができます。セグメント表示は、セグメントの順序番号に基づいて必ず固定順序になります。セグメントに対して別のセグメントですでに使用されている番号を入力することはできません。したがって、新しい属性を挿入しやすくするために、4、5または10などの倍数でセグメントを採番することを検討してください。

フレックスフィールド列は新規セグメントに自動的に割り当てられますが、この割当てはセグメントを保存する前に変更できます。セグメントに対して特定の列割当てを設定する必要がある場合は、まずそのセグメントを作成し、目的の列が別のセグメントに自動的に割り当てられないようにします。

ビジネス・インテリジェンスに対するフレックスフィールド・セグメントの有効化

フレックスフィールドがOracle Business Intelligence対応フレックスフィールドとしてデータベース内に登録されている場合、そのフレックスフィールド・セグメントをビジネス・インテリジェンス用にを有効にできます。ビジネス・インテリジェンス用にセグメントを有効にすることの詳細は、ビジネス・インテリジェンス用に付加、拡張可能、およびキーのフレックスフィールド・セグメントを有効にするときの考慮事項を参照してください。拡張可能フレックスフィールド・セグメントの場合、意味的に等しいコンテキスト間でセグメントを均質化するためにラベルを割り当てることはできません。

フレックスフィールドのデプロイ

フレックスフィールドを構成したら、それをデプロイして、最新の定義をランタイム・ユーザーが使用できるようにする必要があります。「フレックスフィールドの定義」タスクで、次のいずれかのコマンドを使用してフレックスフィールドをデプロイできます。

  • フレックスフィールドのデプロイ・コマンドは、フレックスフィールドをメインライン・メタデータにデプロイします。このコマンドは、テストまたは本番環境での汎用コマンドです。

  • サンドボックスにデプロイ・コマンドは、フレックスフィールドをサンドボックスにデプロイします。このコマンドは、フレックスフィールドがメインライン・メタデータにデプロイされる前に正しく構成されていることを確認するためのものです。

注意: 統合サンドボックスでは、付加フレックスフィールドのみをサンドボックスにデプロイできます。値セット、キー・フレックスフィールドおよび拡張可能フレックスフィールドの変更を、メインライン環境に直接デプロイできます。

フレックスフィールドの強調表示モードで、次を使用するとします。

  • 拡張可能フレックスフィールドで「コンテキストの追加」「セグメントの追加」および「セグメントの編集」ツールを使用する場合は、「保存」コマンドを使用して変更を保存します。次にデプロイ・コマンドを使用して、フレックスフィールドをメインライン・メタデータにデプロイします

  • 付加フレックスフィールドで「セグメントの追加」および「セグメントの編集」ツールを使用する場合は、「保存してデプロイ」コマンドを使用して変更を保存します。次にフレックスフィールドをメインライン・メタデータにデプロイします

デプロイ後には、デプロイメント・ステータスは、最後にデプロイされた定義と比較した現在の構成済フレックスフィールドの状態を示します。

フレックスフィールド・セグメントの外観の変更(オプション)

定義したフレックスフィールド属性は、ユーザー・インタフェース・ページに統合され、ユーザーはそこから属性のビジネス・オブジェクトにアクセスします。アプリケーション開発では、ビジネス・オブジェクトを表示するUIページと、フレックスフィールド・セグメントをレンダリングするためにデフォルトで使用する表示パターンを決定します。

フレックスフィールドがメインラインMDSリポジトリにデプロイされ、アプリケーション・ページに表示されるようになったら、ページ・コンポーザを使用してページごとに変更できます。たとえば、セグメントを非表示にしたり、そのプロンプトや他のプロパティを変更したり、ユーザー定義のグローバル属性を順序変更して同じ親レイアウト内のコア属性の間に組み込まれるようにしたりできます。フレックスフィールドがメインライン・メタデータにデプロイされると、ページ・コンポーザを使用してUIページでの付加および拡張可能フレックスフィールド・セグメントの外観を変更できます。

アプリケーションがいくつかの異なるロケールで実行している場合は、プロンプトや説明などの翻訳可能テキスト用に別々の翻訳を指定できます。翻訳されたテキストを必要とするロケールを使用して翻訳を入力します。グローバル・ヘッダーで、自分のユーザー名をクリックし、「設定およびアクション」メニューで、「プリファレンスの設定」を選択します。次にテキストを、そのロケール用の翻訳済テキストに変更します。

ランタイム・ページ上のフレックスフィールドの特定

「設定および保守」作業領域の「管理」メニューにある「フレックスフィールドの強調表示」コマンドにより、各フレックスフィールドに関する詳細にアクセスするための「情報」アイコン・ボタンを表示することで、ランタイム・ページ上のフレックスフィールドの位置を特定できます。

付加フレックスフィールドまたは拡張可能フレックスフィールドがまだデプロイされておらず、通常ビューのランタイム・ページにセグメントが表示されていない場合でも、フレックスフィールドはそのページのフレックスフィールドの強調表示ビューに表示されます。付加フレックスフィールドの場合、最後のデプロイメント時点でのセグメントが表示されます。拡張可能フレックスフィールドの場合、保存されているもののデプロイされていないすべてのセグメントとコンテキストも、無効と示されて表示されます。

「フレックスフィールドの強調表示」では、現在のフレックスフィールド・メタデータ定義にアクセスします。強調表示されたフレックスフィールドの「フレックスフィールドの構成」アイコン・ボタンを使用して、フレックスフィールドを直接管理します。または、強調表示されたフレックスフィールドの名前を書き留めて、フレックスフィールドの管理タスクでその名前を検索します。

フレックスフィールドの作成とそれらをUIページに追加することの詳細は、Oracle Fusion Applications開発者ガイドを参照してください。ページ・コンポーザによるフレックスフィールド・セグメントの外観変更の詳細は、Oracle Applications Cloud構成および拡張ガイドの、既存ページの変更に関するガイダンスを参照してください。

フレックスフィールド・セグメントのプロパティ

セグメントに割り当てられた値セットに関係なく、セグメントにはその表示方法や動作に影響を与えるプロパティを設定できます。

次に示す側面を理解することが重要です

  • 表示プロパティ

  • セグメント値に関連したプロパティ

  • 検索に関連したプロパティ

  • セグメントの範囲検証

  • セグメント値のルール検証

  • 命名規則

表示プロパティ

次の表では、表示プロパティについてまとめています。

プロパティ 説明

有効

セグメントが使用可能かどうか。

順序

他の構成済セグメントとの関連でセグメントが表示される順序。

プロンプト

ユーザー・インタフェースでセグメントのラベルに使用される文字列。

表示タイプ

セグメントを表示するフィールドのタイプ。

選択および選択の解除値

表示タイプがチェック・ボックスの場合の、保存される実際の値。たとえば、YとNまたは0と1などです。

表示サイズ

フィールドの文字幅。

表示の高さ

表示タイプがテキスト領域の場合に、表示される行数で測定されるフィールドの高さ。

読取り専用

フィールドを、編集可能テキストではなく読取り専用として表示するかどうか。

説明ヘルプ・テキスト

フィールドに表示する、フィールド・レベルの説明ヘルプ・テキスト。説明ヘルプ・テキストは、フィールド用に備えられたプロンプトを詳しく説明するまたは明快にするフィールド・レベルの説明を表示するために使用します。

説明ヘルプ・テキストが指定されている場合、「ヘルプ」アイコン・ボタンがランタイム・アプリケーションのフィールドの横に表示されます。ユーザーが「ヘルプ」アイコン・ボタンの上にカーソルを移動させると、説明ヘルプ・テキストが表示されます。

指示ヘルプ・テキスト

フィールドに表示する、フィールド・レベルの手順ヘルプ・テキスト。

手順ヘルプ・テキストは、フィールドの使用に関する指示を示すために使用します。手順ヘルプ・テキストを指定すると、ユーザーがフィールドにカーソルを移動すると表示されるフィールド内ヘルプ・ノート・ウィンドウに表示されます。

検索に関連したプロパティ

拡張可能フレックスフィールド・セグメントは、索引付きプロパティを使用した検索で、選択的に必須としてマークを付けることができます。索引付きプロパティでは、索引付きセグメントにより表される属性に対して検索を実行する前に、ユーザーが値を入力する必要があります。データベース管理者は、索引付き属性を表すセグメント列に対して索引を作成する必要があります。

セグメントの範囲検証

範囲検証により、フレックスフィールドの2つのセグメント間で算術的な相違を強制できます。たとえば、製品は出荷前にオーダーされる必要があります。したがって、オーダー日は出荷日当日またはそれより前でなければなりません。また、オーダー日のセグメント値は、出荷日のセグメント値以下でなければなりません。この関係を確認するために範囲検証を使用できます。

範囲検証の条件は次のとおりです。

  • セグメントは、低い値のセグメントと高い値のセグメントのペアで範囲検証に対して構成する必要があります。

  • 両方のセグメントは同じデータ型にする必要があります。

  • 両方のセグメントは、キー・フレックスフィールド内の同じ構成の部分、または付加フレックスフィールドあるいは拡張可能フレックスフィールド内の同じコンテキストの部分である必要があります。

  • 低い値のセグメントは、高い値のセグメントよりも低い順序番号である必要があります。

  • 範囲検証の対象でないセグメントが範囲検証のペアの間に存在できますが、範囲検証のペアを重複させたりネストさせたりすることはできません。

同じフレックスフィールド内に、必要な数だけ範囲検証のペアを構成できます。アプリケーションは範囲検証を自動的に検出して、定義したセグメントのペアに順序どおり適用します。低い値のセグメントがまず検出され、検出される次の範囲検証セグメントが高い値のセグメントでなければなりません。これら2つのセグメントが対応するペアと見なされます。低い値と高い値は等しくてもかまいません。

セグメント値のルール検証

付加および拡張可能フレックスフィールド・セグメントの検証ルールにより、属性の検証方法が決まります。ビジネス・オブジェクトの属性に入力される値は、指定されたフォーマットに一致しているか、値のリストに制限される必要があります。値セットまたはGroovyバリデータを使用して検証ルールを指定できます。

値セット検証は、グローバル・セグメントとコンテキスト依存セグメントの場合は必須であり、コンテキスト・セグメントの場合はオプションです。コンテキスト・セグメントの場合、アプリケーションは、コンテキスト・セグメントに照らして値を検証する値セットのかわりに、値を検証することもできます。ただし、アプリケーションで入力された値は、有効なコンテキスト・セグメント値に厳密に一致している必要があります。コンテキスト・セグメント値が入力値のスーパーセットまたはサブセットである場合、コンテキスト値を検証するには、表検証の値セットまたは独立の値セットを割り当てる必要があります。

また、Groovy検証を使用して、ビジネス・オブジェクトの特定の属性に対して使用可能な値に関する追加の制限や要件も設定できます。これは、同じ値セットを使用して複数のセグメントを検証する必要があるものの、それぞれのケースで厳密な検証要件が変わる場合に便利です。これらのバリデータは、ビジネス・ニーズに基づいて、グローバル・セグメント・レベルまたはコンテキスト・レベルで定義できます。バリデータにはバリデータ・コード、検証式、エラー・メッセージおよび説明があります。新しいバリデータを追加した後、「Groovy式ビルダー」アイコンをクリックして、検証式を定義する式ビルダー・ウィンドウを開きます。Groovy検証は、ユーザーがGroovyバリデータを持つ属性に値を保存しようとするときに実行されます。Groovy式を基準としたこの属性値の検証に失敗すると、「エラー・メッセージ」列で定義されたテキストがエラー・メッセージとして表示されます。

付加フレックスフィールド・セグメントを構成する場合、初期値の設定に使用する定数を指定できます。初期値は、使用可能なパラメータにすることができます。計画済のすべてのセグメントに対して、初期値に使用する定数値またはパラメータがあればそれらをリストします。

命名規則

セグメントの固有のコード、名前および説明を入力します。これらのプロパティは内部で使用するためのものであり、エンド・ユーザーには表示されません。セグメントの作成後には、コードは変更できません。

アプリケーション・プログラミング・インタフェース(API)名は、ユーザーに公開されないセグメントの名前です。API名は、Webサービス、ルール、ビジネス・インテリジェンスを含む様々な統合ポイント内でセグメントを識別するために使用されます。先頭文字には英数文字のみを使用します。たとえば、A-Z、a-z、0-9の文字で構成された、数字以外の先頭文字を持つコードを入力します。スペース、アンダースコア、マルチバイト文字および数字の先頭文字の使用は許可されません。セグメントの作成後には、API名は変更できません。

アプリケーション・プログラミング・インタフェース(API)名は、フレックスフィールド・コンポーネントの名前であり、ユーザーには公開されません。これらの名前は、Webサービス、ルール、ビジネス・インテリジェンスを含む様々な統合ポイント内でフレックスフィールド・コンポーネントを識別するために使用されます。

API名の構成方法

API名には英数字のみを使用する必要があります。たとえば、A-Z、a-z、0-9の文字を含む、数字以外の先頭文字を持つ名前を入力します。API名にスペース、アンダースコア、マルチバイト文字または数字の先頭文字を使用しないでください。

注意: API名は作成後に変更しないでください。そうすることで、統合ポイントが壊れる可能性があります。

API名に使用できない単語

フレックスフィールドの構成時は、ADF、SQL、PL/SQL、Java、Groovyなどの予約語であるためにAPI名に特定の単語を使用できません。

この表は、API名として使用できない予約語の一部を示しています。このリストは網羅的ではありません。

英字 予約語

A

ABORT、ABSTRACT、ACCEPT、ACCESS、ACTIONENABLED、ADD、ALL、ALLROWSINRANGE、ALTER、AND、ANY、ARRAY、ARRAYLEN、AS、ASC、ASSERT、ASSIGN、AT、ATTRIBUTEDEF、ATTRIBUTEDEFS、ATTRIBUTEVALUE、ATTRIBUTEVALUES、AUDIT、AUTHORIZATION、AVG

B

BEGIN、BETWEEN、BINDINGS、BODY、BOOLEAN、BREAK、BY、BYTE、BYVALUE

C

CASCADE、CASE、CAST、CATCH、CATEGORY、CHAR、CHECK、CHILDREN、CLASS、CLONE、CLOSE、CLUSTER、CLUSTERS、COALESCE、COLAUTH、COLUMN、COLUMNS、COMMENT、COMMIT、COMPRESS、CONNECT、CONST、CONSTANT、CONSTRIANT、CONTAINS、CONTINUE、COUNT、CRASH、CREATE、CURRENT、CURRENTROW、CURRVAL、CURSOR

D

DATABASE、DATACONTROL、DATE、DBA、DEBUGOFF、DEBUGON、DECIMAL、DECLARE、DEFAULT、DEFINITION、DELAY、DELETE、DELTA、DESC、DESCRIPTION、DIGITS、DISPLAY、DISPLAYDATA、DISPLAYHINT、DISPLAYHINTS、DISPOSE、DISTINCT、DIV、DO、DOUBLE、DROP

E

ELSE、ELSIF、EMPTY、ENABLED、ENABLEDSTRING、END、ENTRY、EQ、EQUALS、ERROR、ESTIMATEDROWCOUNT、EXCEPTION、EXCLUSIVE、EXISTS、EXIT、EXTENDS

F

FALSE、FETCH、FILE、FINAL、FINALIZE、FINALLY、FINDMODE、FLOAT、FOR、FORM、FROM、FULLNAME、FUNCTION、FUTURE

G

GE、GENERIC、GETCLASS、GOTO、GRANT、GROUP、GROUPBY、GT

H

HASHCODE、HAVING、HINTS

I

IDENTIFIED、IF、IMMEDIATE、IMPLEMENTS、IMPORT、IN、INCREMENT、INDEX、INDEXES、INDICATOR、INITIAL、INNER、INPUTVALUE、INSERT、INSTANCEOF、INT、INTEGER、INTERFACE、INTERSECT、INTO、IS、ITERATORBINDING

J

JAVA

K

KEY

L

LABEL、LABELS、LABELSET、LE、LEVEL、LIKE、LIMITED、LOCK、LONG、LOOP、LT

M

MANDATORY、MAX、MAXEXTENTS、MIN、MINUS、MLSLABEL、MOD、MODE、MODIFY

N

NAME、NATIVE、NATURAL、NE、NEW、NEXTVAL、NOAUDIT、NOCOMPRESS、NOT、NOTFOUND、NOTIFY、NOTIFYALL、NOWAIT、NULL、NULLIF、NUMBER

O

OF、OFFLINE、ON、ONLINE、OPEN、OPERATIONENABLED、OPERATOR、OPTION、OR、ORDER、ORDERBY、OTHERS、OUT、OUTER、OVERLAPS

P

PACKAGE、PARTITION、PCTFREE、POSITIVE、PRAGMA、PRIMARY、PRIOR、PRIVATE、PRIVILEGES、PROCEDURE、PROTECTED、PUBLIC

R

RAISE、RANGE、RANGESET、RANGESIZE、RANGESTART、RAW、REAL、RECORD、REFERENCES、RELEASE、REMR、RENAME、RESOURCE、REST、RESULT、RETURN、REVERSE、REVOKE、ROLLBACK、ROOTNODEBINDING、ROW、ROWID、ROWLABEL、ROWNUM、ROWS、ROWTYPE、RUN

S

SAVEPOINT、SCHEMA、SELECT、SELECTEDVALUE、SEPARATE、SESSION、SET、SHARE、SHORT、SIZE、SMALLINT、SPACE、SQL、SQLBUF、SQLCODE、SQLERRM、START、STATEMENT、STATIC、STDDEV、SUBTYPE、SUCCESSFUL、SUM、SUPER、SWITCH、SYNCHRONIZED、SYNONYM、SYSDATE

T

TABAUTH、TABLE、TABLES、TASK、TERMINATE、THEN、THIS、THROW、THROWS、TO、TOOLTIP、TOSTRING、TRANSIENT、TRIGGER、TRUE、TRY、TYPE

U

UID、UNION、UNIQUE、UPDATE、UPDATEABLE、USE、USER

V

VALIDATE、VALUES、VAR、VARCHAR、VARCHAR2、VARIANCE、VIEW、VIEWS、VOID、VOLATILE

W

WAIT、WHEN、WHENEVER、WHERE、WHILE、WITH、WORK

X

XOR

フレックスフィールド・セグメントのレンダリング方法

フレックスフィールド・セグメントは、ページ上にビジネス・オブジェクトの属性として表示されます。

フレックスフィールド・セグメントの表示に影響を与える設定

フレックスフィールド・セグメントを構成するときに、セグメントの表示タイプに入力する値は、セグメントがランタイムに表示される方法を決定します。

表示タイプの値の表示方法

次の一連の図(AからK)は、ランタイムで表示タイプがUI上でどのようにレンダリングされるかを示しています。各表示タイプのスクリーンショットには、表内の表示タイプとその説明に対応する英字が割り当てられています。

次の図には、チェック・ボックス、ドロップダウン・リスト、値のリストおよび検索が有効になった値リストの表現が含まれています。

図を構成する4つの表示タイプ:
A.チェック・ボックス、B。ドロップダウン・リスト、C。値リスト、D.検索が有効になった値リスト

次の図には、ラジオ・ボタン・グループ、テキスト領域、テキスト・ボックス、日時およびリッチ・テキスト・エディタの表現が含まれています。

図を構成する5つの表示タイプ:
E.ラジオ・ボタン・グループ、F.テキスト領域、G。テキスト・ボックス、H。日時、I.リッチ・テキスト・エディタ

この図には、カラー・パレットと静的URLフィールドの表現が含まれています。

図を構成する2つの表示タイプ:
J.カラー、K。静的URL

次の表は、各表示タイプを説明しています。

図の参照 表示タイプ 説明

A

チェック・ボックス

このフィールドはチェック・ボックスとして表示されます。ユーザーがチェック・ボックスを選択した場合、チェックを付けた値が使用されます。選択しない場合、選択解除されている値が使用されます。

B

ドロップダウン・リスト

このフィールドは、ユーザーが選択できる値のリストとして表示されます。

C

値リスト

このフィールドは、ユーザーが選択できる値のリストとして表示されます。ユーザーは「検索」をクリックしてさらに値を探すこともできます。

D

検索が有効になった値リスト

このフィールドは、「検索」アイコン・ボタンがあるテキスト・フィールドとして表示されます。ユーザーはテキスト・フィールドに値を入力したり、「検索」アイコン・ボタンをクリックして検索用の別ウィンドウを開いたりできます。

E

ラジオ・ボタン・グループ

このフィールドは、ラジオ・ボタンのセットとして表示されます。ユーザーは1つのボタンを選択できます。ボタンを選択すると、セット内の前に選択したボタンは選択解除されます。

F

テキスト領域

このフィールドは、ユーザーが複数行のテキストを入力できるテキスト領域として表示されます。表示の幅と高さはそれぞれ、テキスト領域での表示可能な幅と行数を指定します。

G

テキスト・ボックス

このフィールドは、ユーザーが単一行のテキストを入力できるテキスト・フィールドとして表示されます。表示幅は、テキスト・ボックスの幅を制御します。

H

日時

このフィールドでユーザーは、データ型が日付の場合は日付を、日時の場合は日付と時刻を入力できます。ユーザーは日付をカレンダから選択できます。データ型が日時の場合、フィールドには、時、分、秒、AM/PMおよびタイム・ゾーンを指定するためのフィールドも表示されます。

I

リッチ・テキスト・エディタ

このフィールドは、ユーザーが複数行の書式設定テキストを入力して編集できるテキスト領域として表示されます。表示の幅と高さはそれぞれ、リッチ・テキスト・エディタでの表示可能な幅と行数を指定します。

注意: この表示タイプは、拡張可能フレックスフィールドでのみ使用できます。

J

カラー

このフィールドには、ユーザーがランタイムにカラーを選択してセグメントに割り当てるためのカラー・パレットが表示されます。設定時に、この表示タイプは、次の場合にのみ選択のリストに表示されます。

  • 拡張可能フレックスフィールド・セグメントで作業している場合。

  • セグメントの値セットがORA_FND_COLOR_#RRGGBBに設定されている場合。

K

静的URL

このフィールドは、クリックするとWebページが開く固定URLをユーザーが入力できるテキスト・フィールドとして表示されます。

注意: URLの長さは255文字を超えないようにする必要があります。

図の参照はありません

非表示

このフィールドは表示されません。

値セット企業に固有のものです。フレックスフィールドを使用して情報を収集するときに、企業の値セットは、値セットの定義方法に基づいて、ユーザーが入力する値を検証します。

値セットは、同じフレックスフィールド内または異なるフレックスフィールド内の任意の数のフレックスフィールド・セグメントに割り当てることができます。値セットの使用状況情報は、どのフレックスフィールドが値セットを使用しているかを示します。

フレックスフィールドと値セットの連携方法を理解するためには、次の側面が重要です。

  • 値セットの定義

  • 共有値セット

  • デプロイメント

値セットの定義

キー・フレックスフィールドのガイドラインとして、フレックスフィールドの構成時には値セットを各セグメントに割り当てることになるため、値セットはフレックスフィールドの構成前に定義してください。付加フレックスフィールドおよび拡張可能フレックスフィールドを使用して、セグメントの追加または編集時に値セットを定義できます。

注意: 共有値セットへの変更が、その値セットを使用するすべてのフレックスフィールド・セグメントと互換性があることを確認してください。

共有値セット

共有値セットの値を変更すると、変更はその値セットを使用するすべてのフレックスフィールドの値セットに影響を与えます。共有値セットの利点として、単一の変更ですべての使用にその変更が伝播されます。デメリットは、使用全体で共有される変更が、どのケースにも適しているわけではない場合があるということです。

値セットの値

「値セットの管理」タスクの値セット値で取得されるユーザー定義属性を構成するには、「値セット値」付加フレックスフィールドを構成します。オブジェクトのコードはFND_VS_VALUES_Bです。このフレックスフィールドは、値セット・コードに対応するコンテキスト・コードを必要とします。各値セットに対して、コードが値セットのコードであり、コンテキスト依存セグメントがその値セットの値に表示されるコンテキストを定義できます。デフォルトでは、コンテキスト・セグメントは値セット・コードにマップされ、変更が予期されないため、非表示になります。

すべての値セットに表示されるグローバル・セグメントも定義できます。ただし、これはすべての値セットのすべての値の属性を取得することを意味するため、かなりまれな処理です。

デプロイメント

フレックスフィールドをデプロイすると、フレックスフィールドのセグメントに割り当てられた値セットは、そのセグメントによって表される属性の有効な値をユーザーに提供します。

デフォルト・セグメント値

行の作成時にフレックスフィールド・セグメントにデフォルト値を移入するには、定数、パラメータ、またはGroovyのデフォルト・タイプ、およびデフォルトの値または式を指定します。

セグメントの値と別のフィールドの値を変更時に同期させるには、属性の値の導出元のフレックスフィールド・パラメータとなるように導出値を指定します。パラメータ値が変更されるたびに、属性の値も対応するように変更されます。パラメータ値が変更されるとユーザーが入力した値は失われてしまうため、パラメータから属性を導出する場合は、属性を読取り専用とすることを検討してください。デフォルト値を設定する場合またはパラメータからデフォルト値を導出する場合、開発によりパラメータとして指定された属性のみを選択できます。セグメントを読取り専用または編集可能にすることと、デフォルト値または導出値(あるいはその両方)とを様々に組み合せることで、様々な効果が得られます。

セグメントのデフォルト・タイプがGroovyの場合は、式ビルダーを使用して、必要なGroovy式を設定できます。式ビルダーを開くには、「デフォルト・タイプ」として「Groovy式」を選択し、「Groovy式ビルダー」アイコンをクリックします。ただし、従属パラメータが変更された場合、Groovyのデフォルト設定では導出はサポートされない点に注意してください。この式はセグメントの作成時にのみ評価されます。

次の表に、これらの異なる組合せを示します。初期ランタイム・アクションは、エンティティ表で作成される属性値の行に対応します。デフォルト値が読取り専用である場合、その後ユーザー・インタフェースで変更することはできません。デフォルト値が読取り専用でない場合には、変更できます。ただし、セグメント値が導出値である場合、ユーザーが変更したセグメント値は、導出値が変更されると上書きされます。

デフォルト・タイプ デフォルト値の指定の有無 導出値の指定の有無 初期ランタイム・アクション パラメータ変更後のランタイム・アクション

なし

いいえ

はい

初期セグメント値なし

変更されたパラメータ導出値でセグメント値が更新されます

定数

はい

いいえ

デフォルト・セグメント値

該当なし

定数

はい

はい

デフォルト・セグメント値

変更されたパラメータ導出値でセグメント値が更新されます

パラメータ

はい

いいえ

デフォルトのセグメント値がパラメータのデフォルト値です

該当なし

パラメータ

はい

あり(デフォルト値と同じ)

デフォルトのセグメント値がパラメータのデフォルト値および導出値です

変更されたパラメータ導出値でセグメント値が更新されます

パラメータ

はい

あり(デフォルト値と異なる)

デフォルトのセグメント値がパラメータのデフォルト値です

変更されたパラメータのデフォルト値でセグメント値は更新されません。変更された導出値でのみセグメント値が更新されます。

Groovy式

はい

該当なし

セグメントのデフォルト値は、Groovy式を評価することにより決定されます。

Groovy式はセグメントの作成時にのみ評価されます。これらは、従属パラメータが変更されたときには評価されません。

SQL

はい

いいえ

デフォルトのセグメント値は、SQL文の実行により返される値です

該当なし

SQL

はい

はい

デフォルトのセグメント値は、SQL文の実行により返される値です

変更されたパラメータ導出値でセグメント値が更新されます

フレックスフィールドの使用方法

フレックスフィールドの使用方法は、フレックスフィールドとそのセグメントが関連付けられる表を指定します。フレックスフィールドは複数の使用方法を持つ場合があります。ただし、フレックスフィールドに登録される最初の表が、マスター使用方法を示します。セグメントは、マスター使用方法に基づきます。同じフレックスフィールドの同じ表の他の使用方法も、同じセグメントの設定を使用します。ただし列名は区別するためのプリフィクスが付いている場合があります。

「付加フレックスフィールドの管理」および「拡張可能フレックスフィールドの管理」ページで、特定のフレックスフィールドの「エンティティ慣用名の表示」アイコンをクリックして、そのエンティティ使用方法を表示します。「値セットの管理」ページで、選択した値セットのフレックスフィールド使用方法を表示できます。

拡張可能フレックスフィールド

拡張可能フレックスフィールド・コンテキストの場合、別の使用方法を構成できます。拡張可能フレックスフィールド・コンテキストの使用方法により、ユーザーに対してコンテキストのセグメントが表示されるシナリオまたはユーザー・インタフェースが決まります。たとえば、「サプライヤ」ページには、拡張可能フレックスフィールドのサプライヤ使用方法が表示され、同じフレックスフィールドの「バイヤー」ページには、バイヤーの使用方法が表示されます。次に、サプライヤの使用方法にのみ関連付けられているコンテキストは、「サプライヤ」ページにのみ表示され、「バイヤー」ページには表示されません。

値セット

値セットの使用方法は、特定の値セットが割り当てられているセグメントを持つフレックスフィールドを指定します。

フレックスフィールド管理のFAQ

事前定義済フレックスフィールドにはどのようにアクセスできますか。

フレックスフィールドの管理タスクを使用して、事前定義済フレックスフィールドを検索します。

  1. 「設定および保守」作業領域で、次のいずれかのタスクに移動します。

    • 付加フレックスフィールドの管理

    • 拡張可能フレックスフィールドの管理

    • キー・フレックスフィールドの管理

  2. 探しているフレックスフィールドのタイプのページで、任意の検索パラメータを入力して「検索」をクリックします。

    ヒント: フレックスフィールド名またはコードがわからない場合は、「モジュール」フィールドを使用して検索結果をフィルタします。
  3. フレックスフィールドをクリックして詳細を表示します。

フレックスフィールドの管理タスクおよびUIにより使用できない構成については、My Oracle Support (https://support.oracle.com)を参照してください。

フレックスフィールドまたは値セット構成を編集できないのはなぜですか。

フレックスフィールドまたは値セット構成は保護されている可能性があります。アプリケーション開発者は一部の構成に保護のマークを付け、それらが編集不可であることを示します。

保護される可能性がある構成の例として、次のものがあります。

  • 付加フレックスフィールド

  • 拡張可能フレックスフィールド・コンテキスト

  • 拡張可能フレックスフィールド・ページ

  • 値セット

ページにフレックスフィールドがまったく表示されないのはなぜですか。

ページでフレックスフィールドを使用できるようにするには、開発者による登録とデプロイが必要です。フレックスフィールドを正常にデプロイしてからでないと、セグメントをページ上に表示することはできません。

フレックスフィールドのデプロイメント・ステータスは、ユーザーがフレックスフィールド・セグメントを使用できるかどうかを示します。ランタイムでユーザーに表示されるフレックスフィールド・セグメントは、最後に正常にデプロイされたフレックスフィールド定義に対応します。

フレックスフィールドの登録については、Oracle Fusion Applications開発者ガイドを参照してください。一部のビジネス・オブジェクトは、フレックスフィールドをサポートするようには設計されていません。フレックスフィールド機能を持つビジネス・オブジェクトを有効にする方法については、Oracle Fusion Applications開発者ガイドでフレックスフィールド・スタート・ガイドを参照してください。

注意: Oracle CX SalesおよびOracle B2Bサービスはフレックスフィールドをサポートしていません。

属性をこれらのアプリケーションに追加するには、アプリケーション・コンポーザを使用できます。詳細は、製品固有の資料を参照してください。

フレックスフィールドに加えた変更がランタイムUIに表示されないのはなぜですか。

フレックスフィールドのデプロイ時にOracle Metadata Services (MDS)リポジトリ内に生成されるフレックスフィールドADFビジネス・コンポーネントまたはアーティファクトは、1ユーザー・セッション内はキャッシュに入れられます。ランタイム・アプリケーションのユーザー・インタフェース・ページに反映されたフレックスフィールド定義の変更を表示するには、サインアウトしてサインインしなおす必要があります。

Oracle Social Network Cloud Serviceのフレックスフィールド・セグメントはどのように有効にできますか。

設定および保守中にOracle Social Network Objectsを管理するときに、付加フレックスフィールドを含むビジネス・オブジェクトを検索します。フレックスフィールド・セグメントとして定義されている属性を選択し、それらを有効にします。

フレックスフィールドのデプロイメント

配置により、フレックスフィールドをユーザー・インタフェースにレンダリングするアプリケーション開発フレームワーク(ADF)ビジネス・コンポーネントのオブジェクトが生成またはリフレッシュされます。配置プロセスにより、Oracle ADFサービスで公開されてSOAコンポジットで使用されるWebサービス記述言語(WSDL)スキーマに、ユーザー定義属性が追加されます。フレックスフィールドは、アプリケーション・プロビジョニング・プロセス中に初めて配置されます。フレックスフィールドを構成または変更した後、ユーザーが最新の定義を使用できるように、そのフレックスフィールドを配置する必要があります。

ビジネス・インテリジェンスに対して付加フレックスフィールドが使用可能になっている場合は、配置プロセスでフレックスフィールドのビジネス・インテリジェンス・アーティファクトが再配置されます。

フレックスフィールドは、テスト目的でサンドボックスに、またはテストや本番実行時環境での使用目的でメインライン・メタデータに配置できます。拡張可能フレックスフィールドは、バックグラウンド・プロセスとして配置できます。

配置後、ユーザー定義属性は、ビジネス・プロセスやビジネス・ルール統合などのSOAインフラストラクチャに組み込むことができます。たとえば、ユーザー定義属性に応じたビジネス・ルールを作成できるようになります。配置した変更を実行時に表示するには、Oracle Applications Cloudからサインアウトして、サインインしなおす必要があります。

フレックスフィールドの配置を理解するためには、次の側面が重要です。

  • デプロイメント・ステータス

  • 初期デプロイメント・ステータス

  • メタデータ検証

  • メタデータ同期

  • バックグラウンド・プロセスとしての配置

  • フレックスフィールドMDSからのアーティファクトのエクスポート

デプロイメント・ステータス

すべてのフレックスフィールドに配置ステータスがあります。パッチ適用後、フレックスフィールドのデプロイメント・ステータスを確認します。次の表に、フレックスフィールドに設定できる様々なデプロイメント・ステータスを示します。

デプロイメント・ステータス 意味

編集済

フレックスフィールド・メタデータ定義はまだ配置されていません。メタデータ定義の更新は、実行時環境にまだ適用されていません。

パッチ適用済

フレックスフィールド・メタデータ定義がパッチまたはデータ移行処理を介して変更されましたが、フレックスフィールドはまだ配置されていません。そのため、更新された定義は実行時環境に反映されていません。

サンドボックスにデプロイ済

フレックスフィールドに対する現在のメタデータがADFアーティファクトに配置され、フレックスフィールド対応サンドボックスとして使用できます。サンドボックスのステータスは、「設定およびアクション」メニューで使用可能な「サンドボックスの管理」ダイアログ・ボックスで管理されます。

デプロイ済

フレックスフィールドに対する現在のメタデータがADFアーティファクトに配置され、ユーザーが使用できます。メインライン・メタデータに配置された後、フレックスフィールドには一切の変更が加えられていません。

エラー

メインライン・メタデータでの配置の試みが失敗しました。

注意: 値セット定義が変更されるたびに、その値セットを使用するフレックスフィールドのデプロイメント・ステータスは編集済に変更されます。パッチから生じた変更の場合、フレックスフィールドの配置ステータスは「パッチ適用済」に変わります。

フレックスフィールドの初期配置ステータス

Oracle Applications Cloud実装によって、フレックスフィールド・メタデータがデータベースにロードされます。この初回ロードにより、フレックスフィールドのステータスが「編集済」に設定されます。インストール時に、アプリケーション・プロビジョニング・プロセスによりプロビジョニング対象アプリケーションのフレックスフィールドが配置され、エラーが発生しなければそのステータスが「デプロイ済」に設定されます。

プロビジョニングされたアプリケーションでは、配置されたフレックスフィールドの使用準備は整っています。場合によっては、実行時にフレックスフィールドを使用するために、キー・フレックスフィールドの定義などの設定が必要です。

メタデータ検証

フレックスフィールドの配置を試行する前に、「メタデータの検証」コマンドを使用すると、メタデータ・エラーがあれば表示されます。メタデータ検証は、すべてのフレックスフィールド配置コマンドの初期フェーズです。配置コマンドを実行する前にメタデータを正しく検証することで、配置の試みにおけるメタデータ検証フェーズでの失敗を回避できます。メタデータ検証フェーズでエラーが発生すると、配置プロセスは終了します。メタデータ検証の結果は、フレックスフィールドの配置ステータスには影響しません。

メタデータ同期

拡張可能フレックスフィールドまたは付加フレックスフィールドが配置される場合、配置プロセスによって、XMLスキーマ定義(XSD)が再生成されます。これにより、ユーザー定義属性がWebサービスとSOAインフラストラクチャで使用可能になります。

フレックスフィールド構成を配置した後、SOAアプリケーションごとに、MDSリポジトリ内の更新されたXMLスキーマ定義(XSD)ファイルを同期する必要があります。

注意: Oracle Cloud実装のMDSリポジトリ内で更新済XSDファイルを同期するには、My Oracle Support (https://support.com/)を利用してサービス要求をログに記録してください。

バックグラウンド・プロセスとしての配置

拡張可能フレックスフィールドはバックグラウンド・プロセスとしてオフラインで配置でき、配置の完了を待機しなくてもセッションでの作業を続行できます。複数の拡張可能フレックスフィールドをキューに格納して、バックグラウンド・プロセスとして配置できます。フレックスフィールドは、キューに配置された順に1つずつ配置されます。拡張可能フレックスフィールドに30を超えるカテゴリがある場合は、バックグラウンド・プロセスとして配置する必要があります。

バックグラウンド配置の取消コマンドを使用して、拡張可能フレックスフィールドを配置キューから削除できます。拡張可能フレックスフィールドがバックグラウンド・プロセスで配置される場合、そのオフライン・ステータスは、フレックスフィールドがバックグラウンド配置プロセス中であることを示します。バックグラウンド配置プロセスが完了すると、フレックスフィールドのオフライン・ステータスは消去され、配置ステータスが更新されます。

フレックスフィールドMDSからのアーティファクトのエクスポート

主にフレックスフィールドの問題のトラブルシューティングで使用することを目的に、付加フレックスフィールド、拡張可能フレックスフィールドまたはキー・フレックスフィールドのMDSからビジネス・コンポーネントをエクスポートできます。「フレックスフィールドの管理」ページの「フレックスフィールド・アーカイブのダウンロード」を使用して、選択したフレックスフィールドのMDSアーティファクトをエクスポートし、ローカル・コンピュータ上のアーカイブにインポートします。これらのフレックスフィールドのアーカイブ済ビジネス・コンポーネントは、トラブルシューティング目的で使用できます。

または、exportMetadata WLSTを使用して配置済アーティファクトをエクスポートします。

フレックスフィールドの配置ステータスの計算方法

フレックスフィールドの配置ステータスは、Oracle Applications Cloudデータベースのフレックスフィールド・メタデータ定義が、Oracle Metadata Services (MDS)リポジトリ内のアプリケーション開発フレームワーク(ADF)ビジネス・コンポーネントにどのように関連するかを示します。

フレックスフィールドの配置ステータスの計算方法を理解するためには、次の側面が重要です。

  • フレックスフィールドの配置ステータスに影響を与える設定

  • 配置ステータスの計算方法

フレックスフィールドの配置ステータスに影響を与える設定

フレックスフィールドを変更し、配置ステータスの変化が予測される場合は、変更内容を確実に保存してください。いずれの設定もフレックスフィールド配置ステータスには影響しません。

配置ステータスの計算方法

フレックスフィールド定義がフレックスフィールドの定義アクティビティ・タスク・フローを介して編集された場合、ステータスは「編集済」です。最新のフレックスフィールド・メタデータ定義は、最後に配置されたフレックスフィールド定義とは異なります。フレックスフィールドで使用される値セットの変更の場合も含め、どのような変更でも配置ステータスは「編集済」に変わります。配置されたことのないフレックスフィールドのステータスは、「編集済」です。

注意: アプリケーションがプロビジョニングされると、プロビジョニング・フレームワークによって、そのアプリケーションへのすべてのフレックスフィールドの配置が試みられます。

フレックスフィールドをサンドボックスに正常に配置した場合、ステータスは「サンドボックスにデプロイ済」となります。アプリケーションの最新のフレックスフィールド・メタデータ定義は、サンドボックスMDSリポジトリ内にADFビジネス・コンポーネントを生成したメタデータ定義と一致します。サンドボックスがアクティブかどうかは、配置ステータスに影響しません。フレックスフィールドがサンドボックスに配置され、その後、編集もメインライン・メタデータへの再配置も実行されなかった場合は、サンドボックスがアクティブかどうか、あるいは誰がステータスを表示しているかに関係なく、ステータスは「サンドボックスにデプロイ済」のままです。

フレックスフィールドをメインライン・メタデータに正常に配置すると、ステータスは「デプロイ済」になります。アプリケーションの最新のフレックスフィールド・メタデータ定義は、メインラインMDSリポジトリ内にADFビジネス・コンポーネントを生成したメタデータ定義と一致します。フレックスフィールドがメインライン・メタデータに正常に配置されると、変更通知が送信されます。いずれかのタイプの配置が失敗し、現在のフレックスフィールド定義が配置されていない場合、ステータスは「エラー」になります。配置エラー・メッセージでエラーの詳細が示されます。アプリケーションの最新のフレックスフィールド・メタデータ定義は、最後に正常に配置されたフレックスフィールド定義とは異なる場合があります。

フレックスフィールド定義がパッチによって変更された場合、ステータスは「パッチ適用済」です。アプリケーションの最新のフレックスフィールド・メタデータ定義は、最後に配置されたフレックスフィールド定義とは異なります。パッチ適用前にフレックスフィールド定義が「デプロイ済」で、その後パッチが適用された場合、ステータスは「パッチ適用済」に変わります。パッチ適用前にフレックスフィールド定義が「編集済」で、その後パッチが適用された場合は、まだ有効でない(パッチ以外の)変更があること示すために、ステータスは「編集済」のままになります。

配置の試みが失敗となった場合は、「デプロイメント・エラー・メッセージ」にアクセスして詳細を確認できます。

フレックスフィールド対応サンドボックスの配置とメインライン・メタデータの連携の仕組み

サンドボックスフレックスフィールド定義は、フレックスフィールドがサンドボックスに配置された時点での、Oracle Applications Cloudデータベースのフレックスフィールド・メタデータ定義に対応します。フレックスフィールドは、エンド・ユーザーに対する準備が整ったら、メインライン・メタデータに配置する必要があります。

フレックスフィールド対応サンドボックスでは、次のコンポーネントが使用されます。

  • Oracle Applications Cloudデータベースのフレックスフィールド・メタデータ

  • サンドボックスOracle Metadata Services (MDS)リポジトリ内のフレックスフィールド・ビジネス・コンポーネント

  • メインラインMDSリポジトリのフレックスフィールドに対するユーザー・インタフェース変更

次の図は、フレックスフィールドの定義アクティビティの「フレックスフィールドの管理」のタスクで使用可能な2つのタイプの配置を示しています。フレックスフィールドをサンドボックスに配置すると、フレックスフィールドの動作テストのみを目的としたサンドボックスMDSリポジトリが作成されます。サンドボックスはそれをアクティブ化してアクセスする管理者のみがアクセス可能であり、一般的にユーザーに対してアクセス可能になっているわけではありません。フレックスフィールドをメインライン・メタデータに配置することで、フレックスフィールド定義はメインラインMDSリポジトリに適用され、そこからエンド・ユーザーが使用できるようになります。フレックスフィールドをメインライン・メタデータに配置したら、フレックスフィールド・セグメントが表示されるページを変更します。サンドボックスMDSリポジトリ内のページの変更は、メインラインMDSリポジトリには公開できません。

この図は、「フレックスフィールドの定義」アクティビティのフローを示しており、サンドボックス内のフレックスフィールドのテストと、場合によってはユーザーのアクセスのためにフレックスフィールドをメインライン・メタデータに配置した後にOracle ComposerでMDSデータに変更を加えることも含まれます。

サンドボックス・メタデータ・サービスのリポジトリ・データ

フレックスフィールドをサンドボックスに配置すると、分離してテストすることを目的として、フレックスフィールドのアプリケーション開発フレームワーク(ADF)ビジネス・コンポーネントがサンドボックスMDSリポジトリに生成されます。

注意: フレックスフィールド・セグメント表示プロパティを、ページ・コンポーザを使用してフレックスフィールド対応サンドボックス内で変更しないでください。そのような変更は、フレックスフィールドをメインライン・メタデータに配置したときに失われます。

メインライン・メタデータ・サービスのリポジトリ・データ

Oracle Fusion Applicationsデータベースには、フレックスフィールドに関する真の単一ソースが格納されます。フレックスフィールドが配置されると、このソースから、実行時のユーザー・インタフェースにフレックスフィールドを実装するADFビジネス・コンポーネント・オブジェクトがメインラインMDSリポジトリに生成されます。

フレックスフィールドサンドボックスに配置すると、フレックスフィールド対応サンドボックスが作成されます。それぞれのフレックスフィールド対応サンドボックスには、フレックスフィールドが1つのみ含まれます。フレックスフィールド対応サンドボックスで、フレックスフィールドの実行時動作をテストできます。変更が必要な場合は、フレックスフィールドの定義タスクに戻り、フレックスフィールド定義を変更します。

統合サンドボックスでは、付加フレックスフィールドのみをサンドボックスにデプロイできます。値セット、キー・フレックスフィールドおよび拡張可能フレックスフィールドの変更を、メインライン環境に直接デプロイできます。

フレックスフィールドをサンドボックスに配置すると、データベースからセグメントに関するメタデータが読み取られ、フレックスフィールドのアプリケーション開発フレームワーク(ADF)ビジネス・コンポーネント・アーティファクトがその定義に基づいて生成され、定義から導出された生成済アーティファクトのみがサンドボックスに格納されます。

フレックスフィールド・サンドボックスを配置すると、フレックスフィールド・サンドボックスの名前が生成され、そのフレックスフィールド・サンドボックスが現在のアクティブなサンドボックスとして設定されます。アプリケーションへの次回のサインイン時に、更新されたフレックスフィールド構成を確認できます。Oracle Applications Cloudのグローバル・ヘッダーに、現在のセッション・サンドボックスが表示されます。

注意: 「サンドボックスの管理」ダイアログ・ボックスを使用して作成されるスタンドアロン・サンドボックスとは異なり、フレックスフィールドに対してデプロイされたサンドボックスには、フレックスフィールドが1つのみ含まれます。フレックスフィールド・サンドボックスは、「サンドボックスの管理」ダイアログ・ボックスを使用して管理でき、既存のフレックスフィールド・サンドボックスをアクティブとして設定したりそれを削除したりできます。

フレックスフィールドをサンドボックスに配置した後、そのフレックスフィールドをメインライン・メタデータに配置すると、サンドボックス対応フレックスフィールドが自動的に削除されます。

サンドボックスMDSリポジトリ・データ

サンドボックス・データにより、ユーザーがアクセスできるメインライン・メタデータに最初に配置する前に、フレックスフィールドを分離してテストできます。

注意: フレックスフィールド・セグメント表示プロパティを、ページ・コンポーザを使用してフレックスフィールド対応サンドボックス内で変更しないでください。そのような変更は、フレックスフィールドをメインライン・メタデータに配置したときに失われます。

フレックスフィールド対応サンドボックスの管理

フレックスフィールドをサンドボックスとして配置すると、そのフレックスフィールド対応サンドボックスはユーザー・セッションで自動的にアクティブ化されます。変更を確認するためにサインインしなおすと、セッションでサンドボックスがアクティブになります。

フレックスフィールドは、フレックスフィールドの定義タスク・フロー・ページのみを使用してサンドボックスに配置できます。

「設定および保守」作業領域の「管理者」メニューにある「サンドボックスの管理」ダイアログ・ボックスを使用して、フレックスフィールド対応サンドボックスをアクティブ化してアクセスすることもできます。

注意: フレックスフィールド対応サンドボックスへのアクセスに「フレックスフィールドの定義」と「サンドボックスの管理」のいずれのタスク・フローを使用するかに関係なく、配置した変更内容を実行時に確認するには、サインアウトしてから再度サインインする必要があります。

サンドボックスからメインライン・メタデータには、フレックスフィールドを公開できません。メインライン・メタデータのフレックスフィールド構成が真の単一ソースであるため、フレックスフィールドの定義タスク・フロー・ページを使用して、メインライン・メタデータのユーザーがアクセスできるようにフレックスフィールドを配置する必要があります。

値セットの管理

値セットは、ビジネス・オブジェクト属性に対して格納される値を制御するための、フレックスフィールド・セグメントに割り当てる有効な値のグループです。

ユーザーは、アプリケーションの使用時にビジネス・オブジェクトの属性に値を入力します。フレックスフィールドによって、値セットとして構成されてセグメントに割り当てられた有効な一連の値に対して、値が検証されます。

たとえば、5桁の数字などの必須書式や、green、red、blueなどの有効な値のリストを定義できます。

フレックスフィールド・セグメントは多くの場合は検証され、特定のフレックスフィールドの各セグメントは一般的には異なる値セットを使用します。単一の値セットを複数のセグメントに割り当てたり、様々なフレックスフィールド間で値セットを共有できます。

注意: 共有値セットへの変更が、その値セットを使用するすべてのフレックスフィールド・セグメントと互換性があることを確認してください。

値セットを理解するためには、次の側面が重要です。

  • 値セットの管理

  • 検証

  • セキュリティ

  • 精度とスケール

  • 使用方法とデプロイメント

  • 保護された値セット・データ

値セットの管理

「値セットの管理」ページを開くには、「値セットの管理」タスクを使用します。また、付加フレックスフィールドの管理タスクと拡張可能フレックスフィールドの管理タスクを使用して、セグメントおよびその値セットを構成することもできます。「値の管理」ページを開くには、「値セットの管理」ページから値セットを選択して「値の管理」をクリックします。または、「値セットの編集」ページから「値の管理」をクリックします。

検証

値セットには、次のタイプの検証を使用できます。

  • フォーマットのみ(ユーザーがリストから値を選択するのではなく、データを入力する場合)

  • 独立(指定した有効な値で構成される値リスト)

  • 依存(有効な値が別のセグメントの独立値から導出される値リスト)

  • サブセット(値リストが既存の独立値セット内の値のサブセット)

  • 表(値はアプリケーション表内の列から導出され、値リストはWHERE句で制限される)

フォーマットのみの値セットを使用するセグメントでは、有効な値リストがユーザーに表示されません。必要な場合、表で検証された値セットを、構成に使用可能な値セットのリストに追加できます。

注意: 会計キー・フレックスフィールドの値セットの場合は、独立検証のみを使用する必要があります。その他の検証を使用すると、データ・セキュリティ、レポート、勘定科目階層の統合など、勘定体系の一部の機能を使用できません。

セキュリティ

値セットのセキュリティは、フレックスフィールド・セグメント内で組み合せて使用した場合にのみ機能します。このデータ・セキュリティを、値セットを使用するフレックスフィールド・セグメントの値に適用するように指定できます。データ・セキュリティ・ポリシーにより、ユーザーにプロビジョニングされたロールに基づいて、ユーザーが表示または変更できるフレックスフィールド・セグメントの値が決定されます。

値セットのセキュリティは、次の条件に従って適用されます。

  • 値セット・レベル: 値セットは、データ・セキュリティ・ポリシーで保護されるリソースです。値セットが保護されている場合は、フレックスフィールドでのすべての使用が保護されます。同じ値セットの個々の使用に対してセキュリティを使用不可にすることはできません。

  • 独立、依存、または表で検証された値セットに適用されます。

  • 主に、データの作成または更新時に適用されたり、問合せ目的でキー・フレックスフィールドの組合せ表に適用されます。値セットのセキュリティによって、問合せ時に表示される付加フレックスフィールド・データが決定されることはありません。

  • 値セットに定義されるセキュリティ条件では、常に表の別名が使用されます。フィルタが使用される場合は、デフォルトで常に表の別名が使用されます。データ・セキュリティ条件で述語が定義される場合は、述語でも表の別名を使用してください。

キー・フレックスフィールドの場合、勘定科目組合せID、構造インスタンス番号(SIN)およびデータ・セット番号(DSN)に対応するビュー・オブジェクトの属性を一時属性にすることはできません。これらはデータベース表に存在している必要があります。キー・フレックスフィールドのSINセグメントは弁別子属性で、勘定科目組合せセグメントは共通属性です。

精度とスケール

値セットのデータ型が数値である場合は、精度(ユーザーが入力できる最大桁数)またはスケール(小数点以下の最大桁数)を指定できます。

使用方法とデプロイメント

値セットの用途は、その値セットが使用されるフレックスフィールドです。値セットが使用されるフレックスフィールドの配置ステータスは、値セットのインスタンスの配置ステータスを示します。

次の図は、キー・フレックスフィールドのセグメントおよび付加フレックスフィールドのコンテキスト・セグメントで使用される値セットを示しています。

この図は、キー・フレックスフィールドと付加フレックスフィールドの両方で共有される値セットを示しています。

ほとんどの値セットの場合、フレックスフィールド・セグメントへの値の入力時には、そのセグメントに割り当てられている値セットに存在する値のみを入力できます。

グローバル・セグメントおよびコンテキスト依存セグメントには値セットが必要です。値セットは、付加フレックスフィールド・コンテキスト・セグメントに割り当てることができます。コンテキストの値セットではなく、コンテキスト値のみを指定する場合、有効な値のセットはコンテキスト値のセットと同等になります。

保護された値セット・データ

アプリケーション開発者は、いくつかの値セットを保護されているとしてマークし、編集不可であることを示すことができます。

保護されているとしてマークされていない値セットのみを編集できます。保護されている値セットは、編集することも削除することもできません。値をサポートする値セット・タイプの場合(独立の値セット、依存の値セット、サブセット値セットなど)、値を追加することも、編集することも、削除することもできません。

注意: 保護された値セットへの参照は制限されません。値セットは、保護されているかどうかにかかわらず、フレックスフィールド・セグメントに割り当てることができます。同様に、他の値セットは保護されている値セットを参照できます。たとえば、保護されていない依存の値セットは、保護されている独立の値セットを参照できます。

値セットの検証および使用方法により、フレックスフィールド・セグメントにより表される属性の有効な値にユーザーがアクセスする場所と方法が決定されます。

ヒント: フレックスフィールドのガイドラインとして、値セットはフレックスフィールドの構成前に定義してください。これは、フレックスフィールドの構成時には値セットを各セグメントに割り当てることができるためです。付加および拡張可能フレックスフィールド・セグメントを使用すると、フレックスフィールドが表示されるランタイム・ページ上でセグメントを追加または編集するときに、値セットを作成できます。

値セットの定義では次の側面が重要です。

  • コンテキスト・セグメントの値セット

  • フォーマット限定検証

  • 相互依存値セット

  • 表検証

  • 範囲

  • セキュリティ

  • テストと保守

コンテキスト・セグメントの値セット

値セットをコンテキスト・セグメントに割り当てる場合は、表検証値セットまたは独立値セットのみを使用できます。

コンテキスト値の検証には、表値セットおよび独立値セットのみを使用できます。データ型は文字でなければならず、格納される値の最大長は、コンテキストの列長よりも長くしないでください。表の値セットを使用する場合、その値セットは、値セットが割り当てられたフレックスフィールド・セグメントを除き、値セットのWHERE句にあるフレックスフィールド・セグメントは参照できません。

フォーマット限定検証

フォーマット限定検証タイプでは、指定されたフォーマット・ルールを満たしているかぎり、ユーザーは任意の値を入力できます。値は値セットに定義された最大長より長くしてはならず、その値セットに対するすべてのフォーマット要件を満たす必要があります。

たとえば、値セットが数字のみを許可する場合、ユーザーは値456を(最大長が3以上である値セットに)入力できますが、値ABCは入力できません。フォーマット限定の値セットは、ユーザーが入力できる様々な値の範囲を別の方法で制限することはありません。数値の場合、数値をゼロ埋込みする必要があるかどうか、または基数セパレータの後に何桁続ける必要があるかも指定できます。

相互依存値セット

独立値セットを使用して、アプリケーション表に格納されず、別の独立値セットのサブセットに従属しないリストに対してデータを検証します。同じフレックスフィールド内の別のセグメントに適用する独立値セットをまず定義してからでないと、特定のセグメントの従属値セットを指定することはできません。関連する独立セグメントに対してユーザーが定義した値に基づいて特定のセグメントの値リストを制限するには、従属値セットを使用します。従属リストで使用できる値と特定の値の意味は、独立して検証されるセグメントにどの値が選択されたかに応じて決まります。

たとえば、米国の州の独立値セットを、CAやNYなどの値で定義できます。次に米国の都市の従属値セットを、独立値のCAに有効であるSan FranciscoやLos Angelesなどの値で定義します。同様に、New York CityやAlbanyは独立値NYに対して有効です。ユーザー・インタフェースでは、特定の州に対しては有効な都市のみを選択できます。

サブセットの値セットは既存の独立値セットから定義するため、まず独立値セットを定義する必要があります。ユーザーは、サブセットの値セットにアクセスするために別のセグメントの値をまず選択しておく必要はありません。

独立、従属、およびサブセットの値セットは、有効な値のユーザー定義リストが必要です。値セットの有効な値を作成して管理したり、その表示順序を管理したりするには、値の管理ページを使用します。

ヒント: 「値セットの管理」ページを構成して、FND_VS_VALUES_B付加フィールドの新規コンテキストにコンテキスト依存セグメントを追加することで、有効な各値の追加属性を取得できます。

表検証

一般に、使用する値がサプライヤ名の表などのアプリケーション表内にすでに保持されている場合は、表検証セットを使用します。有効な値を含む表列を指定します。オプションで、説明とIDの列、セットに使用する値を制限するWHERE句およびORDER BY句を指定できます。

ID列を指定すると、フレックスフィールドは関連するフレックスフィールド・セグメントで、値列からの値のかわりにID値を保存します。基礎表が翻訳をサポートしている場合、値セットの値列が基礎表の翻訳済属性に基づくようにすることで、翻訳済テキストの表示を有効にできます。さらに、言語依存ではない属性に基づくID列を定義して、値の不変ID(変更されないID)をトランザクション表に保存する必要があります。ランタイムでは、ランタイム・セッションのロケールの値列から対応する翻訳済テキストが表示されます。

表検証により、セグメントを同じコンテキスト構成内の複数の先行セグメントに依存させることができます。表検証の値セットのWHERE句内で、他のフレックスフィールド・セグメントを参照することはできません。つまり、WHERE句でSEGMENT.segment_codeやVALUESET.value_set_codeは参照できません。

表検証の値セットは、バインド変数に関係なく、表全体で一意の値を持ちます。値セットのWHERE句の断片は、バインド変数がない場合に考慮されます。バインド変数がある場合、値は値セット内で一意であると想定されます。キー・フレックスフィールドに表検証の値セットを使用する場合、キー・フレックスフィールドに対してサポートされている次のような統合オプションはすべて使用できません。

  • データ・セキュリティ

  • Oracle Transactional Business Intelligence (OTBI)

  • ESSbase (Extended Spread Sheet Database)

  • ツリーまたは階層統合

キー・フレックスフィールドにこれらの統合オプションを使用するには、独立値セットのみを使用する必要があります。

範囲

フォーマット、独立または従属の値セットの場合、範囲を指定して、有効な値を限定できます。値セット内で有効である値の範囲を指定できます。さらに、セグメントの範囲検証ペアを指定することもできます。その場合、1つのセグメントは範囲の下限を、もう1つのセグメントは範囲の上限を表します。

たとえば、フォーマット限定の値セットの範囲を、フォーマット・タイプを数値として、0から100までの値のみを入力できるように指定できます。

セキュリティ

独立値および従属値の場合、値セットを使用するセグメントの値にデータ・セキュリティを適用することを指定できます。データ・セキュリティ・ポリシーにより、ユーザーにプロビジョニングされたロールに基づいて、ユーザーが表示または変更できるフレックスフィールド・セグメントの値が決定されます。

値セットに対してセキュリティを有効にするには、データベース・リソースを指定します。これは通常は値セットのコード値です。データベース・セキュリティ・ポリシーの管理タスクを使用して、フィルタやSQL述部などの条件、およびロールと条件を関連付けるポリシーを指定します。単純な条件にはフィルタを使用できます。より複雑な条件には、SQL述部を使用します。

値セットのデータ・セキュリティ・ポリシーと条件は、次の点でビジネス・オブジェクトのデータ・セキュリティ・ポリシーおよび条件とは異なります。

  • ユーザーに読取りアクセス権しか付与できません。他のアクションは指定できません。

  • SQL述部に基づく条件を定義するときは、従属、独立またはサブセットの値セットから値を参照するために、VALUE、VALUE_NUMBER、VALUE_DATE、VALUE_TIMESTAMPまたはVALUE_IDを使用します。表値セットについては、&TABLE_ALIAS category=70などの表を定義する表の別名を使用します。

表検証の値セットに対してセキュリティを有効にする場合、定義されるセキュリティ・ルールは絶対的なものであり、値セットのWHERE句で使用される可能性があるバインド変数(もしあれば)に基づく条件付きのルールではありません。たとえば、表検証の値セットに、値リストx、y、z、xx、yy、zzをフィルタして、x、y、zにするバインド変数があるとします。値セットに対して作成されるデータ・セキュリティ・ルールまたはフィルタでは、バインド変数について何も想定しないでください。値リスト全体が使用可能である必要があり、xを許可する、またはyとzを許可するなどのルールを記述する必要があります。データ・セキュリティのデフォルトでは、すべての値が拒否され、アクセス権が付与されている行のみが表示されます。

テストと保守

表検証値セットの値は、参照先の表または独立値セットの一部としてそれぞれ管理されるため、定義したり保守したりする必要はありません。

サンドボックスで値セットを管理することはできません。

既存の値セットを変更すると、影響を受けるすべてのフレックスフィールドのデプロイメント・ステータスが編集済に変わります。フレックスフィールドに変更を反映するには、その値セットを使用するすべてのフレックスフィールドを再デプロイする必要があります。値セットを管理するUIページで、値セットの使用状況には、値セットの変更によってどのフレックスフィールドが影響を受けるかが示されます。

アプリケーションに複数の言語がインストールされている場合、または今後アプリケーションに1つ以上の追加言語をインストールする可能性がある場合は、「変換可能」を選択します。これにより翻訳済の値をすぐに入力することが求められるわけではありませんが、後で言語を追加することにした場合でもこのオプションは変更できません。

作成および構成する値セットは、値セットを使用するビジネス・オブジェクト属性の有効な値に依存します。値セットの作成時には、値セットにまず名前を付けて説明を付与し、次にそのセットの有効な値を定義します。

値セットの計画には次の側面が重要です。

  • 値リスト

  • プレーン・テキスト

  • 値の範囲

  • 値のフォーマット指定

  • セキュリティ

値リスト

セグメントの有効な値を指定するには、次のいずれかのタイプのリストを使用できます。

  • 表列

  • ユーザー定義リスト。サブリストも含まれます。

  • 依存ユーザー定義リスト

有効な値が表列内に存在する場合は、表の値セットを使用して値のリストを指定します。有効な値を表内の値のサブセットに制限するには、SQL WHERE句を使用します。表値セットには、同じ構成にある別のセグメントに応じた検証の有効化など、いくつかの高度な機能も用意されています。

有効な値のユーザー定義セットを指定するには、独立値セットを使用します。たとえば、月、火、水…と続く独立値セットを使用して、曜日を検証できます。また、セグメントの有効な値として、既存の独立値セットのサブセットも指定できます。たとえば、曜日の独立値セットがある場合、土曜日と日曜日のエントリで週末サブセットを構成できます。

リスト内の使用可能な値と、特定の値の意味が、すでに選択済のセグメント値に対して選択された独立値に依存する場合は、従属値セットを使用します。たとえば、有効な祝日は国によって異なります。従属値セットは値サブセットのコレクションであり、対応する独立値セットの各値に対して1つのサブセットがあります。

値のリスト・タイプの値セットでは、フォーマット、最小値、最大値を指定して、エンド・ユーザーが選択または入力できる有効な値をさらに制限できます。値のリスト・タイプの値セットでは、オプションで、値セットのデータ・セキュリティを実装できます。アプリケーションを様々なロケールで実行している場合には、値や説明用に別の翻訳を提供することが必要になる場合があります。

プレーン・テキスト

ユーザーがフォーマット・ルールに準拠しているかぎりどのような値でも入力できるように許可するには、フォーマット限定値セットを使用します。たとえば、最大長3、数値のみと指定した場合、エンド・ユーザーは456は入力できますが、4567や45Aは入力できません。最小値および最大値、テキストをいずれかの側に位置合せするかどうか、ゼロを埋め込むかどうかを指定することもできます。フォーマット限定値セットでは、他のタイプの検証は適用されません。

値の範囲

値の範囲を指定するには、フォーマット限定、独立または従属のいずれかの値セットを使用できます。たとえば、フォーマット限定の値セットをフォーマット・タイプとして数値で作成し、エンド・ユーザーが0から100の範囲の値しか入力できないようにできます。または、フォーマット・タイプに日付を使用する、エンド・ユーザーがある特定の年の日付(たとえば1993年1月1日から1993年12月31日までの範囲など)しか入力できないフォーマット限定値セットを作成することもできます。最小値および最大値によりこのような制限が強制されるため、個々の数値や日付を含む値セットを定義する必要はありません。

値のフォーマット

フレックスフィールド・セグメントでは通常、検証タイプに関係なく、なんらかのフォーマット指定が必要です。値セットを作成する前に、要求するフォーマットの指定方法を検討します。

次の表は、検証タイプのオプションと値のデータ型を示しています。

オプション 説明

値データ型

文字、数値、日付、日時。

値サブタイプ

テキスト、翻訳済テキスト、数字のみ、時刻(20:08)、時刻(20:08:08)。

従属、独立およびフォーマット検証タイプの文字データ型に対する追加のデータ型指定。

最大長

文字データ型の最大文字数または最大桁数。

精度

ユーザーが入力できる最大桁数。

スケール

小数点の後に続けることができる最大桁数。

大文字のみ

小文字は自動的に大文字に変更されます。

ゼロ埋め

自動にテキストを位置合せし、入力した数値にゼロを埋め込みます(0-9の数字のみを含む値に影響)。

注意: 値セットの作成後に、テキスト値のデータ型を翻訳済テキスト値サブタイプに変更することはできません。表示される値を他の言語に翻訳する必要性が考えられる場合、翻訳済テキストを選択します。翻訳済テキスト・サブタイプを選択しても、翻訳済の値を入力する必要はありません。

コンテキスト・セグメントの値セット

コンテキスト値の検証には、表値セットおよび独立値セットのみを使用できます。データ型は文字でなければならず、格納される値の最大長は、コンテキストの列長よりも長くしないでください。表の値セットを使用する場合、その値セットは、値セットが割り当てられたフレックスフィールド・セグメントを除き、値セットのWHERE句にあるフレックスフィールド・セグメントは参照できません。

セキュリティ

値セットでセキュリティを有効にすると、データ・セキュリティ・リソースの名前は、既存の値セットの名前かまたはユーザーが作成した名前になります。通常、この名前は値セットのコード値に一致します。変更の保存後にデータ・セキュリティ・リソース名を編集することはできません。

表検証の値セット内のバインド変数の考慮事項

値セットをフレックスフィールドに割り当てると、WHERE句内でバインド変数を使用できます。

次のバインド変数は、フレックスフィールドの要素を参照します。

  • :{SEGMENT.<segment_code>}

  • :{CONTEXT.<context_code>;SEGMENT.<segment_code>}

  • :{VALUESET.<value_set_code>}

  • :{FLEXFIELD.<internal_code>}

  • :{PARAMETER.<parameter_code>}

セグメント・コード

:{SEGMENT.<segment_code>}

このバインド変数は、<segment_code>によって識別されるセグメントのIDまたは値を参照します。IDを参照している場合、値セットはID検証済です。値を参照している場合、値セットはID検証済ではありあません。バインド値のデータ型は、セグメントの列のデータ型と同じです。

付加フレックスフィールドおよび拡張可能フレックスフィールドのいずれの場合でも、このセグメントはソース・セグメントと同じコンテキスト内になければなりません。ソース・セグメントにはWHERE句が含まれます。付加フレックスフィールドの場合、このセグメントがグローバルであれば、ソース・セグメントもグローバルでなければなりません。

このセグメントは、このバインド変数のターゲット・セグメントの連番よりも小さい連番を持っていなければなりません。現在のフレックスフィールド・コンテキストに、一致するセグメントが存在していなければなりません。

このバインド変数は、有効な値のセットが、別のセグメントの値に依存している場合に便利です。たとえば、CITIES表から選択する値は、選択された国に依存している場合があります。SEGMENT1に国値が含まれている場合、CITIES表に対するWHERE句は<country_code> = :{SEGMENT.SEGMENT1}となります。

コンテキスト・コード

:{CONTEXT.<context_code>;SEGMENT.<segment_code>}

このバインド変数は、拡張可能フレックスフィールドに対してのみ有効で、ターゲット・セグメント(WHERE句があるセグメント)とは異なるコンテキストにあるセグメントのID (値セットがID検証済の場合)または値(ID検証済でない場合)を参照します。

  • コンテキストは<context_code>により識別されます。これは同じカテゴリ内または先祖のカテゴリ内になければなりません。これは複数行コンテキストにすることはできません。

  • セグメントは<segment_code>により識別されます。バインド値のデータ型は、セグメントの列のデータ型と同じです。

注意: ターゲット・セグメントは、ソース・セグメントに値があることを確認するために、ユーザー・インタフェース内ではソース・セグメントの後に表示される必要があります。ターゲット・セグメントのコンテキストが単一行コンテキストである場合、ソースとターゲットのセグメントは別々のページ上になければならず、ターゲット・ページはソース・ページの後に続く必要があります。

拡張可能フレックスフィールドのフレームワークでは、相互コンテキスト・バインド・パラメータで定義されたセグメントの不一致値に関連する追加の検証は実行されません。管理者は正しいペアのセグメント値を移入する必要があります。

このバインド変数は、有効な値のセットが、別のコンテキストのセグメントの値に依存している場合に便利です。たとえば、「コンプライアンスと証明書」コンテキストにあるセグメントに対してCERTIFICATION表から選択する値は、「製造」コンテキストの「国」セグメントの値に依存する場合があります。

値セット・コード

:{VALUESET.<value_set_code>}

このバインド変数は、value_set_codeによって識別される値セットに割り当てられたセグメントのID (値セットがID検証される場合)または値(ID検証されない場合)を参照します。バインド値のデータ型は、セグメントの列のデータ型と同じです。

このセグメントは、このバインド変数のセグメントの連番よりも小さい連番を持っていなければなりません。値セットに複数のセグメントが割り当てられている場合、以前に一致した最も近いセグメントが、バインド式の解決に使用されます。現在のフレックスフィールド・コンテキストに、一致するセグメントが存在していなければなりません。

一連の有効な値が、別のセグメントにある値に依存しており、そのセグメント・コードが一定ではない場合には、このバインド変数が便利です。これは値セットが複数のコンテキストやフレックスフィールドで使用される場合などが該当します。たとえば、CITIES表から選択する値は、選択された国に依存している場合があります。国の値を含むセグメントの値セットがCOUNTRIESである場合、CITIES表のWHERE句は<country_code> = :{VALUESET.COUNTRIES}などになります。

フレックスフィールド内部コード

:{FLEXFIELD.<internal_code>}

このバインド変数は、値セットが使用されるフレックスフィールドの内部コード、または検証日付を参照します。internal_codeは、次のいずれかでなければなりません。

  • APPLICATION_ID: この値セットが使用されるフレックスフィールドのアプリケーションID。APPLICATION_IDのデータ型とその結果のバインド値はNUMBERです。

  • DESCRIPTIVE_FLEXFIELD_CODE: この値セットが使用されるフレックスフィールドの識別コード。DESCRIPTIVE_FLEXFIELD_CODEのデータ型とその結果のバインド値はVARCHAR2です。この文字列は、付加および拡張可能の両方のフレックスフィールドに使用することに注意してください。

  • CONTEXT_CODE: この値セットが使用されるフレックスフィールド・コンテキストのコンテキスト・コード。CONTEXT_CODEのデータ型とその結果のバインド値はVARCHAR2です。

  • SEGMENT_CODE: この値セットが使用されるフレックスフィールド・セグメントの識別コード。SEGMENT_CODEのデータ型とその結果のバインド値はVARCHAR2です。

  • VALIDATION_DATE: 現在のデータベース日付。VALIDATION_DATEのデータ型とその結果のバインド値はDATEです。

フレックスフィールド・パラメータ

:{PARAMETER.<parameter_code>}

このバインド変数は、フレックスフィールド・パラメータの値を参照し、parameter_codeによりパラメータが識別されます。結果のバインド値のデータ型は、パラメータのデータ型と同じになります。

注意: WHERE句がVALUESET.value_set_codeまたはSEGMENT.segment_codeバインド変数を使用する場合、表の値セットをコンテキスト・セグメントに割り当てることはできません。

参照に基づいた表検証の値セットの作成

アプリケーション・ユーザー・インタフェースで、顧客が満足度の入力に使用する値リストを表示するとします。値列の名前は1、2、3、4、5で、値列の説明は「非常に満足」、「満足」などとします。ユーザーは該当する値、または対応する名前が格納される説明を選択できます。これにより、名前の値を計算式で使用できます。

この場合、表検証の値セットの基準としてFND_LOOKUPS表を使用できます。参照の意味は「値」列名と対応し、参照の説明は「摘要」列名と対応します。次の表は、値セットのプロパティを示したものです。

プロパティ

FROM句

FND_LOOKUPS

WHERE句

lookup_type = 'CN_XX_CUST_SATISFACT_SCORE'

ID列

lookup_code

値列

meaning

説明列

description

有効化列

enabled_flag

開始日列

start_date_active

終了日列

end_date_active

順序

display_sequence

このタスクが完了すると、実装プロジェクトの「インセンティブ報酬」ページで使用される顧客満足度の値セットが作成されたことになります。

参照に基づいた値セットの作成

  1. 「設定および保守」作業領域で「値セットの管理」タスクを開き、「タスクに進む」アイコン・ボタンをクリックします。

  2. 「値セットの管理」ページで、「作成」アイコン・ボタンをクリックします。

  3. 値セットの作成ページで、次の値を入力します。

    1. 「値セット・コード」フィールドで、CN_XX_CUSTOMER_SATISFACTION_SCORESと入力します

    2. 「摘要」フィールドで、顧客満足度を入力します。

    3. 「モジュール」フィールドで、「検索」を選択します

    4. 「検索と選択: モジュール」サブウィンドウで、「ユーザー・モジュール名」フィールドにIncentと入力します。

    5. 「インセンティブ報酬」を選択します。

    6. 「OK」をクリックします。

  4. 値セットの作成ページで、次の値を入力します。

    1. 検証タイプフィールドで、「表」を選択します。

    2. 値のデータ型フィールドで、文字を選択します。

    3. 「定義」セクションのFROM句フィールドに、FND_LOOKUPSと入力します。

    4. 値列名フィールドに、DESCRIPTIONと入力します。

    5. 摘要列名フィールドに、MEANINGと入力します。

    6. ID列名フィールドに、LOOKUP_CODEと入力します。

    7. 有効化列名フィールドに、'Y'と入力します。

    8. 開始日列名フィールドに、START_DATE_ACTIVEと入力します。

    9. 終了日列名フィールドに、END_DATE_ACTIVEと入力します。

    10. WHERE句フィールドに、LOOKUP_TYPE = 'CN_XX_CUST_SATISFACT_SCORE'と入力します。

  5. 「保存してクローズ」をクリックします。

  6. 「値セットの管理」ページで、「完了」をクリックします。

属性は、独立、従属およびサブセットの値セットに追加できます。属性は「値セットの管理」ページに表示され、そこでそれぞれの有効な値に関する追加情報を格納できます。アプリケーション・ページに属性を表示するには、アプリケーションをプログラム的に変更する必要があります。

属性を追加してその後で「値セットの管理」ページに属性を表示するには、次のステップを実行します。

  1. 「付加フレックスフィールドの管理」タスクを使用して、FND_VS_VALUES_Bフレックスフィールドを見つけ、編集のために開きます。

  2. 「コンテキストの管理」をクリックします。

  3. 新しいコンテキストを作成し、値セット・コードをコンテキスト・コードに使用します。

  4. 新しい属性をコンテキスト依存セグメントとして追加し、変更を保存します。

  5. FND_VS_VALUES_Bをランタイムにデプロイします。

  6. サインアウトしてサインインしなおします。

  7. 「値セットの管理」ページを開いて新しい属性を表示します。

値セットの値のインポート

編集する値、または特定の独立または従属値セットに追加する値が含まれるファイルをインポートできます。

たとえば、100個の値をアップロードするほうが、「値セットの管理」タスクを使用して個別に作成するよりも効率的である場合があります。しかし、数個の値であれば、関連タスクを実行するほうが速い可能性もあります。

値セットの値のインポート

値セットの値をインポートするには:

  1. 追加または更新する値セット内の値を含むフラット・ファイルを作成します。

    注意:
    • ファイルの作成時に、値を追加するかまたは既存の値を編集する、既存の値セット・コードを指定する必要があります。値セットが存在しない場合、「設定および保守」作業領域にある適切な「値セットの管理」設定タスクを使用して値セットを追加します。

    • 作成するファイルは、値セット値を含むフラット・ファイルを作成するためのフォーマットおよびコンテンツ要件を順守する必要があります。

  2. 「ファイル・インポート/エクスポート」ページを使用して、フラット・ファイルをコンテンツ・リポジトリにアップロードします。

  3. 「設定および保守」作業領域にある適切な「値セットの管理」設定タスクを使用してファイルをインポートします。ファイルをインポートするには:

    1. 「値セットの管理」ページで、「処理」「インポート」の順にクリックします。

    2. 「ファイル名」フィールドで、「ファイル・インポート/エクスポート」ページを使用してアップロードしたフラット・ファイルの名前を入力します。

    3. 「アカウント」フィールドで、フラット・ファイルが含まれるユーザー・アカウントを選択します。

    4. 「アップロード」をクリックします。

    注意: 次のいずれかの方法でファイルをインポートすることもできます。
    • 値セットの値のアップロードのスケジュール済プロセスを実行します。

    • アプリケーション・コア・メタデータのインポート Webサービスを使用します。アプリケーション・コア・メタデータのインポートWebサービスの詳細は、ご使用のクラウド・サービスの『SOAP Webサービス・ガイド』を参照してください。

Webサービスを使用した値セットの値のインポート

「値セットの管理」ページでインポート・オプションを使用するかわりに、FndManageImportExportFilesService Webサービスを使用して、値セットの値をアプリケーションにインポートすることもできます。Webサービスでは、valueSetValuesDataLoaderメソッドを使用します。

前提条件

WebサービスFndManageImportExportFilesServiceが「アプリケーション・フレックスフィールド値セットの管理」資格に追加されていることを確認します。セキュリティ・コンソールを使用して、Oracle Entitlements Serverでこの構成を実行します。Webサービスの構成時に、次の詳細を入力します。

  • リソース・タイプ: WebserviceResourceType

  • 表示名: ImportExport

  • 名前: http://xmlns.oracle.com/oracle/apps/fnd/applcore/webservices/FndManageImportExportFilesService#*

  • 資格/権利(デフォルト・ポリシー・ドメイン内): アプリケーション・フレックスフィールド値セットの管理

  • セキュリティ・ポリシー: oracle /wss11_saml_or_username_token_with_message_protection_service_policy

値セットの値のインポート

値セットの値をインポートするには:

  1. 次のサブステップを実行して、「oracle/wss11_saml_or_username_token_with_message_protection_service_policy」というセキュリティ・ポリシー用のキーストアを生成します。

    1. コマンドkeytool -genkeypair -keyalg RSA -alias mycompkey -keypass <password> -keystore mycompclient-keystore.jks -storepass <password> -validity 3600を使用して、キーストアを生成します。

    2. Webブラウザを介してURL http://<host>:<port>/fndAppCoreServices/FndManageImportExportFilesService?wsdlを使用してWSDLにアクセスし、公開キー<wsdl:service>/<wsdl:port>/<wsa:EndpointReference>/<wsid:Identity>/<dsig:keyInfo>/<dsig:X509Data>/<dsig:X509Certificate>を取得します。次に、それを---- BEGIN CERTIFICATE -------- END CERTIFICATE ----で囲み、cdrmpk.cerという名前でファイルに保存します。

    3. コマンドkeytool -importcert -alias cdrmkey -file cdrmpk.cer -keystore mycompclient-keystore.jks -storepass <password>を使用して、トラスト・ストアにキー情報を格納します。

  2. 任意のブラウザを使用して、WSDLページにアクセスします。

  3. 関連するセキュリティ証明書Verisign Class 3 Public Primary Certification Authority - G5およびVerisign Secure Server CA - G3をエクスポートして保存します。

  4. 次のコマンドを使用して、保存した証明書をクライアント・コンピュータのトラスト・ストアにインポートします。

    keytool -importcert -keystore <truststore> -storepass <truststorepassword> -file <file location where the mentioned certificate is stored> -alias <alias for certificate>
  5. 次のコマンドを実行して、FndManageImportExportFilesService Webサービス用のJAX-WSプロキシを生成します。

    C:\Program Files\Java\jdk1.7.0_04\bin>wsimport
               -s "d:\wsimport\FndManageImportExport"
               -d "d:\wsimport\FndManageImportExport" http://<host>:<port>/fndAppCoreServices/FndManageImportExportFilesService?wsdl
    
       parsing WSDL... 
    
       Generating code... 
    
       Compiling code...
  6. 生成されたコードをJARファイルとして保存し、FndManageImportExportProxy.jarという名前を付けます。

  7. 次のコードを使用して、Webサービスを開始するための別のJARファイルを作成します。

    package com.oracle.xmlns.oracle.apps.fnd.applcore.webservices;
     
    import com.sun.xml.ws.developer.WSBindingProvider;
     
    import java.io.File;
    import java.io.IOException;
     
    import java.util.List;
     
    import java.util.Map;
     
    import javax.xml.ws.BindingProvider;
    import javax.xml.ws.WebServiceRef;
     
    import javax.xml.ws.handler.Handler;
     
    import oracle.webservices.ClientConstants;
     
    import weblogic.wsee.jws.jaxws.owsm.SecurityPoliciesFeature;
    // !THE CHANGES MADE TO THIS FILE WILL BE DESTROYED IF REGENERATED!
    // This source file is generated by Oracle tools
    // Contents may be subject to change
    // For reporting problems, use the following
    // Version = Oracle WebServices (11.1.1.0.0, build 130224.1947.04102)
     
    public class FndManageImportExportFilesServiceSoapHttpPortClient
    {
      @WebServiceRef
      private static FndManageImportExportFilesService_Service fndManageImportExportFilesService_Service;
     
      public static void main(String [] args)
      {
           System.setProperty("javax.net.ssl.trustStore","<location of truststore which is used in II) to import the certificates>");
           System.setProperty("javax.net.ssl.trustStorePassword", "<truststore password>");
     
        fndManageImportExportFilesService_Service = new FndManageImportExportFilesService_Service();
            SecurityPoliciesFeature securityFeatures =
                new SecurityPoliciesFeature(new String[] { "oracle/wss11_username_token_with_message_protection_client_policy",
                                                           });
            FndManageImportExportFilesService
     fndManageImportExportFilesService =  
    fndManageImportExportFilesService_Service.getFndManageImportExportFilesServiceSoapHttpPort
     (securityFeatures);
            // Add your code to call the desired methods.
     
     
            WSBindingProvider wsbp = (WSBindingProvider) fndManageImportExportFilesService;
               Map<String, Object> requestContext = wsbp.getRequestContext();
     
     
            requestContext.put(ClientConstants.WSSEC_KEYSTORE_TYPE,"jks");
            // Provide location of 'mycompclient-keystore.jks' which was created during Step I)
            requestContext.put(ClientConstants.WSSEC_KEYSTORE_LOCATION,"/home/user1/mycompclient-keystore.jks");
            requestContext.put(ClientConstants.WSSEC_KEYSTORE_PASSWORD,"<password>");
            requestContext.put(ClientConstants.WSSEC_RECIPIENT_KEY_ALIAS,"cdrmkey");
     
            //Provide user who is having permission to initiate the service
            requestContext.put(WSBindingProvider.USERNAME_PROPERTY,"<username>");
            requestContext.put(WSBindingProvider.PASSWORD_PROPERTY, "<password>");
     
     
            String id =          invokeUploadFiletoUCMMethod(fndManageImportExportFilesService);
     
            if (id != null) {
                invokevalueSetValuesDataLoader(fndManageImportExportFilesService,  new Long(id));
     
            }
      }
     
        static String invokeUploadFiletoUCMMethod(FndManageImportExportFilesService fndManageImportExportFilesService) {
     
            String response = null;
            DocumentDetails document = new DocumentDetails();
            ObjectFactory objfactory = new ObjectFactory();
            document.setFileName(objfactory.createDocumentDetailsFileName("import_data.txt"));
            // Provide UCM repository - if repository is fin/tax/import then suffix each value with $ as mentioned here
            document.setDocumentAccount(objfactory.createDocumentDetailsDocumentAccount("fin$/tax$/import$"));
            document.setDocumentTitle(objfactory.createDocumentDetailsDocumentTitle("VS"));
            document.setContentType(objfactory.createDocumentDetailsContentType("plain/text"));
     
            try {
     
                // Provide location of 'VS.txt' which contains ValueSet values data in prescribed format
                byte[] content =
                org.apache.commons.io.FileUtils.readFileToByteArray(new File("/home/user1/VS.txt"));
     
                //System.out.println("File content:" + new String(content, "UTF-8"));
                document.setContent(objfactory.createDocumentDetailsContent(content));
     
            } catch (IOException e) {
                System.out.println(e.getMessage());
            }
            catch(Exception e) {
                System.out.println("Exception: "+e.getMessage());
            }
     
            try {
                response = fndManageImportExportFilesService.uploadFiletoUCM(document);
                System.out.println("Response: " + response);
     
            } catch (ServiceException e) {
                System.out.println(e.getMessage());
            }
     
            return response;
        }
     
        static void invokevalueSetValuesDataLoader(FndManageImportExportFilesService fndManageImportExportFilesService,
                                                   Long id) {
            String response;
            try {
                response = fndManageImportExportFilesService.valueSetValuesDataLoader(id);
                System.out.println("Response: " + response);
            } catch (ServiceException e) {
                System.out.println(e.getMessage());
            }
        }
    }
    
  8. 生成された出力をJAVAファイルとして保存し、FndManageImportExportFilesServiceSoapHttpPortClient.javaという名前を付けます。

  9. JAVAファイルを使用してJARファイルを作成し、FndManageImportExportClient.jarという名前を付けます。

  10. 次のコマンドを使用して、Webサービスを実行します。

    java -cp ./FndManageImportExportProxy.jar:./ws.api_1.1.0.0.jar:./FndManageImportExportClient.jar FndManageImportExportFilesServiceSoapHttpPortClient

値セットの値をアップロードするためのフラット・ファイルの要件

コンテンツ・リポジトリから大量の値セットの値データをインポートできます。値セットの値をコンテンツ・リポジトリにアップロードするには、追加または更新する値セットの値を含むフラット・ファイルを作成します。これらのフラット・ファイルをコンテンツ・リポジトリにアップロードするには、「ファイル・インポート/エクスポート」ページを使用します。

一般要件

フラット・ファイルの最初の行には、値セットの値データのすべての必須列を含む列名が、「|」(パイプ)文字で区切られて、含まれている必要があります。後続の各行には、列名と同じ順序で指定されたデータの行が、「|」 文字で区切られて含まれている必要があります。

フラット・ファイルを作成するための要件は、次に示す値セットのタイプによって異なります。

  • 独立値セット

  • 従属値セット

独立値セット

独立値セットの値をアップロードするためのフラット・ファイルには、必須列が含まれている必要があります。次の表に、3つの必須列とそのデータ型を示します。

列名 データ型

ValueSetCode

VARCHAR2(60)

Value

VARCHAR2(150)

Enabled Flag

VARCHAR2(1)、YまたはN

注意: オプションの列も指定できます。

例:

  • 最小限の列しか持たないCOLORS独立値セットに値をアップロードするには、次のフラット・ファイルを使用できます。

    ValueSetCode | Value | EnabledFlag
    COLORS | Red | Y
    COLORS | Orange | Y
    COLORS | Yellow | Y
  • 追加の(オプションの)列を持つSTATES独立値セットに値をアップロードするには、次のフラット・ファイルを使用できます。

    ValueSetCode | Value | Description | EnabledFlag
    STATES | AK | Alaska | Y
    STATES | CA | California | Y
    STATES | WA | Washington | Y

従属値セット

従属値セットの値をアップロードするためのフラット・ファイルには、必須列が含まれている必要があります。次の表に、4つの必須列とそのデータ型を示します。

列名 データ型

Value Set Code

VARCHAR2(60)

Independent Value

VARCHAR2(150)

Value

VARCHAR2(150)

Enabled Flag

VARCHAR2(1)、YまたはN

注意: オプションの列も指定できます。

例:

CITIES従属値セット(STATES独立値セットに依存)に値をアップロードするには、次のフラット・ファイルを使用できます。

ValueSetCode | IndependentValue | Value | EnabledFlag
CITIES | AK | Juneau | Y
CITIES | AK | Anchorage | Y
CITIES | CA | San Francisco | Y
CITIES | CA | Sacramento | Y
CITIES | CA | Los Angeles | Y
CITIES | CA | Oakland | Y

追加のオプション列

必須列に加えて、オプション列を追加できます。次の表に、従属値セットと独立値セットの両方のオプション列を示します。

列名 タイプ

Translated Value

VARCHAR2(150)、翻訳可能な値セットで使用

Description

VARCHAR2(240)

Start Date Active

DATE (形式はYYYY-MM-DD)

End Date Active

DATE (形式はYYYY-MM-DD)

Sort Order

NUMBER(18)

Summary Flag

VARCHAR2(30)

Flex Value Attribute1 ... Flex Value Attribute20

VARCHAR2(30)

User-defined Value Attribute1 ... User-defined Value Attribute10

VARCHAR2(30)

値セットの値のアップロード・プロセス

このプロセスにより、フレックスフィールド値セットの値を含むフラット・ファイルがアップロードされます。スケジュール済プロセスを使用して、編集する値、または既存の独立あるいは従属の値セットに追加する値が含まれているファイルをアップロードできます。このプロセスは、自動化処理または反復処理により大量の値セットの値データを追加または更新する場合に役立ちます。たとえば、繰返しプロセスとしてスケジュールされている場合、繰返しベースで100個の値をアップロードできます。この方法は、「設定および保守」作業領域にある「値セットの管理」タスクのインポート処理を使用するよりも効果的である場合があります。ただし、100個の値をアップロードするタスクの場合、関連タスクのインポート処理を使用するほうが処理が速い可能性もあります。

このプロセスは、「スケジュール済プロセス」の「概要」ページから実行します。これは、コンテンツ・リポジトリ・アカウントのフラット・ファイルが更新されるたびに、繰返しベースで実行できます。

値データを含むフラット・ファイルを作成し、「ファイル・インポート/エクスポート」ページを使用して、そのフラット・ファイルをコンテンツ・リポジトリにアップロードする必要があります。

パラメータ

フラット・ファイル名

「ファイル・インポート/エクスポート」ページを使用してアップロードしたフラット・ファイルの名前を入力します。

アカウント

アップロードするコンテンツ・リポジトリにフラット・ファイルが含まれているユーザー・アカウントを選択します。

フレックスフィールドおよび値セット構成の翻訳

フレックスフィールドまたはセグメントの最初の構成時に、入力する翻訳可能なテキスト(プロンプトや摘要など)は、インストールされているすべてのロケールに対してテキストとして保存されます。その後、特定のロケール用の翻訳を提供できます。特定のロケール用の翻訳を提供しない場合、最初に入力された値がそのロケールで使用されます。

特定のロケール用のテキストを翻訳するには、そのロケールでサイン・インするか、グローバル・ヘッダーで「設定およびアクション」「パーソナライズ」「プリファレンスの設定」の順に選択してロケールを指定します。次に、「付加フレックスフィールドの管理」タスク、「キー・フレックスフィールドの管理」タスクまたは「拡張可能フレックスフィールドの管理」タスクを使用して、フレックスフィールド内の翻訳可能なテキストを更新します。翻訳された値に変更内容が反映されるのは、現在のセッションのロケールに対してのみです。

翻訳が完了した後に、フレックスフィールドをデプロイします。

従属値セットまたは独立値セットのタイプが文字で、サブタイプが翻訳済テキストの場合は、その値セットに対して翻訳を定義できます。翻訳を定義するには、現在のセッションを、翻訳を定義するロケールに設定します。次に、「値セットの管理」タスクを使用して、そのロケールの翻訳済の値および説明を入力します。

複数の言語をサポートし、値セットの値列が基礎となる表の翻訳済属性に基づいている表の値セットには、翻訳済の値を定義できます。マルチ言語サポート機能の使用の詳細は、Oracle Fusion Applications開発者ガイドを参照してください。

「値セットの管理」のFAQ

値セット・セキュリティは、アプリケーション内でのユーザーのロールに基づいて、値セットの値へのアクセスを保護できる機能です。

例として、米国の州名の値セットがあるとします。この値セットがフレックスフィールド・セグメントの検証に使用され、ユーザーがそのセグメントの値を選択できる場合、値セット・セキュリティを使用して、ユーザーがアプリケーション内で割り当てられているロールに基づき、特定の州または州のサブセットしか選択できないように制限できます。

たとえば、西部地域の従業員には、California、Nevada、Oregonなどの州のみを有効な値として選択できるようにします。そして西部地域以外の州は選択できないようにします。東部地域の従業員には、New York、New Jersey、Virginiaなどの州のみを有効な値として選択できるようにして、東部地域以外の州は選択できないようにします。値セット・セキュリティは、Oracle Applications Cloudデータ・セキュリティを使用して実装されます。

フレックスフィールド・セグメントを定義または編集するときに、割り当てられている値セットの値を選択し、デフォルトとして設定します。

付加フレックスフィールド・セグメントのデフォルト値は、パラメータとして設定できます。マップ先のエンティティ・オブジェクト属性が、セグメントの初期デフォルト値を提供します。

セグメントに割り当てられている値セットのデータ型に適切であれば、デフォルト値は定数として設定できます。

初期デフォルト値に加えて、パラメータ値が変更されるたびに属性の値を更新するための導出値を設定できます。選択するパラメータにより、エンティティ・オブジェクト・ソース属性が特定されます。ランタイム時のソース属性の値への変更はすべて、セグメントの値に反映されます。

セグメントの表示タイプがチェック・ボックスの場合は、セグメントのデフォルト値として選択か選択解除かを設定できます。