ページ区切り構成

この製品の様々なデータ・エクスプローラ・ゾーンでは、「前」および「次」のボタンまたはリンクを使用して大規模な結果セットのページを移動できるように、ページ区切りを構成する機能がサポートされています。

この機能を構成する際は、影響を受ける複数のゾーン・パラメータがあります。次の手順で構成します。

  • ゾーンのページ区切りの基本的な設定を定義するには、「ページ区切りの有効化」パラメータを構成する必要があります。このパラメータは、「前」および「次」処理をボタン、リンクまたはアイコンのいずれとして定義するかを定義し、処理の表示位置を指定します。新しいページに表示せずに追加の行を単純に追加するかどうかを示すことも可能です。特定の構文の詳細は、パラメータの埋込みヘルプを参照してください。

  • 「レコード件数表示」パラメータを適切に設定し、レコード件数およびページ情報を使用してゾーンを構成することをお薦めします。特定の構文の詳細は、パラメータの埋込みヘルプを参照してください。

  • 「SQLで取得する行数」パラメータを設定し、1ページごとに表示するレコード数を定義します。このパラメータを指定しないと、「表示する行数」パラメータの値が使用されます。

  • システムで改ページを追跡できるように、ページ区切りに使用するキーを構成します。データはページ区切りキーでソートする必要があります。その結果、ページ区切りキーを識別するための判断には、ゾーンの設計と表示されるデータを考慮する必要があります。また、正しく改ページされるために、ページ区切りキーは一意にする必要があります。後述されている構成の例を参照してください。

    • ページ区切りキーに基づいてSQL文PAGENEXTおよびPAGEPREVという追加の句を指定する必要があります。さらに、前述のようにページ区切りキーはORDER BY句で使用する必要があります。

    • SQLのパラメータでは、SQL文のページ区切り句とともに使用するページ区切りキー・ニーモニックを定義する必要があります。

    • SQL表示列パラメータを構成して、ORDER BY句と同じ順序でデータを表示することをお薦めします。

この機能は、次のゾーン・タイプでサポートされています。

  • 「情報データ・エクスプローラ - 単一のSQL」(F1-DE-SINGLE)

  • 「情報データ・エクスプローラ - 複数のSQL」(F1-DE)このタイプのゾーンでは、すべてのSQL文の結果の和結合をサポートしています。結果的に、単一のSQLが使用されている場合にのみ、このタイプのゾーンのページ区切りが有効になります。システムでは、異なるSQL文にわたってページ区切りを追跡することはできません。

  • 「問合せデータ・エクスプローラ - 複数のSQL」(F1-DE-QUERY)

  • 「マルチ問合せデータ・エクスプローラ」(F1–DE-MULQRY)。このタイプのゾーンには、SQL文または列表示の構成は含まれていません。一方で、「ページ区切りの有効化」の構成が含まれています。個々のゾーンでページ区切りを機能させるには、このパラメータを構成する必要があります。

注意:

ビジネス・サービスに使用されるゾーン。ビジネス・サービスを介してデータ・エクスプローラ・ゾーンを起動する場合は、ページ区切りが無視されることに注意してください。このシナリオでは、ゾーンは、行数パラメータで定義された行の最初のチャンクを返します。

データ視覚化オプションがあるゾーン。グラフィック形式でデータを表示する視覚化オプションを定義するゾーンでは、ページ区切りはサポートされていません。

単純なページ区切りキー

この例では、拡張可能参照値が列1 (C1)として定義され、ページ区切りキーとしてマークされています。このフィールドは表に対して一意で、単純なページ区切りキーとして機能します。

SELECT A.F1_EXT_LOOKUP_VALUE,A.BUS_OBJ_CD
FROM 
  F1_EXT_LOOKUP_VAL A, 
  F1_EXT_LOOKUP_VAL_L B
WHERE 
A.BUS_OBJ_CD = :H1
AND A.BUS_OBJ_CD = B.BUS_OBJ_CD
AND A.F1_EXT_LOOKUP_VALUE = B.F1_EXT_LOOKUP_VALUE
AND B.LANGUAGE_CD = :LANGUAGE
[(F1) AND UPPER(A.F1_EXT_LOOKUP_VALUE) like UPPER(:F1)]
[(F2) AND ((UPPER(B.DESCR_OVRD) like UPPER(:F2))
OR (B.DESCR_OVRD = ' ' AND UPPER(B.DESCR) like UPPER(:F2)))]
[(PAGENEXT) AND A.F1_EXT_LOOKUP_VALUE > :C1]
[(PAGEPREV) AND A.F1_EXT_LOOKUP_VALUE < :C1]
ORDER BY A.F1_EXT_LOOKUP_VALUE

複雑なページ区切りキー

ほとんどの問合せは、一意の値でソートされることはありません。この場合は、問合せのソートに基づいてページ区切りキーを設定する必要があり、主キーなどの一意のフィールドを最後のページ区切りキーとして指定してください。この例の問合せでは、作業予定タイプ、役割およびユーザーでソートされた結果が表示されます。作業予定登録ID (主キー)を含めたすべてのフィールドがページ区切りキーとしてマークされます。

SELECT TD_TYPE_CD, ROLE_ID, ASSIGNED_TO, ASSIGNED_DTTM, TD_PRIORITY_FLG, TD_ENTRY_ID
FROM  CI_TD_ENTRY
WHERE 
ENTRY_STATUS_FLG IN ('O', 'W')
[(F1) and TD_TYPE_CD = :F1]
[(F2) AND ASSIGNED_TO = :F2]
[(F3) AND ROLE_ID = :F3]
[(PAGENEXT) and ((TD_TYPE_CD>:C1) or (TD_TYPE_CD=:C1 and ROLE_ID>:C2) or (TD_TYPE_CD=:C1 and ROLE_ID=:C2 
and ASSIGNED_TO>:C3) or (TD_TYPE_CD=:C1 and ROLE_ID=:C2 and ASSIGNED_TO=:C3 AND TD_ENTRY_ID>:C4))] 
[(PAGEPREV) and ((TD_TYPE_CD<:C1) or (TD_TYPE_CD=:C1 and ROLE_ID<:C2) or (TD_TYPE_CD=:C1 and ROLE_ID=:C2 
and ASSIGNED_TO<:C3) or (TD_TYPE_CD=:C1 and ROLE_ID=:C2 and ASSIGNED_TO=:C3 AND TD_ENTRY_ID<:C4))] 
ORDER BY TD_TYPE_CD, ROLE_ID, ASSIGNED_TO, TD_ENTRY_ID