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

例による問合せおよび親と子のユースケースのフィルタ・パラメータを作成します。

カスケード選択リストおよび例による問合せ(QBE)のユースケースを簡単に構築するために、APEX 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 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が指定されていることを確認すると、動作する例による問合せページができあがります。