Parametry > Obsługa > Raporty > Zapytania SQL 

Oprogramowanie oparte na technologii X3 zawiera funkcję generatora zapytań służącego do tworzenia ekranów kwerend z zapytań wyrażonych w formie list pól pozyskanych z tabel znajdujących się w bazie danych, przy czym tabele te są powiązane w sposób domyślny lub poprzez wyraźne nazwane powiązania. Podejście to umożliwia użytkownikowi szybkie tworzenie zapytań bez użycia konkretnego języka kwerend a jedynie dzięki podstawowej wiedzy w zakresie tabel znajdujących się w bazie danych, która to może zostać dodatkowo poszerzona przez dostępną dokumentację techniczną (szczególnie MCD). Dodatkowo, funkcja ta udostępnia łatwy w obsłudze interfejs kwerend w formie ekranów składających się z kilku kolumn, z możliwością użycia tunelu.

Generator zapytań ma jednak kilka ograniczeń, na przykład w przypadku zapytań złożonych, które nie mogą zostać ściśle określone z użyciem listy pól. Dlatego też, w przypadku użytkowników o większych umiejętnościach technicznych i ze znajomością języka SQL, generator ten może nie spełniać do końca ich oczekiwań.

Z tego właśnie powodu utworzone zostało dodatkowe narzędzie, generator zapytań SQL, służący do wyrażania zapytań w klasycznym języku SQL. Generator zapytań SQL różni się od wcześniejszego generatora wyłącznie ekranem ustawień. W rzeczywistości, ekrany utworzone przez ten generator zapytań wywoływane są przez taką samą funkcję wykonywania zapytań jaka wykorzystywana jest przez standardowy generator.

Oznacza to, że podobnie jak w przypadku standardowego generatora, generator zapytań SQL działa na zasadzie tymczasowej ekstrakcji danych z tabeli (podobnie jak klasyczny generator) a następnie weryfikacji tej tabeli. Kwerendy mogą być jednak wykonywane tylko na jednym poziomie, w przypadku którego nie są również możliwe podziały i sumy.

Podobnie jak w przypadku klasycznego generatora zapytań, struktura tabeli tymczasowej skutkuje tym, że wyniki ostatniego zapytania zrealizowanego w tej tabeli muszą zostać zapisane przez użytkownika a użycie tej funkcjonalności przebiega w trzech odrębnych etapach:

  • zdefiniowanie zapytania z użyciem tej funkcji, następnie zatwierdzenie w celu stworzenia odpowiadającego mu ekranu zapytania.
  • uruchomienie kwerendy (z zastosowaniem przyciskualbo z zastosowaniem funkcji zapytania a następnie polecenia odświeżenia danych).
  • zapytanie o kwerendę, jeżeli już została zrealizowana.

Warunek

SEEREFERTTO Odniesienie do dokumentacji Implementacja

Zarządzanie ekranem

Nagłówek

Prezentacja

Nagłówek ekranu definiuje globalne warunki związane z kontrolą, a każda zakładka jest identyczna i wykorzystywana do przeprowadzania kolejnych kontroli (dlatego tylko jedna zakładka jest wyświetlana w pozostałej części dokumentu).

Jeśli istniejąca w tabeli kontrola jest zadeklarowana w jednej z zakładek, następujące warunki zakładek mogą wykorzystać to, że ta tabela jest dostępna on-line. Na przykład, jeśli jedna z tabel odnosi się do tabeli TABCUR (skrót TCU), aby sprawdzić, czy wprowadzone pole jest kodem waluty, następujące kontrole mogą interweniować w polu tabeli, takim jak [TCU]CURRND.

Zamknij

 

Pola

Na tej karcie występują następujące pola :

Blok numer 1

Ten kod umożliwia identyfikację zapytania.

  • Opis (pole INTIT)

Umożliwia zdefiniowanie opisu powiązanego z każdym rekordem.

  • Krótki tytuł (pole INTITSHO)

