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

PublisherでOracle E-Business Suiteセキュリティを使用するように構成済の場合は、作成するレポートでキー・フレックスフィールドをパラメータとして利用できます。

データ・モデルを定義するときに、キー・フレックスフィールドをパラメータとして渡すように設定すると、Publisherではレポート利用者に対してダイアログが表示され、ここで選択されたフレックスフィールド・セグメントがパラメータとしてレポートに渡されます。これは、E-Business Suiteのコンカレント・マネージャを通してレポートを実行するときにフレックスフィールドが渡される方法に似ています。

次に示されているように、フレックスフィールド値リストはレポート・ビューアに表示されます。

次に示されているように、フレックスフィールド値リストはセグメント値を選択するダイアログとして表示されます。

フレックスフィールドを使用するための前提条件

値リストを定義するときは、「フレックスフィールド」というリスト・タイプが表示されます。

フレックスフィールド・タイプの値リストを有効にするには、E-Business Suiteセキュリティを使用するように構成します。フレックスフィールドがすでにE-Business Suite内で定義されている必要があります。

フレックスフィールド・パラメータおよび値リストの追加

値リストを追加することで、フレックスフィールド・パラメータを追加します。

フレックスフィールド・タイプの値リストは、フレックスフィールド・メタデータ定義を取り出して、各セグメントの適切な値をフレックスフィールド値リスト選択ダイアログに表示します。フレックスフィールド・パラメータを使用して、データ・モデル内で定義されたフレックスフィールドに値を渡します。

実行時に、&flexfield_name参照は字句コードで置き換えられます。この字句コードは、フレックスフィールド・コンポーネント定義の中の値に基づいて作成されます。

  1. フレックスフィールド値リスト(LOV)を追加します。
  2. パラメータを追加してフレックスフィールドLOVに関連付けるには、フレックスフィールド値リストをパラメータのソース・メニューとして選択します。
  3. フレックスフィールド・コンポーネントをデータ・モデルに追加します。
  4. フレックスフィールドをSQL問合せで参照するには、&flexfield_name構文を使用します。

フレックスフィールド値リストの追加

フレックスフィールド定義から取得した値リストを追加します。

