Obiekt deweloperski: Search

Wprowadzenie

Aplikacja Obiekty deweloperskie pozwala na rejestrowanie i przeglądanie obiektów deweloperskich różnych typów. W niniejszym artykule opisany został obiekt o typie Search.

Opis

Search (wyszukiwania) pozwalają na odszukanie obiektów w bazie danych. Wyszukiwanie jest wieloczęściową instrukcją OQL w formie SELECT, którego zbiór wyników jest wynikiem wyszukiwania. SELECT opiera się na obiektach biznesowych i widokach OQL, które można łączyć w razie potrzeby za pomocą JOIN.

Zakładka Edytor składka się z podzakładek:

Podzakładka From and Where

Business object lub OQL View biorące udział w wyszukiwaniu i ich wzajemne relacje są zdefiniowane na tej zakładce. Do każdego obiektu można odwołać się za pomocą unikalnego aliasu. Ponadto wynik może być statycznie ograniczony przez klauzulę Where.

Dostępne są następujące pola:

FROM – definicja klauzuli FROM wyrażenia OQL. Klauzula From zawiera obiekty biznesowe i widoki OQL oraz ich wzajemne relacje, wyrażone jako JOIN. Wyszukiwanie jest zawarte na liście Wykazów zastosowania używanych obiektów biznesowych i widoków OQL. Klauzula FROM jest wprowadzana bez słowa kluczowego from.

WHERE – definicja klauzuli WHERE wyrażenia OQL. Ta specyfikacja może być użyta do statycznego ograniczenia zestawu wyników wyszukiwania. Klauzula WHERE jest wprowadzana bez słowa kluczowego where.

Podzakładka Atrybuty

Na zakładce Atrybuty można wybrać atrybuty dostępne na konfigurowalnych listach z wybranych obiektów biznesowych i widoków OQL. Do każdego atrybutu można odwołać się za pomocą unikalnej nazwy. Nad listą dostępne są przyciski:

[Nowy atrybut] – dodaje nowy atrybut do listy atrybutów.

[Wybierz atrybuty] – otwiera okno dialogowe wyboru atrybutów. Wyświetlane atrybuty są oparte na atrybutach obiektów biznesowych lub widoków OQL, do których odwołuje się klauzula From.

[Usuń] – usuwa wybrane atrybuty.

Pole filtra Atrybuty  – pozwala na ograniczenie liczby wyświetlanych atrybutów. Aby to zrobić, należy wprowadzić nazwę atrybutu w polu; można użyć symboli zastępczych.

[Zastosuj/usuń filtr] – wskazany filtr zostanie zastosowany po wybraniu przycisku [Zastosuj/usuń filtr]. W tym celu można również nacisnąć klawisz [Enter]. Po zastosowaniu filtra na liście wyświetlane są tylko te atrybuty, które odpowiadają wprowadzonej charakterystyce filtra. Filtr można usunąć, dezaktywując przycisk [Zastosuj/usuń filtr].

[Atrybuty rozszerzenia wyszukiwania] – w systemie, w którym wyszukiwanie można dostosować za pomocą rozszerzeń wyszukiwania, np. w systemie deweloperskim klienta, można użyć przycisku [Atrybuty rozszerzenia wyszukiwania], aby wyświetlić atrybuty używane do rozszerzenia wyszukiwania.

Kolumny dostępne na liście:

Nazwa – dowolnie wybrana nazwa parametru. Nazwa musi być unikalna w ramach wyszukiwania i służy jako identyfikacja dla zaprogramowanego dostępu do atrybutów wyszukiwania. Jeśli nowy parametr jest dodawany do wyszukiwania, które nie znajduje się w jego własnej przestrzeni nazw, nazwa musi zaczynać się od prefiksu deweloperskiego bieżącego systemu. W takim przypadku prefiks jest automatycznie wyświetlany podczas tworzenia nowego parametru. Jeśli atrybut ma należeć do atrybutu wirtualnego, atrybut musi zaczynać się od nazwy atrybutu wirtualnego, po której następuje kropka.

Wyrażenie – należy wprowadzić atrybut obiektu biznesowego lub widoku OQL z klauzuli FROM rozszerzenia wyszukiwania, wyszukiwania bazowego lub wprowadź wyrażenie, które ma zostać obliczone przez bazę danych, która używa jednego lub więcej takich atrybutów. Nazwa atrybutu musi być wywołana za pośrednictwem określonego aliasu i zgodna ze składnią Alias:Nazwa atrybutu.