Ten opis, umożliwiający podanie opisu w rekordzie, jest używany na niektórych ekranach lub w raportach, jeśli nie ma wystarczająco miejsca do wyświetlenia długiego opisu.

  • Aktywny (pole ENAFLG)

To pole wyboru należy zaznaczyć, aby aktywować bieżący rekord.

Nieaktywne rekordy zachowują swoją zawartość, a ustawienia nie mogą być używane poprzez wywołanie ich kodu:

  • W innych rekordach takich, jak dokumenty czy ustawienia
  • W procesach zbiorczych

Uprawnienia do danej funkcji mogą zabraniać tworzenia aktywnego rekordu. W takim przypadku pole jest domyślnie dezaktywowane. Modyfikować je może tylko uprawniony użytkownik, za pomocą przepływu podpisów.

Cechy

  • Typ zapytania (pole ALLUSR)

Z tego pola należy skorzystać do zarządzania wyświetlaniem zapytania z następującymi zachowaniami:

  • Zapytanie standardowe: wynik zapytania wyświetla się, jeśli zapytanie zostało już wyświetlone przez użytkownika. Każdy użytkownik uruchamiający zapytanie tworzy właściwy dla siebie zestaw danych, który nie może być wyświetlany przez innych.
  • Zapytanie współdzielone: wynik wykonania tego zapytania przez użytkownika może być wyświetlany przez innych użytkowników. Współdzielone zapytania mają sens w przypadku ciężki zapytań, uruchamianych w danym momencie przez jednego użytkownika, co umożliwia następnie wszystkim użytkownikom korzystanie ze wspólnej informacji. Dla tego typu zapytań zalecane jest, aby tylko jeden użytkownik mógł wykonywać zapytanie, a inni mieli do niego dostęp w trybie wyświetlania. Uzasadnione jest również obliczanie tego typu zapytań w trybie wsadowym, jeśli dane zapytanie jest szczególnie ciężkie. Kod odpowiadającego zadania wsadowego to CALALH.
  • Przeliczone zapytanie: wynik zapytania nigdy nie wyświetla się automatycznie. Należy kliknąć na przycisk odświeżania lub wprowadzić kryteria. Celem tego typu zapytania jest uniknięcie ponownego ładowania danych, jeśli wiadomo, że szybko tracą one na ważności.
  • Prezentacja (pole REPGRA)

Ta flaga definiuje w jaki sposób dane są prezentowane na ekranie. Występują następujące możliwości:

  • Tabela: dane są przedstawiane wyłącznie w formie tabeli.
  • Tabela lub wykres: dane są przedstawiane w jednej z dwóch form. Domyślny tryb jest określany przez pole Widok domyślny zdefiniowane w ustawieniach graficznych rekordu.
  • Tabela i wykres: dane są przedstawiane w obydwu formach jednocześnie. Umiejscowienie wykresu względem tabeli jest określane przez pole Pozycja sekcji Wykres.
  • Wykres: dane są przedstawia wyłącznie w formie wykresu.
  • pole OPTGRA

Z tego pola należy skorzystać, aby zorganizować powiązanie między tabelą a wykresem, jeśli metoda reprezentacji danych zezwala na obydwa. Według kontekstu:

  • Jeśli reprezentacja to Tabela lub wykres, do reprezentacji zastosowanie ma wartość domyślna.
  • Jeśli reprezentacja to Tabela i wykres, pozycja wykresu zależy od tabeli danych.

Zamknij

 

Karta Parametry

Prezentacja

Pierwsza zakładka służy do wprowadzania kwerendy oraz dodatkowych parametrów ogólnych.

Możliwe jest również wprowadzenie informacji do tabeli pod nazwą Kolumnyw celu uzyskania bardziej szczegółowej prezentacji. Po wykonaniu, kwerenda zwraca listę wartości, które zostają załadowane do tabeli. Jeżeli nie ma dalszych informacji:

  • tabela kolumn nie ma tytułu.
  • są one typu alfanumerycznego, numerycznego, są datami, bez istotnych szczegółów, zależnie od rodzaju zwróconych danych.

