Zasady przypisywania drukarek przy uruchamianiu raportu 

Wprowadzenie

W czasie uruchomienia raportu automatycznie może zostać zaproponowana wartość domyślna będąca funkcją kontekstu, wskazująca przeznaczenie raportu (drukarka, plik, e-mail, itp.). Ta wartość domyślna może pochodzić od użytkownika, raportu, lokalizacji, itd. posiadającego grupę zaawansowanych reguł priorytetowych. Ten dokument opisuje te reguły i priorytety przypisania drukarki jako funkcje kontekstu.

Warunki wstępne

Przy zarządzaniu przypisaniem drukarki można określić różne parametry:

*Tabela miejsc docelowych służy do określania drukarek dostępnych użytkownikowi, oraz związanego z nimi typem wyjścia. Należy pamiętać, ze typ wyjścia to menu lokalne numer 22, któremu można nadać parametry.

*użytkownika , które służą do określania tabeli docelowej domyślnie oraz według typu. Można to zrobić bezpośrednio, lub przez odniesienie do innego użytkownika.

*Słownik raportów określa domyślne miejsce docelowe raportów; typ wyjścia, który posłuży jako filtr (chyba że pierwsza wartość jest uniwersalna) oraz formułę, dzięki której możliwe jest wyrażenie wartości dodatkowej opisanej poniżej.

*miejsc docelowych wg użytkownika określa najbardziej szczegółowe reguły przypisania miejsc docelowych (według trzech wartości: użytkownika, uzupełnienia i raportu).

Szczegółowe reguły przypisania

Na wstępie należy zwrócić uwagę na następujący fakt, przed przypisaniem wszystkich miejsc przeznaczenia, dwa elementy służą do definiowania drukarki:

* Wprowadzenie punktu DEFIMP używane jest przez specjalne/niestandardowe prace programistyczne, a wywołany kod może narzucić miejsce docelowe według szczegółowych reguł. Punkt wprowadzenia priorytetu jest wywoływany na końcu algorytmu (stąd znana jest drukarka, która powinna zostać wybrana domyślnie przy zastosowywaniu wszystkich innych reguł).

* Program wywoływania (jeśli drukarka zostaje wywołana bezpośrednio przez proces) może również narzucić miejsce docelowe.

Mając na uwadze te dwa elementy, reguły przypisania zostały określone poniżej. Algorytm zaczyna się określeniem następujących trzech wartości:

* W słowniku raportówokreślony jest Typ wyjścia . Poniższy algorytm określenia wyszukuje tylko miejsca docelowe odpowiedniego typu, jeśli żądany typ w raporcie nie jest pierwszym na liście (innymi słowy, jeśli znalezione miejsce docelowe nie jest odpowiedniego typu, wyszukiwanie trwa). Oczywiście miejsce docelowe musi być aktywne i użytkownik musi mieć prawo użycia go - dostęp przy wykonaniu kodu dostępu związanego z miejscem docelowym. Jeżeli miejsce docelowe nie spełnia tych wymagań, wyszukiwanie trwa.

* Jeżeli pole Dodatkowej formuły jest przypisane w słowniku raportów, wynik formuły jest szacowny i zwany jest on uzupełnieniem.uzupełnienie może być, na przykład, kodem lokalizacji, jeśli uruchomiony raport zaczyna się według danych z lokalizacji. W ten sposób użyte miejsce docelowe może być zależne od lokalizacji, której dotyczy wydruk. Jeżeli pole Dodatkowej formuły nie zostało przypisane, wartość Uzupełnienia jest uznawana za pustą. W użytej formule kalkulacji, następujące elementy mogą zostać wzięte pod uwagę: stałe, funkcje, wartość parametru raportu ze składni PARAM(NAMEPARAM), gdzie NAMEPARAM jest kodem parametru, gdyż jest określony w słowniku raportów, zmienne przypisane są w kontekście, na przykład, lokalizacja użytkownika dla danego modułu, który znajduje się w tabeli GFCYDEF.

* W końcu, połączony kod użytkownika służy jako parametr określania, poza sytuacjami, kiedy w rekordzieistnieje inny kod użytkownika w polu Miejsc docelowych użytkownika (to samo możliwe jest w celu określenia, czy danego użytkownika dotyczą te same reguły przypisania co innego użytkownika szablonu). Może nastąpić kilka prób wpisania kodu użytkownika, ale w razie zablokowania listy, dla kodu zostanie wybrany użytkownik wystawiający.

Przy określaniu trzech wartości (znalezionego typu wyjścia, wartości kodu uzupełniającego, kodu użytkownika) stosowana jest następująca reguła:

*miejsc docelowych użytkownika służy jako odniesienie. Jeśli w tej tabeli znajduje się wiersz dla bieżącego raportu, mający zastosowanie kod użytkownika oraz wartość uzupełniająca poprzednio obliczona, miejsce docelowe określone w tym wierszu zostanie użyte.

* Jeżeli dla wyżej wymienionych trzech wartości nie zostanie znaleziona żadna wartość i jeśli oszacowana wartość uzupełnienia nie jest pusta, ta sama tabela będzie odniesieniem podczas wyszukiwania wiersza z kodem użytkownika oraz odpowiedniego kodu raportu przy pustym polu uzupełniającym (jeśli uzupełnienie jest puste, poszukiwanie zostanie przeprowadzone wcześniej). Jeżeli wiersz istnieje, przypisane zostanie odpowiednie miejsce docelowe.

* Domyślnie używane jest miejsce docelowe określone w rekordzie raportu (jeżeli taki istnieje).

* Jeśli nadal nie znaleziono miejsca docelowego, użyte zostanie miejsce docelowe odpowiedniego typu określone w rekordzie użytkownika (jeżeli taki istnieje).

* Jeśli nadal nie znaleziono miejsca docelowego, kontynuowane będzie poszukiwanie odpowiedniego typu miejsca docelowego domyślnie przypisanego lokalizacji dla danego użytkownika (parametryPRT1, PRT2, PRT3, PRT4 ). Lokalizacja domyślna według użytkownika zależy zarówno od profilu funkcji oraz od modułu do którego jest przypisana. Poszukiwanie jest przeprowadzane według standardowych reguł hierarchii - lokalizacja/firma/folder dla wartości parametrów.

* Domyślnie, jeżeli odbywa się uruchomienie partii, pierwsze miejsce docelowe odpowiedniego typu zostanie wybrane. Jeśli jest to na bezpośrednim wydruku ze stacji roboczej, pierwsze miejsce docelowe typu Podgląd zostanie zaproponowane.

Jeśli miejsce docelowe zostało określone w tabeli miejsc docelowych przez użytkownika lub w słowniku raportów, pole Obowiązkowe zostanie z nim związane. Jeśli nie zostanie ono zaznaczone, określone miejsce docelowe nie będzie obowiązkowe, a użytkownik będzie mógł zmieniać miejsca docelowe lub ponownie je określać wybierając miejsce docelowe/serwer/nazwę drukarki/cechy. Miejsce docelowe określone przy użyciu innych reguł nigdy nie będzie uznawane za obowiązkowe.

Użyte tabele

Pliki robocze to APRINTER [AIM] (tabela miejsc docelowych), APRINTDES [AID] (tabela miejsc docelowych, uzupełnienie), APRTAUS [AIA] (tabela łącząca miejsce docelowe z trzema wartościami [ kodem raportu, kodem użytkownika, kodem uzupełnienia]).