Aktualności i artykuły

Mimo, że narzędzie do samodzielnego tworzenia zapytań bazodanowych wydaje się przeżytkiem w dobie zaawansowanych systemów raportowania, to z własnego doświadczenia wiem, że wielu użytkowników AS/400 wciąż bazuje na tym podstawowym produkcie pozwalającym na szybkie uzyskanie nieskomplikowanych raportów. Query/400 posiada pewne zaawansowane funkcje, o których wiedzą tylko nieliczni a dzięki nim można znacznie ułatwić sobie pracę i sprawić że to stare narzędzie zyska na wartości. Jedną z takich funkcji jest możliwość wykorzystania zmiennych jako warunków wyboru zapytań …

Przeglądając wyniki zapytania Query użytkownicy często wymagają możliwości uruchomienia tego samego raportu z różnymi parametrami, tzn. różnymi kryteriami wyboru rekordów,  i są zwykle zawiedzeni gdy dowiadują się, że wymaga to ręcznej edycji definicji zapytania przed każdym jego uruchomieniem.

Otóż istnieje mechanizm umożliwiający podanie parametrów wyboru rekordów w momencie uruchomienia zapytania. Query, a raczej system operacyjny (o czym przekonamy się za chwilę) sam potrafi zapytać o wartości konieczne do porównania w zapytaniu.

Kiedy już dokonamy wyboru zbioru, oraz pól bazy danych, zwykle przechodzimy do definicji wyboru rekordów. W prezentowanym przykładowym zapytaniu pole wydział (WYDZ) zostanie porównane ze zmienną (:wydzial), której wartość zostanie nadana w momencie uruchomienia zapytania. Dodatkowo pole zawierające nazwisko studenta posłuży do wyboru tych rozpoczynających się na „Naw”.

Definiowanie wyboru rekordów w Query/400Po zdefiniowaniu zmiennej i potwierdzeniu wyboru klawiszem ENTER pojawi się okno z prośbą o podanie z jakiego zbioru podstawić wartość. Należy podać dowolną nazwę nieistniejącego(!) zapytania.

Query/400 - definicja parametrów

To wystarczy na potrzeby prezentowanego przykładu. Jeśli nie definiujemy dodatkowych własności zapytania (formatowanie, podsumowania, sortowanie) wychodzimy z definicji zachowując ją pod podaną nazwą (F3).

By uruchomić stworzone zapytanie nie możemy się niestety posłużyć bezpośrednio narzędziem Query/400, lecz Query Manager’em. Użyjemy komendy STRQMQRY (Start Query Management Query) podając nazwę zachowanej definicji zapytania STUDENCI oraz bibliotekę w której zapytanie zostało zapisane (ASIMPLE):

STRQMQRY QMQRY(ASIMPLE/STUDENCI) QMFORM(*QMQRY) ALWQRYDFN(*YES)

W momencie wydania komendy zostaniemy poproszeni o podanie brakującej wartości dla zmiennej oznaczającej wydział. Mimo że pole wydział (WYDZ) jest znakowe, podawana wartość musi zostać ujęta w pojedynczy cudzysłów.

Query400 - podanie zmiennej przy wywołaniu zapytania

Uruchomienie zapytania pokaże wszystkich studentów wydziału ‚AI’ których nazwisko rozpoczyna się od liter ‚Naw’.

Query400 - wyniki zapytania

^