Co więcej, stałe kwerendy SQL nie dają bardziej interesujących wyników. Konieczne jest zintegrowanie ustawień, które muszą być wprowadzone przed uruchomieniem zapytania. Jest to możliwe dzięki tabeli zatytułowanej Ustawienia.

Zamknij

 

Pola

Na tej karcie występują następujące pola :

Blok numer 1

Definiuje kod raportu, który zostanie powiązany z funkcją Plik/lista na podstawie wyświetlenia zapytań. Jeśli nie został uzupełniony, używany jest raport ALISTE, który proponuje domyślny układ strony. Można zduplikować ten ogólny raport (konieczne może być tylko zmodyfikowanie układu strony) w celu utworzenia raportów całkowicie dostosowanych do w ten sposób zdefiniowanego zapytania.

Wprowadzony tutaj kod raportu może być powiązany ze wszystkimi kodami wydruku za pomocą dedykowanej funkcji.

Z tego pola należy skorzystać, aby powiązać uprawnienia dostępu z zapytaniem o uprawnienia nadane do funkcji.

Zasada jest następująca: w momencie wejścia do zapytania sprawdza się, czy powiązana funkcja jest dozwolona dla użytkownika (dla przynajmniej jednej lokalizacji, jeśli uprawnienia do danej funkcji są nadawane wg lokalizacji). To sprawdzenie odbywa się wyłącznie w przypadku, gdy zapytanie nie jest współdzielone.

Jeśli zapytanie jest współdzielone uznaje się, że zastosowanie mają uprawnienia osoby, która obliczyła zapytanie i są przekazywane tym wszystkim, którzy mają prawo do wyświetlenia. Konieczne jest więc ostrożne zdefiniowanie uprawnień do współdzielonych zapytań, jeśli dotyczą one danych wrażliwych. Jest to możliwe za pomocą kodu dostępu umiejscowionego w tej sekcji.

Ten kod dostępu umożliwia zabronienie dostępu do bieżącego rekordu dla niektórych użytkowników.

Jeśli w polu znajdują się informacje, wyłącznie użytkownicy, którzy mają prawa odczytu dla tego kodu dostępu mogą wyświetlać rekord, a tylko użytkownicy z prawami do zapisu mogą go modyfikować.

Prawo dokonywania kontroli to możliwość dokonania danego zapytania (poprzez odświeżenie zapytania lub modyfikację parametrów i ponowne wykonanie).

  • Liczba linii (pole NBRLIG)

Umożliwia zdefiniowanie liczby pozycji na stronę logiczną na ekranie zapytania wygenerowanym przez wyszukiwarkę. Jeśli ta liczba pozycji przekracza fizyczną liczbę pozycji możliwych do wyświetlenia, po prawej stronie tabeli wyświetla się pasek przesuwania. Przyciski umieszczone na górze ekranu umożliwiają nawigację między stronami logicznymi (wyświetlanie kolejnej, poprzedniej, ostatniej i pierwszej).

  • Maks. liczba linii (pole MAXLIG)

Maksymalna liczba pozycji odpowiada parametrowi zapytania (maxrows), który zatrzymuje wyszukiwanie, jeśli w bazie znaleziono liczbę pozycji odpowiadającą warunkom (te pozycje zostaną następnie posortowane, ale baza nie gwarantuje, że N znalezionych pozycji to N pierwszych w porządku sortowania). Jest to optymalizacja umożliwiająca ograniczenie obciążenia bazy danych.

  • Grupa (pole GRP)

Z tego pola należy skorzystać, aby utworzyć klasyfikację kryteriów dostępnych dla zapytań.

  • Zablokowane kolumny (pole NBRCOL)

Umożliwia zamrożenie x pierwszych kolumn w tabeli w przypadku horyzontalnego podziału na strony.

  • Maksymalne czasy (pole MAXTIM)

