18.4.8.5 例による問合せおよび親と子のユースケースのフィルタ・パラメータ
例による問合せ(QBE)および親と子のユースケースの場合のフィルタ・パラメータについて学習します。
例による問合せのユースケースの構築について
カスケード選択リストおよび例による問合せ(QBE)のユースケースを簡単に構築するために、BOSS RESTデータ・ソースでは、行のフェッチ
データベース・アクションに関連するGET
操作に対してフィルタ・パラメータを定義できます。これらは、ランタイム動作の3つの側面を宣言的に構成する特別に定式化されたパラメータ名を持つ「URLパターン」のパターン・パラメータです:
-
フィルタする大/小文字を区別する属性の名前。たとえば:
someAttr
- 使用するフィルタ演算子:
- equals (
eq
) - 大/小文字を区別しないcontains (
contains
) - 大/小文字を区別しないstarts-with (
startswith
)
- equals (
- パラメータの値がNULLである場合の目的とする動作:
- パラメータ値がNULLの場合はフィルタを無視する(
ignoreifnull
) - パラメータ値がNULLの場合は行を返さない(
norowsifnull
) - NULL値と一致する(
matchifnull
)
- パラメータ値がNULLの場合はフィルタを無視する(
フィルタ・パラメータの名前は次の形式になります:
attrName_operator$behavior
カスケード・リストのユースケース
たとえば、SubcomponentsForComponent
という名前のデータ・ソースで、equals
演算子を使用してcomponentId
という親属性をフィルタし、その値がNULLである場合は行を返さない
ようにする場合、定義するフィルタ・パラメータ名は次のようになります:
componentId_eq$norowsifnull
P3_COMPONENT_ID
とP3_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_NAME
とP4_LAST_NAME
を定義し、前述の2つのRESTデータ・ソース・パラメータを、それらの値をそれぞれのページ・アイテムから取得するように構成できます。検索結果リージョンの「送信するページ・アイテム」プロパティでP4_FIRST_NAME
とP4_LAST_NAME
が示されていることを確認できたら、例による問合せのページのできあがりです。