Wyrażenie do obliczenia może zawierać tylko funkcje agregujące OQL UPPERAVGMAXMINSUMCOUNT, operatory: */+ i atrybut. Wszystkie operandy muszą mieć ten sam typ, tj. albo wszystkie operandy są funkcjami, albo atrybutami. Argument funkcji może składać się tylko z jednego atrybutu.

Przykład
Przykłady wyrażeń:

boAlias1:attr1 + boAlias1:attr2

Sum(boAlias1:attr1) – SUM(boAlias2:attr1)

Jeśli atrybut jest oznaczony jako:

  • obiekt biznesowy, w razie potrzeby można pominąć nazwę atrybutu
  • wirtualny, nie wolno wprowadzać wyrażenia

Użyte atrybuty są zawarte w wykazie zastosowania obiektu biznesowego lub widoku OQL.

Wirtualny – atrybuty można grupować, tj. kilka atrybutów można podsumować w ramach jednego atrybutu. Ten atrybut podsumowujący musi być oznaczony jako wirtualny. Atrybut wirtualny nie ma odniesienia do atrybutu obiektu biznesowego lub widoku OQL w bazie danych, a zatem nie ma wprowadzonego wyrażenia. Atrybuty należące do atrybutu wirtualnego muszą zaczynać się od nazwy atrybutu wirtualnego, po której następuje kropka.

Jeśli dla atrybutu wirtualnego zaznaczono parametr:

  • Możliwość sortowania – oznacza, że dokładnie jeden atrybut grupy musi być oznaczony jako sortowalny. Atrybut ten jest używany do sortowania w ramach atrybutu wirtualnego.
  • Możliwość filtrowania – co najmniej jeden atrybut grupy musi być również oznaczony jako możliwy do filtrowania. Tylko tak oznaczone atrybuty w grupie są używane do ograniczenia zapytania do bazy danych. Inne atrybuty w grupie nie są używane.
  • Możliwość wyświetlenia – co najmniej jeden atrybut grupy powinien być oznaczony jako możliwy do wyświetlenia. Tylko atrybuty oznaczone w ten sposób są prezentowane jako wynik zapytania do bazy danych.

Należy wprowadzić logiczny typ danych dla atrybutu wirtualnego, który może być użyty do określenia opisu danych, który zapewnia edytor i/lub renderer dla wizualizacji. Nie jest możliwe zagnieżdżanie atrybutów wirtualnych. Atrybut wirtualny nie może być oznaczony jako obiekt biznesowy ani jako zaprogramowany filtr.

Obiekt biznesowy – jeśli atrybut jest oznaczony jako obiekt biznesowy, funkcja łącza jest widoczna na tym atrybucie na wybranych listach. Menu kontekstowe jest tworzone w odniesieniu do powiązanego obiektu biznesowego. Oznacza to, że menu kontekstowe można utworzyć na dowolnym atrybucie obiektu biznesowego. Ponadto, gdy atrybut jest oznaczony jako obiekt biznesowy, obowiązują następujące zasady i ograniczenia:

  • atrybut może być traktowany jako obiekt-wartość w zapytaniu: Oprócz opcji zapytania o wartość atrybutu, można również zapytać o cały obiekt biznesowy.
  • użyte wyrażenie można zredukować do aliasu. W takim przypadku można zapytać tylko o obiekt. Ma to jednak wpływ na inne właściwości atrybutu: atrybut nie może być wtedy oznaczony jako filtrowany lub sortowany. Jeśli atrybut jest również oznaczony jako Możliwy do wyświetlania, należy określić logiczny typ danych. Powinien on odnosić się do opisu danych, który wprowadził renderer.
  • nie jest konieczne wprowadzanie logicznego typu danych w atrybucie wirtualnym, ponieważ atrybut wirtualny jest odpowiedzialny za wizualizację.
  • atrybut nie może być również oznaczony jako wirtualny lub jako zaprogramowany filtr.

Zaprogramowany filtr – atrybut oznaczony jako filtr możliwy do zaprogramowania służy do ograniczenia zapytania do bazy danych. Atrybuty oznaczone w ten sposób nie są udostępniane jako funkcje wyszukiwania na listach. Atrybut oznaczony jako zaprogramowany filtr nie może być jednocześnie oznaczony jako wirtualny lub jako obiekt biznesowy.

Typ danych – kolumna prezentuje typ danych, jaki został określony dla atrybutu. Ten typ danych jest używany do ogólnego tworzenia pól funkcji wyszukiwania, kolumn wyświetlania itp.

Możliwość filtrowania – parametr należy zaznaczyć aby istniała możliwość filtrowania atrybutu. Pole wyszukiwania jest tworzone dla tych atrybutów w obszarze zapytań listy.

