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

^