18.4.8.5 例による問合せおよび親と子のユースケースのフィルタ・パラメータ

例による問合せ(QBE)および親と子のユースケースの場合のフィルタ・パラメータについて学習します。

例による問合せのユースケースの構築について

カスケード選択リストおよび例による問合せ(QBE)のユースケースを簡単に構築するために、BOSS RESTデータ・ソースでは、行のフェッチデータベース・アクションに関連するGET操作に対してフィルタ・パラメータを定義できます。これらは、ランタイム動作の3つの側面を宣言的に構成する特別に定式化されたパラメータ名を持つ「URLパターン」のパターン・パラメータです:

  • フィルタする大/小文字を区別する属性の名前。たとえば:

    someAttr

  • 使用するフィルタ演算子:
    • equals (eq)
    • 大/小文字を区別しないcontains (contains)
    • 大/小文字を区別しないstarts-with (startswith)
  • パラメータの値がNULLである場合の目的とする動作:
    • パラメータ値がNULLの場合はフィルタを無視する(ignoreifnull)
    • パラメータ値がNULLの場合は行を返さない(norowsifnull)
    • NULL値と一致する(matchifnull)

フィルタ・パラメータの名前は次の形式になります:

attrName_operator$behavior

カスケード・リストのユースケース

たとえば、SubcomponentsForComponentという名前のデータ・ソースで、equals演算子を使用してcomponentIdという親属性をフィルタし、その値がNULLである場合は行を返さないようにする場合、定義するフィルタ・パラメータ名は次のようになります:

componentId_eq$norowsifnull

P3_COMPONENT_IDP3_SUBCOMPONENT_IDのカスケード選択リストが含まれたページを作成する場合、後者は、SubcomponentsForComponent BOSS RESTデータ・ソースを使用する共有コンポーネントLOVに基づいた選択リスト・ページ・アイテムにできます。このLOVにより、データ・ソースのcomponentId_eq$norowsifnullパラメータの値をページ・アイテムP3_COMPONENT_IDの値に割り当てることができます。その後、ページ・デザイナでP3_SUBCOMPONENT_ID選択リスト・ページ・アイテムの親アイテムとしてP3_COMPONENT_IDを構成すると、カスケード・リストが想定どおりに動作するようになります。

例による問合せページのユースケース

Peopleという名前のデータ・ソースがあるとします。firstName属性とlastName属性に対して、大/小文字を区別しないcontainsマッチングを実行して、その値がNULLである場合にそれぞれのフィルタを無視するには、次の2つのフィルタ・パラメータ名を定義します:

  • firstName_contains$ignoreifnull
  • lastName_contains$ignoreifnull

例による問合せのページで、ページ・アイテムP4_FIRST_NAMEP4_LAST_NAMEを定義し、前述の2つのRESTデータ・ソース・パラメータを、それらの値をそれぞれのページ・アイテムから取得するように構成できます。検索結果リージョンの「送信するページ・アイテム」プロパティでP4_FIRST_NAMEP4_LAST_NAMEが示されていることを確認できたら、例による問合せのページのできあがりです。