Pola wyszukiwania nie są tworzone dla atrybutów:

  • oznaczonych jako filtr zaprogramowany
  • znajdujących się w grupie pola wirtualnego

W przypadku tych atrybutów wyrażenie filtru jest wyszukiwane w powiązanym atrybucie wirtualnym.

Jeśli atrybut wirtualny jest oznaczony jako możliwy do filtrowania, wówczas dokładnie jeden atrybut powiązanej grupy musi być również oznaczony jako możliwy do filtrowania. Atrybut ten jest używany do filtrowania w ramach atrybutu wirtualnego.

Możliwość sortowania – parametr należy zaznaczyć aby istniała możliwość sortowania atrybutu. Jeśli atrybut wirtualny jest oznaczony jako możliwy do sortowania, wówczas dokładnie jeden atrybut powiązanej grupy musi być również oznaczony jako możliwy do sortowania. Ten atrybut jest używany do sortowania w ramach atrybutu wirtualnego.

Możliwość wyświetlania – należy zaznaczyć parametr, aby istniała możliwość wyświetlenia atrybutu. Jeśli atrybut wirtualny jest oznaczony jako możliwy do wyświetlenia, co najmniej jeden atrybut powiązanej grupy musi być również oznaczony jako możliwy do wyświetlenia. Tak oznaczone atrybuty są odczytywane przez bazę danych, gdy atrybut wirtualny jest włączony do wyświetlania

Klucz zwrotny – zestaw wszystkich atrybutów oznaczonych jako klucze zwrotne musi opisywać unikalny klucz, który może być użyty do identyfikacji wiersza w wyniku. Ponadto atrybuty te są jedynymi atrybutami, które są gwarantowane w zestawie wyników. Programowanie, np. w celu późniejszego przetwarzania, może odnosić się tylko do tych atrybutów. Wszystkie inne wyświetlane atrybuty są opcjonalne i mogą być dodawane lub usuwane przez użytkownika w zależności od potrzeb. Musi istnieć co najmniej jeden atrybut oznaczony jako klucz zwrotny.

Logiczny typ danych – określając logiczny typ danych, można zmienić właściwości atrybutu, na przykład etykietę, pomoc wejściową, specjalne renderery lub edytory. Należy wprowadzić logiczny typ danych dla atrybutów wirtualnych i atrybutów oznaczonych jako obiekty biznesowe, które mają tylko alias jako wyrażenie. W przeciwnym razie wpis jest opcjonalny. Logiczny typ danych musi być oparty na tym samym typie danych co atrybut. Nie jest to konieczne w przypadku atrybutu wirtualnego, ponieważ nie ma odniesienia do atrybutu w bazie danych.

Przycisk [Wybierz atrybuty]

Po wybraniu przycisku [Wybierz atrybuty] otwarte zostanie okno dialogowe, pozwalające na dodawanie określonych atrybutów do listy atrybutów. Użytkownik może wybierać spośród obiektów biznesowych lub widoków OQL zdefiniowanych w klauzuli From przy użyciu przypisanego aliasu. Powiązane atrybuty obiektu są wyświetlane na liście wyboru. Opcjonalnie można określić prefiks, który jest umieszczany przed nazwami atrybutów. Jest to przydatne, jeśli ten sam obiekt biznesowy ma różne aliasy. W takim przypadku należy użyć prefiksu, aby nazwy atrybutów były unikalne w wyszukiwaniu. Ponadto prefiks jest szczególnie przydatny w przypadku zmian dokonywanych przez deweloperów i atrybuty wirtualne.

W oknie dialogowym dostępne są poniższe pola/przyciski:

Alias – lista wyboru wszystkich aliasów zdefiniowanych w wyszukiwaniu. Nazwa obiektu jest określona dla każdego aliasu.

Prefiks – wprowadzony prefiks jest umieszczany przed nazwą na liście wyboru.

Pasek narzędzi z następującymi przyciskami znajduje się w obszarze nagłówka listy:

[Aktualizacja listy] – wszystkie atrybuty dla wskazanego obiektu biznesowego lub widoku OQL są wyświetlane dla wybranego aliasu.

Na liście dostępne są poniższe kolumny:

Ścieżka atrybutu – wskazuje ścieżkę do atrybutu w wybranym obiekcie biznesowym lub w wybranym widoku OQL. Jeśli atrybut jest atrybutem w Part, nazwa Part i atrybut są oddzielone kropką.