Z tego pola należy skorzystać, aby zatrzymać wyszukiwanie po wskazanym okresie czasu (w sekundach). Umożliwia to uniknięcie zbyt długiego oczekiwania np. w przypadku konfiguracji nowego zapytania.

Uwaga: W przeciwieństwie do maksymalnej liczby pozycji, ta informacja nie jest przekazywana do bazy danych. Maksymalny czas nie może więc zostać przekroczony, jeśli czas trwania jest zbyt długi.

Zapytanie SQL

  • pole TEXTE

Żądanie jest następnie wprowadzane w standardowym formacie SQL, zrozumiałym dla bazy danych.

Kilka uwag odnośnie do tego żądania:

  • Każde zapytanie typu Select , w tym także zapytania złożone, może zostać wprowadzone, pod warunkiem że zwraca numer pola niższy od dopuszczalnej wartości maksymalnej.
  • Należy pamiętać, że pole NOMCHAMP(index) w tabeli NOMTABLE jest określone w bazie danych, tak jak w przypadku pola NOMCHAMP_indice w tabeli NOMTABLE, przy wartości indeksu 0, 1, 2, ..., N-1, gdzie N jest rozmiarem pola.

Oto przykład zapisu w polu:

Select LOGIN_0, CHEF_2 From AUTILIS
Where USR_0 like %1%
Order by CREDAT_0

  • W tego typu zapytaniu można określić parametry przy pomocy wyrażenia %N%, w którym N jest określone w tabeli parametrów (%1% w przykładzie powyżej). Parametry te zostaną wprowadzone po kliknięciu przyciskuprzy wykonaniu żądania.

Tabela Kolumny

  • Opis (pole COLTIT)

Ten typ danych służy do określenia sposobu prezentacji danych. W przypadku menu lokalnego, należy określić numer wykorzystanego menu lokalnego. Jeśli użyty typ danych jest powiązany z obiektem, możliwe będzie zastosowanie tunelowania do zarządzania obiektem podczas wykonywania zapytania.

  • Menu (pole COLNUM)

Służy do definiowania numeru menu lokalnego do wykorzystania w celu przedstawienia wartości numerycznej odpowiedniej kolumny przesłanej w zapytaniu.

  • Typ grafu (pole GRA)

Pole to jest dostępne wyłącznie wtedy, gdy tryb reprezentacji wybrany w nagłówku nie jest Znak. Stosowane wyłącznie do określenia sposobu użycia reprezentacji graficznej.

Może przyjmować następujące wartości:

  • Brak lub Etykieta jeżeli pole wiersza jest typu alfanumerycznego. Pole stosujące wartość Etykietabędzie użyta jako tytuł wykresu. Uwaga, jedynie wiersz w tabeli może przyjąć tę wartość ; jeżeli jest ona już obecna w wierszu, to konieczne będzie uprzednie zmodyfikowanie wartości w wierszu zawierającym wartość Etykietaw celu zwrotu wartości Brak przed możliwością przypisania tej wartości do innego wiersza w tabeli.
  • Brak, Wartośćlub Domyślnyjeżeli pole jest typu numerycznego. Zasada jest następująca:
    • Brak oznacza, że pole nigdy nie zostanie przedstawione w wykresie.
    • Jeżeli wykres zdefiniowany w ostatniej zakładce zostanie użyty do wyświetlenia kilku serii, to wszystkie serie odpowiadające zaznaczonym polom Domyślnyzostaną wyświetlone (chyba, że już zostały wyświetlone).
    • jeżeli wykres w ostatniej zakładce nie zostanie użyty do wyświetlenia kilku serii, to kolumna odpowiadająca pierwszemu zaznaczonemu polu Domyślnyzostanie wyświetlona (będzie to pierwsza kolumna, jeżeli żadna nie została wcześniej zadeklarowana).
  • Prezentacja (pole REP)

Pole to może zostać wypełnione wyłącznie wtedy, gdy :

  • metoda reprezentacji wybrana w nagłówku nie jest Znak.
  • na polach numerycznych, gdzie wartość zostanie wyświetlona.