「タイプ」で「フレックスフィールド」を選択すると、「データソース」オプションは編集不可能になります。フレックスフィールド・タイプの値リストはすべて、Oracle E-Business Suiteをデータソースとして使用します。

  1. 「データ・モデル」のコンポーネント・ペインで、「値リスト」をクリックし、「新規値リストの作成」をクリックします。
  2. 「名前」にリストの名前を入力し、「タイプ」で「フレックスフィールド」を選択します。
  3. Flex_Acct_List: Type: Flexfieldsペインで、次を入力します:
    • アプリケーションの短縮名 - E-Business Suiteアプリケーションの短縮名(例: SQLGL)。

    • IDフレックス・コード - このフレックスフィールドに対してキー・フレックスフィールドの登録フォームで定義されたフレックスフィールド・コード(例: GL#)。

    • IDフレックス番号 - フレックスフィールド構造情報が格納されているソース列またはパラメータの名前(例: 101、:STRUCT_NUM)。パラメータを使用する場合は、そのパラメータがデータ・モデル内で定義されていることを確認してください。

    次のイメージに、フレックスフィールド・タイプLOVの例を示します。

フレックスフィールド値リストのメニュー・パラメータの追加

フレックスフィールド値リストを表示してユーザーが選択した値を取り込むために、パラメータを定義します。

フレックスフィールド・タイプのパラメータ定義には、範囲フレックスフィールドをサポートするために「範囲」という追加フィールドがあります。範囲フレックスフィールドでは、各キー・セグメントの値が1つだけではなく、下限値と上限値がサポートされます。フレックスフィールドのデフォルト値およびレポート定義での行配置をカスタマイズできます。行配置とは、このパラメータをレポート・ビューア内のどの場所に表示するかを決定するものです。

オプションのうち、「リストに表示する値の数」「複数選択」「全選択可能」および「変更時に他のパラメータをリフレッシュ」は、フレックスフィールド・パラメータの場合は無効になります。

  1. 「データ・モデル」のコンポーネント・ペインで、「パラメータ」をクリックし、「新規パラメータの作成」をクリックします。
  2. 「パラメータ・タイプ」リストから「メニュー」を選択します。
  3. 「データ型」として「文字列」または「整数」を選択します。
  4. 「デフォルト値」にフレックスフィールド・パラメータのデフォルト値を入力します。
  5. 「行配置」に入力します。
  6. 「表示ラベル」を入力します。表示ラベルは、レポートを表示したときにユーザーに表示されるラベルです。たとえば、Account Fromです。
  7. このパラメータに定義した「値リスト」を選択します。
    選択した値リストがのタイプがフレックスフィールドである場合は、「範囲」というフィールドも表示されます。

次のイメージに、フレックスフィールド値リストのパラメータ定義を示します。

データ・モデルで定義されたフレックスフィールドへのフレックスフィールド・パラメータを使用した値の引渡し

メニュー・パラメータをフレックスフィールド値リストに追加した後、パラメータ値をデータ・モデル内のフレックスフィールド・コンポーネントに渡せます。

データ・モデル内でフレックスフィールドを定義するには:
  1. 「データ・モデル」のコンポーネント・ペインで、「フレックスフィールド」をクリックし、「新規フレックスフィールドの作成」をクリックします。
  2. 次のように入力します。
    • 名前 - フレックスフィールド・コンポーネントの名前を入力します。

    • タイプ - リストからフレックスフィールドのタイプを選択します。ここで選択したタイプによって、必要になる追加フィールドが決まります。

    • アプリケーションの短縮名 - このフレックスフィールドを所有するOracle Applicationの短縮名を入力します(例 - GL)。

    • IDフレックス・コード - このフレックスフィールドに定義したフレックスフィールド・コードを、登録キー・フレックスフィールド形式で入力します(例 - GL#)。

    • IDフレックス番号 - フレックスフィールド構造情報を格納しているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

  3. ページの下の部分で、選択したフレックスフィールドのタイプの詳細を入力します。パラメータ値を受け取ることになっているフィールドについて、パラメータ名を、先頭にコロンを付けて入力します(たとえば、:P_Acct_List)。

    次の図で、フレックスフィールド・コンポーネントの「タイプ」はWhereと定義されています。パラメータ「:P_Acct_List」が「オペランド1」フィールドに入力されています。実行時に、パラメータP_Acct_Listに対してユーザーが選択した値を使用してwhere句が作成されます。

SQL問合せ内でのフレックスフィールドの参照

最後に、E-Business Suiteデータベースに対するSQL問合せを作成します。

SQL問合せで字句構文を使用します。次の図で、&Acct_FlexがSQL問合せのWHERE条件でコールされたフレックスフィールド字句構文です。

値の範囲の引渡し

値の範囲を渡せるようにフレックスフィールド値リストのパラメータを定義するには、2つのメニュー・パラメータを作成し、両方が同じフレックスフィールドLOVを参照するように設定します。

実行時に、ユーザーが上限値を値リストから選択し、下限値を同じ値リストから選択します。この2つの値が、オペランドとしてデータ・モデルのフレックスフィールド・コンポーネントに渡されます。

  1. フレックスフィールドLOVを1つ作成します。
  2. 上限範囲パラメータを作成します。「範囲」フィールドに「高」を選択し、このパラメータを上限値として指定します。
  3. 下限範囲パラメータを作成します。「範囲」フィールドに「低」を選択し、このパラメータを下限値として指定します。どちらのパラメータも、ステップ1で作成したフレックスフィールド値リストを参照します。次の図に、範囲を定義するパラメータの作成方法を示します。
  4. データ・モデル内にフレックスフィールドを作成します。

    ページの下の部分で、選択したフレックスフィールドのタイプの詳細を入力します。先頭にコロンを付けてパラメータを入力します。たとえば、:P_Acct_Listです。

    次の図で、フレックスフィールド・コンポーネントの「タイプ」はWhereと定義されています。パラメータ「:P_FLEX_LOW」と「:P_FLEX_HIGH」が「オペランド1」フィールドと「オペランド2」フィールドに入力されています。実行時に、パラメータP_FLEX_LOWおよびP_FLEX_HIGHに対してユーザーが選択した値を使用してwhere句が作成されます。

このデータ・モデルが関連付けられたレポートがレポート・ビューアに表示される際、次に示されているように、レポート利用者に2つのフレックスフィールド・パラメータが表示されます。

レポート利用者がフレックスフィールドの上限または下限のインジケータ(...)をクリックすると、次の図に示されているように上限値と下限値の両方を入力できるダイアログが開きます。

レポート・ビューアでの範囲フレックスフィールド・パラメータの表示特性は、E-Business Suiteでの範囲フレックスフィールドの表示によく似ています。