Nazwa – nazwa składa się z prefiksu i ścieżki atrybutu. Wszystkie kropki w ścieżce atrybutu są usuwane, a następująca po nich litera jest zastępowana wielką literą.

Jeśli określono przedrostek, jest on umieszczany z przodu. Jeśli prefiks kończy się kropką, reszta nazwy pozostaje niezmieniona. Jeśli przedrostek nie kończy się kropką, pierwsza litera pozostałej części nazwy jest zastępowana odpowiednią wielką literą.

Wyrażenie – wyrażenie składa się z aliasu wybranego obiektu, po którym następuje dwukropek i ścieżka atrybutu. Po wybraniu żądanych atrybutów można je przenieść do wyszukiwania za pomocą przycisku [OK].

Podzakładka Layouts

Podzakładka Layouts prezentuje layouty oraz pozwala na ich usunięcie. Layouty są tworzone i edytowane na listach pozwalających na wyszukiwanie. W tym celu wyszukiwanie musi być przypisane do zadania deweloperskiego, a użytkownik musi być edytorem zadania deweloperskiego i wyszukiwania.

Na zakładce dostępny jest przycisk:

[Usuń]  – pozwala na usunięcie wskazanego layoutu wyszukiwania.

Dostępne są następujące kolumny:

Nazwa – nazwa layoutu z możliwością przetłumaczenia. Tylko layouty typu Standard mają nazwę.

Typ – dostępne opcje:

  • Standardowy – zawiera layout tabeli wyników
  • Filtr – można określić tylko jeden layout o tym typie. Zawiera on wybór i rozmieszczenie pól zapytania.
Uwaga
Należy pamiętać, że układy dla list są wprowadzane za pomocą Application extension. Layouty wyszukiwania są używane tylko wtedy, gdy nie istnieją w rozszerzeniu aplikacji.

Widoczność – layout może być Widoczny lub Widoczny i preferowany (tylko 1 możliwy layout). Layouty są wyświetlane po otwarciu aplikacji.

Podzakładka Ustawienia

Ta zakładka pozwala na określanie typów baz danych, w których można przeprowadzić wyszukiwanie. Jeśli wybrano więcej niż jedną bazę danych, używane widoki Business Objects i OQL muszą również istnieć w tych bazach danych.

Można również określić, czy w wyszukiwaniu ma być używane słowo kluczowe Distinct.

Dostępne są następujące pola:

Hook – w tym polu można opcjonalnie wprowadzić klasę Java, która jest używana jako hook. Można użyć klasy Java hooka, aby wpłynąć na wykonanie wyszukiwania. Warunkiem wstępnym jest to, że wywodzi się ona z klasy com.cisag.pgm.search.SearchHook, którą można znaleźć w silniku systemu.

Uwaga
Jeśli w polu Obiekt bazowy wprowadzono główny obiekt biznesowy wyszukiwania, będzie on służył jako parametr wejściowy i będzie mógł wielokrotnie korzystać z klas hooków Java.

Obiekt bazowy – w tym polu można opcjonalnie wprowadzić główny obiekt biznesowy wyszukiwania. Jeśli zostanie wprowadzony, służy jako parametr wejściowy dla hooka określonego w polu Hook. Klasy Hook Java mogą być również używane wielokrotnie za pomocą obiektu bazowego.

Sekcja Baza danych

Baza danych OLTP – używane obiekty biznesowe i widoki OQL znajdują się w bazie danych OLTP. Obiekty używane w poleceniu OQL muszą być zapisane w tej samej bazie danych.

Baza danych OLAP – używane obiekty biznesowe i widoki OQL znajdują się w bazie danych OLAP. Wszystkie obiekty użyte w poleceniu OQL muszą być zapisane w tej samej bazie danych.

Baza danych repozytorium – używane obiekty biznesowe i widoki OQL znajdują się w bazie danych repozytorium. Wszystkie obiekty używane w poleceniu OQL muszą być zapisane w tej samej bazie danych.

Baza konfiguracyjna – używane obiekty biznesowe i widoki OQL znajdują się w bazie danych konfiguracji. Wszystkie obiekty używane w poleceniu OQL muszą być zapisane w tej samej bazie danych.

Distinct – zaznaczenie parametru pozwala na usunięcie zduplikowanych wyników. Parametry sortowania, które są niejawnie dodawane do wyszukiwania, są zawarte w wywołaniu SELECT.

Zaznaczenie parametru zmienia zestaw wyników. Wyświetlony wynik wyszukiwania nie musi odpowiadać oczekiwanemu wynikowi wyszukiwania.

Czy ten artykuł był pomocny?