aby parametr ogólny Wykorzystanie plików wsadowych był ustawiony na Tak w parametrach serwera przetwarzania w tle.
aby parametr EXTBATCH był ustawiony na Tak. Ten parametr, należący do grupy SUP, może być definiowany na poziomie folderu i użytkownika. Możliwe jest zatem ogólne zablokowanie uruchomienia partii zapytań w ten sposób dla danego folderu, poprzez dostosowanie, jeśli to konieczne, wyjątków od określonych użytkowników.
Uruchomienie zapytań wsadowych może zostać przeprowadzone przez umieszczenie pliku o rozszerzeniu .job w katalogu przeznaczonym dla tych plików. Musi to być plik typu ASCII, o strukturze z wierszami zakończonymi na <CR> lub <CR><LF>, każdy wiersz określa wartość parametru w formie:
PARAMETR=WARTOŚĆ
Niektóre parametry są obowiązkowe i określają kontekstu wykonania zapytania. Inne parametry zależą od zapytań, które mają zostać uruchomione: ich nazwa odpowiada nazwie parametrów określonych na ekranie związanym z uruchomieniem zapytań. W niektórych przypadkach, tabela parametrów jest określona na ekranie; składnie jest wtedy następująca: PARAMETR(indeks)=WARTOŚĆ, indeks będący wartością numeryczną.
Aby ułatwić utworzenie takiego pliku, możliwe jest uruchomienie zapytania z programu poprzez zaznaczenie pola szablonu na ekranie uruchamiania zapytań . Po wykonaniu tych czynności, plik zawiera kompletną listę parametrów uruchomienia, a ich wartość zostanie utworzona w katalogu uruchomienia. Ten plik zostaje utworzony z nazwą zapytania oraz rozszerzeniem .mod .
W poniższej tabeli znajdują się nazwy obowiązkowych parametrów i ich definicje.
PARAMETR | DEFINICJA |
DOSSIER | Kod dla folderu, w którym zapytanie musi zostać uruchomione. |
UTIL | Kod użytkownika logowania w folderze |
PASSE | Szyfrowane hasło dla użytkownika |
GRP | Grupa zapytań (jeśli grupa jest uruchomiona) |
TACHE | Zapytanie (jeśli zapytanie jest uruchomione) |
DATA | Data uruchomienia (w formacie RRRRMMDD) |
HEURE | Czas uruchomienia (w formacie GGMM) |
należy zauważyć, że wartości parametrów są podawane bez żadnego rozróżnienia i możliwe jest wstawienie wierszy komentarzy ze znakiem #jako prefiks. Zatem, następujące informacje mogą zostać wprowadzone w pliku zapytań:
# Parametry obowiązkowe
DOSSIER=DEMO (folder)
DATA=20020614
…
# Parametry dodatkowe
PARAM(1)=TEST
PARAM(2)=ABC
Serwer przetwarzania w tle sprawdza w regularnych odstępach zawartość katalogu plików zapytania. Podczas sprawdzania, odczytuje pliki obecne w katalogu umieszczając je w porządku ich klasyfikacji ASCII. Stąd, zalecanie jest stosowanie nazw plików, posiadających wspólny rdzeń i numer sekwencji o stałej długości. Mogą być nazwane, na przykład, ZAP000001.req, ZAP0000002.req
Podczas przetwarzania tego pliku, pliki są tworzone kolejno w różnych katalogach określonych parametrami serwera przetwarzania w tle. Pole te są określone poniżej:
ETAP PRZETWARZANIA | ZAKTUALIZOWANE PLIKI |
Przedstawione zapytania przetwarzania wsadowego | Tworzenie pliku xxxxx.job przy użyciu procesu zewnętrznego, w dedykowanym katalogu. |
Serwer przetwarzania w tle bierze pod uwagę zapytania i aktualizuje tabele zapytań, które mają zostać uruchomione. | Plik xxxxx.job zmienia nazwę na xxxxx.req (i zostaje przeniesiony, jeśli katalogi nie są jednakowe) |
Serwer wykrywa błąd w pliku parametrów (niepoprawne hasło, nieznany kod zadania, itd.) | Plik xxxxx.job zmienia nazwę na xxxxx.old (i zostaje przeniesiony, jeśli katalogi nie są jednakowe) Plik xxxxx.sta zostaje utworzony w dedykowanym katalogu. Zawiera on kod błędu, który służy do określenia czy format pliku przyjęcia jest niewłaściwy (zobacz poniższy format pliku). |
Zapytanie jest wykonywane, po uruchomieniu go przez serwer przetwarzania w tle. | Plik xxxxx.req zmienia nazwę na xxxxx.old (i zostaje przeniesiony, jeśli katalogi nie są jednakowe) Plik o nazwie xxxxx.run zostaje utworzony w dedykowanym katalogu. |
Zapytanie zostaje zakończone (poprawnie lub z błędem) | Plik xxxxx.run zostaje usunięty, a plik xxxxx.sta zostaje utworzony w dedykowanym katalogu: ten plik zawiera status zwrotu (zobacz poniższy format pliku). |
Zapytanie przerwania w zapytaniach wsadowych (oczekujące uruchomienie lub już uruchomione). | Tworzenie pliku xxxxx.kil przy użyciu procesu zewnętrznego, w dedykowanym katalogu. |
Biorąc pod uwagę zapytanie przerwania (jeśli zapytanie nie zostało jeszcze uruchomione) | Plik xxxxx.req (lub plik xxxxx.job jeśli nie został jeszcze wzięty pod uwagę) zmienia nazwę na xxxxx.old. Plik xxxxx.sta zostaje utworzony w dedykowanym katalogu. Zawiera on kod błędu, który służy do określenia czy zapytanie zostało przerwane zanim zostało uruchomione. Plik xxxxx.kil zostaje usunięty. |
Biorąc pod uwagę zapytanie przerwania (jeśli zapytanie zostało uruchomione i jeszcze nie jest zakończone) | Zapytanie jest przerywane przez killadx, a następnie plik xxxxx.sta zostaje utworzony w dedykowanym katalogu z kodem błędu, który służy do określania, czy zapytanie zostało przerwane. Pliki xxxxx.kiloraz xxxxx.run zostają usunięte. |
Biorąc pod uwagę priorytety wykonania lub zatrzymanie serwera przetwarzania w tle, zapytanie nie mogło zostać uruchomione w planowanym czasie realizacji (opóźnione zapytanie) | Zapytanie nie zostaje uruchomione, ale plik xxxxx.req (plik xxxxx.jobw niektórych wypadkach) zmienia nazwę na xxxxx.oldi zostaje przeniesiony, jeśli jest to konieczne. Plik xxxxx.sta zostaje utworzony w dedykowanym katalogu. Zawiera on kod błędu, który służy do określenia, czy zapytanie nie mogło zostać uruchomione. |
Należy zauważyć, że istnienie pliku xxxxx.run nie musi znaczyć, iż dane zapytanie jest wykonywane. Jeżeli serwer przetwarzania w tle zatrzymał się, a trwające zapytania nie zostały przerwane, odpowiednie pliki xxxxx.run będą nadal istnieć, nawet jeśli zapytanie powinno było zakończyć ich przetwarzanie. W takim wypadku xxxxx.sta nie zostanie utworzony. Z drugiej strony, kiedy serwer przetwarzania w tle zostanie ponownie uruchomiony, plik xxxxx.run zostanie usunięty, a plik xxxxx.stazawierający specjalny status zostanie utworzony.
Liczba aktualnie przetwarzanych zapytań wsadowych może zatem być odjęta od liczby plików xxxxx.run obecnych w dedykowanym katalogu.
Są to pliki ASCII, zakodowane w 8-bitowym systemie ASCII, obecne w różnych katalogach, zgodnie z parametrami:
Struktura jedynego wiersza zawartego w plikach .run oraz .sta jest następująca:
Dokładna struktura jest następująca:
Numer statusu | Numer zlecenia | Data i godzina rozpoczęcia | Data i godzina zakończenia | Kod folderu | Kod użytkownika | Kod zadania | Komunikat | Koniec wiersza |
NNNNN | NNNNNNNN | RRRRMMDDGGMMSS | RRRRMMDDGGMMSS | DDDDDDDDDD | UUUUU | TTTTTTTTTT | XXXXXXXXXXXXXXXXXX | <CR> |
5 cyfr | (8 cyfr) | (14 cyfr) | (14 cyfr) | (10 znaków) | (5 znaków) | (10 znaków) | (80 znaków) | (1 lub 2 bajty) |
Pole komentarza służy do wytłumaczenia kodu błędu, jeśli jest to konieczne. Jego stała długość to 80 znaków (jeśli komunikat jest krótszy, musi zostać uzupełniony spacjami).
Numer zapytania ma 8 znaków, w razie konieczności używa się prefiksu 0. Ten number służy do identyfikacji nazwy logu wygenerowanej przy wykonywaniu zapytania. Plik nosi nazwę RQTNNNNNNNN.tra (NNNNNNNN nazwa zlecenia zawierająca 8 znaków). Jest zlokalizowany w pod-katalogu TRA folderu SERVX3. Należy zauważyć, że numer ten może mieć wartość null, w przypadku niektórych błędów, kiedy żadne zapytanie nie może zostać uruchomione.
Kod zadania odpowiada zadaniu lub uruchomionym zadaniom powiązanym, pod tą nazwą występuje w tabeli zadanie/zadania połączone.
Kod statusu, mający ponad 5 znaków numerycznych, służy do identyfikowania wykonania zapytania. Pierwsza cyfra określa ogólny wynik z wykonania, następne cyfry to dodatkowe informacje. Kiedy zapytanie zostaje zakończone bez błędów i ostrzeżeń, kod błędu jest równy 0000. Szczegóły tego kodu podane są poniżej:
Wartość kodu błędu ma ponad 5 cyfr | Komunikat | |||
Pierwsza cyfra | Znaczenie | Uzupełnienie | Znaczenie |
|
0 | Normalne zakończenie przetwarzania | 0000 | Bez ostrzeżeń | ZADANIE ZAKOŃCZONE |
NNNN | Z ostrzeżeniami NNNNw logu (9999 jeżeli 9999 lub więcej) | ZADANIE ZAKOŃCZONE Z OSTRZEŻENIAMI | ||
1
| Zakończenie procesu z błędami
| 0000 | Nieokreślony błąd (na przykład jeśli GOK=-1 i nie ma żadnych informacji dodatkowych) | ZADANIE ZAKOŃCZONE Z NIEZNANYM BŁĘDEM |
1NNN | Numer błędu NNNNz mechanizmu Adonix (komunikat M) | ZAKOŃCZENIE BŁĘDU ADONIX: M | ||
2000 | Błąd blokujący (GOK=0) | BŁĄD BLOKUJĄCY | ||
3NNN | Błąd logiczny podczas przetwarzania, w którym NNN =wartość zmiennej GERRBATCH, | ZADANIE ZAKOŃCZONE Z BŁĘDEM M | ||
Ważna uwaga :
| ||||
2
| Proces nie został uruchomiony
| 1000 | Zadanie było zaprogramowane na daną godzinę, ale nie mogło zostać uruchomione w danym czasie. | PRZEKROCZONO CZAS |
2000 | Nieistniejące zadanie | TTTNIEISTNIEJĄCE ZADANIE | ||
3000 | Autoryzacja (nieokreślona) | PROCES NIE ZOSTAŁ URUCHOMIONY Z POWODU NIEOKREŚLONEGO PROBLEMU AUTORYZACJI | ||
3100 | Autoryzacja (użytkownik U nieznany) | UŻYTKOWNIKUNIEZNANY | ||
3200 | Autoryzacja (nieprawidłowe hasło użytkownika U) | NIEPRAWIDŁOWE HASŁO UŻYTKOWNIKA U | ||
3300 | Autoryzacja (odrzucona w entry point) | PROCES NIE ZOSTAŁ URUCHOMIONY Z POWODU ODRZUCENIA PRAW W ENTRY POINT | ||
3400 | Autoryzacja (poziom N dla zadania niedostępnego dla użytkownika U niewystarczający) | POZIOM DOSTĘPU NBRAK AUTORYZACJI DLA UŻYTKOWNIKA U | ||
3500 | Autoryzacja (funkcja Fnieautoryzowana dla użytkownika U) | F FUNKCJA NIE AUTORYZOWANA DLA UŻYTKWONIKA U | ||
4NNN | Przejście w tryb jednego użytkownika niemożliwe (NNNużytkowników w toku) | PRZEJŚCIE W TRYB JEDNEGO UŻYTKOWNIKA NIEMOŻLIWE Z POWODU NNN ZALOGOWANYCH UŻYTKOWNIKÓW | ||
5000 | Proces Tnie istnieje | PROCES TNIE ISTNIEJE | ||
3 | Zatrzymanie procesu | 0000 | Zatrzymanie procesu, powód nieznany (na przykład, jeśli proces inny niż serwer przetwarzania w tle przerwał zapytanie) | ZADANIE PRZERWANE (NIEZNANY POWÓD) |
1000 | Poprzez rozszerzenie pliku .kil, zawierającego komunikat M | ZAPYTANIE PRZERWANE PRZEZ U Z POWODU M | ||
Uwaga: Kod użytkownika może być pusty w przypadku przerwania przez plik. System próbuje wykryć, kierując się danymi użytkownika, kto utworzył plik, niezależnie od tego, czy kod użytkownika Adonix jest odpowiedni. Wyszukiwanie może nie funkcjonować, w zależności od używanego systemu operacyjnego. | ||||
2000 | Według zarządzania zadaniem oraz użytkownika U: wprowadzony komunikat to M | ZAPYTANIE PRZERWANE PRZEZ U Z POWODU M | ||
3000 | Przez serwer przetwarzania w tle, ze względu na limit czasu oczekiwania | PROCES ZOSTAŁ PRZERWANY PRZEZ SERWER POWÓD=CZAS PRZEKROCZONY |
Należy zauważyć, że w przypadku szablonów zadań przetwarzania w tle (szablon GTRAITE), dla użytkownika dostępne są następujące zmienne, dostępne w zadaniach specjalnych/niestandardowych, lub w zadaniach standardowych poprzez entry points:
Chyba że wystąpi błąd spójności podczas uruchamiania, standardowe zadania przetwarzania w tle w programie nigdy nie uznają błędów, które wystąpiły za krytyczne i aktualizują log powiększając GERRTRACE. Oznacza to, że jakikolwiek błąd krytyczny, który przerywa proces musi zostać przetworzony w specjalny/niestandardowy sposób, poprzez entry point, nadając zmiennej GERRBATCH wartość większą niż 100.
Plik obecny w pod-katalogu TRA w katalogu SERVX3, zawiera log serwera. Struktura wierszy jest zgodna ze strukturą klasycznego logu (standardowe statusy nagłówka i statusy numeryczne powyżej 5 znaków). Każdy wiersz składa się z tekstu potencjalnie zawierającego prefiks numeryczny (ten numer jest poprzedzony znakiem <, jeśli jest uznawany za błąd; a znakiem =, jeśli jest ostrzeżeniem).
Istnieją następujące numery statusu (z prefiksem 4 i 5 dla spójności z poprzednimi statusami). Należy zauważyć, że statusy zaczynające się od 4, są uważane za krytyczne i nie powinny wystąpić podczas normalnej operacji (aktualizacja, zarządzanie zadaniem, problemy blokujące serwera przetwarzania w tle) i mogą być problemami systemowymi, spowodowanymi, na przykład, nieprawidłową instalacją. Statusy zaczynające się od 5 to normalne statusy aktywności serwera przetwarzania w tle:
KRYTYCZNE BŁĘDY SPÓJNOŚCI SERWERA | ||
Status | Objaśnienie | Tekst |
41000 | Zadanie desynchronizacji | BŁĄD ZADANIA DESYNCHRONIZACJI |
42000 | Problem z dostępem do tabeli zadań | BŁĄD DOSTĘPU DO TABELI ZADAŃ |
43000 | Nieistniejący numer zapytania | BŁĄD: NIEISTNIEJEJĄCE ZAPYTANIE |
44000 | Problem z dostępem do tabeli parametrów partii |
|
NORMALNE KOMUNIKATY OPERACJI DLA SERWERA | ||
50000 | Uruchomienie serwera | URUCHOMIENIE SERWERA PRZETWARZANIA W TLE |
51000 | Aktywacja zadania (numer identyfikacji procesu P) | NUMER IDENTYFIKACJI P AKTYWACJI ZAPYTANIA=P |
52NNN | Błąd Adonix NNNpodczas uruchamiania serwera (komunikat o błędzie = M) | BŁĄD PRZY URUCHAMIANIU SERWERA M |
53000 | Inny błąd przy uruchamianiu serwera | NIEZIDENTYFIKOWANE BŁĄD PRZY URUCHAMIANIU SERWERA |
54000 | Uruchomienie serwera, gdy jest już aktywny | SERWER JEST JUŻ AKTYWNY |
55000 | Zatrzymanie serwera przetwarzania w tle |
|
Te pliki obecne w pod-katalogu TRA, katalogu SERVX3 zawierają log związany z samym zapytaniem. Struktura wierszy jest zgodna ze strukturą klasycznego logu (standardowe statusy nagłówka i statusy numeryczne powyżej 5 znaków). Każdy wiersz składa się z tekstu, z numerycznym prefiksem (ten numer jest poprzedzony znakiem <, jeśli jest uznawany za błąd lub ostrzeżenie). Te pliki mogą zostać odczytane bezpośrednio z zarządzania zapytaniem, poprzez kliknięcie prawym przyciskiem myszy / Log odczytu.
Po wierszu nagłówka, pierwszy wiersz w tym pliku wyświetlany jest w formie wiersza o następującym formacie (łącznie ze statusem Aktywacja zadaniaopisanym powyżej) :
51000 NNNNNNNNDD/MM/RR gg :mm :ss Aktywacja zadania (51000)
(NNNNNNNNprzedstawia numer zadania w tej sytuacji)
Klasyczne wiersze logu dla zadań następują po pierwszym wierszu (jeśli dany proces nie został uruchomiony jako grupa, te wiersze zostaną zapisane w klasycznym logu FNNNNN.tra w katalogu TRA folderu uruchomienia). Następnie, poza sytuacją, w której zadanie zostało zatrzymane (na przykład przez killadx), końcowy wiersz o identycznej strukturze zostanie znaleziony, gdzie numer odpowiada statusowi odpowiedniego zakończenia (00000) lub błędowi (1NNNN) opisanemu powyżej.