拡張可能フレックスフィールドの管理に関する考慮事項
拡張可能フレックスフィールドの構成には、アプリケーション・データベースに登録された使用可能なフレックスフィールドの管理が含まれます。
次の手順では、拡張可能フレックスフィールドの構成方法について説明します。
- 
            コンテキストを構成するには、各コンテキスト・セグメント、および各コンテキスト・セグメントに対するコンテキスト依存セグメントを作成し、各セグメントに次を指定します。 - 
                  識別情報 
- 
                  列割当て 
- 
                  初期デフォルト値 
- 
                  表示プロパティ 
 
- 
                  
- 
            ユーザーがアクセス権を持つアクションを選択して、コンテキスト使用方法と使用方法セキュリティを構成します。 - 
                  表示 
- 
                  編集 
- 
                  なし(特別な権限を適用する必要がない場合)。 
 
- 
                  
- 
            カテゴリとカテゴリ詳細を構成します。 
- 
            コンテキストをカテゴリに関連付けます。 
- 
            カテゴリの論理ページを作成します。 
拡張可能フレックスフィールドの管理を理解するためには次の側面が重要です。
- 
            コンテキストとページ 
- 
            カテゴリ 
- 
            初期値 
- 
            強調表示された拡張可能フレックスフィールドへのセグメントの追加 
- 
            索引付きセグメント 
- 
            セキュリティ 
- 
            デプロイメント 
コンテキストとページ
各コンテキストは、コンテキスト依存セグメントを含むリージョンとしてエンド・ユーザーに表示されます。 リージョンとその属性の使用方法をエンド・ユーザーに説明した手順を表示する、手順ヘルプ・テキストを指定できます。 手順ヘルプ・テキストは、コンテキスト・リージョンの先頭に表示されます。 コンテキストは、単一行または複数行として定義できます。 単一行のコンテキストは、付加フレックスフィールド・コンテキストと同じです。 単一行のコンテキストには、1セットのコンテキスト依存セグメントのみが含まれます。 複数行のコンテキストを使用すると、複数の値セットを同じオブジェクト・インスタンスに関連付けることができます。
たとえば、BOOK表の場合、章のセグメントおよびページ数のセグメントを含む「章」という名前の、複数行のコンテキストを作成できます。 次に、複数の章をBOOK表内の各ブックに関連付けることができます。
複数行を保存するコンテキストでは、各行で一意キーからの値を持つことにより、各行を一意に識別できます。
フレックスフィールドにカテゴリ階層がある場合は、その階層を利用して、類似するエンティティ(製品カタログ内の類似する品目など)にコンテキストを再利用できます。
コンテキストを翻訳可能に設定すると、エンド・ユーザーが入力する自由形式テキストがユーザーのロケールの言語で保存され、そのテキストの別の翻訳を他の言語で保存できます。 翻訳済コンテキスト内のセグメントでは、自由形式のユーザー入力テキストを保存するためにフォーマット限定値セットを使用する必要があります。
コンテキスト・セキュリティを設定して、エンド・ユーザーにコンテキストへの表示アクセス権または編集アクセス権を付与します。 表示アクセス権があるユーザーに対してのみ、コンテキストのタスク・フローとリージョンがユーザー・インタフェースに表示されます。 編集アクセス権があれば、エンド・ユーザーはコンテキストの属性値を編集できます。 使用方法に対してアクションが指定されていない場合、コンテキストの構成による特別な権限は適用されません。
ユーザー・インタフェースでコンテキストをグループ化するように論理ページを定義します。 特定のカテゴリに対して、1つ以上の論理ページを作成できます。 カテゴリの1つ以上の関連コンテキストを、カテゴリの各論理ページに追加できます。
次を指定できます。
- 
               各ページ内のコンテキストの順序。 
- 
               論理ページが表示される順序。 
- 
               ページの使用方法をエンド・ユーザーに説明する手順を表示するための、手順ヘルプ・テキスト。 手順ヘルプ・テキストは、論理ページの先頭に、すべてのコンテキスト・リージョンよりも前に表示されます。 
