Konfiguracja paginacji

W wielu strefach eksploratora danych w produkcie obsługiwana jest możliwość skonfigurowania paginacji, tak aby użytkownik miał możliwość przeglądania obszernego zestawu wyników, korzystając z funkcji zmiany strony przy użyciu przycisków lub łączy "następne" i "poprzednie".

Konfiguracja tej funkcji ma wpływ na niektóre parametry strefy. W poniższych krokach przedstawiono opis konfiguracji.

  • Należy skonfigurować parametr Włączanie paginacji umożliwiający zdefiniowanie podstawowej konfiguracji paginacji na stronie. Ten parametr określa, czy czynności "poprzednie" i "następne" są definiowane jako przyciski, łącza czy ikony, wskazuje on również lokalizację czynności. Umożliwia także określenie, czy dodatkowe wiersze są dołączane, czy pokazywane na nowej "stronie". Więcej informacji na temat specyficznej składni można znaleźć we wbudowanej pomocy dotyczącej parametru.

  • Zaleca się skonfigurowanie strefy z liczbą rekordów i informacją o stronie poprzez odpowiednie ustawienie parametru Wyświetlanie liczby rekordów. Więcej informacji na temat specyficznej składni można znaleźć we wbudowanej pomocy dotyczącej parametru.

  • Należy skonfigurować parametr Liczba wierszy do pobrania na potrzeby SQL, aby zdefiniować liczbę rekordów wyświetlanych na stronie. Jeśli nie jest on skonfigurowany, to używana jest wartość parametru Liczba wierszy do wyświetlenia.

  • Należy skonfigurować klucz, który będzie używany na potrzeby paginacji, tak aby możliwe było śledzenie "podziału strony" w systemie. Dane muszą być sortowane według klucza paginacji, w związku z tym, wybierając klucz paginacji, należy wziąć pod uwagę wygląd strefy i wyświetlane dane. Ponadto klucz paginacji musi być unikatowy, aby zapewnić poprawny podział strony. Zostało to pokazane w przykładach znajdujących się poniżej.

    • W instrukcji SQL należy uwzględnić dodatkowe klauzule PAGENEXT i PAGEPREV na podstawie klucza paginacji. Oprócz tego, jak wspomniano powyżej, klucz paginacji musi być używany w klauzuli ORDER BY.

    • W parametrach SQL kolumny należy zdefiniować mnemonik klucza paginacji używany wraz z klauzulami paginacji instrukcji SQL.

    • Zaleca się skonfigurowanie parametru Kolumna wyświetlania SQL w taki sposób, by wyświetlał dane w tym samym porządku, co klauzula ORDER BY.

Ta funkcja jest obsługiwana w następujących typach stref:

  • Eksplorator danych dotyczących informacji - jedna instrukcja SQL (F1–DE-SINGLE).

  • Eksplorator danych dotyczących informacji - wiele instrukcji SQL (F1–DE). W strefach tego typu możliwa jest obsługa grupy wyników wszystkich instrukcji SQL. W związku z tym w strefach tego typu można włączyć paginację tylko, jeśli używana jest pojedyncza instrukcja SQL. System nie jest w stanie śledzić paginacji w wielu instrukcjach SQL.

  • Eksplorator danych dotyczących zapytania - wiele instrukcji SQL (F1–DE-QUERY).

  • Eksplorator danych dla wielu zapytań (F1–DE-MULQRY). Strefy tego typu nie zawierają konfiguracji instrukcji SQL lub wyświetlania kolumn. Można jednak skonfigurować opcję Włączenie paginacji. Konfiguracja tego parametru jest niezbędna w celu umożliwienia działania paginacji w poszczególnych strefach.

Uwaga:

Strefy używane w usłudze biznesowej. Funkcja paginacji jest ignorowana, gdy strefa eksploratora danych jest wywoływana za pośrednictwem usługi biznesowej. W tym scenariuszu w strefie zwracana jest część wierszy, w liczbie określonej na podstawie parametru "Liczba wierszy".

Strefy z opcjami wizualizacji danych. Paginacja nie jest obsługiwana w przypadku stref zawierających definicje opcji wizualizacji w celu wyświetlania danych w postaci graficznej.

Przykłady

Prosty klucz paginacji

W tym przykładzie wartość rozszerzanej listy wartości jest zdefiniowana jako kolumna 1 (C1) i oznaczona jako klucz paginacji. To pole jest unikatowe w tabeli i może służyć jako prosty klucz nawigacji.

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

Złożony klucz paginacji

W większości zapytań sortowanie nie jest wykonywane na podstawie unikatowej wartości. W tym przypadku klucz nawigacji musi być oparty na sortowaniu zapytania i zawierać unikatowe pole, takie jak klucz główny, jako ostatni klucz paginacji. W poniższym przykładzie w zapytaniu wyświetlone są wyniki sortowane według pozycji Do wykonania, roli i użytkownika. Wszystkie pola, w tym także ID pozycji Do wykonania (klucz główny) są oznaczone jako klucze paginacji.

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