Oracle Applicationsフレックスフィールド・ガイド リリース12 E05658-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
Oracle Application Object Libraryは値および値セット、検証表をキー・フレックスフィールド、付加フレックスフィールドおよび標準要求発行の重要な構成要素として使用します。この項は、値、値セットおよび検証表の使用、変更および理解に役立ちます。
最初にフレックスフィールドを定義する場合、使用するセグメントの数およびそれらのセグメントを表示する順序を選択します。また、個々のセグメントの検証方法も選択します。ここでの決定は、値セットおよび値の定義方法に影響を及ぼします。
最初に、フレックスフィールド・セグメント体系を定義する前または定義するときに、値セットを定義します。通常、フレックスフィールドを完全に定義した後(また、確定してコンパイルした後)でのみ、個々の値を定義します。使用する値セットのタイプによっては、フレックスフィールドを使用する前に個々の値を事前定義しなくても済む場合があります。
異なるフレックスフィールドのセグメント間で、また、同じフレックスフィールドの異なる体系で、さらには同じフレックスフィールド体系内のセグメント間でも値セットを共有できます。キー・フレックスフィールドおよび付加フレックスフィールドの間で値セットを共有できます。標準要求発行機能を使用するレポートのレポート・パラメータに値セットを使用することもできます。
値セットに指定する条件は、値セットにどの値を使用できるかを決定するため、値および値セットの両方を同時に計画するようにしてください。たとえば、値が1、2でなく01、02の場合には、右揃えおよび0埋込み数値を「Yes」に設定して値セットを定義します。
フレックスフィールドが異なると、使用できる値の要件および制限も異なる場合があるため、値の計画プロセスの一部分として特定のフレックスフィールドに関する情報を読んでおいてください。たとえば、会計フレックスフィールドには特定のタイプの値セットを使用する必要があります。
関連トピック
値および値セットを計画する手順は次のとおりです。
値の書式を選択します。値の書式の選択を参照してください。
セグメントに値のリストが必要かどうかを決定します。ユーザーにとって必要なものの決定を参照してください。
セグメントに適した検証のタイプを選択します。値セットの検証タイプの選択を参照してください。
範囲をベースにした機能(値セキュリティ、値階層など)の使用を容易にするため、整然と範囲にグループ化できる値の使用を考慮します。範囲の機能を使用するための値の計画を参照してください。
値および摘要の両方に関し適切な計画を立てます。
値階層、相互検証ルールおよび値セキュリティ・ルールなどを適切に計画します。
値セットは本来は値のコンテナなので、値セットを定義する際には、その値セット内に含めることができる値のタイプをその値セットが制御できるようにします。値の書式は、次のようにして指定できます。
重要: 「日付」および「日時」値セット書式は将来のリリースでは廃止され、下位互換性のみが提供されます。新規の値セットには、書式タイプ「標準日」および「標準日時」を使用してください。
値セットに指定できる最大値および最小値のみでなく、値に使用できる最大長を指定することもできます。値セットの最大サイズをどのように選択するかは、値セットにどのフレックスフィールドを使用するかによって異なります。値セットのサイズは、フレックスフィールド表内で基礎セグメント列のサイズ以下である必要があります。Oracle Applicationsでは、値がフレックスフィールド表に収まらない値セットを割り当てることはできません。
値の最大サイズは、組織の作業方法に適合するように指定します。一般的には、摘要付きの値を使用する場合、値は短く、摘要は長くなる傾向があります。たとえば、値が02で摘要が「ニューオリンズ地域」となるような場合が考えられます。Oracle Applicationsに値を右揃えして値をゼロで充填する(したがって、7の3文字値セットは自動的に007となる)場合には、ユーザーにとって見やすく、しかも、後で値を追加できるだけの余地を残した長さに最大値を設定します。
値は決して変更できませんが、摘要は変更できます。たとえば、340という部門コードは変更できませんが、その摘要は「販売」から「会社取引き」に変更できます。値の変更が必要な場合は、その値を使用禁止にし、新しい値を作成します。
次のダイアグラムは、これらの書式設定オプションの相互関係を示した例です。
書式設定オプション
この他に、選択できるオプションがいくつかあります。値の書式を参照してください。
値セットのオプションは、次のとおりです。
名前
摘要
リスト・タイプ
セキュリティ・タイプ
書式オプションは、次のとおりです。
書式タイプ
最大長
精度
数値のみ
大文字のみ
右揃えおよび0埋込み数値
最小値
最大値
検証タイプは次のとおりです。
独立
依存
なし
表
特別
ペア
変更可能独立
変更可能依存
関連トピック
『Oracle General Ledgerユーザーズ・ガイド』の親および子の値と積上グループに関する項
「書式タイプ」フィールドで指定する書式タイプがそのセグメント値またはパラメータ値の書式となります。その値セットに検証表を使用した場合、この書式タイプは、非表示ID列も指定したかどうかに関係なく「検証表情報」リージョンに指定した値列の書式タイプに対応します。
変更を加えると、同じ値セットが使用されるすべてのフレックスフィールドおよびレポート・パラメータに影響するため、既存の値セットの書式タイプを変更できません。
これらのすべての書式オプションは、「セグメント値」ウィンドウに入力可能な値に影響するのみでなく、フレックスフィールド・セグメントおよびレポート・パラメータに入力可能な値にも影響を及ぼします。
使用可能な書式タイプは次のとおりです。
「文字」を選択すると、文字、数値、特殊文字(# $ % ( )./ ,& *など)を含む任意の文字の値を入力できます。この書式タイプを選択した場合、数値のように見える値、たとえば100または20などを入力しても、それらの値は文字値として機能するので注意してください。たとえば、20という値は値100より大きくなります。そのような値を数値として機能させるには(またソートするには)、「数値のみ」または「右揃えおよび0埋込み数値」チェック・ボックスにチェックを付けてください。この形式タイプを選択した場合、日付のように見える値、たとえばDD-MON-RRまたはDD-MON-YYYYなどを入力しても、それらの値は文字値として機能するので注意してください。たとえば、01-SEP-2002という値は値01-DEC-2002より大きくなります。このような値を日付として機能させるには(またソートするには)、「標準日」書式タイプを使用します。
「文字」書式タイプを使用した場合、文字書式設定オプションも指定できます。文字書式設定オプションを参照してください。
「数値」は、ユーザーが数値を入力できるようにします。「数値」書式では、位取り文字(「D」または小数セパレータ)、プラスまたはマイナスの符号が使用できます(ただし、プラス符号はセグメント内に表示されません)。先行ゼロおよびプラス符号はすべて抑止され、入力したデータはOracle Formsの「NUMBER」フィールドまたはデータベース内の「NUMBER」列と同じように機能します。この書式は、事実上は文字書式である「数値のみ」書式と機能が異なるので注意してください。
実数は内部的には「.」付きで格納され、表示は現在の位取りセパレータを使用して行われます。グループ・セパレータは、フレックスフィールドでは使用しません。「文字」書式や「数値のみ」値セットでも同じことが言えます。
「数値」書式を選択すると、「精度」フィールドに値を入力できるようになります。精度は、数値の小数点の後に表示される桁数を示します。たとえば、18.758を表示するには、3の精度を選択します。同様に、1098.5を表示するには、1の精度を選択します。7などの整数を表示するには、0の精度を選択します。
「時刻」は、その値セットの最大サイズに応じてHH24:MIなどの時刻書式を施行します。サポートされている時刻書式および使用できる値セット最大サイズは次のとおりです。
最大サイズ | 時刻書式 |
---|---|
5 | HH24:MI |
8 | HH24:MI:SS |
値セットが前述のどちらかのサイズを使用するセグメントには、対応するデフォルト値を使用できます。そのデフォルトの定義は、セグメントまたはレポート・パラメータを定義するときに行います。
これらの値は時刻値として扱われ、ソートされます。
「標準日」では、ユーザーの設定した日付書式が施行されます。ユーザーによるデータ入力、データ問合せおよび値リストの使用時に、指定した日付書式で現在日付が表示されます。
この書式タイプの値セットを使用するフレックスフィールド・セグメントでは、値を保存する列のタイプがVARCHAR2の場合、アプリケーション表の日付の値は書式YYYY/MM/DD HH24:MI:SSで保存されます。これらの値セットを使用するレポート・パラメータについては、コンカレント・マネージャはこの書式で日付をレポートに渡します。値セットの値が「標準日」タイプの時間コンポーネントは存在しないため、時間コンポーネントは00:00:00になります。
注意: 基礎列のサイズは、最低20である必要があります。
「標準日」および「標準日時」書式の値セットの検証情報タイプには、「なし」、「表」、「独立」、「依存」、「特別」、「ペア」があります。
値セットの定義時に、これらの値セットに対して現在のNLS日付書式で最小および最大期間指定値を指定できます。
表により検証された値セットが「標準日」または「標準日時」書式を使用している場合、ID列を使用することはできません。VALUE列はDATE列またはVARCHAR2列にしてください(正規書式YYYY/MM/DD HH24:MI:SSでの日付値が必要です)。表内の既存値が正式な書式ではない場合、正式な書式または日付列への変換を実行するビューを作成して、値セットをこのビューで定義する必要があります。
これらの値は日時値として扱われ、ソートされるので、01-DEC-2007は01-SEP-2007より大きくなります。
「標準日時」では、ユーザーの日時書式が施行されます。ユーザーによるデータ入力、データ問合せおよび値リストの使用時に、指定した日付書式で現在日付が表示されます。
この書式タイプの値セットを使用するフレックスフィールド・セグメントでは、値を保存する列のタイプがVARCHAR2の場合に、アプリケーション表の日付の値は書式YYYY/MM/DD HH24:MI:SSで保存されます。これらの値セットを使用するレポート・パラメータについては、コンカレント・マネージャはこの書式の日付をレポートに渡します。
注意: 基礎列のサイズは、最低20である必要があります。
「標準日」および「標準日時」書式の値セットの検証情報タイプには、「なし」、「表」、「独立」、「依存」、「特別」、「ペア」があります。
値セットの定義時に、これらの値セットに対して現行セッションの日付書式で最小および最大期間指定値を指定できます。
表により検証された値セットが「標準日」または「標準日時」書式を使用している場合、ID列を使用することはできません。VALUE列はDATE列またはVARCHAR2列にしてください(正規書式YYYY/MM/DD HH24:MI:SSでの日付値が必要です)。表内の既存値が正式な書式ではない場合、正式な書式または日付列への変換を実行するビューを作成して、値セットをこのビューで定義する必要があります。
これらの値は日時値として扱われ、ソートされるので、01-DEC-2007 00:00:00は01-SEP-2007 00:00:00より大きくなります。
重要: 「日付」および「日時」値セット書式は今後のリリースでは廃止され、下位互換性のみが提供されます。新規の値セットには、書式タイプ「標準日」および「標準日時」を使用してください。
「日付」は、その値セットの最大サイズに応じてDD-MON-RRまたはDD-MON-YYYYの日付書式を使用します。次の表で、サポートされている日付書式および使用できる値セットの最大サイズを示します。
最大サイズ | 日付書式 |
---|---|
9 | DD-MON-RR |
11 | DD-MON-YYYY |
値セットが前述のどちらかのサイズを使用するセグメントには、対応するデフォルト値を使用できます。そのデフォルトの定義は、セグメントまたはレポート・パラメータを定義するときに行います。
これらの値は日時値として扱われ、ソートされるので、01-DEC-2007は01-SEP-2007より大きくなります。
注意: 日付値セットは、ユーザーの日付書式に関係なく、値セットの最大サイズによって決まる日付書式が使用されます。
重要: 「日付」および「日時」値セット書式は今後のリリースでは廃止され、下位互換性のみが提供されます。新規の値セットには、書式タイプ「標準日」および「標準日時」を使用してください。
「日時」では、その値セットの最大サイズに応じてDD-MON-RR HH24:MIなどの日付書式が使用されます。サポートされている日時書式および「日時」に使用可能な値セットの最大サイズは次のとおりです。
最大サイズ | 日付書式 |
---|---|
15 | DD-MON-RR HH24:MI |
17 | DD-MON-YYYY HH24:MI |
18 | DD-MON-RR HH24:MI:SS |
20 | DD-MON-YYYY HH24:MI:SS |
値セットが前述のどちらかのサイズを使用するセグメントには、対応するデフォルト値を使用できます。そのデフォルトの定義は、セグメントまたはレポート・パラメータを定義するときに行います。
これらの値は日時値として扱われ、ソートされるので、01-DEC-2007 00:00:00は01-SEP-2007 00:00:00より大きくなります。
注意: 日付値セットは、ユーザーの日付書式に関係なく、値セットの最大サイズによって決まる日付書式が使用されます。
このサイズは、フレックスフィールド・セグメントまたはレポート・パラメータを定義するときに指定できる最長の表示サイズを表すのみでなく、この値セットを使用するセグメントに入力できる最長値も表します。
注意: このサイズは文字数でなく、バイト数です。
ほとんどの場合、この最大サイズは、この値セットを使用するフレックスフィールドの基礎となっている表のセグメント列サイズを超えることはできません。この最大サイズを列サイズより長く設定した場合、フレックスフィールド・セグメントまたはレポート・パラメータを定義するときに、この値セットは選択できません。
この最大サイズより小さい表示サイズを使用してセグメントまたはレポート・パラメータを定義した場合、ポップアップ・ウィンドウにはセグメントの値の文字が左端から表示されます。ユーザーはセグメントをスクロールして残りの文字を見ることができます。
レポート・パラメータの場合、使用できる最大サイズは240です。
書式タイプが「標準日」の場合、最大サイズは11です。書式タイプが「標準日時」の場合、最大サイズは20です。
検証表を使用する値セットを定義する場合、最大サイズは値列として指定した列のサイズを反映している必要があります。また、最大サイズは、目的のセグメント列の幅以下である必要があります。したがって、値列のサイズを選択した後、値列の幅に合うように値セット最大サイズの修正を指示するメッセージが表示される場合もあります。
ただし、値セットに非表示ID列も指定した場合、フレックスフィールドはその非表示ID値が、値列でなく、基礎を形成する列に適合するかどうかを判別します。たとえば、最大サイズを60として指定し、これが値列のサイズでもある場合に、サイズが15の非表示ID列も指定すると、基礎セグメント列サイズが20しかないフレックスフィールドにもその値セットを使用できます。そのような値セットは、フレックスフィールド・セグメントまたはレポート・パラメータを定義するときに表示される値の値セット・リストに表示されます。
数値(「数値」書式、または「数値のみ」の選択された「文字」書式)を含む値セット値の場合、この属性は小数点以下の桁数を表します。値は、小数点以下が正確にこの桁数になるように、必要に応じて0を付加されたり、丸められたりして格納されます。このフィールドが空(NULL精度)の場合は、他のサイズや値の制限事項を満たすかぎり、小数点以下の桁数は問いません。
使用可能な文字書式設定オプションは次のとおりです。
「数値のみ」オプションが付いている場合、文字AからZ、aからzや!、@、#などの特殊文字は、この値セットを使用するセグメントには入力できません。この値セットを使用するセグメントやパラメータには、0から9、マイナス符号、プラス符号、小数セパレータ(D)、グループ・セパレータ(G)しか入力できません。「文字」書式タイプの値セットは英字がなくても「文字」のままで、文字値として機能し、ソートされることにも注意してください。
注意: アルファベット文字を使用できない値セットにユーザーがマイナス符号を入力できないようにするには、その値セットの最小値としてゼロ(0)を入力します。ただし、小数セパレータ(D)を含む値の入力を防ぐことはできません。
検証表を使用する値セットを定義する場合は、その検証表用に指定した値列に入っている値の特性を反映するようにこのフィールドの値を設定してください。
注意: 「変更可能独立」および「変更可能依存」値セットでは、「数値のみ」オプションは使用できません。
この値セットを使用するセグメントの値として入力したアルファベット文字を自動的に大文字に変換するかどうかを示します。
検証表を使用する値セットを定義する場合は、その検証表用に指定した値列に入っている値の特性を反映するようにこのフィールドの値を設定してください。
注意: 「変更可能独立」および「変更可能依存」値セットでは、「大文字のみ」オプションは使用できません。
この値セットの値を入力するとき、フレックスフィールドを自動的に数値の右揃えおよびゼロ充填にするかどうかを示します。このオプションは、「数値のみ」オプションを選択したかどうかに関係なく、文字0から9のみが入っている値に影響を及ぼします。このオプションは、アルファベット文字またはピリオドやハイフンなどの特殊文字が入っている値に影響を及ぼしません。
たとえば、5文字からなる値セットがあり、7の値を定義した場合、フレックスフィールドはその値を00007として格納し、表示します。フレックスフィールド・セグメントを最大サイズより小さい表示サイズに定義し、右揃えおよび0埋込み数値を指定した場合、フレックスフィールド・セグメントにゼロのみが表示されることがあります(フレックスフィールド・セグメントは、表示サイズによって指定された文字数のみを表示します)。その場合、ユーザーは意味のある値を表示するためにフレックスフィールド・セグメントをスクロールさせる必要があるため、データの入力または照会が遅くなります。
通常、このオプションは数値のように見える文字値が(たとえば、相互検証ルール、値セキュリティ・ルールおよびレポート用に)実際の数値のように格納され表示されるようにするために使用します。このオプションを使用して、数値のように見える値がすべて同じ文字数になり、レポート内に整然と整列させることができます。
右揃えおよび0埋込み数値を「Yes」に設定した場合は、この値セットの値には必ず右揃えを使用し0を埋め込んでください。
ヒント: 会計フレックスフィールドに使用する値セットには右揃えおよび0埋込み数値を「Yes」に設定し、その他のほとんどの値セットには「No」を設定することをお薦めします。
検証表を使用する値セットを定義する場合は、その検証表内の値の特性を反映するようにこのフィールドの値を設定してください。
右揃えおよび0埋込み数値フラグを「Yes」に設定した場合は、値列の値にも右揃えを使用し0を埋め込み、書式を完全に一致させる必要があります。
値範囲の説明を次に示します。
この値セットを使用するセグメントに入力できる最小値を入力します。その最小値は、この値セットに指定した最大値サイズなど、書式オプションに違反しないように設定する必要があります。
「最小値」フィールドおよび「最大値」フィールドを使用して、値セットの有効な値の範囲を定義できます。いったん値の範囲を指定すると、その範囲外の新しい有効値を定義できなくなります。したがって、「最小値」フィールドおよび「最大値」フィールドを使用して、検証情報が「なし」(検証がなく、どのような値でも有効)で、しかも、指定した範囲外の値をユーザーが入力できない値セットを作成できます。
たとえば、書式タイプが「数値」で、ユーザーが0から100の値のみを入力できる値セットを作成できます。あるいは、書式タイプが「標準日」で、ユーザーが特定の年について(たとえば、01-JAN-2007から31-DEC-2007までの範囲)のデータのみを入力できる値セットを作成することもできます。最小値および最大値では、これらの制限が適用されるため、これらの数値または日付が含まれる値セットを個々に定義する必要はありません。
すでに値が入っている値セットに値の範囲を定義できます。有効範囲外の値を使用する既存の組合せまたは既存データは、期限切れになったセグメント値が入っているかのように扱われます。
最小値または最大値は、書式タイプによって異なる場合があります。たとえば、書式タイプが「文字」の場合、1000は110より小さくなりますが、書式タイプが「数値」であれば、110は1000より小さくなります。さらに、ほとんどのプラットフォーム(ASCIIプラットフォーム)では、「文字」書式タイプを使用した場合、数字はアルファベット文字より小さく(つまり、9はAより小さく)なりますが、一部のプラットフォーム(EBCDICプラットフォーム)では、数字はアルファベット文字より大きく(つまり、Zは0より小さく)なります。このウィンドウは、プラットフォームの最大値より大きい最小値を指定するとエラー・メッセージを表示します。
この値セットを使用するセグメントにユーザーが入力できる最大値を入力します。その最大値は、この値セットに指定した最大サイズより長い値を設定することはできません。
このフィールドをブランクのまま残した場合、値セットで使用できる最大値が自動的にこの値セットの最大値となります。
値セットで、「数値のみ」で最大サイズ3の「文字」書式を使用した場合、最小値は「-99」、最大値は「999」です。
値セットで、最大サイズが5、精度が2の「数値」書式を使用した場合、最小値は「-9.99」、最大値は「99.99」です(ここではUS小数セパレータ「.」を使用しています)。
関連トピック
最初に、事前定義済の値のリストからユーザーが選択できるようにする必要があるか、あるいは値セットの書式条件に適合する任意の値をユーザーが入力できるようにするかを決定します。値のリストを提供する場合は、独立、依存、変更可能独立、変更可能依存、表のいずれかの値セットを選択します。リストを使用しない場合は、検証がない(「なし」)値セットを使用します。
セグメントに値のリストを提供する場合は、「独立」、「依存」、「変更可能独立」、「変更可能依存」、「表」のどの検証を使用するかを選択します。セグメント値を前の独立セグメント(「独立」値セットを使用するセグメント)で選択した値に依存させる場合は、依存セットのみを使用します。セグメント値を前の変更可能独立セグメント(「変更可能独立」値セットを使用するセグメント)で選択した値に依存させる場合は、変更可能依存しか使用できません。独立のセットを使用するか表セットを使用するかは、値を取得する場所によって異なります。適合する値が既存の表内にすでに存在する場合は、表セットを選択します。独立セットを使用する場合で、それらの値をすでにアプリケーション表の中で維持している場合は、値に対して二重の管理が必要になります。たとえば、無効値を使用禁止にする場合には(値セットの)「セグメント値」ウィンドウの中、および(アプリケーションで使用する)既存の表を管理するアプリケーション・フォームの中の両方で、その値を使用禁止にする必要があります。適合する表がまだ存在しない場合は、多くの場合、独立セットを使用し、「セグメント値」ウィンドウを使用して値を管理します。
次の表に、各値セットのタイプ、および各タイプによる値リストの使用の有無、また値が存在する場合、その格納場所を示します。
値セットのタイプ | 値リスト | 保存済値 |
---|---|---|
独立 | Yes | FND表 |
依存 | Yes | FND表 |
表 | Yes | アプリケーション表 |
なし | No | No |
特別/ペア | 値セットに依存 | 値セットに依存 |
変更可能独立 | Yes | FND表 |
変更可能依存 | Yes | FND表 |
関連トピック
検証には次のようなタイプがあり、これらはセグメントまたはパラメータの値をユーザーが入力し使用する方法に影響を及ぼします。
なし(すべて未検証)
独立
依存
表
特別(拡張)
ペア(拡張)
変更可能独立
変更可能依存
重要: 会計フレックスフィールドは、「独立」、「依存」および「表」の検証のみをサポートします(表の検証には、WHERE句は追加で指定できません)。
既存の値セットの検証情報を変更すると、同じ値セットを使用するすべてのフレックスフィールドおよびレポート・パラメータに影響を与えるため、変更できません。
検証タイプの例
「なし」タイプの値セットは、値セットの形式設定ルールに合致しているかぎり、任意の値をユーザーが入力できるようにする場合に使用します。つまり、値は値セット用に定義された最大長を超えることができず、その値セットの形式要件を満たしている必要があります。たとえば、値セットがアルファベット文字を許可しない場合、ユーザーは値ABCを入力できませんが、値456を入力できます(値セットの最大長が3の場合)。この値セットを使用するセグメントの値には他の検証は実行されないため、値の摘要は存在しません。
「なし」の値セットは検証されないため、この値セットが使用されるセグメントでは、値リストは提供されません。この値セットが使用されるセグメント(つまり、検証されないセグメント)では、フレックスフィールド値セキュリティ・ルールを使用してユーザーの入力可能値を制限することはできません。
「独立」値セットは、セグメントに事前定義済の値のリストを提供します。これらの値は、関連した摘要を持つことができます。たとえば、値01は「会社01」という摘要を持つことができます。この値セットの値の内容は、他のセグメントの値に依存しません。独立値はOracle Application Object Library表の中に格納されます。Oracle Applicationsウィンドウの「セグメント値」を使用して、独立値を定義できます。
「表検証」値セットは、独立値セットと同様に事前定義済の値のリストを提供しますが、その値はアプリケーション表の中に保存されます。WHERE句を使用してセットに使用する値を制限する他に、どの表を使用するかも定義します。通常、表検証されるセットを使用するのは、表の値がすでにアプリケーション表内で維持されている(たとえば、ベンダー名の表が「仕入先の定義」フォームによって管理されている)場合です。表検証は、セグメントを同じ体系内で先行する複数のセグメントに依存させるなど、いくつかの拡張機能も備えています。
「依存」値セットは「独立」値セットに似ていますが、リスト内の使用可能な値および指定された値の意味は、フレックスフィールド体系の前のセグメントで選択された独立値によって異なります。「依存」値セットは、対応する「独立」値セット内の個々の独立値ごとに1つずつ小セットを持つ小さな値セットの集まりと考えることができます。「依存」値セットを定義する前に、それが依存する「独立」値セットを定義しておく必要があります。依存値は「セグメント値」ウィンドウで定義し、それらの値はOracle Application Object Library表に格納されます。独立値と依存値の間の関係を参照してください。
依存値セットの例
「特別」および「ペア」の値セットは「フレックスフィールド内のフレックスフィールド」を使用可能にする構造を提供します。これらの値セットは、主に標準要求発行パラメータに使用されます。一般的に、これらの値セットは通常のフレックスフィールド・セグメントには使用しません。
特別およびペアの値セットの例
「特別」および「ペア」の値セットでは、カスタム定義の特別検証ルーチンが使用されます。たとえば、単一のセグメント用に別のフレックスフィールドを値セットとして提供する検証ルーチンを定義し、範囲フレックスフィールドをセグメントの対に値セットとして提供できます。
セグメントに対する値の事前定義済リストが提供されるという点で、「変更可能独立」値セットは、「独立」値セットと類似しています。ただし、換算値も使用できます。
リスト内の使用可能な値および指定された値の内容は、フレックスフィールド体系の前のセグメントで選択された独立値に依存するという点で、「変更可能依存」値セットは「依存」値セットに類似しています。ただし、換算値も使用できます。
フレックスフィールド値セキュリティは、「変更可能独立」または「変更可能依存」の値セットでは使用できません。
書式検証の場合、変更可能値セットの使用する書式タイプは「文字」である必要があります。最大サイズは150を超えないでください。「数値のみ」オプションおよび「右揃えおよび0埋込み数値」オプションは、変更可能セット値では使用できません。
範囲フレックスフィールドでは、「変更可能独立」または「変更可能依存」値セットは使用できません。
「変更可能独立」または「変更可能依存」値セットでは、階層または積上グループの作成はできません。
注意: 会計フレックスフィールドでは、「変更可能独立」および「変更可能依存」値セットはサポートされません。
関連トピック
相互検証ルールおよびセキュリティ・ルールなどの機能の実装を単純化するために、関連する値をグループ化することで値の範囲を有効に使用してください。
常に相互検証、セキュリティおよびレポート範囲(範囲が関係する機能)に留意しながら実際の値(たとえば、ある範囲の一方の端になる親またはサマリーの値も)を計画することをお薦めします。たとえば、1000から1999までのすべての値を除外することをセキュリティの基礎にすることもできます。ただし、値セットに「文字」書式を使用する場合、値および範囲は文字によってソートされることに注意してください。したがって、001 < 099 < 1 < 100 < 1000 < 12 < 120 < 1200となり、これは本当の数値である場合(「数値」書式の値セットを使用した場合)に予期されるものと異なります。
注意: 範囲の機能は、「変更可能独立」および「変更可能依存」値セットとは併用できません。
関連トピック
『Oracle General Ledgerユーザーズ・ガイド』の親および子の値と積上グループに関する項
WHERE句の中で検証表の値セットの名前を参照する予定がある場合は、値セット名の中に英字、数値およびアンダースコア(_)のみを使用してください。スペースまたは引用符、その他の特殊文字を値セット名に含めないでください。文字列$FLEX$を値セット名の一部として使用しないでください。検証表は、検証表のWHERE句に使用する値セット名の大文字と小文字を区別することに留意してください。
ヒント: 大文字と小文字の区別の問題を回避するため、値セット名にはどちらか一方の文字(大文字か小文字)のみを使用してください。
Oracle Applicationsには、多数の事前定義済値セットが組み込まれています。それは、主に標準要求発行パラメータ用の値セットです。アップグレードのとき、Oracle ApplicationsはOracle Applicationsの値セットと同じ名前が使用されている値セットを上書きします。Oracle Applicationsはアップグレードの前に、それらの値セットが上書きされるのを防ぐため、それらの値セットを名前変更できる予約済値セット名のリストを示しますが、アップグレードを簡単にするために、値セットには慎重に名前を付けてください。
Oracle Applicationsでは、ある特定の命名パターンが予約されています。Oracle Applicationsでは、AP_VALUE_SETまたはPER-Value Setのようにアンダースコアまたはハイフンが直後に付く2文字または3文字のパターンが予約されています。
Oracle Applications製品は、これらのガイドラインに完全に従っているわけではないので、アップグレードの前に値セットをチェックし、場合によっては名前を変更しておく必要があるので注意してください。使用されにくい名前を値セットに付けておくと、将来のアップグレードが簡単になります。たとえば、値セットに6文字のサイト名で始まる名前を付けることができます。
Oracle Applicationsレポートの多くは、フレックスフィールド・セグメントにも使用できる事前定義済の値セットを使用します。フレックスフィールド・セグメントが標準要求発行レポート・パラメータに関連付けられている値セットを使用している場合、その値セットに加えた変更は、その同じ値セットを使用するすべてのレポートにも影響を及ぼします。また、Oracle Applicationsの値セットに加えた変更が、将来のアップグレードによって上書きされる場合もあります。
Oracle Applicationsでは、セグメント用に選択できるFND_STANDARD_DATEおよびFND_STANDARD_DATETIMEの2つの事前定義済値セットを提供しています。これらの特別な値セットにより、フレックスフィールド・セグメントの任意の文字セットではなく、正しく書式設定した日付を確実に入力できるようにします。これらの値セットには、検証情報が「なし」であるため、適切な書式の日付値が入ります。この値セットを使用する日付値は、ユーザーのセッション日付表示マスクに表示されます。フレックスフィールド・セグメントまたはレポート・パラメータでFND_STANDARD_DATEまたはFND_STANDARD_DATETIMEが使用されている場合、日付の切捨てを防ぐために、表示書式の長さが正確であることが必要です。
下位互換性を保つために、Oracle Applicationsには、日付セグメント用に選択できる事前定義済値セットFND_DATEおよびFND_DATE4が用意されています。これらの特別な値セットは、フレックスフィールド・セグメントに任意の文字の集合でなく正しく書式設定した日付を確実に入力できるようにします。FND_DATEはDD-MON-RRの日付書式を提供し、FND_DATE4はDD-MON-YYYYの日付書式を提供します。これらの値セットはどちらも検証情報が「なし」のため、正しい書式の日付値であればすべて受け入れます。フレックスフィールド・セグメントまたはレポート・パラメータは、FND_DATEまたはFND_DATE4を使用する場合、日付の切捨てを避けるために(それぞれ)9文字または11文字の長さであることが必要です。ただし、新しいフレックスフィールド・セグメントには独自の日付値セットを作成することをお薦めします。
注意: FND_DATEおよびFND_DATE4値セットは、下位互換専用です。DATE書式タイプは、将来のリリースでは廃止されます。また、これらの値セットの値に対する表示書式との柔軟性もありません。
下位互換性を保つために、Oracle Applicationsには数値セグメント用に選択できるもう1つの値セットNUMBER15が用意されています。この特別な値セットは、フレックスフィールド・セグメントに任意の文字の集合でなくプラスまたはマイナスの数値を確実に入力できるようにします。この値セットの検証情報は「なし」なので、長さが15文字までであればあらゆるプラスまたはマイナスの数値を(マイナス符号も含め)受け入れます。この値セットを使用すると、フレックスフィールドは入力された値から先行ゼロをすべて消去して、小数点(たとえば、US書式では「.」)を1つのみ含む数値を確実に入力できるようにします。ただし、新しいフレックスフィールド・セグメントには独自の数値セットを作成することをお薦めします。
関連トピック
値および値セットを定義する前に、次の手順を事前に実行します。
使用するフレックスフィールド体系およびセグメントを計画します。
使用する値および値セットについて綿密な計画を立てます。値および値セットの計画を参照してください。
値および値セットを定義する手順は、次のとおりです。
関連トピック
「独立」および「依存」の値セットは特別な関係を持っています。任意の数の独立値について同じ依存値を使用できますが、依存値の意味(または摘要)は、セグメント識別子の値、使用可能/アクティブ化情報およびその値の付加フレックスフィールド・データと同様に、前の独立セグメントでどの独立値を選択したかによって異なります。たとえば、次のような値を持つ値セットを使用できます(依存デフォルト値が0)。
「独立」値セット(勘定科目)値 | 「独立」値セット(勘定科目セグメント)摘要 | 「依存」値セット(補助勘定科目セグメント)値 | 「依存」値セット(補助勘定科目セグメント)摘要 |
---|---|---|---|
01 | 現領金科目 | 0 | デフォルト値 |
01 | 現領金科目 | 1 | Bank of California |
01 | 現領金科目 | 2 | Bank of Denver |
01 | 現領金科目 | 3 | First Federal Bank |
02 | 設備科目 | 0 | 雑設備 |
02 | 設備科目 | 1 | コンピュータ |
02 | 設備科目 | 2 | プリンタ |
02 | 設備科目 | 3 | 配送用車両 |
03 | その他の資産科目 | 0 | デフォルト値 |
「独立」-「依存」の値セットは、次の順序で慎重に設定する必要があります。
最初に「独立」値セットを作成します
「依存」値セットを作成し、デフォルト値を指定します
独立値を定義します
依存値を定義します。
個々の独立値を定義する場合、Oracle Applicationsは独立値に付随するデフォルトの依存値を自動的に作成します。たとえば、前のダイアグラムはデフォルト値のゼロを示しています。なんらかの理由で「独立」値セットが値を持った後に「依存」値セットを作成した場合には、1つの独立値には1つのデフォルトの依存値が必要であるため、各独立値について、「依存」値セット内にデフォルト値を手動で作成してください。必要に応じて、「セグメント値」フォーム(このフォームは、デフォルト値以外の依存値をすべて作成するときにも使用します)を使用してデフォルトの依存値を手動で作成してください。1つの独立値につき最低1つの依存値を作成しないと、フレックスフィールドにセグメント値の組合せを入力できなくなります。ただし、デフォルトの依存値を手動で作成すると、手間がかかるのみでなくエラーが発生しやすいので、値セットを作成する場合は前述の順序に正しく従い、デフォルトの依存値を手動で作成しなくても済むようにすることをお薦めします。
フレックスフィールドは、値が前のセグメントの値に依存する表検証セグメントをサポートするために特別な構造を使用します(「依存」値セットを伴った「独立」値セットが使用する構造とも異なります)。フレックスフィールド検証表を特別なWHERE句(および$FLEX$引数)と一緒に使用して、セグメントが前のセグメントに依存する値セットを作成できます。セグメントを複数のセグメントに依存させることもできます(カスケード依存性)。ただし、それらの値セットに親値/子値の機能を使用したり、この構造を会計フレックスフィールドに使用することはできません。
関連トピック
『Oracle General Ledgerユーザーズ・ガイド』の親および子の値と積上グループに関する項
これらの機能を使用するのはOracle General LedgerとOracle Public Sector General Ledgerのみで、会計フレックスフィールドにのみ使用されます。親と子の値セットの間には、独立値と依存値の間の関係とは異なる関係があります。これらの機能の詳細は、『Oracle General Ledgerインプリメンテーション・ガイド』を参照してください。
関連トピック
「表検証」値セットを使用すると、Oracle Applicationsが提供する特別な値の表でなく、独自のアプリケーション表をフレックスフィールド・セグメントおよびレポート・パラメータの値セットとして使用できます。「セグメント値」ウィンドウを使用して個々の値を手動で入力する必要はありません。検証表を基礎とした値セットは、独立値セットのように、「表」タイプの値セット内にある値が他のすべてのセグメント内にある値に依存しないようにすることができます。あるいは、検証表のWHERE句をどのように定義するかに応じて、フレックスフィールド内にある1つ以上の前のセグメントに依存させることもできます。
一般に、検証表を使用する必要があるのは、アプリケーションがすでに必要としているか他のアプリケーション用に維持している値を、キー・フレックスフィールド・セグメントまたは付加フレックスフィールド・セグメント、またはレポート・パラメータに使用させる場合です。そのような場合に検証表を使用すると、同じ値の2つのコピーを(1つをアプリケーションの表の中で、もう1つをOracle Application Object Libraryの表の中で)維持せずに済みます。
「表検証」値セットでは、多数の拡張機能が使用できます。検証表は、フレックスフィールド・セグメントまたはレポート・パラメータに使用できますが、それぞれの値は前のセグメントの値に依存します。フレックスフィールド検証表で特殊なWHERE句(および$FLEX$引数)を使用すれば、前のセグメントに依存するセグメントで要求セットを作成できます。セグメントを複数のセグメントに依存させ、カスケード依存を構築することもできます。また、検証表で他の特殊な引数を使用すれば、セグメントをプロファイル・オプションまたはフィールド値に依存させることもできます。
注意: WHERE句付きの「表検証」値セットは、会計フレックスフィールドでは使用できません。
積上グループおよび親子関係などのキー・フレックスフィールド機能を利用する場合、子値を検証表の中に格納できますが、親値および積上グループの追加または定義には、Oracle Applicationsが提供する「セグメント値」ウィンドウを使用してください。
関連トピック
キー・フレックスフィールドでのデフォルト値、短縮入力値およびCOPY値の優先度
『Oracle General Ledgerユーザーズ・ガイド』の親および子の値と積上グループに関する項
「表検証情報」ウィンドウを使用して、セグメントまたはレポート・パラメータの検証に使用する表の特性を定義します。
検証表を実装する手順は、次のとおりです。
データベース内で検証表を作成または選択します。検証表には既存のすべてのアプリケーション表、ビューまたはシノニムが使用できます。検証表の定義を参照してください。
表をOracle Application Object Libraryに(表として)登録します。ただし、未登録の表でも値セットに使用できます。表の登録が済んでいない場合には、デフォルトを使用せずにすべての検証表情報をこのリージョンに入力してください。
必要な権限付与およびシノニムを作成します。表の権限付与およびシノニムの作成を参照してください。
その検証表を使用する値セットを定義します。値セットの定義を参照してください。
その値セットをセグメントに使用するため、フレックスフィールド体系を定義します。
同じ表を複数の値セットに使用でき、異なるいくつかのSQL WHERE句を使用して、フレックスフィールドおよびレポート・パラメータの検証に使用される値を制限できます。たとえば、異なるいくつかのセグメントを同じ表の様々な行と照合して妥当性をチェックするには、同じ表を2回使用しますが、個々の値セットごとに異なるSQL WHERE句を使用することにより、表の異なる行を選択します。
注意: 表の値列および定義済ID列は、指定された値またはIDに対して一意の行を返す必要があります。
ID列が使用される場合は、ID列内の各値は一意である必要があります。ID列が使用されない場合も、ID列内の各値は一意である必要があります。
警告: 会計フレックスフィールドに使用する予定の値セットには、WHERE句またはORDER BY句、あるいはその両方を決して使用しないでください。
一般に、WHERE句またはORDER BY句は会計フレックスフィールド以外のキー・フレックスフィールドに使用する検証表に使用できます。
重要: 表から値を選択するために複雑なSQL句が必要な場合は、かわりに、まず表に対して必要な行を選択するビューを定義してから、そのビューに対して値セットを定義してください。
特別なバインド変数を伴うWHERE句の使用方法の詳細は、検証表用のWHERE句およびバインド変数を参照してください。
値列の他に非表示ID列も指定すると、フレックスフィールドは値列に登録されている値のかわりに非表示IDの値を、基礎フレックスフィールド表のセグメント列(ATTRIBUTEn列またはSEGMENTn列)に保存します。
一般に、非表示ID列を持つ値セットは、レポート・パラメータにのみ使用します。通常、ほとんどのキー・フレックスフィールドには、それらの値セットを使用しません。実際に、ほとんどのキー・フレックスフィールドでは非表示ID列を持つ値セットを使用できないようにするために、値セットをセグメントへ割り当てるための値リストにはそれらの値セットが表示されません。
重要: 会計フレックスフィールドまたはその他のほとんどのキー・フレックスフィールドで使用する値セットには、非表示ID列を指定しないでください。
値列の他に非表示ID列を指定すると、「レポート・パラメータ」・ウィンドウは値列からの値のかわりに管理者の非表示ID値をレポートに渡します。
表により検証された値セットが「標準日」または「標準日時」書式を使用している場合、ID列を使用できません。
複数の表を使用する値セットの場合には、すべての列名に表の別名を必ず組み込んでください。値のリストは登録されていない単一の表の表名用に列名を取り出せないため、列名は直接入力してください。たとえば、次のように入力します。
f.column_name
複数の表を使用する値セットの場合、「表アプリケーション」フィールドは事実上無視されるため、このフィールドはブランクのまま残してください。表の名前および別名は、「表名」フィールドに入力します。その後、値のリストが登録されていない単一の表の表名用に列名を取り出せない理由から、値列および摘要列の列名を表の別名と一緒に直接入力します。
セグメント値またはレポート・パラメータ値の値リストに複数の列が表示され、それらの列を異なる表の中に置けるような値セットを設計できます。すべての列が同じ表の中に存在する場合には、単に「追加列」フィールドに追加の列のリストを指定します。列が異なる表の中に存在する場合には、「表名」フィールドに複数の表名を指定してください。「追加列」およびWHERE句には、表の名前または別名を常に列名と一緒に使用してください。
最後に、求める追加の列の名前を表の別名と一緒に「追加列」フィールドに入力できます。列の表示幅を指定できます。
場合によっては、単一の列名を指定するかわりにSQLの式を使用できます。たとえば、単純な列名のかわりに、次のようなDECODE文を使用できます。
DECODE(FORM.FORM_NAME, 'OEDEOR', 'Enter Orders', 'Not available')
または
DECODE(FORM.FORM_ID, 1234, 1234, NULL)
別名としてメッセージ名も使用できます。この機能により、列タイトルの変換が容易になります。別名としてメッセージ名を使用する場合の構文は、次のとおりです。
E_FLAG "APPL=<Application Short Name>;NAME=<Message Name>"(width)
次の列を含んだ新しいフレックスフィールド検証表を作成するか、次の列を含んだ既存のアプリケーション表を使用します。
タイプがVARCHAR2、DATEまたはNUMBERのセグメント値を保持する列
タイプがVARCHAR2、DATEまたはNUMBERのセグメント値の摘要を保持する列
その表には、次のようなオプションの列を組み込むことができます。
タイプがVARCHAR2、長さ1、NOT NULLのENABLED_FLAG
タイプがDATE、NULL ALLOWEDのSTART_DATE_ACTIVEおよびEND_DATE_ACTIVE
これらのオプションの列を使用する場合は、前述の特性とともに定義する必要があります。検証表を登録する場合、Oracle Application Object Libraryはその表の妥当性をチェックし、これらの列が存在するかどうかを調べます。存在する場合、Oracle Application Object Libraryはこれらの列をフレックスフィールド検証情報の一部として使用します。既存の表へENABLED_FLAG列を追加する場合は、すべての行について列に「Y」または「N」を挿入する必要があります。
通常は、Oracle Application Object Libraryが提供する値のフォームである「セグメント値の定義」を使用して親値および積上グループ情報を(前の節で説明した検証表に含まれる子値と一緒に)組み込みます。
登録済の表の中にSUMMARY_FLAG、START_DATE_ACTIVE、END_DATE_ACTIVE、STRUCTURED_HIERARCHY_LEVEL、COMPILED_VALUE_ATTRIBUTESまたはENABLED_FLAGなどの特別な列がある場合、値セットは表が検証表として設定された後、それらの列を自動的に使用します。
値セットがこれらの列を自動的に使用しないようにするには、表名が付いた別名を「表名」フィールドに使用する必要があります。
重要: 表に対してSQL関数または非常に複雑なWHERE句を使用する必要がある場合は、かわりに、まず表に対するビューを定義してからそのビューを使用してください。
関連トピック
キー・フレックスフィールドでのデフォルト値、短縮入力値およびCOPY値の優先度
『Oracle General Ledgerユーザーズ・ガイド』の親および子の値と積上グループに関する項
検証表は、アプリケーションのORACLEアカウントに常駐します。Oracle Applicationsは、次のようにフレックスフィールド検証表へのアクセスを必要とします。
APPSスキーマ(ORACLEアカウント)の中に検証表のシノニムを作成してください。そのシノニムは表名と同じ名前である必要があります。
アプリケーションのORACLEアカウントから、表に対するSELECT権限をAPPSスキーマへ付与してください。
自分の職責をAPPSスキーマへ確実に接続してください。
関連トピック
検証表をWHERE句と一緒に使用して、1つのセグメントが前のセグメントに依存し、前のセグメント自体もその前のセグメントに依存するような値セットを設定できます(カスケード依存性)。
WHERE句を伴う検証表
WHERE/ORDER BY句の中に、:block.fieldまたは:$PROFILES$.Option_name、:$FLEX$.Value_set_nameなど、特別なバインド変数を使用できます。ただし、単一の列名を指定せずにSQL断片部分を指定した場合でも同様に、「値列」フィールドまたは「非表示ID列」フィールド(通常、これらのフィールドには列名を指定します)にそのバインド変数を使用しないでください。バインド変数は「摘要列」フィールドおよび「追加列」フィールドに使用できます。
重要: フレックスフィールドのサーバー側検証を使用する場合、フォーム・フィールド参照(:block.field)は使用できません。フィールド参照を削除するか、またはプロファイル・オプション「フレックスフィールド: サーバー上で検証」を使用してフレックスフィールドのサーバー側検証をOFFにする必要があります
重要: DISTINCT句を列フィールドまたはWHERE/ORDER BY句の中で使用しないでください(実際の表でなく、GROUP BY句を持つビューを使用してください)。
値セットに:$FLEX$.Value_Set_Nameのような特別な引数がある検証表を使用している場合は、このフィールドに「No」を指定してください。これは、値セットのセキュリティ・ルールがこのような特別の引数の値を無視して、ルールが予期しない結果をもたらす恐れがあるためです。
関連トピック
WHERE句の中に、値を別の値に依存させることができる特別な引数(バインド変数)を置くことができます。このようなバインド変数には、:block.field、:$PROFILES$.Option_name、:$FLEX$.Value_set_nameなどがあります。「値列」フィールドまたは「非表示ID列」フィールドにはバインド変数を使用しないでください(通常、これらのフィールドには列名を指定します)。バインド変数は「摘要列」フィールドおよび「追加列」フィールドに使用できます。
デフォルトでは、文、式またはユーザー・イグジットに意味を持たせるため、バインド変数が必要です。:NULLサフィクスを使用してバインド変数をオプションにすれば、バインド変数がNULLの場合、その変数を使用するセグメントまたはパラメータは使用禁止となり、関連する必須プロパティ(使用可能な場合)は無視されます。NULLサフィクスについては、この項の最後に説明します。
Value_Set_Nameは、前のセグメントの値セット名であるか、検証表ベースの値が依存するフレックスフィールドまたはパラメータ・ウィンドウの中にある前のセグメントのセグメント名です。フレックスフィールド体系またはレポート・パラメータ・ウィンドウを定義する場合には、値セットValue_Set_Nameを使用するセグメントまたはパラメータが、検証表ベースの値セットを使用するセグメントより下位の順序番号になるように定義します。$FLEX$の構造は、「最も近くにある」前のセグメントを、一致する値セット名またはセグメント名と一緒に使用します(一致する値セット名がない場合には、最初に値セット名を探し、次にセグメント名を使用します)。
Value_Set_Nameは大文字と小文字を区別するため、ここに指定する名前が「値セットの定義」フォームで定義した値セット名と正確に一致するようにする必要があります。:$FLEX$.Value_Set_Name句で値セット名を使用する場合は、その値セット名の中に英字、数字およびアンダースコア(_)のみを使用できます。それらの値セット名の中に空白、引用符またはその他の特殊文字を使用することはできないため、値セットはこれらを含まない名前を使用して定義するように注意してください。
単一のWHERE句の中に複数の:$FLEX$.Value_Set_Nameを指定でき、そうすることによって、使用できる値のリストが前の複数のセグメントに依存するリストを持つセグメントを作成できます。
:$FLEX$.Value_Set_Nameを指定すると、フレックスフィールド・セグメントまたはレポート・パラメータは、デフォルトではWHERE句との比較に常に(前の値セットの)非表示ID列を使用するようになります。ただし、エンド・ユーザーには非表示ID値は見えません。非表示ID列を指定しなかった場合、セグメントは、デフォルトでは値列の中の値をかわりに使用します。
:$FLEX$.Value_Set_Nameを指定した場合は、:$FLEX$.Value_Set_Nameが戻した値を入れる列も明示的に選択できます。そのためには、:$FLEX$.Value_Set_Name.OUTPUTを指定すれば、OUTPUTは、ID、VALUEまたはMEANING(摘要列の値を戻すため)とすることができます。
検証表値セットを指定する場合、「追加列」フィールドにINTO句を(列および別名のリスト全体の後に)使用して、:$FLEX$.segment_name.OUTPUTで使用する変数に値を挿入することもできますが、この場合のOUTPUTは選択した名前です。その後、別のセグメントの値セットのWHERE句から:$FLEX$.segment_name.OUTPUT(OUTPUTは、その同じ名前)を使用して、その値を取り出すことができます。OUTPUTを使用して、フィールドに値を直接入れることはできませんが、ポップアップ・ウィンドウがクローズした後であれば、フレックスフィールド・セグメントが取り出した値をそのセグメントに対応する隠しフォーム・フィールドに挿入できます。「追加列」フィールドにINTO句を指定しなかった場合、値は値リストに表示される以外、どこにも配置されません(INTO NULLになります)。
重要: フレックスフィールドのサーバー側検証を使用する場合、値セットにINTO句は使用できません。INTO句を削除するか、またはプロファイル・オプション「フレックスフィールド: サーバー上で検証」を使用することによりフレックスフィールドのサーバー側検証をOFFにする必要があります。
:block.fieldは、SQL*Forms/Oracle Formsのフォーム上にあるフィールドの名前で、ここには付加フレックスフィールドが表示されます。この引数を使用して、値セットをフォーム上にあるフィールドのコンテキストに依存させることができます。これは、付加フレックスフィールドを伴った参照フィールドを使用することに似ていますが、付加フレックスフィールドを伴った参照フィールドを使用すると、コンテキスト依存セグメント(および間接的にはそれらの値セット)の様々な体系の中から選択ができるようになります。ただし、この:block.field引数を使用すると、通常表示されるのと同じセグメントが得られますが、そのセグメントへ付加された値セットの内容は:block.fieldの内容によって変化します。場合によっては、付加フレックスフィールド参照フィールドのかわりに、:block.field値セットを多数の異なるコンテキスト依存体系に使用できます。
この引数を使用する場合、この検証表を基礎とする値セットを使用できるすべてのフォームに、同じ:block.fieldが必ず存在している必要があります。たとえば、同じフレックスフィールドが7つのフォームに入っている場合、7つのフォームすべてにこのblock.fieldが存在していることが必要です。同様に、複数のフレックスフィールド間で値セットを共有する場合、それらのフレックスフィールドを1つでも使用するフォームには、すべてこのblock.fieldが存在する必要があります。この引数をキー・フレックスフィールド・セグメントまたはレポート・パラメータに使用することは可能ですが、同じ制限が当てはまります。つまり、その値セットを使用できる場所には、必ず同じblock.fieldが存在する必要があります。
警告: :block.field構造は、下位互換性を保つためにのみ存在しています。この機能を使用する値セットは、将来のOracle Applicationsのリリースでは使用できません。フレックスフィールドのサーバー側検証を使用する場合、フォーム・フィールド参照(:block.field)は使用できません。フィールド参照を削除するか、またはプロファイル・オプション「フレックスフィールド: サーバー上で検証」を使用してフレックスフィールドのサーバー側検証をOFFにする必要があります。
Profile_option_nameは、CONC_COPIES(「コンカレント: レポートの印刷部数」の場合)またはGL_SET_OF_BKS_IDなど、ユーザー・プロファイル・オプションの内部オプション名です。たとえば、WHERE句を次のように定義できます。
WHERE SET_OF_BOOKS_ID =
:$PROFILES$.GL_SET_OF_BKS_ID
バインド変数をオプションにする、つまり、NULL値を許可するには、:NULLサフィクスを使用します。:block.field、:$PROFILES$.Option_nameまたは:$FLEX$.Value_set_nameのかわりに、それぞれ:block.field:NULL、$PROFILES$.Option_name:NULLまたは:$Flex$.Value_set_name:NULLを使用できます。たとえば、値セット名Car_Maker_Name_Value_Setのかわりに、:$FLEX$.Car_Maker_Name_Value_Set:NULLを使用できます。
$FLEX$構文の例を参照してください。
外からは見えませんが、フレックスフィールドは「表検証」値セット用に定義されたWHERE句にAND...句を追加します。WHERE句にORが入っている場合、付加されたAND句はそのWHERE句全体に(カッコがないと)適用されない場合があり、正しい結果が生成されない可能性があります。このため、フレックスフィールドはWHERE句の前後に暗黙にカッコを付けます。
関連トピック
キー・フレックスフィールドでのデフォルト値、短縮入力値およびCOPY値の優先度
ここでは、:$FLEX$.Value_Set_Nameを使用して、1つのセグメントが前のセグメントに依存し、前のセグメント自体もその前のセグメントに依存する(カスケード依存性)値セットを設定する例を示します。3つのセグメントからなるフレックスフィールドがあり、最初のセグメントは自動車の製造元で2番目のセグメントは自動車の型、3番目のセグメントは自動車の色だとします。3番目のセグメント値は、最初の2つのセグメントで指定された自動車に使用可能な色のみを含むように制限できます。これら3つの値セットは、次のように定義できます。
Segment Name Manufacturer
Value Set Name Car_Maker_Name_Value_Set
Validation Table CAR_MAKERS
Value Column MANUFACTURER_NAME
Description Column MANUFACTURER_DESCRIPTION
Hidden ID Column MANUFACTURER_ID
SQL Where Clause (none)
Segment Name Model
Value Set Name Car_Model_Name_Value_Set
Validation Table CAR_MODELS
Value Column MODEL_NAME
Description Column MODEL_DESCRIPTION
Hidden ID Column MODEL_ID
SQL Where Clause WHERE MANUFACTURER_ID =
:$FLEX$.Car_Maker_Name_Value_Set
Segment Name Color
Value Set Name Car_Color_Name_Value_Set
Validation Table CAR_COLORS
Value Column COLOR_NAME
Description Column COLOR_DESCRIPTION
Hidden ID Column COLOR_ID
SQL Where Clause WHERE MANUFACTURER_ID =
:$FLEX$.Car_Maker_Name_Value_Set AND
MODEL_ID = :$FLEX$.Car_Model_Name_Value_Set
この例で、MANUFACTURER_IDは非表示ID列であり、MANUFACTURER_NAMEはCar_Maker_Name_Value_Set値セットの値列です。「型」セグメントは、前の値セットCar_Maker_Name_Value_Setの非表示ID列を使用して、WHERE句との照合を行います。この例の場合、エンド・ユーザーには非表示ID値が見えません。
関連トピック
キー・フレックスフィールドでのデフォルト値、短縮入力値およびCOPY値の優先度
「変更可能独立」および「変更可能依存」値セットは、換算値をユーザーに表示できることを除き、「独立」および「依存」値セットと似ています。「変更可能独立」および「変更可能依存」値セットを使用すると、値セットで非表示値と表示(換算)値を使用できます。この方法では、ユーザーが使用する言語で値を表示できますが、値は換算されていない非表示値に対して検証されます。
「変更可能独立」または「変更可能依存」タイプの値セットは、「値セット」フォームで定義します。検証タイプに「変更可能独立」または「変更可能依存」を選択します。
「変更可能依存」値セットは「依存」値セットと同じように機能しますが、「変更可能独立」値セットに依存している必要があります。「変更可能独立」値セットに依存する値セットとして可能なのは「変更可能依存」値セットのみです。
値セットには「文字」書式タイプを使用する必要があります。変更可能なセットの最大サイズは、150文字です。値は「大文字のみ」になるよう指定できます。最大サイズは、換算値にも非表示値にも適用されます。
変更可能値セットでは、「セキュリティ」、「数値のみ」、「右揃えおよび0埋込み数値」の各機能は使用できません。
重要: 会計フレックスフィールドでは、「変更可能独立」および「変更可能依存」の値セットはサポートされません。
「セグメント値」フォームにナビゲートし、値と換算値を定義します。
「値, 有効」タブ付きリージョンの値列には、非表示の未換算値が含まれています。
「換算値」フィールドには、現在の換算値が入っています。他の値が定義されていない場合、非表示値はデフォルトで「換算値」フィールドにあります。「換算値」フィールドは、「変更可能独立」および「変更可能依存」値セットに対してのみ使用可能です。
換算値は、「換算値」フィールドで現行セッションの言語用に更新できます。現行セッションの言語以外の言語用に換算値を更新するには、ツールバーの「換算」アイコンを使用します。
関連トピック
フレックスフィールド値セキュリティは、「変更可能独立」または「変更可能依存」の値セットでは使用できません。
書式検証の場合、変更可能値セットの使用する書式タイプは「文字」である必要があります。最大サイズは150を超えないでください。「数値のみ」オプションおよび「右揃えおよび0埋込み数値」オプションは、変更可能セット値では使用できません。
範囲フレックスフィールドでは、「変更可能独立」または「変更可能依存」値セットは使用できません。
「変更可能独立」または「変更可能依存」値セットでは、階層または積上グループの作成はできません。
注意: 会計フレックスフィールドでは、「変更可能独立」および「変更可能依存」値セットはサポートされません。
「独立」値セットの「変更可能独立」値セットへの変換や、「依存」値セットの「変更可能依存」値セットへの変換ができます。変換が許されるのはこれらのタイプのみです。変更可能値セットに対する制限事項はすべて更新した値セットに適用されます。
「独立」/「依存」値セットの「変更可能独立」/「変更可能依存」値セットへの変換は、affupg1.sqlスクリプトを使用して行います。新しい値セットの検証タイプは、「変更可能独立」または「変更可能依存」になります。変更されるのはこの点のみで、値には影響しません。
古い値セットと新しい値セットの違いは、「セグメント値」フォームで確認できます。新しい変更可能値セットでは、「換算値」列が使用可能になります。
affupg1.sqlを実行するには、コマンド行で次を実行します。
$ cd $FND_TOP/sql
$ sqlplus <APPS username>/<APPS password> @afffupg1.sql
該当するメニュー・オプションを選択し、値セットを変更します。
新しい変更可能値セットを作成したら、「セグメント値」フォームを使用して値セットに換算値を入力できます。
「特別検証ルーチン」ウィンドウを使用すると、「特別」値セットに特別な検証を定義できます。このウィンドウは、「ペア」の値セットに検証ルーチンを定義するためにも使用します。
警告: Oracle Applicationsで提供されている定義済の値セットは、変更したり削除したりしないでください。そのような変更を行うと、レポート作成などのアプリケーション機能の動作に思わぬ影響を与えることがあります。
このリージョンを使用すると、ユーザーが単一のレポート・パラメータ内にあるキー・フレックスフィールド組合せ全体を入力できるような値セットを定義できます。たとえば、連結した会計フレックスフィールドのセグメントをレポートへ1つのパラメータとして渡すことができます。このタイプの値セットを使用すると、ユーザーはレポート・パラメータを入力した後、キー・フレックスフィールドへ関連付けられたキー・フレックスフィールド・ウィンドウおよびセグメントの検証など、そのキー・フレックスフィールドの標準動作を見ることができます。これらの特別な値セットには、Oracle Application Object Libraryのフレックスフィールド・ルーチンを使用します。
警告: 「特別」および「ペア」の値セットはユーザー・イグジットの値セットです(つまり、Cエンジンでのみ検証できます)。PL/SQL APIでは検証できません。「特別」および「ペア」の値セットを使用したコンカレント・プログラムは、フォーム・ベース・アプリケーションでのみ実行できます。
値セットの中にフレックスフィールドが入っており、その中にもフレックスフィールドが(いずれかのセグメントの値セットとして)入っているような状況を回避するように、特別に注意を払ってください。このことが原因で問題が起きる状況が2つあります。第1の状況(再帰)は、フレックスフィールドがそのセグメントの1つとして自分自身をコールし、ポップアップ・ウィンドウの無限連鎖になる場合です。このようなループは、間接的なループの場合もあります。次に起こる可能性がある問題は、データの切捨ておよびデータの破壊につながることです。フレックスフィールドは連結されたフレックスフィールド値として渡される場合が多いので、それらの連結したフレックスフィールドの長さがすぐに値セットの最大サイズおよび基礎フレックスフィールド表内のセグメント列の最大サイズを超えてしまう可能性があります。キー・フレックスフィールドの場合に、付加フレックスフィールドまたは範囲フレックスフィールドの場合より問題になる可能性は小さくなるのは、キー・フレックスフィールドは通常、連結したセグメント値としてではなく単一のコード組合せID番号として渡されるため、占有するスペースが少ないからです。「値セット」ウィンドウおよび「フレックスフィールド・セグメント」ウィンドウでは、フレックスフィールドのループまたはフレックスフィールド内の複数のフレックスフィールドも定義できますが、そのような定義をすると重大な切捨ての問題およびデータ破壊の問題が起きる可能性があります。
警告: 値セットの計画および定義を注意深く行って、前述したような値セット内の値セットを回避してください。
これらの検証タイプの使用の詳細は、特別検証値セットを参照してください。この項には、様々な種類のイベントとフレックスフィールド・ルーチン引数および特別検証で使用する構文についての情報が含まれています。また、会計フレックスフィールドに特別検証を使用する実際例も含まれています。
関連トピック
この項では、フレックスフィールド値のデフォルトを個々の優先順位を使用して設定する様々な方法を説明します。
注意: フレックスフィールド・セグメント値がオプションである場合(つまりセグメントの「必須」チェック・ボックスの選択が解除されている場合)、ユーザーが最初にフレックスフィールド・ウィンドウをオープンしたときにのみ、デフォルト値がそのセグメントに挿入されます。この動作は、必須のフレックスフィールド・セグメントとは異なるので、必須のフレックスフィールド・セグメントは、ユーザーがフレックスフィールド・ウィンドウをオープンしなくてもデフォルト値が入力されます。
キー・フレックスフィールド・セグメントに値を入れるには、次の4つの方法があります(優先度が高い順に示してあり、最初の方法は2番目の方法を上書きし、2番目は3番目を、3番目は4番目をそれぞれ上書きします)。
フレックスフィールド短縮入力別名を使用して値を挿入します。
POPIDへのCOPYパラメータを使用して、値をフォームのフィールドからセグメントへコピーします(キー・フレックスフィールドの実装)。
「キー・フレックスフィールド・セグメント」フォームを使用してセグメントのデフォルト値を定義します。
POPIDでCOPYパラメータを使用してコピーした値は、「キー・フレックスフィールド・セグメント」フォームを使用してセグメントに設定したデフォルト値を上書きします。COPYでは、既存(デフォルト)の値の上にNULL値が上書きされることはありません。しかし、コピーする値がそのセグメントにとって無効な値である場合は、デフォルト値がNULLで上書きされたように見えることがあります。つまり、無効値がデフォルト値を上書きしますが、その後、フレックスフィールドはコピーした値を消去します。これは、その値が無効なためです。必ずコピー元のフィールドに有効な値が入っていることを確認してください。ただし、フレックスフィールド短縮入力値はCOPY値を上書きします。
キーまたは付加フレックスフィールドに必須セグメントがある場合(値セットが値を必要とし、キー・フレックスフィールドについてはPOPID内のREQUIREDパラメータが「Yes」に設定されている場合)、そのフレックスフィールドは指定されたデフォルト値を使用することがあります。フレックスフィールド・ポップアップ・ウィンドウに入力せずにレコードを保存しようとした場合、フレックスフィールドは(VALIDルーチンまたはVALDESCルーチンで)すべての必須セグメントにデフォルト値を設定しようとします。一部の必須セグメントに有効なデフォルト値を指定しなかった場合、フレックスフィールドは行を保存する前にエラー・メッセージを生成し、欠落している値の入力をユーザーに要求します。デフォルト値は、ユーザーが手動で入力した値を上書きしません。
注意: 付加フレックスフィールドを持つレコードをコピーする場合、使用するフォームやプログラムによっては、フレックスフィールド情報が一緒にコピーされない場合があります。たとえばOracle Purchasingでは、AutoCreate時に購買依頼から発注に付加フレックスフィールドがコピーされることはありません。つまり、購買依頼に必須付加フレックスフィールドがある場合、発注を自動作成する際にPurchasingが付加フレックスフィールドの入力を要求したり、付加フレックスフィールドにデフォルトで値を設定することはありません。
一般に、フレックスフィールドを設定して使用を開始した後で、その体系または値セットに変更を加えないでください(ただし、値、短縮別名、相互検証ルール、セキュリティ・ルールの定義、使用可能化および使用禁止は除きます)。特に、一度ルールまたはデータが設定された後は、セグメントの数または配置の変更は避け、セグメントがポイントする値セットの変更も避けるようにしてください。相互検証ルールまたはフレックスフィールド・セキュリティ・ルールを変更しても、既存のデータの不整合を起こす可能性があります。
警告: フレックスフィールド定義を使用してデータを取得した後に、そのフレックスフィールドを変更すると、既存のデータとの重大な不整合が起きる可能性があります。
この項には、値セットを変更するために考えられるすべての方法が記載されているわけでなく、そのような変更を加える場合に実行する必要があるすべてのデータ変更に関する完全な情報が記載されているわけでもありません。フレックスフィールド・データはOracle Applications全体を通じて使用されるため、そのような変更によってどのフォーム、表およびエンティティが影響を受けるかを慎重に考慮する必要があります。既存のデータの整合性を損なう危険があるため、SQL*Plusを使用してOracle Applicationsデータを変更しないでください。
一般に、以前に使用していたものと異なる値セットを使用するようにセグメントを変更する場合には、既存のフレックスフィールド・データが無効にされないよう注意する必要があります。そのような変更を加える場合は、値セットを変更する前に、あらかじめOracle Application Object Libraryデータを含むすべての既存データのバックアップをとっておいてください。
Oracle Applicationsでは、フレックスフィールドの値セット・データが誤って無効にされないように、既存の値セットの検証情報は変更できないようになっています。しかし、業務での必要性がどのように変化するかは予測できない場合があり、値セットの検証情報を変更するために新しい値セットを定義して、それを以前の値セットのかわりにフレックスフィールド・セグメントへ付加する必要があるときもあります。値セットを変更できるかどうかは、その値セットの現行タイプおよび変更先のタイプによって決まります。フレックスフィールドにそのような変更を加えることができるかどうかを判別するには、次のリストを参照してください。
また、Oracle Applicationsでは、フレックスフィールドの値セット・データが誤って無効にされないように、ある条件の下では既存の値セットを削除できないようになっています。値セットを定義して保存した直後に再度その値セットを問い合せた場合は、その値セットを削除できます。しかし、次のいずれかの方法で値セットを使用した後では、その値セットを削除できません。
その値セットのキーまたは付加フレックスフィールド・セグメントへの割当て
その値セットのレポート・パラメータへの割当て
その値セットへの1つ以上の値の割当て(その値セットがセグメントへ割り当てられていない場合も含む)
その値セットへの(その値セットが付加された先のセグメントを通しての)セキュリティ・ルールの割当て
値セットをフレックスフィールド・セグメントまたはコンカレント・プログラム・パラメータに付加した後に、その値セットを変更する必要がある場合は、最初にセグメントまたはパラメータから値セットを分離する必要があります。「値セット」ウィンドウの「使用」ボタンを使用して値セットを使用するセグメントまたはパラメータを検索できます。
古い値セットを、検証がない(「なし」タイプの)新しい値セットに変更する場合、次に示すタイプの変更は、書式条件(文字、数値、日付、数値のみ、大文字のみなど)に違反しないかぎり、既存のフレックスフィールド・データに問題は生じません。新しい値セット内の値には摘要(意味)がまったくなく、すべての値が有効となることに注意してください。
「独立」から「なし」への変更(「依存」値セットが関連付けられている場合、またはそれらの値にセグメント識別子情報が必要な場合には、この変更を行わないでください)
「表」から「なし」への変更
「依存」から「なし」への変更
セグメント値の摘要またはセグメント・クオリファイアがなくなるため、値の摘要を使用する既存のアプリケーション・データは、変換が必要な場合があります。
古い値セットを新しい値セットに変更する場合、確実に新しい値セットが以前にそのセグメントに使用したことがあるすべての単一値を含んでおり、また、コード組合せの一部として組合せ表の中に入っているかぎり、次のタイプの変更ができます。元の値セットに入っていた値が欠落している場合、ユーザーは値が欠落している古いレコードを問い合せるとエラー・メッセージを受け取ります。
「なし」から「独立」への変更
「なし」から「表」への変更
新しい値セットが、古い値セットに含まれていたすべての単一値を含んでいるかぎり、次のタイプの変更ができます。元の値セットに入っていた値が欠落している場合、ユーザーは値が欠落している古いコード組合せを問い合せるとエラー・メッセージを受け取ります。
「独立」から「表」への変更
「表」から「独立」への変更
次のタイプの(古い値セットから新しい値セットへの)変更は、既存のキー・フレックスフィールド組合せデータを破壊するため、絶対に行わないでください。
「独立」から「依存」への変更
「依存」から「独立」への変更
「なし」から「依存」への変更
「依存」から「表」への変更
「表」から「依存」への変更
「変更可能独立」から「変更可能依存」への変更
「変更可能依存」から「変更可能独立」への変更
「なし」から「変更可能依存」への変更
「変更可能依存」から「表」への変更
「表」から「変更可能依存」への変更
Oracle Applicationsでは、既存のフレックスフィールド・データが無効にされないように、既存の値セットの最大サイズを小さくできないようになっています。新しい値セットの最大サイズが古い値セットの最大サイズより小さいセグメントには、新しい値セットを絶対に付加しないでください。既存のセグメント値が切り捨てられるため、データの破壊が起きます。
一般に、既存の値セットの最大サイズを大きくしても(または値セットをより大きな値セットに置き換えても)、新しい最大サイズが、基礎フレックスフィールド表のセグメント列に十分に収まるほどの大きさであるかぎり、既存のフレックスフィールド・データに問題は起きません。ただし、(001は0000001と同じものではなく、すべての既存値が無効になるため)右揃えおよび0埋込み数値の値セットの場合には、より大きい(または、より小さい)最大サイズの値セットに変更しないでください。Oracle Applicationsでは、既存のフレックスフィールド・データが無効にされないよう、右揃えおよび0埋込み数値の値セットでは既存の値セットの最大サイズをまったく変更できないようになっています。
「キー・フレックスフィールド・セグメント」ウィンドウまたは「付加フレックスフィールド・セグメント」ウィンドウでフレックスフィールド・セグメントを定義すると、これらのウィンドウで定義した値セットが値リストに表示されます。
ユーザーが「要求の発行」ウィンドウから実行するレポートを定義するときに、このウィンドウを使用して管理者自身のレポート引数の値セットを定義します。管理者がこのウィンドウで定義する値セットは、管理者がコンカレント・プログラムでレポート・パラメータを定義するときにも表示されます。
異なるフレックスフィールドのセグメント間で、また、同じフレックスフィールドの異なる体系で、さらには同じフレックスフィールド体系内のセグメント間でも値セットを共有できます。キー・フレックスフィールドおよび付加フレックスフィールドの間で値セットを共有できます。標準要求発行機能を使用するコンカレント・プログラムのパラメータと値セットを共有することもできます。Oracle Applicationsレポートの多くは、フレックスフィールド・セグメントにも使用できる事前定義済の値セットを使用します。ただし、その値セットに加えた変更は、その同じ値セットを使用するすべての要求およびセグメントにも影響を及ぼします。
「使用」ボタンを使用して特定の値セットを使用するフレックスフィールド・セグメントまたはコンカレント・プログラム・パラメータを表示します。
警告: Oracle Applicationsで提供されている定義済の値セットは、変更したり削除したりしないでください。そのような変更を行うと、レポート作成などのアプリケーション機能の動作に思わぬ影響を与えることがあります。
同じ値セットを使用する他のフレックスフィールドに影響を及ぼすことがあるので、このウィンドウを使用して、既存の値セットの検証タイプまたは書式タイプの変更を回避します。さらに、他の変更も想定外の方法で値セットの値に影響を及ぼすことがあります。フレックスフィールドまたはパラメータが現在使用している値セットは削除できません。
値セットを使用するフレックスフィールドまたはコンカレント・プログラムの使用後に、その値セットに変更を加える場合は、変更の影響が出る前に職責を変更するかまたはオペレーティング・システムを終了し、ログインしなおす必要があります。
関連トピック
値セットを定義する手順は、次のとおりです。
「値セット」ウィンドウへナビゲートします。
値セット固有の名前を入力します。値セット命名規則を参照してください。
既存の値セットを変更する場合は、適切な権限を使用して値セットが使用されている場所を表示できます。値セットの使用方法を参照してください。
値セットのリスト・タイプを指定します。
値セットにOracle Formsアプリケーションの長いリスト機能を設定しない場合、「値リスト」を選択します。Oracle Self-Serviceアプリケーションのポップリストは表示されません。
値セットにOracle Formsアプリケーションの長いリスト機能を設定する場合は、「長い値リスト」を選択します。長いリスト機能を設定すると、すべての使用可能な値を値リストに取り込む前に、ユーザーは部分セグメント値を入力する必要があります。「なし」タイプの検証が定義されている値セットには、長いリスト機能を設定できない場合があります。Oracle Self-Serviceアプリケーションのポップリストは表示されません。
値セットにOracle Formsアプリケーションの長いリスト機能を設定せず、Oracle Self-Serviceアプリケーションのポップリストを設定する場合は、「ポップリスト」を選択します。
「リスト・タイプ」フィールドのガイドラインは、次のとおりです。
ポップリスト - 値の数が10より少ないと予想される場合
値リスト - 値の数が10から200と予想される場合
長い値リスト - 値の数が200より多いと予想される場合
この値セットを適用するセグメントに使用するセキュリティ・タイプを指定します。検証タイプが「なし」、「特別」または「ペア」の値セットにはセキュリティを適用できません。セキュリティ・ルールの定義を参照してください。
注意: フレックスフィールド値セキュリティは、「変更可能独立」および「変更可能依存」の値セットには使用できません。
使用可能なセキュリティ・タイプは次のとおりです。
セキュリティなし - この値セットに対してすべてのセキュリティが使用不可になります。
階層型セキュリティ - 階層型セキュリティが使用可能です。階層型セキュリティを使用して、値セキュリティおよび値階層の機能が組み合されます。この機能を使用すると、親値に適用されるセキュリティ・ルールは子値にも適用されます。
警告: 値の階層ツリー内では、上位の親値がセキュリティ・ルールに従う場合、その下位にある子値は同じセキュリティ・ルールに従います。
非階層型セキュリティ - セキュリティが使用可能ですが、階層型セキュリティのルールは適用されません。つまり、親値に適用されるセキュリティ・ルールはその子の値には適用されません。
セグメント値に使用する書式タイプを入力します。選択可能な値は「文字」、「日付」、「日時」、「数値」、「標準日」、「標準日時」、「時刻」です。
注意: 「変更可能独立」および「変更可能依存」の値セットは、「文字」書式をとる必要があります。
管理者の書式タイプに適した書式情報を入力しますが、これには、管理者の値には数値しか使用できないか、一定の範囲であることが必要かなどの情報が含まれます。
注意: 「変更可能独立」および「変更可能依存」値セットの最大サイズは150です。変更可能値セットでは「数値のみ」および「右揃えおよび0埋込み数値」の各機能は使用できません。
検証タイプを「独立」、「依存」、「表」、「なし」(未検証)、「特別」、「ペア」、「変更可能独立」、「変更可能依存」の中から選択します。値セットの検証タイプの選択を参照してください。
値セット「依存」、「表」、「特別」または「ペア」の中のいずれかを作成するには、「情報編集」ボタンを選択して、適切なウィンドウをオープンします。管理者の検証タイプに必要な追加情報を入力します。「依存値セット情報」ウィンドウ、「検証表情報」ウィンドウ、「特別検証ルーチン」ウィンドウを参照してください。
変更を保存します。
関連トピック
依存値セット情報を定義する前に、次を実行しておく必要があります。
「独立」値セットを定義します。管理者は、個々の独立値をそれに対応する「独立」値セットに定義する前に、自分の「依存」値セットを定義する必要があります。値セットの定義を参照してください。
管理者の値セット名と書式オプションを定義します。値セットの定義を参照してください。
注意: このウィンドウは、「変更可能依存」値セットの情報を入力するためにも使用します。「変更可能依存」値セットは、「変更可能独立」値セットに依存している必要があります。「変更可能独立」値セットは、それに依存する「変更可能依存」値セットのみを持つことができます。
「依存」値セットが依存している「独立」値セットの名前を入力します。
入力できるのは、すでに定義した値セットのみです。まず「独立」タイプの値セットの値セット定義を保存しないと、このフィールドでそれを選択できません。「独立」タイプの値セットには、2つ以上の「依存」タイプの値セットが依存していることもありますが、「依存」タイプのセットは別の「依存」タイプのセットに依存することはできません。
「独立」タイプの値を作成すると、「セグメント値」ウィンドウでその依存タイプのデフォルトの値が自動的に作成されます。「セグメント値」ウィンドウで個々の独立値に対して依存デフォルト値が必ず作成されるようにするには、「独立」値セットに値を作成する前に、その「独立」タイプのセットに依存する「依存」値セットをすべて作成しておく必要があります。すでに値を持っている「独立」タイプのセットに新規の「依存」タイプのセットを作成するには、「セグメント値」ウィンドウをオープンして既存の「独立」タイプの値のそれぞれに「依存」タイプのデフォルト値を手動で入力する必要があります。「セグメント値」ウィンドウを参照してください。
ヒント: まずアプリケーションに必要なすべての「独立」値セットを定義し、次にすべての「依存」値セットを定義します。初めにすべての値セットを作成してから、値を作成してください。
「依存」値セットのデフォルト値を入力します。
この値は、この「依存」タイプの値セットを使用するすべてのセグメントのデフォルト値となります。通常は、ゼロを入力します。ここで入力する値は、入力する値セット情報と一致するものにします。たとえば、この「依存」タイプの値にアルファベットを使用できない場合は、デフォルト値にもアルファベットを含めることはできません。
「独立」タイプのセット内のすべての値には、少なくとも1つの依存値が必要です。したがって、ユーザーが「独立」タイプの値セットに(「セグメント値」フォームを使用して)新規の値を作成するときには、必ず1つの「依存」タイプの値が必要です。「セグメント値」ウィンドウでは、管理者がここで入力するデフォルト値を使用すると、必要な「依存」タイプの値が自動的に作成されます。「セグメント値」ウィンドウを参照してください。
たとえば、「補助勘定科目」という「依存」タイプの値セットを持つ「勘定科目」という名前の「独立」タイプの値セットがあるとします。そして、説明が「売掛金」の「勘定科目」に、関連の補助勘定科目値を作成せずに新しい「独立」タイプの値99を作成する必要が生じたとします。管理者のフレックスフィールドには、「独立」タイプの値とともに使用するなんらかの「依存」タイプの値が必要ですから、摘要が「補助勘定科目なし」で00のような、ここで入力するデフォルト値が使用されます。
デフォルトの「依存」タイプの値の摘要を入力します。「セグメント値」ウィンドウでは、新規の「独立」タイプの値を作成するときに必ず作成される「依存」タイプのデフォルト値とともにこの摘要が作成されます。たとえば、「補助勘定科目」という「依存」タイプの値セットを持った「勘定科目」という名前の「独立」タイプの値セットがあるとします。「補助勘定科目」デフォルト値00に「補助勘定科目なし」という摘要を付けることがあります。「セグメント値」ウィンドウを参照してください。
関連トピック
次の前提条件が完了済であることを確認してください。
CHAR、VARCHAR2、NUMBERまたはDATEタイプの列に有効な値とその説明を格納するためのデータベース表またはビューを作成します。
「表の登録」ウィンドウを使用して、表をOracle Application Object Libraryに登録します。この手順は推奨されますが、必須ではありません。
ユーザーの検証表に基づいて値セットを使用するフレックスフィールドまたはレポートにアクセスするアプリケーションOracle勘定科目に検証表のシノニムを作成します。
表に対するSELECT権限を、そのアプリケーションのOracle勘定科目から、その表に基づいて値セットを使用するアプリケーションのOracle勘定科目へ付与します。
値セット名と書式オプションを定義します。値セットの定義を参照してください。
検証表を登録するアプリケーションの名前を入力します。アプリケーション名と表名により自分の表を固有のものとして識別します。
自分の値リストにある2つ以上の表から列を表示するためには、このフィールドをブランクのままにしておくと、実行上は無視されます。
検証表として使用するアプリケーション表名、ビュー名またはシノニム名のいずれかを入力します。自分の表をOracle Applicationに登録していないときには、使用する表の完全な名前を入力します。
値セットをいくつかの列を表示するように定義できますが、これらの列は別の表にあってもかまいません。列がいくつかの表にあるときには、2つ以上の表名をカンマで区切ってこのフィールドに指定する必要があります。必要であれば表別名を使用できます。たとえば、(2つの表を使用して)このフィールドに次のような情報を入力できます。
fnd_form f, fnd_application a
次に、「値列」、「摘要列」、「非表示ID列」、「WHERE/ORDER BY」および「追加列」の各フィールドで、(WHERE句のために)対応する表別名を使用します。
where f.application_id = a.application_id
ユーザーがフレックスフィールド・セグメントまたはレポート・パラメータに入力する値を検証するために、検証表の中で管理者が使用する値を含んだ列の名前を入力します。
使用可能な列の選択は、ユーザーが指定する書式タイプによって決まり、ユーザーの書式タイプに一致する必要はありません。たとえば、「標準日」の書式タイプを指定するのであれば、タイプが「日付」または「文字」として登録された列から選択します。同様に、「数値」の書式タイプを指定するのであれば、タイプが「数値」または「文字」として登録された列からのみ選択します。ただし「文字」書式タイプを指定すると、「文字」タイプの列しか表示されません。「書式タイプ」フィールドで指定する書式タイプが、そのセグメント値またはパラメータ値の書式となります。
列名のかわりにSQL式を使用することもできますが、特別なバインド変数は使用できません。
注意: SQL式のサポートは将来のリリースでは廃止される予定であるため、列名のかわりにSQL式を使用することはできるだけ避けてください。
ユーザーの検証表の値列にある値についての説明を含んだ列の名前を入力します。このフィールドをブランクにしておくと、値セットは自動的に値列を説明列として使用します(ただし、表示は一度のみです)。
ユーザーがフレックスフィールド・セグメントまたはレポート・パラメータに対応する値を入力すると、ユーザーのフレックスフィールド・ウィンドウまたはレポート・パラメータ・ウィンドウにその列の意味が表示されます。
ユーザーがフレックスフィールド・セグメントまたはレポート・パラメータに入力する値を検証するために、検証表の中で管理者が使用しようとする値でユーザーに対しては表示しない値を含んだ列の名前を入力します。
値列の他に非表示ID列も指定すると、フレックスフィールドは値列に登録されている値のかわりに非表示IDの値を、基礎フレックスフィールド表のセグメント列(ATTRIBUTEnn列またはSEGMENTnn列)に保存します。
重要: 会計フレックスフィールドなど他の大部分のキー・フレックスフィールドと一緒に使用する値セットには、非表示ID列は指定しないでください。
値列の他に非表示ID列を指定すると、「レポート・パラメータ」ウィンドウは値列からの値のかわりに管理者の非表示ID値をレポートに渡します。
SQL WHERE句またはORDER BY句、あるいはその両方を入力します。
この値セットを使用するセグメントのために表示する追加の列を入力します。これらの列は、値列、摘要列または非表示ID列のために指定する列以外の列です。
親値をOracle Application Object LibraryのFND_FLEX_VALUES表に格納し、この値セットを使用するセグメントのリストに表示させるかどうかを指定します。
「テスト」ボタンを使用して、値セット内に値リストを指定するために実行される問合せを検証します。「テスト」ボタン機能により、表名、列フィールドおよびWHERE句またはORDER BY句など、「検証表情報」ウィンドウで提供される詳細から実際の値リストの問合せが作成されます。定義のSQL構文および定義の内容を検証し、現在の値セットの定義に問題がある場合はレポートします。
3つの「タイプ」フィールドには管理者が選択する列のタイプが自動的に表示されます。表示された列タイプは絶対に変更しないでください。
登録された1つの列名ではなくSQL式(つまり登録されていない表の列)を「列」フィールドに指定した場合は、式から戻されると予想される値のタイプ(文字、数値、日付のいずれか)を指定する必要があります。このウィンドウでは登録された1つの列ではない列名の情報を検索できないため、そのタイプを指定する必要があります。
この3つの「サイズ」フィールドには、管理者が選択する列のサイズが自動的に表示されます。
非表示ID列を指定しないと、Oracle Applicationsは値セットの最大サイズを使用して、値が基礎フレックスフィールド・セグメント列に適合するかどうかを判断します。管理者の値セットのための最大サイズは、管理者が値列の「サイズ」フィールドに指定する列サイズに自動的に変わります。その値が適合しないと、フレックスフィールド・セグメントを定義するときに自分の値セットを使用できません。
非表示ID列を使用すると、管理者が非表示ID列に指定するサイズがフレックスフィールドのこの値セットの有効な最大サイズとなりますが、これは、Oracle Applicationsが非表示ID列のサイズを使用して値が基礎フレックスフィールド・セグメント列に適合するかどうかを判断するためです。その値が適合しないと、フレックスフィールド・セグメントを定義するときに自分の値セットを使用できません。
特別なことがないかぎり表示された列のサイズは変更しないでください。ただし、基礎列のサイズが管理者の検証表の値の列(または非表示ID列)の実際のサイズよりも小さいフレックスフィールドに値セットを使用するときには、列のサイズの変更を必要とする場合があります。たとえば、参照表の参照コード列(値リスト)を使用していて、使用している参照コードがすべて2文字以下であるとわかっている場合、参照表の列に実際には30文字を含めることができても2を指定しておく方法もあります。そうすると、この値セットを、基礎セグメント列のサイズが2から30であるフレックスフィールドに対して使用できます。
この列の値の最大サイズがこのフィールドで指定する長さと必ず等しいか短いことがわかっていれば、列の表示サイズを変更するのみで十分です。データの切捨てエラー、「値が未定義」エラーなどのエラーが発生する恐れがあるため、実際に出現する可能性がある値のサイズよりも小さめのサイズを指定してOracle Applicationsを混乱させるのは好ましくありません。
登録された1つの列名ではなくSQL式(つまり登録されていない表の列)を「列」フィールドに指定した場合は、式から戻されると予想される値の長さ(サイズ)を指定する必要があります。このウィンドウでは登録された1つの列ではない列名の情報を自動的に検索できないため、サイズを指定する必要があります。
表の中の値のサブセットに対して有効な値セットに制限を設定するには、SQL WHERE句を使用します。たとえば、自分の従業員全員の値と意味を含んだ表があり、カリフォルニアで勤務する従業員の項目のみを検証するときには、有効な値をWHERE LOCATION = 'CALIFORNIA'のみに制限するSQL WHERE句を入力できます。値セットの名前には、この例では「カリフォルニア従業員」というような制限の内容を示すものを選択すると便利です。
自分の値セットを使用するセグメントについての値リストに自分の値が必ず非標準的な順序で表示されるようにするためにはORDER BY句を使用します。標準的な順序は、使用する値セットの書式タイプによって決まります。たとえば曜日が登録されている表がある場合は、「文字」書式タイプの値セットで使用される五十音順「金曜日、月曜日、日曜日...」のかわりに、「月曜日、火曜日、水曜日...」のような実際の順序で値リストを表示する必要がある可能性があります。実際の順序で表示するためには、表の中に各曜日を番号で識別するためのもう1つの列が必要です(その列を隠れた値の列として使用することもできます)。したがって、この番号の列にDAY_CODEという名前を付けると、ORDER BY句はORDER BY DAY_CODEとなります。
警告: 会計フレックスフィールドに使用する予定の値セットには、WHERE句またはORDER BY句、あるいはその両方を決して使用しないでください。一般に、WHERE句またはORDER BY句は会計フレックスフィールド以外のキー・フレックスフィールドに使用する検証表に使用できます。
WHERE句を使用するときは、その句の先頭に「WHERE」を使用する必要があります。ORDER BYを使用する場合は、句の中で「ORDER BY」を使用する必要があります。
句の中でHAVINGやGROUP BYは使用できません。また、UNION、INTERSECT、MINUS、PLUSまたはその他の集合演算子は、副問合せに含まれていないと句で使用できません。
列を参照するためには、使用する検証表が1つのみで、「表名」フィールドでその表の別名を使用していないときでも、表名または別名を句の中に含める必要があります。たとえば、次のように入力します。
where f.application_id = a.application_id
または
where form_table_name.application_id =
application_table_name.application_id
WHERE句で特殊変数を指定し、この値を他の値の基準にすることもできます。このような特殊変数には、次のものがあります。
:$FLEX$.Value_Set_Name
:block.field
:$PROFILES$.profile_option_ name
警告: :block.field構造は、下位互換性を保つためにのみ存在しています。この機能を使用する値セットは、将来のOracle Applicationsのリリースでは使用できません。
特別なバインド変数の使用方法の詳細は、検証表用のWHERE句およびバインド変数を参照してください。
ここでは一般構文を指定する必要があります。
sql_expression_such_as_column_name "Column Title Alias"(width)
表示用に「追加列」フィールドの「列のタイトル別名」または「列幅」を指定する必要があります。列のタイトル別名または列幅のいずれも指定せずにSQL断片部分を指定すると「追加列」フィールドは表示されません。次のようなカンマ区切りの式を複数指定できます。
column_name_1 "Column 1 Title"(width), column_name_2 "Column 2 Title"(width), ...
別名としてメッセージ名も使用できるので、この機能により、列タイトルの変換が容易になります。別名としてメッセージ名を使用する場合の構文は、次のとおりです。
sql_expression_such_as_message name "APPL=<Application Short Name>;NAME=<Message Name>"(width)
表示する列の幅も指定する必要があります。ワイルドカードの(*)を使用すると、表示幅が列に含まれる値によって決まるようにその列を指定できます。単純な列名ではないSQL式には必ず別名を使用する必要があります。複数の表を使用する値セットには、列名に表別名を含める必要があります。たとえば、次のとおりです。
f.user_form_name "Form Title"(30), a.application_name "Application Name"(*)
セグメントまたはパラメータが表示されるときは、列のタイトルとしてパラメータ・プロンプトまたはセグメント・プロンプトとともに値列が表示されます。
連結された列名や定数などのさらに複雑なSQL断片部分を含めることもできます。たとえば、次のとおりです。
f.user_form_name "Form Title"(30),
'Uses table: ' || t.user_table_name "Table Used"(30)
親値の使用を可能にするには、「セグメント値」ウィンドウで自分の検証表にある値に対して親値を作成できます。
ヒント: 会計フレックスフィールド内のセグメントには親値が使用できるようにしておくことをお薦めします。親値は、要約勘定の作成によってOracle Applicationsの生産性を向上させるために使用します。ただし、他の値セットには親値の使用を許可しないようにすることをお薦めします。他の値セットで使用できるようにすると、フレックスフィールドは表内の値の集合および表FND_FLEX_VALUESの中の関連する値を検証するとともに、通常の検証のための問合せを余分に行う必要があるためパフォーマンスの低下を招くことがあります。たとえば、ユーザーがセグメント上で値リストを使用すると、そのリストは両方の表から値を取り出す必要があります。
「追加列」フィールドで追加の列を指定したり、「非表示ID列」フィールドで非表示ID列を指定したり、自分の検証表にSUMMARY_FLAG列があるときには、このフィールドでは必ず「No」を指定してください。
関連トピック
警告: Oracle Applicationsで提供されている定義済の値セットは、変更したり削除したりしないでください。そのような変更を行うと、レポート作成などのアプリケーション機能の動作に思わぬ影響を与えることがあります。
このリージョンの使用の詳細は、特別検証値セットを参照してください。この項では、様々な種類のイベントとフレックスフィールド・ルーチン引数および特別検証で使用する構文について説明しています。また、会計フレックスフィールドの特別検証の実際例も含まれています。
「値セット」ウィンドウの「使用」ボタンを使用して特定の値セットを使用するフレックスフィールド・セグメントまたはコンカレント・プログラム・パラメータを表示できます。
この機能を使用するには、まず、関連するフレックスフィールド・セグメントまたはコンカレント・プログラム・パラメータ・フォームに対する権限が必要です。特に必要な権限は次のとおりです。
値セットを使用する付加フレックスフィールドを表示するために、「付加フレックスフィールド・セグメント」フォームへのアクセス権が必要です。
値セットを使用するキー・フレックスフィールドを表示するために、「キー・フレックスフィールド・セグメント」フォームへのアクセス権が必要です。
値セットを使用するコンカレント・プログラム・パラメータを表示するために、「コンカレント・プログラム (開発モード)」フォームまたは「コンカレント・プログラム (システム管理者モード)」フォームへのアクセス権が必要です。
前述のいずれかのフォームへのアクセス権がない場合、「使用」ボタンは使用できません。
キー・フレックスフィールドまたは付加フレックスフィールドのセグメントまたはレポート・パラメータに有効な値を定義するには、このウィンドウを使用します。初めに検証済の各セグメントに対して最低1つの有効な値を定義しておかないと、フレックスフィールドを使用できません。これらの検証済セグメントは、ユーザーに対してあらかじめ定義された有効なセグメント値の一覧を提供し、検証タイプは「独立」、「依存」、「変更可能独立」、「変更可能依存」または「表」のいずれかです。
「独立」、「依存」、「変更可能独立」、「変更可能依存」または「表」の各タイプの値セットに属する値を定義するには、このウィンドウを使用する必要があります。新規のセグメント値を定義し、値の摘要を指定して、既存の値を使用可能、または使用禁止にできます。
与えられたフレックスフィールド・セグメントに対して値を定義すると、その値が同じ値セットを使用する他のフレックスフィールド・セグメントに対しても自動的に有効な値となります。Oracle Applicationsレポートの多くは、フレックスフィールド・セグメントにも使用できる事前定義済の値セットを使用します。フレックスフィールド・セグメントで標準要求発行レポート・パラメータに関連する値セットが使用されているときは、新たな値を作成したり値を変更したりすると、パラメータにも影響を及ぼします。同じ値セットをパラメータ値に対して使用すると、ここで定義する値はレポート・パラメータに対しても有効となります。
また、セグメント値クオリファイア、積上グループおよび子値範囲も指定します。
さらに、会計フレックスフィールドまたは値階層機能を使用するカスタム・アプリケーション・フレックスフィールドのためのセグメント値階層を表示して保持できます。
重要: 会計フレックスフィールドは、親、積上グループ、階層レベル、セグメント・クオリファイアについての情報を使用する唯一のOracle Applicationsキー・フレックスフィールドであるため、この情報は会計フレックスフィールドと関連付けられた値にのみ入力すれば十分です。
階層を評価するためのある種のタイプ変更に対して、値階層を作成しなおすためにコンカレント要求が発行されます。変更によって影響を受ける値セット(値を定義または保守しているセグメントに付加されている値セット)につき、要求が1個発行されます。たとえば、5つの異なるキー・フレックスフィールド・セグメントがすべて異なる値セットを使用している場合、その階層構造を変更すると、最大5個のコンカレント要求が発行されます。
コンカレント要求は、値階層への次のような変更に対して発行されます。
新しい階層範囲を定義したり、既存の階層範囲を更新、削除する場合。
階層範囲が別の値に移動した場合。
親でない値の値定義を更新した場合。たとえば、説明を変更した場合です。
ヒント: 値の階層体系について慎重に計画を立ててから値を定義すると、将来追加の値が必要となったときに体系の論理パターンをくずさずに拡張できるので保守も容易です。
重要: 別のユーザーが値セットを変更中のときは、Oracle General Ledger実行時にセグメント値ウィンドウのバージョンを使用しても、勘定科目階層エディタを使用しても、その値セットの値は変更できません。値セットが現在変更中であるとのメッセージが表示されたときには、後で変更するようにしてください。
値セットがフレックスフィールド検証表(検証タイプ「表」)に基づいたもので、かつ親値が使用できるように値セットを定義してあるときには、このウィンドウで表の値の親値を定義できます。このウィンドウで親値と積上グループを格納できますが、この親値と積上グループは検証表には追加されません。ユーザーが定義する親値の子の値の範囲を定義でき、親値を積上グループに割り当てることができます。検証表の中の値は子値であってもかまいませんが、親値は使用できず、それを積上グループに割り当てることもできません。このウィンドウでは、検証表に新規の値を作成できません。
セグメント値へ入力する前に、次の前提条件が完了済であることを確認してください。
「値セット」ウィンドウを使用して、「独立」値セットを定義し、それらの値セットに依存する「依存」値セット、およびフレックスフィールドが必要とする「表検証」値セットを定義します
「キー・フレックスフィールド・セグメント」ウィンドウを使用してフレックスフィールド体系とセグメントを定義します
または
「付加フレックスフィールド・セグメント」ウィンドウを使用してフレックスフィールド体系とセグメントを定義します
積上グループがあれば、それを定義します。「積上グループ」ウィンドウを参照してください。
ヒント: まずこのウィンドウを使用してアプリケーションで使用する独立値をすべて定義し、次に依存値を定義してください。
このウィンドウでは、自分の職責に対して使用可能なフレックスフィールド・セキュリティ・ルールに違反する独立タイプの値を選択できません。
関連トピック
このブロックを使用して、有効な値を定義し、積上グループとセグメント・クオリファイアの値が必要であればそれを指定し、値を使用可能および使用禁止にします。セグメントまたは「依存」タイプの値セットのデフォルト値として使用する値を定義するときは、その値の開始日と終了日は指定できません。また、自分のデフォルト値を除外するようなセキュリティ・ルールを定義することはできません。
キー・フレックスフィールドの中には、セグメント・クオリファイアを使用して個々のキー・セグメント値についての追加情報を保持するものもあります。たとえば、Oracle Applications製品の会計フレックスフィールドでは、セグメント・クオリファイアを使用して、勘定科目値の勘定科目タイプを決めたり、与えられた値を含む会計フレックスフィールドの組合せに対して詳細予算登録と詳細転記を可能とするかどうかを決めます。
自分の職責に対して使用可能なフレックスフィールド・セキュリティ・ルールに違反する値は定義できません。
関連トピック
『Oracle General Ledgerユーザーズ・ガイド』の親および子の値と積上グループに関する項
ほとんどのフレックスフィールド・セグメントおよびレポート・パラメータの値は簡単に定義できますが、値に使用する値セットがそれぞれ独立しており、会計フレックスフィールドと一緒に使用されていないことが前提です。
セグメント値を定義する手順は、次のとおりです。
「セグメント値」ウィンドウにナビゲートします。
値が属する値セットを問い合せます。値を探すには、その値セットまたはフレックスフィールド・セグメント、あるいは検証の値セットを使用するコンカレント・プログラム・パラメータを使用します。
アプリケーションにとって有効なセグメント値を入力します。有効な値は、ワード、句、短縮語または数値コードのいずれでもかまいません。ユーザーは、この値セットを使用するフレックスフィールド・セグメントまたはレポート・パラメータにこの値を入力できます。また、ユーザーが、この値セットを使用するフレックスフィールド・セグメントで値を選択するときに、この値が表示されます。
管理者が定義する値は、管理者が値セットに定義した基準を満たすものにしてください。たとえば、値セットが1文字の長さでアルファベットや特殊記号が使用できないように設定されていれば、このフィールドには0から9の値しか入力できません。
この値セットを使用するフレックスフィールドに対して定義されたセグメント・セパレータ文字を含む値を入力すると、アプリケーション・ウィンドウでは、その値の中の文字は連結値フィールドで ^ (または、使用中のプラットフォームに依存している別の英数字以外の文字)として表示され、セグメント・セパレータと区別されます。この変更は連結された表示のためにのみ行われ、値には影響しません。
個々の値はアプリケーションの中の複数箇所から参照されることがあるため、1度定義した有効な値は削除したり、変更したりできません。ただし、有効な値(または、「変更可能独立」や「変更可能依存」の値セットの換算値)を問い合せた後でその値の説明を「摘要」フィールドで変更することはできます。
自分の職責に対して使用可能なフレックスフィールド・セキュリティ・ルールに違反する値は定義できません。
値セットが「変更可能独立」または「変更可能依存」の値セットである場合、この値はフレックスフィールド・ウィンドウではユーザーには非表示になります。
値セットのタイプが、「変更可能独立」または「変更可能依存」である場合、「換算値」フィールドが使用可能になります。前のステップの値がデフォルトで入っています。ツールバーの「換算」アイコンを使用して、インストールされているすべての言語に対して換算値を更新できます。
換算値も非表示の値と同様、評価されます。たとえば、値セットの最大サイズが50文字になるように定義している場合、換算値は50文字を超えることはできません。
値の説明を入力します。ユーザーが、この値セットを使用するフレックスフィールド・セグメントで値を選択するときに、値とこの説明が表示されます。
「使用可能」チェック・ボックスを選択して値を有効にします。
値を一定の期間のみ有効にするには、開始日と終了日、またはそのいずれかを入力します。その値は、開始日と終了日を含めてその期間のみ有効となります。
値はシステム内の別の場所で参照されているため、このウィンドウで削除することはできませんが、いつでも使用禁止にできます。セグメント・デフォルトまたはデフォルトの依存値として使用するセグメント値は、使用禁止にしたり、有効期間を設定したりできません。
値セットが会計フレックスフィールドで使用される値を定義するときには、階層情報とクオリファイア情報を定義します。階層およびクオリファイア情報の定義を参照してください。
変更を保存します。
関連トピック
会計フレックスフィールドとともに使用される値セットの値を定義するときには、階層情報とクオリファイア情報のみを定義します。
階層情報とクオリファイア情報に入力する前にセグメント値を定義します。セグメント値の定義を参照してください。
この値が親値であるかどうかを判断します。親値であれば、その値の子値の範囲を定義または移動できるので、この値を積上グループに割り当てることができます。親値ではないときには、その値の子値の範囲を定義したり移動することはできず、この値を積上グループに割り当てることもできません。
このフレックスフィールド・セグメント値を割り当てる積上グループの名前を入力します。積上グループを使用して、レポート作成またはその他のアプリケーション目的に使用する親のグループを識別できます。このフレックスフィールド・セグメント値が親値で、キー・セグメント・ウィンドウ内の「積上グループの確定」が「No」に設定されているときにかぎり、積上グループ名を入力できます。「子範囲の定義」ゾーンに、このフレックスフィールド・セグメント値の子値の範囲を入力できます。積上グループを作成するには、「積上グループ」ウィンドウを使用します。「積上グループ」ウィンドウを参照してください。
この値のレベルを入力します。ここでは、階層体系内のこの値の相対的なレベルの説明でもかまいません。このレベルについての説明は、運用上の便宜のためです。
会計フレックスフィールドとともに使用する値を定義するときは、各値についてセグメント・クオリファイア情報を必ず定義します。クオリファイアを参照してください。
キー・フレックスフィールドの中には、セグメント・クオリファイアを使用して個々のキー・セグメント値についての追加情報を保持するものもあります。たとえば、会計フレックスフィールドでは、セグメント・クオリファイアを使用して、勘定科目値の勘定科目タイプを決めたり、与えられた値を含む会計フレックスフィールド組合せに対して詳細予算と詳細転記を可能とするかどうかを決めます。
セグメント・クオリファイア付きのキー・フレックスフィールドが使用する値セットの値を定義しているときは、この情報の入力を求める「セグメント・クオリファイア」ポップアップ・ウィンドウが表示されます。この同じ値セットを付加フレックスフィールドなどの追加のフレックスフィールドと共有するときには、このウィンドウでどのように自分の値セットを識別したかにかかわらず「セグメント・クオリファイア」ポップアップ・ウィンドウが表示されます。セグメント・クオリファイアには、値を使用するセグメントではなく、値そのものについての情報が含まれます。
セグメント・クオリファイア値を保存すると、セグメント・クオリファイアの値がメイン・ウィンドウの「クオリファイア」フィールドに表示されます。「クオリファイア」フィールドをクリックして、「セグメント・クオリファイア」ウィンドウを表示し、クオリファイアを確認できます。
「予算登録の許可」、「転記の許可」および「勘定科目タイプ」の各フィールドは会計フレックスフィールドのためのセグメント・クオリファイアです。
注意: Oracle General LedgerにはInherit Segment Value Attributesコンカレント・プログラムが付随しており、このプログラムでは、勘定科目組合せの属性(可能な詳細予算登録、可能な詳細転記、グローバル消込フラグ、使用可能フラグ、開始日や終了日など)がその勘定科目組合せのセグメント値に対して変更された場合に、これらの属性を自動更新できます。
詳細は、『Oracle General Ledgerユーザーズ・ガイド』を参照してください。
詳細予算をこのセグメント値を持ったGL勘定で可能にするかどうかを示します。この値を受け入れると、このセグメント値を持ったGL勘定に対して詳細予算登録を実行できます。「No」を入力すると、このセグメント値を持ったGL勘定を予算対象組織に割り当てることも、このセグメント値を持ったGL勘定に予算算式を定義することもできません。
親セグメント値を定義しているときには、詳細予算登録がすでに可能となっているセグメント値を参照する他のセグメント値に対して予算額を設定できないため、ここでは「No」を入力します。
すでに定義したセグメント値に関してこのフィールドを変更するには、その値を含むすべてのGL勘定にも対応する変更を行ってください。フレックスフィールド組合せに対して詳細予算登録を可能にしたり、禁止したりするには「GL勘定組合せ」ウィンドウを使用します。
「Yes」または「No」を入力することにより、Oracle Applicationsでこのセグメント値を持ったGL勘定に対して詳細転記を可能にするかどうかを指示します。このフィールドのデフォルト値は「Yes」です。この値では、このセグメント値を持ったGL勘定に対して直接転記できます。「No」を入力すると、「仕訳の入力」ウィンドウ上のGL勘定でこのセグメント値を使用することも、このセグメント値を持ったGL勘定に影響を与える算式仕訳項目を定義することもできなくなります。
親セグメント値を定義しているときには、ここでは「No」を入力します。
すでに定義したセグメント値に関してこのフィールドを変更するには、その値を含むすべてのGL勘定にも対応する変更を行ってください。自分のフレックスフィールド組合せに対して詳細転記を可能にしたり、禁止したりするには「GL勘定組合せ」ウィンドウを使用します。
値を要求するこのクオリファイアは、勘定科目セグメントについてのみ表示されます。セグメント値が表す所有勘定のタイプ(資産、負債、資本、収入または支出)または予算勘定のタイプ(借方予算または貸方予算)を入力します。統計勘定セグメント値を定義するときは、固有の貸借対照表勘定タイプを選択します。統計勘定科目セグメント値について固有の損益計算書勘定タイプを選択すると、会計年度の終わりに統計残高が差引きゼロになります。
管理者のGL勘定組合せは、それに含まれる勘定科目セグメントと同じ勘定科目タイプとなります。勘定科目タイプに対する変更は、再分類された勘定科目セグメントを使用して作成した新規のGL勘定のみに影響を与えます。勘定科目タイプを変更しても、既存のGL勘定科目の勘定タイプは変更されません。
会計フレックスフィールドの設定の詳細は、『Oracle General Ledgerインプリメンテーション・ガイド』を参照してください。
階層詳細ボタンを使用して、ウィンドウをオープンし、値階層についての詳細情報を定義し更新できます。
階層詳細ゾーンとそれに続くゾーンは、主として会計フレックスフィールドのセグメントで使用する値のために使用します。
変数 | 説明 |
---|---|
子範囲の定義 | このボタンを選択すると、自分の親値の子の範囲を定義できます。自分の値がすでに親値となっていない限り、このボタンは使用禁止状態にあります。 |
子範囲の移動 | このボタンを選択すると、子の範囲を1つの親値から別の親値へ移動できます。自分の値がすでに親値となっていない限り、このボタンは使用禁止状態にあります。 |
階層の表示 | このボタンを選択すると、選択した値が属する階層体系を見ることができます。このウィンドウでは変更は行えません。管理者の値が階層体系に属していない(親値であるか別の親値の子値である)ときには、このボタンは使用禁止状態にあります。 |
このウィンドウを使用すると、「セグメント値」ゾーンで定義した値の子値を定義できます。Oracle Applicationsでは、データ・グループについてのデータまたはレポートのファミリをまとめるために子値を使用します。範囲のセットを入力して子値を指定します。子値を1つのみ指定するには、その値に等しい上限と下限を設定します。
その値が積上グループに属し、積上グループが確定されているときは、このウィンドウをオープンできません。積上グループを確定するには、「キー・フレックスフィールド・セグメント」ウィンドウを使用します。
ネットワーク型の階層を作成できます。つまり、特定の値が、1つ以上の親の子であるような階層構造を作成できます。値の階層構造を計画するときは、同じ値を2回以上レポートしたり、カウントして情報の不要な複写が行われないように、注意する必要があります。
たとえば、次のような階層構造を定義するものとします。
この構造では、親値1000には100、200および300の子値があり、値300は子値301、302および303の親値です。親値300に対して、子値の範囲を301(下限)から303(上限)までと指定できます。301、302、303の3つの値はどれも親値ではないため、この範囲を子の範囲タイプにできます。
親値1000については、2つの非親値(100と200)と親値(300)を含めるために2つの範囲を指定する必要があります。まず、子値の範囲を100(下限)から200(上限)までと指定し、この範囲に100と200の値、およびその間のすべての値を含めるために子の範囲タイプにします(かわりに、同じ値を下限と上限の両方に指定してこの2つの値を別々に指定することもできます)。次に、親値300を含めるために、子値の範囲を300(下限)から300(上限)までと指定し、この範囲を親の範囲タイプにします。
自分の子値の範囲の上限および下限を入力します。「値セットの定義」ウィンドウでこの値セットに定義した検証基準を満たすものであれば、どのような値でも入力できます。自分の子値の範囲の上限は、その下限と等しいかそれよりも大きくしてください。これらの範囲は、値セットの書式タイプにより動作が異なります。たとえば、書式タイプが「文字」の値セットでは、100は99よりも小さくなります(両方とも数字に見えますが)。同様に、100から200の値を含む範囲には、値1000が含まれます。
重要: 会計フレックスフィールドでは書式タイプが「CHAR」の値セットが使用されるため、これらの値セットに対する子範囲の指定には注意が必要です。たとえば、両方とも数字のように見えますが、100は99よりも小さくなります。
1つの値のみが含まれる範囲を指定するには、下限と上限の両方に同じ数値を入力します。
子を選択すると、指定された範囲に含まれる子値は、親値の子と見なされます。親を選択すると、指定された範囲に含まれる親値は、親値の子と見なされます。親を指定すると、ツリー構造の階層を作成できます。
旧バージョンのOracle Applicationsからの既存の子範囲があるときには、これらの範囲は自動的に子の範囲タイプになり、旧バージョンでの動作をそのまま引き継ぎます。
Oracle General Ledgerの会計フレックスフィールドのセグメントで使用する値を見るときのみこのウィンドウを使用するようにしてください。
このゾーンでは、階層体系の変更はできません。
「値」フィールドでは、「親値」フィールドに表示される親値の子値が表示されます。
「親」フィールドでは、子値自身が親値であるかどうかが表示されます。もしそうである場合は、「ナビゲート」内の「下へ」ボタンを選択してこの値のすべての子値を表示できます。
現在の値のすぐ上のレベルの値を見るには「上へ」を選択します。この値が親値であれば、「下へ」を選択すると現在の値に属する子値を見ることができます。この値に2つ以上の親があるときには、ナビゲーションが可能な親値のリストが表示されます。ネットワーク型の階層を下方に移動してから「上へ」を選択すると、最後にナビゲーションを始めた親に戻れます。
階層を上下に移動すると、このウィンドウの中の「親値」フィールドに表示される親値が自動的に変わり、現在見ている値のレベルのすぐ上のレベルの親値を示します。
たとえば、次のような階層体系(ここではネットワーク型)があるとします。
この構造では、親値1000には100、200および300の子値があり、値300は子値301、302および303の親値です。値303には、303A、303B(この値は303BBの親値です)および303Cの子値があります。また値00003も303の親値であり、403および503の子値があります。「セグメント値」ゾーンで値1000から始まる構造を見るとします。「階層の表示」ウィンドウをオープンすると、値100、200および300を持つ親値1000が、次のように表示されます。
上に示したようにカーソルを300に置いて「下へ」を選択します(この値では「下へ」以外選択できません)。「下へ」を選択すると、表示がただちに次のように変わります。
上に示したようにカーソルを303に置いて「下へ」を選択します(この値では「上へ」と「下へ」のどちらでも選択できます)。「下へ」を選択すると、次のように子値303A、303Bおよび303Cが表示されます。
上に示したようにカーソルを303Bに置いて「下へ」を選択します(この値では「上へ」、「下へ」または「ネットワーク」のいずれかを選択できます)。「下へ」を選択すると、値303Bが子値303BBとともに次のように表示されます。
上に示したように「上へ」を選択します(この値には「上へ」のみ選択できます)。「上へ」を選択すると、値303が子値303A、303Bおよび303Cとともに次のように表示されます。
ここで、カーソルは値「303B」の横にあり、「親値」ゾーンには「303」が親として表示されます。ここで「上へ」を選択すると、元の親値(303、その親値は300)に戻ることも親値00003に続く他の階層パスをたどることもできます。「303B」を選択すると、ウィンドウがオープンし、そこで300と00003の2つの選択が可能で(この2つの選択項目は「親値」フィールドに表示される値を示します。どちらかを選択すると、303が「子」ブロックに表示されます)、300はハイライト表示となります。ここで「00003」を選ぶと、子値303、403および503を持つ親値00003が、次のように表示されます。
ここでは、これよりも上の階層体系にいくことはできません。
このウィンドウでは、子値の範囲を1つの親値(ソース値)から別の親値(接続先の値)へと移動できます。子値の範囲を親値間で移動すると、移動した範囲に含まれる子値に属する子値もいっしょに移動します。つまり、子を別の親に移動すると、孫値もいっしょに移動します。
このウィンドウは、会計フレックスフィールドのセグメントで使用する値に対してのみ使用します。
たとえば、次のような階層構造を定義したとします。
値1000は、子値100、200および300の親値であり、値300は子値301、302および303の親値です。別の構造は子値のない親値003で構成されます。親値300を親値1000から親値003へ移動する場合、子値の範囲が301(下限)から303(上限)までの子値も移動します。その結果、301、302および303はいずれも1000ではなく値003の孫値となります。
子範囲の移動元とする値を入力します。
このフィールドでは、デフォルトで「セグメント値」ウィンドウで選択した親値が表示されます。
接続先の値の子範囲に移動しようとする子範囲を選択します。
「タイプ」フィールドには、子値の範囲に含まれる値のタイプが表示されます。このフィールドに子が含まれていると、指定された範囲に含まれる子値は、親値の子と見なされます。フィールドに親が含まれていると、指定された範囲に含まれる親値は、親値の子と見なされます。
「接続先」ブロックでは、現在接続先の親値に属する子値範囲が表示されます。
子値の範囲の移動先とする親値を入力します。すでに親値である値しか選択できません。
「タイプ」フィールドには、子値の範囲に含まれる値のタイプが表示されます。このフィールドに子が含まれていると、指定された範囲に含まれる子値は、親値の子と見なされます。フィールドに親が含まれていると、指定された範囲に含まれる親値は、親値の子と見なされます。
「移動」ボタンを選択して、「ソース」ブロックで選択した子範囲を「先」ブロックで指定した接続先親値に移動します。
関連トピック
『Oracle General Ledgerユーザーズ・ガイド』の親および子の値と積上グループに関する項
このウィンドウを使用して、キー・フレックスフィールド値を割り当てる積上グループを定義します。積上グループを使用して、レポート用またはその他のアプリケーション用に親値のグループを識別できます。キー・フレックスフィールド・セグメント値を積上グループへ割り当てるには、「セグメント値」ウィンドウを使用します。
Oracle Applicationsでは、会計フレックスフィールドのみが積上グループを使用します。積上グループは、レポート用にサマリー科目を作成するときに使用されます。
積上グループの定義の詳細は、『Oracle General Ledgerインプリメンテーション・ガイド』を参照してください。
関連トピック
『Oracle General Ledgerインプリメンテーション・ガイド』の要約勘定の作成に関する項
積上グループを定義する前に、次を実行します。
「値セット」ウィンドウを使用して、「独立」値セットを定義し、それらの値セットに依存する「依存」値セット、およびフレックスフィールドが必要とする「表検証」値セットを定義します。「値セット」ウィンドウを参照してください。
「キー・フレックスフィールド・セグメント」ウィンドウを使用してフレックスフィールド体系とセグメントを定義します。キー・フレックスフィールド・セグメントを参照してください。
次のステップを実行します。
積上グループのコードを入力します。コードは必須で、内部的に使用されます。
積上グループの名前および摘要を入力します。
変更を保存します。
「セグメント値」ウィンドウを使用して、積上グループ名を特定の値に適用します。セグメント値の定義を参照してください。
積上グループの定義の詳細は、『Oracle General Ledgerインプリメンテーション・ガイド』を参照してください。
関連トピック