Służy do zarządzania kombinacjami wykresów, jeżeli w parametrach graficznych jest stosowany zdefiniowany typ graficzny do wyświetlenia kilku szeregów danych niezależnie od innych typów (w innych wypadkach jest ignorowany). W praktyce istnieją następujące użyteczne kombinacje :

  • Typ = Multi wykres, Wykres domyślny=Wiersze, Reprezentacja=Multi
  • Typ = Multi wykres, Wykres domyślny=Paski, Reprezentacja=Multi

Zasada jest następująca:

  • Domyślneoznacza, że graficzna prezentacja szeregu odpowiada domyślnemu wykresowi z ostatniej zakładki (Paski, lub Wierszew tym wypadku).
  • Pasek lub Wiersz stosowany do wymuszenia odpowiedniej metody prezentacji.

Tabela Parametry

  • Opis (pole PARTIT)

Jeżeli pole to zostanie wprowadzone, parametr, w którym tytuł odpowiada wartości tego pola, może zostać wprowadzony przed wykonaniem żądania (przy pomocy przycisku).

Parametr może następnie zostać wykorzystany w treści żądania przy wykorzystaniu składni %N%, gdzie N odpowiada numerowi wiersza w tabeli parametrów.

Ten typ danych służy do ułatwiania wprowadzania odpowiednich parametrów. W rzeczywistości, jeśli typ jest zdefiniowany

  • wykonywane są kontrole formatu.
  • Jeśli użyty typ danych jest powiązany z obiektem, możliwe jest używanie odpowiedniego okna wyboru.
  • Menu (pole PARNUM)

Używane do określania numeru menu lokalnego, które ma być używane do wprowadzania wartości parametru.

  • Wartość domyślna (pole VALDEB)

 

Zamknij

 

Karta Wykres

Prezentacja

Zakładka ta może być uzupełniana wyłącznie wtedy, gdy dla danej kwerendy istnieje jej graficzna reprezentacja. Jeżeli warunek ten jest spełniony, należy określić sposób wyświetlania danych.

Zamknij

 

Pola

Na tej karcie występują następujące pola :

Wykres

  • Typ (pole TYPGRA)

To pole jest używane, jeśli istnieje więcej niż jedna wartość numeryczna w tabeli, która może zostać zaprezentowana w formie graficznej. To pole może wyświetlać dwie wartości:

  • Pojedynczy wykres: jedna kolumna wartości może wyświetlić się jeden raz (dostępny selektor)
  • Wiele wykresów: wszystkie komuny wyświetlają się, połączone w zależności od wartości parametru Reprezentacja.
  • Prezentacja (pole FSHGRA)

Jeśli na wykresie obecnych jest wiele serii (pod warunkiem, że prezentacja wszystkich serii jest identyczna, a nie wg „sektora”), można wskazać w jaki sposób wartości są łączone, zgodnie z następującymi wartościami:

  • Opcja wielokrotna umożliwia przedstawienie wartości każdej serii obok siebie (jeden kolor na serię).
  • Opcja kumulacja umożliwia przedstawienie wartości w formie pionowych sum.
  • Opcja porównawcza umożliwia przedstawienie wartości w formie względnego porównania (wysokość wykresu jest stała).
  • Grafika domyślna (pole DEFGRA)

To pole definiuje reprezentację graficzną zastosowaną do przedstawionych danych (wykres słupkowy, wykres liniowy, wykres obszarowy, diagram kołowy). Obraz wyświetla się w zależności od dokonanego wyboru i ilustruje otrzymany typ prezentacji danych.

Jeśli dostępna jest tylko jedna seria wartości, reprezentacja graficzna jest domyślnie ustawiona wg tego parametru.