カテゴリ
カテゴリとは、同類とみなすことができる関連データ項目をグループ化したものです。 コンテキストの任意の組合せを特定のカテゴリと関連付けることができます。 30を超えるカテゴリがある拡張可能フレックスフィールドは、バックグラウンド・プロセスとしてデプロイする必要があります。
カテゴリ階層は、一連のカテゴリを論理的に編成します。 たとえば、「電子機器とコンピュータ」カテゴリ階層には、「コンピュータ」カテゴリや「家庭用娯楽機器」カテゴリが含まれ、さらにこのカテゴリには「オーディオ」カテゴリと「TV」カテゴリなどが含まれる可能性があります。
カテゴリは、既存のカテゴリの子または兄弟にすることができます。 階層は、ゼロ以上の兄弟カテゴリおよびゼロ以上の子カテゴリを任意に組み合せて、必要に応じて単純なものにすることも複雑なものにすることもできます。 カテゴリが定義されていない場合、データ項目は事前定義された単一のデフォルト・カテゴリにグループ化されます。
各カテゴリは、そのカテゴリのデータ項目に関する関連情報を格納する関連コンテキストがあります。 たとえば、「家庭用娯楽機器」製品には、「電圧」、「寸法」、「入出力」を指定するコンテキストが含まれます。 コンテキストは、特定の拡張可能フレックスフィールド内で再利用できます。 「寸法」コンテキストは、寸法の情報を含める必要があるすべてのカテゴリに割り当てることができます。
階層に子カテゴリが含まれる場合、各子カテゴリはその親カテゴリからコンテキストを継承します。たとえば、「家庭用娯楽機器」カテゴリは、「電子機器とコンピュータ」カテゴリから「電圧」と「寸法」を継承します。
各拡張可能フレックスフィールドは、特定のカテゴリ階層に関連付けられます。 カテゴリ階層は、拡張可能フレックスフィールドとそのコンテキストを定義するフレームワークと見なすことができます。 カテゴリ階層により、各カテゴリに有効なコンテキストが指定されます。
拡張可能フレックスフィールドには、特定のカテゴリをサポートするように定義した複数のコンテキストを含めることができます。 これらのコンテキストは様々な目的に適合させることができますが、特定のカテゴリ内では、一部のコンテキストが相互に関連している、または相互に依存していると見なされる場合があります。 これらのコンテキストは論理ページと呼ばれるグループに結合できます。さらに、このページが表示される順序を決定できます。 これによって、コンテキストを、アプリケーション・ユーザー・インタフェースに特定の順序で常に一緒に表示されるように結び付けることができます。
たとえば、「家庭用娯楽機器」カテゴリには、「電圧」、「入出力」コンテキストを含む「電子機器とコンピュータ」ページと、「寸法」および「フォーム・ファクタ」コンテキストを含む「物理仕様」ページがあります。
初期値
初期値を定義するSQL文は、1行のみかつ正しいタイプの値を返す有効な文でなければなりません。
次の2タイプのSQL文を使用できます。
- 
               バインディングなしのSQL文。 たとえば、EMPLOYEESからMIN(SALARY)を選択します。 
- 
               バインド変数があるSQL文。 SQL文のWHERE句では、次のバインド変数を使用できます。 - 
                     :{SEGMENT.<segment_code>}: 同じコンテキスト内のセグメントを特定します。
- 
                     :{PARAMETER.<parameter_code>}: パラメータを特定します。
- 
                     :{CONTEXT.<context_code>;SEGMENT.<segment_code>}: 異なるコンテキスト内のセグメントを特定します。 コンテキストは同じカテゴリまたは先祖のカテゴリ内になければならず、複数行のコンテキストにすることはできません。
- 
                     :{VALUESET.<value_set_code>}: 指定された値セットに割り当てられた、同じコンテキスト内の直前のセグメントを特定します。
- 
                     :{FLEXFIELD.<internal_code>}: フレックスフィールドを特定します。
 
- 
                     
