Oracle Applicationsフレックスフィールド・ガイド リリース12 E05658-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
理解しておく必要のある基本的なフレックスフィールドの用語と概念は次のとおりです。
フレックスフィールド
セグメント
体系
値
検証
値セット
キー・フレックスフィールドおよび付加フレックスフィールドの双方に適用される用語および概念の理解に続き、次はキー・フレックスフィールドのみに適用される用語を知っておく必要があります。
インテリジェント・キーとは複数のセクションから構成されるコードで、1つまたはそれ以上の部分が意味を持ちます。インテリジェント・キー・コードにより、勘定科目、資産、部品またはジョブなどのオブジェクトが一意に識別されます。インテリジェント・キーは、一意の数字に比べると覚えやすく、使いやすいのでアプリケーションで使用すると便利です。たとえば、PAD-YEL-11x14という部品番号の方が一意の数字を使用した57494という部品番号よりはるかに容易に覚えられます。ただし、リレーショナル・データベース・アプリケーションにおいては、一意のID番号であれば列が1つで済みますが、インテリジェント・キーの場合には複数の列が必要となり(コードの各部分、またはセグメントに1つ)、一意のID番号の方が管理が容易です。Oracle Applicationsでは、インテリジェント・キーを一意のID番号で表すためにキー・フレックスフィールドを使用します。つまり、エンド・ユーザーは容易に覚えられるインテリジェント・キー・コードを使用し、Oracle Applicationsはほとんどの表に隠れた一意のID番号を格納します。
注意: このガイドでは、それぞれの使用例および図形で「部品番号キー・フレックスフィールド」を使用しています。この部品番号キー・フレックスフィールドの例は、会計、人事管理および製造に関する特殊な知識を必要とせずに、各キー・フレックスフィールドの使用方法や動作を説明するのに役立つため使用しています。しかし、実際にはOracle Applicationsには部品番号キー・フレックスフィールドはありません。Oracle Inventoryなどの多くのOracle Applications製品で使用されているシステム品目フレックスフィールド(品目フレックスフィールド)と混同しないでください。
インテリジェント・キーの例
関連トピック
組合せは、特定の完全なコード、またはコードを構成するセグメント値の組合せであり、これによって一意的にオブジェクトを識別できます。たとえば、PAD-YEL-11x14や01-COM-876-7BG-LTN(ダッシュ「-」はセグメント・セパレータ)などの部品番号は1つの組合せです。10個の部品があれば、10の組合せを定義することになります。有効な組合せとは、単に現在使用可能な(つまり、使用されていない、使用禁止になっていない、および相互検証ルールやセキュリティ・ルールに違反していない)、既存および新しい組合せのことです。組合せは、使用するフレックスフィールド体系によって異なるセグメントを使用します。組合せは、1つの特定のフレックスフィールド体系(セグメントの配置)にのみ関連付けられます。
多くのOracle Applications製品(およびそのマニュアル)では、キー・フレックスフィールドの組合せを「組合せ」とは名付けていません。そのような製品では、組合せを呼ぶのに、エンティティまたはキー・フレックスフィールド自体の名前を使用しています。たとえば、Oracle Assetsではキー・フレックスフィールドを「資産キー・フレックスフィールド」と呼び、その組合せの1つを参照するときには「資産キー」または「資産キー・フレックスフィールド」という名前を使用します。別の例をあげれば、Oracle General Ledgerおよびその他のOracle Applications製品では、一般的に会計フレックスフィールドの組合せを呼ぶのに「勘定科目」または「GL勘定科目」という用語を使用しています。
組合せの例
関連トピック
各キー・フレックスフィールドには、それぞれに対応する組合せ表と呼ばれる表があり、フレックスフィールドはこの表に完全なコードのリストを格納し、コードの各セグメントに対して1つの列とそれに対応するそのコードの一意のID番号(コード組合せID番号、またはそのコードのCCID)があります。さらに、同じアプリケーションの他の表にはそのコードの一意のID番号のみを格納する列があります。たとえば、PAD-YEL-11x14という部品番号がある場合、その「部品」組合せ表により、そのIDである57494とともにそのコードが格納されます。アプリケーションで部品の注文を受けることができれば、「注文」表に部品用の注文が格納されます。「注文」表では、PAD-YEL-11x14というコード全体を入れるため複数列は使用されず、部品IDの57494を入れる1つの列が存在します。
関連トピック
フレックスフィールド・クオリファイアは、キー・フレックスフィールドの特定のセグメントを識別します。
通常、アプリケーションには、セキュリティや演算といった処理内容に応じて特定のセグメントを識別するための方法が必要です。ただし、キー・フレックスフィールドは、セグメントがどのようなプロンプトでどのような順序で表示されてもかまわないようにカスタマイズできるので、アプリケーションにはセグメント名またはセグメントの順序とは別にセグメントを識別するための仕組みが必要です。フレックスフィールド・クオリファイアは、この役割を果たします。フレックスフィールド・クオリファイアは、セグメントの識別用のタグと考えることができます。
クオリファイアの例
たとえば、Oracle General Ledger製品では、会計フレックスフィールドにあるどのセグメントが貸借一致情報を持ち、どのセグメントが勘定科目情報を持つかを識別できることが必要です。会計フレックスフィールドは、どのプロンプトに対してもどのような順序でもセグメントを表示できるようにカスタマイズできるので、Oracle General Ledgerには、勘定科目情報を得るのにどのセグメントを使用しているかを示すフレックスフィールド・クオリファイアが必要です。会計フレックスフィールドを定義するときは、どのフレックスフィールド・クオリファイアをどのセグメントに適用するかを指定する必要があります。
Oracle Human Resourcesなどの他のアプリケーションについても、フレックスフィールド・クオリファイアが必要です。Oracle Human Resourcesでは、フレックスフィールド・セグメントにある機密情報へのアクセスを制御するためにフレックスフィールド・クオリファイアを使用します。
セグメント・クオリファイアは、キー・フレックスフィールドの1つのセグメントの中の特定の種類の値を識別します。Oracle Applicationsでは、セグメント・クオリファイアを使用するのは会計フレックスフィールドのみです。セグメント・クオリファイアは、値の識別用タグと考えることができます。会計フレックスフィールドでは、セグメント・クオリファイアは、勘定科目セグメント値の勘定科目タイプを識別し、特定の値に関して詳細転記や予算作成ができるかどうかを判断します。
この2種類のクオリファイアは混同しやすいので注意が必要です。フレックスフィールド・クオリファイアは、フレックスフィールド全体がその各部分にタグを付けるために使用するものと考える必要があり、またセグメント・クオリファイアはセグメントがその値にタグを付けるために使用すると考えることができます。
関連トピック
キー・フレックスフィールドは、次の3種類のアプリケーション・フォームで使用されます。
組合せフォーム
外部キー・フォーム
範囲フォーム
これらのフォームのタイプは、キー・フレックスフィールドのデータを含む表のタイプに対応しています。
組合せフォームは、キー・フレックスフィールドの組合せを保持することが唯一の機能です。フォームの実表は、実際の組合せ表です。この表は、オブジェクト(部品、または品目、会計コードなど)のエンティティ表です。この表には、主キーとなる一意のID列(コード組合せID列と呼ぶこともあります)、各セグメントの列、体系IDの列および他のフレックスフィールド関連の列が含まれます。組合せフォームには、表の各セグメント列の隠れたフィールド、連結されたセグメント値(組合せ)の表示フィールド、およびエンティティが必要とする他のフィールド(および列)が含まれています。組合せフォームのことをメンテナンス・フォームと呼ぶこともあります。
組合せフォームの例
外部キー・フォームとは、キー・フレックスフィールド情報を含む実表に1つか2つの列のみが存在するフォームであり、これらの列は、組合せ表の外部キー列(通常、外部キーは、組合せ表のCCID列となりますが、体系ID列の場合もあります)となります。多くの場合、外部キー・フォームの役割はキー・フレックスフィールド自体とは関係なく、キー・フレックスフィールドがフォーム上に表示されるのは偶然であることが多いのです。たとえば、部品番号を表すキー・フレックスフィールドがあって、組合せフォームを使用して新しい部品を定義したり、既存の部品番号を管理するとします。このようなときには、部品を管理するために多くの外部キーを使用します。フォームには、部品の注文を受けるときに使用するもの、部品を受入れするときに使用するもの、部品を出荷するときに使用するものなどが必要となります。部品の注文を受けるときには部品番号が偶然キー・フレックスフィールドと同じでも問題はありません。
外部キー・フォームの例
範囲フォームは、範囲フレックスフィールドを表示するためのものであり、完全なキー・フレックスフィールド・セグメントを2セット持つ、特別なポップアップ・ウィンドウです。範囲フレックスフィールドは、1つの値ではなく、個々のキー・セグメントの低い値と高い値をサポートします。通常は、キー・フレックスフィールドの範囲はフォーム上に2つの隣接するフレックスフィールドとして表示され、最も左のフレックスフィールドには範囲の低い方の値が含まれ、最も右側のフレックスフィールドには高い値が含まれます。ユーザーは、このポップアップ・ウィンドウを使用して低い値と高い値の範囲を指定します。たとえば、レポートを実行するための部品番号の範囲を選択するのに使用できます。
範囲フォームでは、その実表として特別な表が使用されます。この表には、組合せ表の各セグメント列の1つまたはそれ以上(通常は2つ)の列が含まれます。ただし、このような列には必ずしも実際のセグメント値が含まれているとは限らず、また表の行には必ずしも実際の値の組合せがあるとはかぎりません。通常は、この表には各セグメントに対しSEGMENTn_LOWおよびSEGMENTn_HIGHという名前の2つの列が含まれており(ここでnはセグメント列の番号)、そこに各セグメントの値の範囲が格納されます。
Oracle Applicationsでは、キー・フレックスフィールド組合せに相互検証ルールを容易に指定できるようにキー・フレックスフィールド範囲を使用します。
フォームの中には、各キー・フレックスフィールドの情報を獲得するために特別の範囲フレックスフィールドを使用しているものもあり、この情報は必ずしもセグメント値とはかぎりません。たとえば、各セグメントについての「Yes」または「No」を獲得する場合もあります(「機能パラメータの割当」フォームではポップアップ・フレックスフィールド・ウィンドウが表示され、このウィンドウで1つ1つのセグメントに対して値を割り当てるかどうかを指定するために「Yes」または「No」を選択します)。
範囲フレックスフィールドのあるフォームの例
関連トピック
動的挿入とは、組合せフォーム以外のフォームから組合せ表に有効な組合せを新たに挿入することを言います。キー・フレックスフィールドを設定する際に動的挿入を行うことを可能にすると、ユーザーはフレックスフィールド・ウィンドウを使用して外部キー・フォームからセグメント値の新しい組合せを入力できます。入力された新しい組合せが既存の相互検証ルールに反するものでなければ、その組合せ表がその外部キー・フォームの基礎表ではなくても、フレックスフィールドでその新しい組合せを組合せ表に挿入できます。
キー・フレックスフィールドの中には、動的挿入が禁止されているものもあります。ユーザーが組合せ表以外の任意フォームから新しい組合せを作成するのをアプリケーションで許可することは意味のない場合もあります。たとえば、ユーザーが「受注入力」フォームを使用して部品の注文を受けているときに新しい部品を作成することは望ましくありません。そのようなアプリケーションでは、権限を持ったユーザーが「部品作成」フォームを使用して新しい部品番号を設定するのを制限することが必要です。
キー・フレックスフィールドの中には、動的挿入ができないものがあります。組合せ表に、フレックスフィールドが管理しない必須の列が含まれているときには、動的挿入はできません。組合せ表に、単位などの必須の非フレックスフィールドの列が含まれているときには、その組合せ表に外部キー・フォームから完全な行を取り込むことはできません(外部キー・フォームの実表が組合せ表ではないため)。このフレックスフィールドには、CCID列が含まれます。
一般的には、いずれのキー・フレックスフィールドも、組合せフォームがあるとすれば1つのみです。アプリケーションの中には、組合せ表のないものもあります。そのような場合には、新しい組合せを作成するために動的挿入が必要となります。
注意: 特定のフレックスフィールドに関する動的挿入の詳細は、所有しているアプリケーションの製品のユーザーズ・ガイドを参照してください。
動的挿入は、「キー・フレックスフィールドの登録」フォーム、「セグメント」フォームおよび特定のフォームに定義されたキー・フレックスフィールドの定義で使用できます。
動的挿入の例
関連トピック
キー・フレックスフィールドは、組織で有効な組合せを保持し、またユーザーによるデータ入力を容易にするための様々な機能も提供します。
関連トピック
キー・フレックスフィールドを計画するときの、最初のステップは、使用するOracle Applications製品にどのキー・フレックスフィールドが必要かを判断することです。また、キー・フレックスフィールドの使用目的や、使用可能なセグメント列の数と長さを決めることも必要です(Oracle Applicationsにおけるキー・フレックスフィールドを参照してください)。さらに、キー・フレックスフィールドで2つ以上の体系を使用できるようにするかどうか、本当に2つ以上の体系を定義する必要があるかどうかも検討します。たとえば、システム品目フレックスフィールド(品目フレックスフィールド)では1つの体系しかサポートされていません。
注意: 「キー・フレックスフィールドの登録」で、複数体系のキー・フレックスフィールドを許可するかどうか、およびキー・フレックスフィールドのその他の情報について決定できます。詳細は、『Oracle Applications開発者ガイド』を参照してください。
複数の体系を使用するキー・フレックスフィールドでは、ユーザーに対してどの体系を表示するかを決めるための別の機構が必要になることもあります。たとえば、それぞれが異なる勘定体系を持った複数の会計帳簿を使用しているときには、会計フレックスフィールドでは複数の体系が使用されます。フォームでは、管理者の現在の職責に応じた「GL_SET_OF_BOOKS_ID」プロファイル・オプションの値を使用してどの会計フレックスフィールド体系が表示されるかが決定されます。別のキー・フレックスフィールドには、原則としてユーザーがどの体系を表示するかを選択するためのフィールドがフォームに組み込まれている可能性もあります。Oracle Applicationsにおけるキー・フレックスフィールドを参照してください。
各体系のセグメントの数、順序、長さについても決定する必要があります。また、個々のセグメントの検証方法も指定する必要があります。値および値セットの概要を参照してください。
フレックスフィールドの計画を立てるときには、次の問題を考慮して方針を決めておくことが必要です。
キー・フレックスフィールド・データのレポートの構成方法について。データについてのレポートをアカウント番号、またはプロジェクト、地域などの特定の基準またはサブエンティティに基づいて作成するのであれば、情報を小さい単位に分けて分類、報告できるように、それを他のサブエンティティと組み合せずに特定のサブエンティティを1つの固有なセグメントとする方が便利です。
組織の編成を変更する頻度について。この頻度によって値の設定が変わります。たとえば、頻繁にコスト・センターを変更するのであれば、コスト・センターの値をすぐに使用しきってしまいます。したがって、そのような場合にはコスト・センターの値の最大値を大きくして、より多くの値を使用できるようにすることが必要です(たとえば、2桁の値セットでは100通りの値しか使用できませんが、3桁の値であれば1000通りの値を使用できます)。
セグメントを必須として定義する場合について(値の入力が必須)。
関連トピック
これらのウィンドウを使用して、キー・フレックスフィールド体系を定義します。
関連トピック
各セグメントに説明情報と検証情報を定義します。さらに、ウィンドウのサイズ、セグメントの数と順序、セグメントの説明とデフォルト値などのキー・フレックスフィールド・ウィンドウの表示方法を決めます。
体系およびセグメントの設定または変更を行ったら、フレックスフィールドの定義を確定し、変更を保存することが必要です。そのときに、フレックスフィールドはオンライン・パフォーマンスが向上するように自動的にコンパイルします。変更を行ったら必ずこのフォームを使用してフレックスフィールドを再コンパイルを実施し、その際に相互検証ルールの使用可能、使用禁止を設定してください。「短縮別名」ウィンドウを使用して短縮入力の使用可能、使用禁止を設定したときにも、再コンパイルを行うことが必要です。
フレックスフィールドを確定または再コンパイルすると、ただちにフレックスフィールドの変更を表示できます。ただし、他のユーザーに対しては、他のユーザーが職責を変更するか、使用している管理者のアプリケーションを終了して再度サインオンするまでは、管理者が行った変更は有効となりません。
フレックスフィールドの定義を確定してから変更を保存すると、Oracle Applicationsは1つまたは2つのコンカレント要求を発行することにより、フレックスフィールドの組合せ表のデータベース・ビューを生成します。ここで決めたビューは、ユーザー・サイトでのカスタム・レポートに使用できます。これらのビューのうちの1つは必ず作成され、キー・フレックスフィールドのすべての体系の連結セグメント値を含みます。このビューの名前は、メッセージ・ウィンドウに表示されます。その他のビューは、管理者が定義し確定する特定の体系に使用されます。2つめのビューは、「ビュー名」フィールドに体系の名前を入力すると生成されます。フレックスフィールド・ビューの概要を参照してください。
警告: このフォームを使用してセグメントを定義する前に、セグメントの順序やフィールドの長さを含めてセグメント情報をすべて含めてキー・フレックスフィールド体系を注意して計画してください。キー・フレックスフィールドは自由に定義することが可能ですが、なんらかのフレックスフィールド・データを獲得した後で体系を変更すると、アプリケーションの動作に障害を起こしかねないデータの不整合が生じたり、複雑な変換プログラムが必要となったりする恐れがあります。また、設定した体系の相互検証ルールまたは短縮別名はすべて一貫性を持っているため、既存の体系を変更したときは、体系への変更が反映されるように相互検証ルールと(「相互検証ルール」ウィンドウを使用して)、短縮別名を(「短縮別名」ウィンドウを使用して)確実に手動で使用禁止にするか再定義する必要があります。
関連トピック
キー・フレックスフィールド体系を定義する前に、「値セット」ウィンドウを使用して、必要な値セットを定義します。「値セット」ウィンドウを参照してください。
キー・フレックスフィールド体系を定義するには、次のステップを実行します。
「キー・フレックスフィールド・セグメント」ウィンドウにナビゲートします。
定義するキー・フレックスフィールドのアプリケーション名とタイトルを選択します。このウィンドウで、新しいフレックスフィールドを作成したり、既存のフレックスフィールドの名前を変更することはできません。
複数の体系(会計フレックスフィールドにある複数の勘定体系など)をサポートするアプリケーション・フレックスフィールドについては、行を挿入するとフレックスフィールドの体系を新しく作成できます。フレックスフィールドに最初の体系を定義するには、自動的に表示されるデフォルトのフレックスフィールド体系を選択します。既存の体系を変更するには、カーソル・キーを使用して変更するフレックスフィールド体系のタイトルを選択します。
それまでのタイトルの上に新しいタイトルを上書きすると、既存のフレックスフィールドのタイトルを変更できます。この名前は、フレックスフィールド体系を選択するときに表示され、またキー・フレックスフィールドにウィンドウのタイトルとして表示されます(ただし、そのフレックスフィールドを連結勘定科目のような特別な目的に使用する場合には、体系のタイトルはフレックスフィールド・ウィンドウには表示されません)。
体系のコードは開発者キーであり、ローダー・プログラムで使用されます。コードに指定した値は、デフォルトとしてタイトル・フィールドに表示さます。
アップグレードした場合、体系のコードはアップグレード中に体系のタイトルから作成されています。
この体系のデータベース・ビューを生成する場合は、ビュー名を入力します。ビュー名は、文字で始まる必要があり、文字、数値、アンダースコア( _ )以外の文字は使用できません。ビュー名にはスペースを使用できません。フレックスフィールド・ビューの概要を参照してください。
「使用可能」チェック・ボックスを選択し、その体系をキー・フレックスフィールドで使用可能にします。体系はシステムの中のいずれかの場所で参照されているため、このウィンドウで削除することはできませんが、いつでも使用禁止にすることはできます。体系を使用するには、その体系を使用可能に設定する必要があります。
各キー・フレックスフィールドに対して最低1つの体系を使用可能にする必要があります。すでにデータが入っている体系を使用禁止にすると、以前の情報を問い合せたり、新しい組合せを作成できなくなります。
フレックスフィールド・セグメント値または説明を区切るために使用する文字を選択します。このセパレータは、アプリケーション・フォームで連結セグメント値または説明が表示されるときに必ず表示されます。
セパレータ文字を選択するときには、フレックスフィールドのデータとまぎらわしくならないように注意してください。たとえば、データ内にピリオド(.)を使用した金額や数値が多数ある場合には、セグメント・セパレータとしてピリオドを使用しないようにしてください。
セグメント値または説明に頻出する文字をセグメント・セパレータとして使用しないことをお薦めします。
セグメント値または説明で表示される文字を使用する場合、値または説明の表示時に、円記号(¥)の後にその文字が表示されます。値の円記号は別の円記号の後に表示されます。
注意: セグメント・セパレータとして円記号を使用しないでください。
たとえば、セグメント・セパレータがピリオド(.)で、値にもピリオドが含まれています。どのようにセグメント値が組合せに表示されるかが、次の表に示されています。
セグメント値 | 組合せとしての連結セグメント |
---|---|
"1.2", "34", "5.6" | "1\.2.34.5\.6" |
"1", "2.34", "5.6" | "1.2\.34.5\.6" |
"1\.2", "34\.5", "6" | "1\\.2.34\\.5.6" |
警告: Applicationsの表の中には、セグメント・セパレータをフレックスフィールド値の一部として格納するものもあります。そのような表にすでにデータとして格納されているときにセパレータを変更しようとするとデータが無効となり、アプリケーション・エラーが発生することがあります。
相互検証ルールを使用して複数のセグメントを相互検証するには、「相互検証セグメント」チェック・ボックスを選択します。相互検証ルールを定義すると、「相互検証ルール」フォームを使用して有効な組合せを指定できます。既存の相互検証ルールを使用禁止にするには、このボックスのチェックを解除します。相互検証ルールを参照してください。
積上グループ定義を確定するかどうかを指示します。確定すると、ユーザーは「セグメント値」フォームを使用して積上グループを変更できなくなります。
積上グループの確定は、フレックスフィールド体系の定義の前後で行うことができます。セグメント値を参照してください。
動的挿入を可能にするには、「動的挿入の許可」チェック・ボックスを選択します。ユーザーが管理者の組合せ表が使用されていないウィンドウで新しい組合せを作成できるようにするには、管理者の一般的な組合せ表への新しい有効な組合せの挿入を可能にすることが必要です。管理者が特定の組合せ表を保持するために作成した1つのアプリケーション・ウィンドウからのみ新しい有効な組合せが入力できるようにするには、動的挿入を禁止する必要があります。
アプリケーション・フレックスフィールドが動的挿入できるように構成され、「キー・フレックスフィールドの登録」フォームでフレックスフィールドが定義されていて、「動的挿入可能」が選択されているときにのみこのフィールドを更新できます。それ以外の場合は、このフィールドは読取り専用です。
「セグメント」ボタンを選択して「セグメント要約」ウィンドウをオープンし、フレックスフィールド・セグメントを定義します。セグメントの定義を参照してください。
変更を保存します。
「フレックスフィールド定義の確定」チェック・ボックスを選択して、フレックスフィールド体系を確定します。
フレックスフィールド・セグメントを設定または変更しようとするとき、またはキー・フレックスフィールド・ウィンドウの表示方法を変更しようとするときには、フレックスフィールドを確定しないでください。フレックスフィールドが確定された状態では、ほとんどの変更はできません。
「コンパイル」ボタンを選択して確定したフレックスフィールドをコンパイルします。コンパイルを行うと、変更は自動的に保存されます。
フレックスフィールドを使用する前に、フレックスフィールドの定義を必ず確定し、コンパイルしてください。複数のフレックスフィールド体系を使用するときには、それぞれの体系を別々に確定、保存、コンパイルする必要があります。フレックスフィールドの定義を変更する場合は、必要な変更を行った後で再度フレックスフィールドを確定して保存することが必要です。
警告: 既存のデータが無効になる可能性があるときには、確定済のフレックスフィールドの定義を変更しないでください。なんらかのフレックスフィールド・データを入れた後でフレックスフィールド体系を変更すると、重大なデータの不整合を起こすことがあります。既存の体系を変更すると、その体系の相互検証ルールや短縮別名の機能に障害を与える恐れがあるため、体系の変更を反映させるために相互検証ルールと短縮別名を必ず手動で使用禁止にするか再定義することが必要です。
関連トピック
フレックスフィールドのセグメントを定義するには、「セグメント」ウィンドウを使用します。ウィンドウのタイトルには、現在のフレックスフィールド名が含まれます。フレックスフィールド定義が確定されている場合(つまり、「フレックスフィールド定義の確定」チェック・ボックスが選択されている場合)は、このウィンドウは表示専用になります。
1つの体系には、フレックスフィールド表に定義されているセグメント列と同じ数までのセグメントを定義できます。行を挿入するとフレックスフィールドに新しいセグメントを作成できます。
注意: フレックスフィールド定義が確定されている場合、「セグメント」ウィンドウのフィールドは更新できません。
「キー・フレックスフィールド・セグメント」ウィンドウまたは「付加フレックスフィールド・セグメント」ウィンドウを使用して、フレックスフィールド体系を定義してからセグメントを定義します。付加フレックスフィールドの詳細は、キー・フレックスフィールド・セグメントの定義を参照してください。付加フレックスフィールドの詳細は、付加フレックスフィールド・セグメントの定義を参照してください。
セグメントを定義するには、次のステップを実行します。
定義するセグメントの名前を入力します。
セグメント名は、先頭が文字で始まり、文字、数字、空白、下線(_)のみを使用できます。セグメント・プロンプトは、このフィールドからデフォルト値を取得します。フレックスフィールド・ビュー生成プログラムは、セグメント名を列名として使用し、すべての空白と特殊文字を下線(_)に変換します。セグメント命名規則を参照してください。
「使用可能」チェック・ボックスを選択し、このフレックスフィールド・セグメントが使用可能であることを指示します。
フレックスフィールドには、使用禁止のセグメントは表示されません。キー・フレックスフィールド組合せ表には、定義されているセグメント列と同じ数のセグメントまでを定義できます。
ヒント: データの整合性を維持するために、データを入力するのに使用したセグメントは使用禁止にしないでください。
フレックスフィールド・セグメントに使用する列名を選択します。
ヒント: 1つの体系で複数のセグメントを定義するときには、必ず各セグメントに一意の列を使用するようにします。1つの体系の中で複数のセグメントに1つの列を使用しようとすると、変更を保存したり、体系をコンパイルできなくなります。セグメント用に選択した列は、作業を保存するまで値リストに表示され続けます。
セグメント番号を入力します。
この番号は、フレックスフィールド・ウィンドウ内でセグメントが表示される相対的な位置を示します。小さいセグメント番号を持つセグメントが、大きいセグメント番号のものよりも先に表示されます。依存セグメントは、フレックスフィールド・ウィンドウの中でそれが依存するセグメントよりも後に来ます。
すでにフレックスフィールド用に定義されているセグメント番号を入力すると、警告メッセージが発行されます。この警告は、単にそのセグメント番号がすでに使用されていることを示すための警告にすぎません。2つのセグメントが同じセグメント番号を持つフレックスフィールドを確定しようとすると、そのフレックスフィールドはコンパイルされません。
ヒント: ほとんどのフレックスフィールドでは、セグメントの相対位置を指示する番号の間隔を大きく設定しておくと(たとえば10、20、30...)、体系へのセグメントの追加がより簡単になります。ただし、セグメントを追加すると、既存の相互検証ルールと短縮別名はすべて使用禁止となります。会計フレックスフィールドでは、セグメント番号は1から始めて連続番号を振る必要がある(1、2、3、...のように)ため注意してください。
警告: セグメントの順序を変更すると、そのフレックスフィールド体系の相互検証ルールと短縮別名はすべて無効となります。
このセグメントをフレックスフィールド・ウィンドウに表示するかどうかを指示します。セグメントが表示されていないときは、ユーザーがこのセグメントの値を入力せずに済むように、デフォルトのタイプと値を提供しておくことが必要です。セグメントを表示せず、かつそのデフォルト値も提供しないと、ユーザーがこのフレックスフィールドを使用しようとするときにエラー・メッセージが表示されることがあります。
警告: 会計フレックスフィールドを定義する場合、すべてのセグメントを表示する必要があります。表示されないセグメントがあると、一括割振りなどのアプリケーション機能に障害が起こる可能性があります。
会計フレックスフィールドを定義する場合、「索引付き」チェック・ボックスを選択するかを決定します。会計フレックスフィールドの詳細は、『Oracle General Ledgerインプリメンテーション・ガイド』を参照してください。他にもOracle Applications(キー)フレックスフィールドを定義する場合は、「索引付き」チェック・ボックスをスキップできます。
Oracle General Ledgerアプリケーションでは、最適化機能を使用するために「索引付き」フィールドが使用されます。ここで入力する内容は、会計フレックスフィールド以外のキー・フレックスフィールドには影響しませんが、その値はカスタム・アプリケーションのキー・フレックスフィールドに影響を与えることも与えないこともあります(それらのアプリケーションがこのフィールドの値を使用するロジックを持っているかどうかによります)。
このキー・セグメントを格納するために使用する組合せ表内のデータベース列に1列の索引を含めるかどうかを指示します。少数の固有値でなく多数の固有値が入ると予想されるセグメントについては、索引を作成する必要があります。Oracle General Ledger製品のオプティマイザは、既存の索引を削除しません。詳細は、『Oracle General Ledgerユーザーズ・ガイド』を参照してください。
同じフレックスフィールドの新しい体系を設定すると、この値は設定した最初の体系にある値をデフォルト値としてとります。
フレックスフィールドでこのセグメントを検証するために使用する値セットの名前を入力します。値セットの選択を参照してください。
このセグメントの値を必要とするかどうかを指示します。必要とする場合、ユーザーはフレックスフィールド・ウィンドウを終了する前に値を入力する必要があります。入力しないと、このセグメントはオプションとなります。
重要: 会計フレックスフィールドにあるセグメントはすべて必須セグメントにしてください。
このセグメントは必須ですが、オプションのセグメントに依存している場合、このセグメントはユーザーが依存するセグメントをブランクにしておくかぎりオプションに変わります。
このセグメントにセキュリティ・ルールを適用するかどうかを指示します。指示しないと、定義したセキュリティ・ルールはすべて使用禁止となります。
このセグメントに設定した値でセキュリティ・ルールの使用が禁止されている場合、このフィールドは表示専用です。
フレックスフィールドを使用してセグメント値をこの体系の中の別のセグメントの値と比べて検証するときには、「範囲」フィールドで「低」または「高」を選択します。「低」の範囲タイプのセグメントは、「高」の範囲タイプのセグメントよりも前に置く必要があります(低いセグメントには、高いセグメントよりも低い番号を付ける必要があります)。たとえば、開始日と終了日という2つのセグメントの使用を予定していて、ユーザーに終了日よりも前に開始日を入力する必要があるとします。このようなときには、開始日を「低」に、終了日を「高」に設定できます。この例では、開始日と名付けたセグメントを終了日と名付けたセグメントよりも前に置かないと、フレックスフィールドをコンパイルできません。
1つのセグメントに「低」を選択すると、同じ体系の中の別のセグメントに「高」を選択する(「高」を選択した場合は「低」も選択する)ことが必要です。いずれかが欠けるとフレックスフィールドをコンパイルできません。
値セットが「ペア」タイプの場合、このフィールドは表示専用で、値は「ペア」をデフォルトにとります。
セグメントの表示サイズとプロンプト情報を入力します。セグメント・プロンプトと表示長を参照してください。
関連トピック
フレックスフィールドにこのセグメントの検証を実行させないときには、「値セット」ウィンドウで値セットを定義するとき、「検証タイプ」を「なし」にして定義するか、またはこのフィールドをブランクのままとします。
値セットを選択しないと、セグメントは、検証情報が「なし」、書式タイプが「文字」、幅が基礎キー・フレックスフィールド・セグメントと同じ、大文字と小文字のアルファベット使用可能、右揃えまたは0埋込みなしに設定した値セットを使用している状態です。管理者は、どのセグメントの値セットでも、その基礎を形成列が文字列でなければ必ず使用する必要があり、使用しないとフレックスフィールドをコンパイルできません。会計フレックスフィールドの値セットは必ず使用してください。
初めは、このフィールドでは、「独立」、「表」、「未検証」の値セットからしか選択できず、リストには依存値セットは表示されません。自分の体系が独立したセグメントに依存する依存セグメントを持つように定義するのであれば、まずこのフィールドで独立値セットを選択して、独立セグメントを定義する必要があります。次にその変更を保存して、それから依存セグメントの定義を開始します。独立セグメントを保存した後であれば、選択した独立値セットに依存する依存値セットからの選択も行えます。
このフィールドによって、セグメントに対して有効でない値セットが選択されることを回避できます。セグメントに対して有効でない値セットを選択すると、エラー・メッセージが表示されます。
1つの体系の中のすべてのセグメントの値セットの最大サイズの合計に必要なセグメント・セパレータの数(体系の中のセグメント数から1を差し引いた数)を足した数が32000を絶対に超えないようにします。体系の連結した長さが32000を超えると、いずれかのフォームではフレックスフィールド・データが切り捨てられることがあります。「値セット」ウィンドウおよびセグメント値のデフォルト設定を参照してください。
関連トピック
デフォルトのセグメント値を設定するには、次のステップを実行します。
このセグメントにデフォルト値を設定するには、必要な値のタイプを識別します。
リストには、値セット書式タイプに一致する書式を持つデフォルト・タイプのみが含まれています。
有効なタイプは次のとおりです。
変数 | 説明 |
---|---|
定数 | デフォルト値には、すべてのリテラル値を使用できます。 |
現在日 | デフォルト値は、DD-MON-RRまたはDD-MON-YYYY形式による現在の日付です。 形式は値セットの最大サイズによって異なります。 最大サイズが9の場合、日付書式はDD-MON-RRとなり、最大サイズが11の場合、日付書式はDD-MON-YYYYになります。 次の表に、各値セットの書式タイプに対する、「現在日」のデフォルトの日付書式を示します。 |
現在時刻 | デフォルト値は、現在の時刻、または現在の日付と時刻のいずれかですが、これはセグメントの最大サイズによって異なります。 次の表に、「現在時刻」のデフォルトの日付書式を示します。 |
フィールド | デフォルト値は、フィールドに入っている「デフォルト値」フィールドで指定した現在値です。フィールドのフォームは、フレックスフィールドのものと同じにします。 |
プロファイル | デフォルト値は、「デフォルト値」フィールドで定義されたユーザー・プロファイル・オプションに使用されている現在値です。 |
セグメント | このデフォルト値は、同じフレックスフィールド・ウィンドウの前のセグメントに入力した値です。 |
SQL文 | このデフォルト値は、「デフォルト値」フィールドで定義したSQL文によって決定される値です。 |
次の表に、各値セットの書式タイプに対する、「現在日」のデフォルトの日付書式を示します。
値セットの書式タイプ | 値セットの最大サイズ | 日付書式 |
---|---|---|
標準日 | 11 | ユーザー定義の日付書式 |
標準日時 | 20 | ユーザー日時書式 |
日付 | 11 | DD-MON-YYYY |
日付 | 9 | DD-MON-RR |
文字 | 11以上 | DD-MON-YYYY |
文字 | 9, 10 | DD-MON-RR |
次の表に、各値セットの書式タイプに対する、「現在時刻」のデフォルトの日付書式および時刻書式を示します。
値セットの書式タイプ | 値セットの最大サイズ | 日時書式 |
---|---|---|
標準日時 | 20 | ユーザー日時書式 |
日時 | 20 | DD-MON-YYYY HH24:MI:SS |
日時 | 18 | DD-MON-RR HH24:MI:SS |
日時 | 17 | DD-MON-YYYY HH24:MI |
日時 | 15 | DD-MON-RR HH24:MI |
時刻 | 8 | HH24:MI:SS |
時刻 | 5 | HH24:MI |
文字 | 20以上 | DD-MON-YYYY HH24:MI:SS |
文字 | 18, 19 | DD-MON-RR HH24:MI:SS |
文字 | 17 | DD-MON-YYYY HH24:MI |
文字 | 15, 16 | DD-MON-RR HH24:MI |
文字 | 8から14 | HH24:MI:SS |
文字 | 5から7 | HH24:MI:SS |
「現在日」または「現在時刻」を選択したときには、次のフィールドは入力しないでください。
重要: フレックスフィールドのサーバー側検証を使用する場合、フォーム・フィールド参照(:block.field)は使用できません。フィールド参照を削除するか、またはプロファイル・オプション「フレックスフィールド: サーバー上で検証」を使用してフレックスフィールドのサーバー側検証をOFFにする必要があります
セグメントのデフォルト値を入力します。キー・フレックスフィールド・ウィンドウに値を入力すると、フレックスフィールドは、自動的にこのデフォルト値を表示します。デフォルトのタイプを選択すると、デフォルト値を定数にするかコンテキスト依存の値にするかを決めることができます。
デフォルト値は、値セットに対して有効な値である必要があります。デフォルト値が無効な値だと、フレックスフィールドをデータ入力に使用したときに、フレックスフィールドはエラー・メッセージを表示し、フレックスフィールド・セグメントにある無効なデフォルト値は使用されません。
「デフォルト・タイプ」フィールドで選択した各デフォルト・タイプの「デフォルト値」フィールドに入れることができる有効値は、次のとおりです。
変数 | 説明 |
---|---|
定数 | デフォルト値としてどのようなリテラル値でも入力できます。 |
フィールド | デフォルト値は、フィールドに入っている「デフォルト値」フィールドで指定した現在値です。フィールドのフォームは、フレックスフィールドのものと同じにします。:block.fieldの書式を使用してください。 フィールドの値は、セグメントの表示値の書式をとる必要があります。 |
プロファイル | デフォルト値は、ここで指定するユーザー・プロファイル・オプションの現在値となります。エンド・ユーザー名ではなく、プロファイル・オプション名を入力します。 プロファイル・オプションの値は、セグメントの表示値の書式をとる必要があります。 |
セグメント | このデフォルト値は、同じフレックスフィールド・ウィンドウの前のセグメントに入力した値です。値をコピーするセグメントの名前を入力します。 デフォルト値は、前のセグメントと関連付けられた3つの値のうちの1つとなります。3つの選択肢は、ID、VALUEおよびMEANINGです。IDは、セグメントに対する非表示ID値です。VALUEは、セグメントの表示値です。MEANINGは、セグメントの説明です。 前セグメントの表示値を使用するには、segment_name.VALUEをこのフィールドで指定します。セグメントの説明には、segment_name.MEANINGを指定します。セグメントの非表示ID値には、segment_name.IDを指定します。segment_nameのみを指定する場合、セグメントの非表示ID値がデフォルト値となります。 標準日および標準日時値セットには、前セグメントのsegment_name.VALUEを使用します。 |
SQL文 | デフォルト値は、ここに入力するSQL文によって決まります。SQL文は、どのような場合でも必ず1行と1列を戻すものである必要があります。 |
日付値の場合、SQL文は正しい表示書式で値を戻す必要があります。日付の変換にはFND_DATEパッケージを使用します。
重要: フレックスフィールドのサーバー側検証を使用する場合、フォーム・フィールド参照(:block.field)は使用できません。フィールド参照を削除するか、またはプロファイル・オプション「フレックスフィールド: サーバー上で検証」を使用してフレックスフィールドのサーバー側検証をOFFにする必要があります
関連トピック
セグメントおよびプロンプトのために選択する長さによって、フレックスフィールドの表示方法が違ってきます。
1つの体系の中のすべてのセグメントの値セットの最大サイズ(表示サイズではない)の合計に必要なセグメント・セパレータの数(体系の中のセグメント数から1を差し引いた数)を足した数が32000を絶対に超えないようにします。体系の連結した長さが32000を超えると、いずれかのフォームではフレックスフィールド・データが切り捨てられることがあります。
セグメントの表示サイズは、「値セット」ウィンドウで選択した最大サイズと等しいか、それよりも小さい必要があります。最大サイズよりも小さい数を表示サイズとして入力しても、ウィンドウのセグメント・フィールドはスクロールできるので、まだ最大サイズのセグメント値を入力できます。
セグメントを初めて使用可能に設定したときの、そのセグメントのデフォルトの表示サイズは、基礎列のサイズに基づくセグメントの最大サイズか、50のいずれか小さい方の数となります。セグメントの値セットを選択すると、表示サイズのデフォルト値はその値セットの最大値となります。「値セット」ウィンドウを参照してください。
アプリケーションは、フレックスフィールド・ウィンドウにセグメント値の摘要を表示するときに摘要サイズを使用します。連結摘要サイズには、ウィンドウが連結フレックスフィールド値のための連結摘要の一部として表示するセグメント値の摘要の長さを文字数で指定します。フレックスフィールド・ウィンドウに十分なスペースがない場合、フレックスフィールドには指定したよりも少ない文字数が表示される可能性があります。ただし、フレックスフィールドに指定した摘要の長さよりも多い字数が表示されることはありません。
摘要サイズで指定する値は、セグメントのセグメント値のリストに表示される値摘要の長さにも影響します(セグメントに検証された値セットが使用されている場合)。ただし、Oracle Applicationsの英語版では、リストの摘要列の幅は11字以下にはなりません(英語での語の摘要の長さ)。この幅は、Oracle Applicationsの他言語のバージョンではそれぞれ異なります。
特に会計フレックスフィールドなどの一部のフレックスフィールドでは(たとえば、Oracle General Ledger製品の「一括予算の定義」ウィンドウ)、定義できる内容に制限があります。このようなフォームでは、最長の摘要サイズ(それに最長のプロンプトと表示サイズを加えた数)の幅が広いときにはフレックスフィールド・ウィンドウを水平方向にスクロールできることもあります。
ヒント: 簡単な方法として、フレックスフィールド・ウィンドウの水平方向のスクロールを不要にするには、会計フレックスフィールドのセグメントの摘要サイズを30バイト以下にすることをお薦めします。
プロンプトをセグメント用(フレックスフィールド・ウィンドウに表示されるように)とその値のリスト用(このセグメントが検証された値セットを使用するとき)に、アプリケーションが生成するレポートに入力します。プロンプトには特殊記号の+、-、.、!、@、'、#は使用しないでください。
値のリストのプロンプトがセグメント長よりも長い場合、このフィールドを終了したときに警告メッセージが表示されます。この警告は、表示のみに関するものであって、これを無視してもフレックスフィールドは正常にコンパイルします。
ヒント: すべてのセグメントのプロンプトは、できるかぎり短い、統一された長さにすることをお薦めします。
関連トピック
フレックスフィールド・クオリファイアをキー・フレックスフィールド・セグメントに適用するには、このウィンドウを使用します。ウィンドウのタイトルには、現在のフレックスフィールド名とセグメント名が含まれます。
各クオリファイアについて、自分のキー・フレックスフィールド用に使用可能にするかどうかを指定します。
キー・フレックスフィールドは自由に設定できるので、Oracle Applications製品は、フレックスフィールド・クオリファイアを使用して特定の目的に使用されるセグメントを識別します。キー・フレックスフィールドが使用するクオリファイアとその目的を設定するには、キー・フレックスフィールド用のヘルプを参照してください。
一部のクオリファイアは一意で、それを2つ以上のセグメントに適用するとフレックスフィールドをコンパイルできなくなります。また、必須のクオリファイアもあり、そのようなクオリファイアを最低1つのセグメントに適用しないとフレックスフィールドをコンパイルできません。
キー・フレックスフィールドで識別子を使用するかどうか、使用するのであればどのような目的に使用するかを判断するには、使用するキー・フレックスフィールドに関するOracle Applicationsのキー・フレックスフィールドを参照してください。
関連トピック
Oracle Applicationsにおけるキー・フレックスフィールド
Oracle Public Sector General Ledgerを使用している場合、「属性レポート」ブロックへアクセスできます。
このゾーンを使用できるのは、Oracle Public Sector General Ledgerを使用しており、「FSG: 属性レポート」プロファイル・オプション(Oracle Public Sector General Ledgerでのみ使用可能)が使用可能になっている場合のみです。このゾーンは、FSGレポート選択のための属性を入力するのに使用します。詳細は、『Oracle General Ledgerユーザーズ・ガイド』参照してください。
関連トピック