Jeśli dostępnych jest wiele serii wartości, można łączyć metody prezentacji (np. jeden wykres słupkowy, a drugi liniowy). W takim przypadku reprezentacja każdej serii wartości zależy od pola Reprezentacja tabeli pól:

  • Dla Wykresu słupkowego lub Wykresu liniowego tryb prezentacji jest stosowany do serii wartości zgodnych z domyślną reprezentacją graficzną (wykresy kołowe nie mogą być wymieszane z wykresami słupkowymi lub liniowymi).
  • Dla domyślnego trybu, domyślna reprezentacja graficzna ma zastosowanie do serii.

Jeśli reprezentacja serii jest zgodna (na wykresie istnieje pojedyncza seria), selektor jest dostępny dla typu wykresu, co umożliwia wybranie innego trybu prezentacji.

Blok numer 3

  • pole IMAG

Obraz wyszczególniający uprzednio wprowadzone informacje.

Blok numer 2

Blok numer 4

Zamknij

 

Ważna uwaga:

Ważne jest, aby nie uruchamiać w generatorze zapytań SQL filtrów powiązanych z autoryzacjami (niezależnie od tego, czy są to autoryzacje przez role, lokalizacje czy kody dostępu). Zaleca się więc zabezpieczenie tego typu zapytań kodami dostępu, w celu ograniczenia praw do ich wyświetlania lub nawet do wykonywania tych zapytań. W podobny sposób, również dostęp do tych funkcji powinien być standardowo ograniczony do ustalonej listy użytkowników.

Przyciski określone

generuje ekran powiązany z zapytaniem i weryfikuje zapytanie poprzez przesłanie go do bazy danych celem weryfikacji składni i semantyki.

Funkcja stosowana do wykonania bieżącego zapytania. Wykonanie jest uruchamiane przez aktualizację tabeli tymczasowej, przechodząc do funkcji przegląd zapytań, która umożliwia podgląd wyników kwerendy.

W oknie otwartym przez ten przycisk występują następujące pola :

Blok numer 1

  • pole OBJET

 

  • pole CLES

 

Blok numer 2

  • Z folderu (pole DOSORG)

Z tego pola należy skorzystać, aby zdefiniować folder, z którego zostanie skopiowany rekord. Możliwa składnia jest opisana w dedykowanym załączniku.

  • Wszystkie foldery (pole TOUDOS)

Z tej opcji należy skorzystać, aby skopiować rekord do wszystkich folderów zdefiniowanych w słowniku (tabela ADOSSIER w bieżącym rozwiązaniu).

  • Do folderu (pole DOSDES)

Z tego pola należy skorzystać, aby zdefiniować folder, do którego zostanie skopiowany rekord. Możliwa składnia jest opisana w dedykowanym załączniku.

Zamknij

Przycisk ten pozwala skopiować ekran do innego folderu. Należy pamiętać, że skopiowanie nie powoduje ponownego zatwierdzenia ekranu w folderze docelowym. Zatem konieczne jest zatwierdzenie ekranu po jego skopiowaniu, aby był faktycznie brany pod uwagę.

Komunikaty o błędzie

Podczas wprowadzania mogą wyświetlić się następujące komunikaty ogólne oraz o błędach :

Nieprawidłowe zapytanie

[opis błędu zwrócony przez bazę danych]

Zapytanie jest nieprawidłowe, z punktu widzenia bazy danych. Jest ono albo nieprawidłowe pod kątem składni, albo dany element nie istnieje. Przedstawiony opis podaje nazwę błędu zwróconego przez bazę danych.

Brak dostępu do tego rekordu

Próba dostępu do zapytania utworzonego przez klasyczny generator zapytań z użyciem generatora SQL (kody w zapytaniu generatora SQL nie mogą być użyte do nazwania klasycznego zapytania i odwrotnie).

Zbyt wiele pól

Zapytanie zwróciło zbyt wiele kolumn. Należy pamiętać, że liczba kolumn, jaka może zostać odczytana przez generator zapytań SQL jest ograniczona do 120.

Użyte tabele

SEEREFERTTO Odniesienie do dokumentacji Implementacja