強調表示された拡張可能フレックスフィールドへのセグメントの追加
ランタイム・ページでフレックスフィールドを強調表示し、「セグメントの追加」アイコン・ボタンを使用してセグメントを作成すると、セグメント・コード、名前、摘要、表列および順序番号が自動的に設定されます。 「セグメントの追加」アイコン・ボタンを使用して拡張可能フレックスフィールド・セグメントを構成する場合には、既存の値セットは使用できません。 値セットは、セグメントを追加すると自動的に作成されます。 有効な値、その摘要およびデフォルト値を入力したり、最小値や最大値など、値セットに対するフォーマット設定制約を指定したりできます。
表示タイプに応じて、セグメントの追加アイコン・ボタンを使用して作成する値セットは、独立値セットまたはフォーマット限定値セットのいずれかになります。 次の表は、選択するセグメント表示コンポーネントに応じて、どのタイプの値セットが作成されるかを示しています。
| 表示コンポーネント | セグメントの追加を使用して作成される値セット | 
|---|---|
| チェック・ボックス | 独立 | 
| ドロップダウン・リスト | 独立 | 
| 値リスト | 独立 | 
| ラジオ・ボタン・グループ | 独立 | 
| 検索機能付きテキスト・フィールド | 独立 | 
| テキスト・ボックス | フォーマット限定 | 
| テキスト領域 | フォーマット限定 | 
| リッチ・テキスト・エディタ | フォーマット限定 | 
| 日付/時間 | フォーマット限定 | 
コンテキスト値を追加したら、新しい値を表示するためにページをリフレッシュします。
索引付きセグメント
拡張可能フレックスフィールド・セグメントを索引付きと指定して、エンド・ユーザーが属性の検索に使用できる選択的必須属性の1つにすることができます。 「拡張可能フレックスフィールドの管理」UIページでセグメントに索引を付けるよう指定した場合は、セグメントを表す列がデータベース索引に追加される必要があります。 通常、データベース管理者(DBA)がデータベース索引に列を追加します。
索引付きセグメントがある拡張可能フレックスフィールドがデプロイされると、他のフレックスフィールド・アーティファクトとともに検索タスク・フローが生成され、索引付き属性が選択的必須と指定されます。 デプロイ済拡張可能フレックスフィールドの検索タスク・フローで、エンド・ユーザーは検索基準に少なくとも1つの索引付き属性を指定する必要があります。 これにより、パフォーマンスの問題の原因となる可能性がある、非選択的検索を防止できます。
たとえば、メモリー属性とプロセッサ属性を索引付けし、データベース内の対応する列が索引付けされるようにすると、ユーザーは検索基準としてプロセッサまたはメモリー(あるいはその両方)を入力して、コンピュータのアイテム・カタログを検索できます。 検索条件として索引付けされていない属性をエンド・ユーザーが入力しても、検索は実行されません。
セキュリティ
拡張可能フレックスフィールドのベース・データのセキュリティ・リソースは、通常は「_B」という接尾辞を持つ名前が付けられています。 翻訳データのセキュリティ・リソースは、翻訳表のビューであり、通常は「_VL」という接尾辞を持つ名前が付けられています。
フレックスフィールドが翻訳可能なオプションをサポートしており、翻訳データのセキュリティ・リソースを持っている場合は、適切なデータ・セキュリティ・リソースのアクションを必ず作成します。
- 
               翻訳不可能なコンテキストに対してコンテキスト固有のアクションを作成する場合は、ベース・データのセキュリティ・リソースに追加します。 
- 
               翻訳可能なコンテキストに対してコンテキスト固有のアクションを作成する場合は、翻訳データのセキュリティ・リソースに追加します。 
デプロイメント
拡張可能フレックスフィールドは、「拡張可能フレックスフィールドの管理」タスクでのみデプロイできます。 拡張可能フレックスフィールドはバックグラウンド・プロセスとしてオフラインで配置でき、配置の完了を待機しなくてもセッションでの作業を続行できます。 複数の拡張可能フレックスフィールドをキューに格納して、バックグラウンド・プロセスとして配置できます。 フレックスフィールドは、キューに配置された順に1つずつ配置されます。 拡張可能フレックスフィールドに30を超えるカテゴリがある場合は、バックグラウンド・プロセスとして配置する必要があります。
バックグラウンド配置の取消コマンドを使用して、拡張可能フレックスフィールドを配置キューから削除できます。 拡張可能フレックスフィールドがバックグラウンド・プロセスで配置される場合、そのオフライン・ステータスは、フレックスフィールドがバックグラウンド配置プロセス中であることを示します。 バックグラウンド・デプロイメント・プロセスが完了すると、フレックスフィールドのオフライン・ステータスはクリアされ、そのデプロイメント・ステータスは更新されます。
「拡張可能フレックスフィールドの管理」タスクで新規検索を実行すると、「オフライン・ステータス」列はリフレッシュされます。