Baza wiedzy Trawers ERP

AutoRun Procesy automatyczne

1. Opis ogólny 2. Tabela procesów AutoRun 2.1 Opis ogólny 2.2 Zawartość tabeli AutoRun 2.3 Wypełnianie tabeli AutoRun 2.4 Przykład wypełniania tabeli AutoRun 2.5 Tabela AutoRun w firmie Tres 3. Wykonywanie procesów AutoRun 3.0 Opis ogólny 3.1 Wywołanie z powłoki SO (en: Command-Line) 3.2 Wywołanie z tabeli AutoRun 3.3 AutoRun a liczba sesji 3.4 AutoRun a wyłączny dostęp do bazy danych 3.5 Wykonanie funkcji SOA w AutoRun 4. Lista procesów AutoRun 5. AutoRun w Linux 5.1 Bezpośrednie wykonanie funkcji Pobieranie poczty (e-maili) Obliczanie kosztów normatywnych w KIM 5.2 Cykliczne wywoływanie funkcji 5.3 Wykonywanie funkcji w tabeli AutoRun 5.4 Zakończenie funkcji AutoRun 5.6 Pobieranie kursów walut z NBP 6. AutoRun w Windows 7. Kierunki rozwoju 8. Tematy powiązane 9. Aneks. Instrukcja AutoRun (AsystentAI) 10. Aneks. ChackLista (AsystentAI)

1. Opis ogólny

Mechanizm AutoRun
Mechanizm AutoRun w Trawers ERP to narzędzie, które pozwala na automatyczne uruchamianie różnych funkcji i zadań w systemie ERP bez konieczności ręcznej interwencji użytkownika. Jest to szczególnie przydatne do wykonywania rutynowych operacji, takich jak raportowanie, weryfikacja danych, aktualizacje czy backupy, w regularnych odstępach czasu lub w określonych warunkach. AutoRun, to możliwość automatycznego wykonywania funkcji programu. Automatycznego tzn. bez konieczności wybierania pozycji z menu. Np. pobranie poczty email, pobranie kursów walut ze strony NBP, wysłanie raportu do odbiorcy, utworzenie zestawienia, aktualizacja danych. Tworząc sekwencję automatycznie wykonywanych funkcji uwalnia się użytkowników od potrzeby ręcznego wywoływania procesów programu. W AutoRun wywołuje się funkcje programu Trawers używając identyfikatora: IdProces IdProces to jest identyfikator funkcji powiązany z pozycją w menu: NA > Sprzedaż > Faktury > Dopisywanie [NA_DFA10] -------------------o----------------- ----o--- | | v v Pozycja w menu systemu NA IdProces Patrz opis: IdProces: Zarządzanie sesjami Funkcje w AutoRun można wykonywać w dowolnym czasie. Np. funkcje, które trwają długo i obciążają znacząco system, można wykonywać w nocy. Istota procesu AutoRun polega na tym, że z systemu operacyjnego wywołuje się jedną funkcję lub wiele funkcji (kolejkę), zamiast wybierać z menu. Szczególnym zastosowaniem AutoRun jest wykonywanie usług SOA (IdProces: AD_PSOA1). SOA Architektura wymiany danych AutoRun jest synonimem takich określeń jak: Job List File, Batch Manager, Background process, Automation Schedule, itp.
Jak działa AutoRun
* Definiowanie zadań: Użytkownik określa zadania, które mają być wykonywane automatycznie. Mogą to być np. weryfikacja spójności danych, generowanie raportów, itp. * Harmonogram: Użytkownik może ustawić harmonogram, który określa, kiedy i jak często zadania mają być uruchamiane. Może to być codziennie, co tydzień, co miesiąc, albo przy każdym uruchomieniu systemu. * Warunki wywołania: Można ustawić warunki, które muszą być spełnione, aby zadanie zostało uruchomione, np. konkretne godziny, dni tygodnia, czy też zdarzenia w systemie.
Wykonywanie funkcji AutoRun
Funkcje programu przygotowane do wywołania w trybie AutoRun można wykonywać (wywoływać) na dwa sposoby: 1. Z powłoki systemu operacyjnego (en: Command-Line CLI) Wywołuje się jeden, wskazany proces (funkcję). NOTE: Ten proces także należy umieścić w tabeli AutoRun 2. Z tabeli AutoRun Wykonuje się szereg procesów (funkcji) zapisanych w tabeli AutoRun. Wywołanie procesów via funkcja sterująca [AD_PAR10]) Patrz szczegóły poniżej.

2. Tabela procesów AutoRun

2.1 Opis ogólny

Tabela AutoRun [AD_PAR10] zawiera procesy (funkcje programu) wykonywane automatycznie we wskazanych dniach i we wskazanej kolejności. Procesy (funkcje programu) można wykonywać pojedyńczo lub zbiorowo. Można zbudować sekwencję (kolejkę) wzajemnie powiązanych procesów.
Procesy wykonywane okresowo
Procesy mogą wykonywać się jednorazowo lub cyklicznie, we wskazane dni. Można wskazać dni tygodnia i dni miesiąca w których mają się wykonać.
Sekwencje powiązanych procesów
Można tworzyć sekwencje wzajemnie powiązanych procesów. W tabeli można wskazywać sekwencje procesów, które mają się wykonać z określoną częstotliwością i określonych warunkach, np. po udanym zakończeniu poprzedniego procesu.
Następny proces po prawidłowym zakończeniu poprzedniego
W tabeli AutoRun, w polach [R] Rezultat ostatniego wykonania są wskaźniki, które mogą sterować sekwencją powiązanych procesów. Wartości wskaźników stanu procesu: [ ] - proces nie był wykonywany [v] - proces wykonano poprawnie [!] - procesu nie wykonano poprawnie [?] - proces poprzedzający nie został wykonany
Przykład procesu
W firmie Tres, w tabeli AutoRun zapisano zadania: pobieranie aktualnej tabeli kursów walut ze strony NBP, pobieranie przychodzących e-maili, wysyłanie wezwań do zapłaty, wysyłanie zamówień na abonament, itp. Patrz też: --> Automatyczne odbieranie e-maili w procesie AutoRun (IdProces: [RK_PEM12]) E-mail Wbudowana poczta TrEmail

2.2 Zawartość tabeli AutoRun

Tabela
Tabela AutoRun zawiera następujące dane: o----------------------------------------------------------------o | Sy ------ Nazwa ------ Ostatni- Następny- Wykonaj -- -Op- R W | | AD Weryfikacja glob 12.03.03 cyklicznie JD | | RK Oznacz: bez abon 12.03.11 12.03.12 cyklicznie FS v | | RK Oznacz: zalega 12.03.11 12.03.12 cyklicznie FS v | o-o-- ---------o-------- ---o---- ---o---- ----o----- -o- o o o | | | | | | | | System Nazwa procesu Ostatnie Następne | Operator | | wykonanie wykonanie | | | Cyklicznie | | Jednorazowo | | | | R Rezultat: [ ][v][!][?] --o | (opis poniżej) | | W Włączony [ ] --o Wyłączony [#] * System Symbol systemu, w którym jest funkcja do wykonania, np. AD * Nazwa opisowa i techniczna (IdProces) Nazwa opisowa procesu, np. Weryfikacja globalna Nazwa techniczna (IdProces), np. AD_PGZ91 widoczna jest na karcie procesu: F2 IdProces, to jest wewnętrzny identyfikator funkcji, np. NA_DFA10 Każda funkcja ma unikalny IdProces * Poprzedzający Nazwa procesu poprzedzającego * D ostat Data ostatniego wykonania * D nast Data następnego wykonania * Tryb Jednorazowo lub cyklicznie Gdy cyklicznie, to trzeba wskazać (oznaczyć [*]) dni tygodnia i dni miesiąca * Op Symbol operatora, który zdefiniowal proces * R Rezultat ostatniego wykonania; pole może zawierać wartości: [ ] Proces nie był wykonywany [v] Proces wykonano poprawnie [!] Procesu nie wykonano poprawnie [?] Proces poprzedzający nie został wykonany poprawnie * W Stan procesu: [ ] Włączony. Proces będzie wykonywany [#] Wyłączony. Proces nie będzie wykonywany
Funkcje (klawisze)
F2-opcje -------- Przeglądanie i zmiana własności procesu: * Nazwa procesu Identyfikator IdProces * Częstość wykonywania Jednorazowo lub cyklicznie. Gdy cyklicznie, to system sam wyznaczy datę następnego wykonania, w zależności od parametrów * Data następnego wykonania, gdy wykonanie jednorazowe * Dni tygodnia, gdy wykonanie cykliczne * Dni miesiaca, gdy wykonanie cykliczne * Proces poprzedajacy Proces, który powinien zakończyć pomyslnie, aby wykonać aktualny * Wydruk do Urządzenie wyjściowe, na które skierowany będzie wydruk utworzony utworzony w procesie. F5-parametry ------------ Przeglądanie parametrów procesu Parametry dodatkowo sterujące pracą procesu, np. pobieranie kursów walut NBP parametr wskazuje, żeby pobierać tylko tabelę A (nie pobierać tabeli C) -------------------------------------------------------------- --- Nazwa -------------------- --- Wartość ------------------ Tabela C N -------------------------------------------------------------- F6-raport --------- Wyświetlenie raportu z wykonania F10-wł/wył ---------- Włącz/wyłącz. Deaktywuje i aktywuje proces. Wyłączony jest oznaczony [#]

2.3 Wypełnianie tabeli AutoRun

Uprawniony operator
Procesy do wykonania w AutoRun może dopisać uprawniony operator: param 0639 [1] Dane do tabeli AutoRun dopisuje się w locie, podczas wykonywania funkcji programu, którą planuje się wykonywać automatycznie. Uprawniony operator (param 0639 [1]) wywołuje proces (funkcję z menu), np. NZ > Pomocnicze > Obliczanie sumarycznych Sprzedaż [NZ_PGZ50] Operator wykonuje funkcje. Na zakończenie program pyta: Czy zapisać do tabeli Autorun ? Gdy [T], to proces, tu: [NZ_PGZ50] zostaje zapisany do tabeli AutoRun.
Parametry wykonywanych procesów
Podczas automatycznego wywołania w AutoRun, proces, tu: [NZ_PGZ50] będzie wykonywany z parametrami domyślnymi (standardowymi). Niektóre funkcje (procesy) wykonywane w AutoRun otrzymają parametry z tabeli: Ostatnie wybory operatorów. Ostatnie wybory operatorów Funkcje: MG > Zapasy > Oblicz średni rozchód w KIM [MG_ZSR10] ŚredniRozch_KIM MG > Zapasy > Oblicz średni rozchód w KSOM [MG_ZSR20] ŚredniRozch_KSOM

2.4 Przykład wypełniania tabeli AutoRun

Kolejne kroki
* Oznaczyć parametr operatora 0639 [1] * Wywołać funkcję, np. AD > Globalna gospodarka > Weryfikacja * Program zapyta: Czy zapisać do tabeli AutoRun ? * Po TAK, wyświetli się okno definicji tabeli AutoRun o-- Opcje ----------------------------------------------------o | | | Nazwa procesu/IdProces: Weryfik co tydzień | | | | Proces poprzedzający : | | Tryb: cyklicznie | | Następne wykonanie: 20xx.03.16 | | | | W dni tygodnia | | PON WTO ŚRO CZW PIĄ * SOB NIE | | W dni miesiąca | | 1 2 3 4 5 6 7 8 9 10 | | 11 12 13 14 15 16 17 18 19 20 | | 21 22 23 24 25 26 27 28 29 30 31 | | | o-------------------------------------------------------------o * Zapisać dane do tabeli AutoRun * Wywołać proces z powłoki systemu operacyjnego, np. w cron Patrz opis niżej * Monitowować wykonanie: 1. W tabeli AutoRun, np. o----------------------------------------------------------------o | Sy ------ Nazwa ------ Ostatni- Następny- - Tryb --- -Op- R W | | AD Weryfikacja glob 12.03.03 cyklicznie JD | | RK Oznacz: bez abon 12.03.11 12.03.12 cyklicznie FS v | | RK Oznacz: zalega 12.03.11 12.03.12 cyklicznie FS v | o----------------------------------------------------------------o 2. W logu, np. ------------------------------------------------------------- Ni 20:25:02 TR.EE.RK.03 TR_AutoRun RK_PEM12 Pobieranie poczty Ni 20:30:02 TR.EE.RK.03 TR_AutoRun RK_PEM12 Pobieranie poczty Ni 20:32:08 TR.JD.AD.03 WE: AD_PAR10 AD_PAR10 Tabela AutoRun Ni 20:32:43 TR.FS.RK.03 TR_AutoRun AD_PGZ91 Weryfikacja glob Ni 20:33:05 TR.JD.AD.03 WY: AD_PAR10 AD_PAR10 Tabela AutoRun -------------------------------------------------------------

2.5 Przykład tabeli AutoRun w firmie Tres

W firmie Tres tabela AutoRun ma następującą zawartość: ------------------------------------------------------------------------------ Sy --- Nazwa ---------- -Ost wykonanie (dzień godz)- -Następne- Tryb Op R W -- IdProces -- AD Biała Lista 20xx.11.28 02:13:20_02:15:05 20xx.11.29 cykl EE v <--- [AD_PBL10] AD Dok do zatwierdzenia 20xx.12.27 02:07:00_02:07:07 20xx.12.28 cykl EE v # <--- # proces nieaktywny AD Indeksowanie 20xx.11.28 02:01:57_02:12:55 20xx.11.29 cykl EE v <--- [AD_PGZ88] AD Weryfikacja globalna 20xx.11.28 02:12:55_02:13:16 20xx.11.29 cykl EE ! <--- [AD_PGZ91] NZ NZ-sprzedaz roku 20xx.11.28 02:13:16_02:13:18 20xx.11.29 cykl EE v <--- [NZ_PGZ50] NZ NZ-zakupy 20xx.11.28 02:13:18_02:13:19 20xx.11.29 cykl EE v <--- [NZ_PGZ51] RK Oznacz: zalega 20xx.11.28 02:00:03_02:01:53 20xx.11.29 cykl EE v <--- [RK_OSY10] TK Pobierz kurs waluty 20xx.11.28 02:01:53_02:01:56 20xx.11.29 cykl EE v <--- [TK_PTK10] -----------------------------------------------------------------------------

3. Wykonywanie procesów AutoRun

3.0 Opis ogólny

Do wykonania (wywołania) w trybie AutoRun przygotowano część funkcji (procesów) programu Trawers. W zbiorze (tabeli) menu, funkcje te zostały oznaczone wskaźnikiem [T]. Wskaźniki widać na zestawieniu prezentującym strukturę funkcji (menu) programu. AD > Pomoc > O programie > Funkcje w menu (IdProces) [AD_TAT10] Fragment zestawienia: Można wykonywać w AutoRun [T] | v ------------------------------------------------------------- Nazwa funkcji IDPROCES T E o-Globalna gospodarka zbiorami | o-Aktualizacja bazy danych .......... ------- AD_PGZ87 . T | o-Aktualizacja bazy danych - AutoRun ------- AD_PGZ8A T T | o-Indeksowanie ...................... ------- AD_PGZ88 T T | o-Weryfikacja ....................... ------- AD_PGZ91 T T ^ | [T] Mozna wykonywać w AutoRun ----o Funkcje programu przygotowane do wywołania w trybie AutoRun można wykonywać (wywoływać) na dwa sposoby:
Z powłoki SO
1. Bezpośrednio z powłoki systemu operacyjnego (en: Command-Line CLI) Wywołuje się jeden, wskazany proces (funkcję). Uwaga: Bez względu na to, czy wywołujemy proces bezpośrednio z powłoki systemu operacyjnego, czy też z tabeli AutoRun, w obu przypadkach przed uruchomieniem procesu (funkcji) należy ją **dopisać do tabeli AutoRun**.
Z tabeli AutoRun
2. Inicjowanie wykonywania procesów zapisanych w tabeli AutoRun, odbywa się przez wywołanie funkcji sterującej (IdProces: [AD_PAR10]) Można wykonać wiele procesów (funkcji) zapisanych w tabeli AutoRun.

3.1 Wywołanie z powłoki SO (en: Command-Line)

Funkcję (proces) wywołuje się bezpośrednio z powłoki systemu operacyjnego (en: Command-Line). Wywołuje się jeden, wskazany proces (funkcję). Zarządzanie sesjami
Wywołanie funkcji
Przykład wywołania funkcji: AD > Globalna weryfikacja [AD_PGZ91] --------------------------------------------------- tr5w.exe --firma=FP --operator=AA --proces=AD_PGZ91 --------------------------------------------------- o------ o-------- o------------ o---------------- | | | o--- IdProces, np. AD_PGZ91 | | | Globalna weryfikacja | | o----------------- operator, np. AA | o--------------------------- firma, np. FP | o------------------------------------- program wykonywalny Przykład wywołania funkcji: AD > Pobieranie z KSeF do ZO (Autorun) [AD_PKS05] -------------------------------------------------------------- tr5x64.exe //gtnul --firma=FP --operator=AA --proces=AD_PKS05 --------------------------------------------------------------

3.2 Wywołanie procesów w tabeli AutoRun

Inicjowanie wykonywania procesów zapisanych w tabeli, odbywa się przez wykonanie funkcji sterującej (IdProces: [AD_PAR10]) Funkcję (proces) [AD_PAR10] wywołuje się bezpośrednio z powłoki systemu operacyjnego (en: Command-Line). --------------------------------------------------- tr5w.exe --firma=FP --operator=AA --proces=AD_PAR10 --------------------------------------------------- Proces ten przegląda tabelę AutoRun i poszukuje procesu do wykonania, tj. w tym dniu tygodnia, w tym cyklu, itp. Po wykonaniu, tworzy raport i zaznacza proces jako wykonany.
Bezpieczeństwo procesu AutoRun
Jeżeli wywołuje się w AutoRun, to nie trzeba podawać hasła operatora, który wykonuje proces. Istotą mechanizmu jest wywoływanie automatyczne, bez dodatkowego dialogu. Kontrolę uprawnień do wywołania procesu AutoRun przenosi się na administratora. Powinien, np. zabronić osobom nieuprawnionym wywoływania poleceń z powłoki systemu operacyjnego. Patrz też: Zadania administratora Trawers Utrzymanie instalacji IT Każde wywołanie procesu AutoRun to logowanie i wylogowanie operatora. Jest to logowanie automatyczne (en: Automatic Login). Program dodaje zapisy (rekordy) w tabeli zdarzeń. Program może wysyłać powiadomienia o logowaniu i wylogowaniu operatora. Patrz param 1103 [2] [1] [ ]

3.3 AutoRun a liczba sesji

Każdy proces AutoRun zdejmuje jedną sesję z puli sesji określonych w licencji. Zarządzanie sesjami W parametrach AD można wskazać liczbę sesji zarezerwowanych dla AutoRun. W ten sposób zapewnia się, że proces AutoRun będzie na pewno wykonany. Można ograniczyć ilość sesji, które może pobrać AutoRun z puli podanej w licencji. Np. 1 : 0 Jedna sesja zarezerwowana dla AutoRun 1 : 3 Jedna sesja zarezerowana dla AutoRun, można uruchomić co najwyżej 3 procesy AutoRun Parametry systemu AD Wiele procesów AutoRun można wykonywać poza godzinami pracy operatorów, np. w nocy.

3.4 AutoRun a wyłączny dostęp do bazy danych

Wyłączny dostęp do bazy danych, konieczny jest podczas realizacji transakcji oraz podczas operacji globalnych na zbiorach w bazie danych Wyłączny dostęp oznacza, że w podczas wykonywania operacji tylko jedna osoba (jeden użytkownik) może mieć dostęp do danych. Patrz szczegóły: Wyłączny dostęp do bazy danych Operacje transakcyjne, np. zapisywanie dokumentu sprzedaży, wymagają wyłącznego dostępu na ułamki sekund. Operacje globalne, np. aktualizacja i indeksowanie wymagają takiego dostępu na czas dłuższy. Wykonywane procesy należy rozdzielić w czasie tak, nie przeszkadzły sobie wzajemnie. Aby nie było konfliktów w jednoczesnym żądaniu wyłącznego dostępu do danych wymaganego przez kilka procesów AutoRun. Np. Indeksowanie wykonywać w czasie gdy inne procesy zakończą się.

3.5 Wykonanie funkcji SOA w AutoRun

Szczególnym zastosowaniem AutoRun jest wykonywanie usług (funkcji) SOA SOA Opis ogólny Funkcję SOA wykonuje się wywołując proces: [AD_PSOA1] z parametrami. Proces [AD_PSOA1] został specjalnie utworzony dla potrzeb AutoRun. Nie można tego procesu wywołać z menu programu. Przykłady funkcji SOA wykonywane w procesie [AD_PSOA1] * Pobranie (export) danych z kartoteki odbiorców programu Trawers Wymiana danych SOA * Generowanie plików raportów wymaganych przez system Asseco EBI Raportowanie w systemie EBI

4. Lista procesów AutoRun

Obecnie automatycznie można wykonywać następujące procesy (funkcje): ----------------------------------------------------- IdProces Funkcja -------- ------------------------------------------- AD________ AD_PSOA1 Wykonanie procesu (usługi) SOA AD_PSOA2 Uruchomienie serwera internetowego SOA AD_PGZ88 Indeksowanie zbiorów danych [R] NOTE: * Indeksuje wszystkie kartoteki i tabele * Indeksuje zbiory dok okresów otwartych * Powiadamia, gdy proces sygnalizuje problem AD_PGZ8A Aktualizowanie bazy danych AD_PGZ91 Weryfikowanie zapisów w zbiorach AD_PDV20 Zestawienie dokumentów do zatwierdzenia AD_PGZ55 Dane dla Qlik AD_PGZ92 Przenosi dane do bazy SQL, np. PostgreSQL AD_PGZ9A Tworzenie punktu przywracania AD_PAL10 Monitorowanie Alertów AD_PBL10 Biała Lista VAT. Weryfikacja rachunków bankowych AD_PKS05 Pobieranie z KSeF do ZO (Autorun) AD_PKS06 Pobieranie z KSeF do NA (Autorun) BM________ BM_OKS40 Obliczanie kosztów normatywnych produktu BM_OKS50 Obliczanie kosztu materiałów DC________ DC_PMENU Uruchomienie modułu DC z pominięciem menu AD MG________ MG_PDO10 Pobieranie kart KIM z pliku CSV MG_ZSR10 Oblicz. średniego rozchodu w KIM MG_ZSR20 Oblicz. średniego rozchodu w KSOM MR________ MR_OMR10 Tworzenie planu potrzeb MRP NA________ NA_PDO40 Pobieranie zamówień sprzedaży z pliku CSV NZ________ NZ_PGZ50 Obliczanie sumarycznych Sprzedaż NZ_PGZ51 Obliczanie sumarycznych Zakupy RA________ RA_DRS30 Rejestracja na terminalu 3 RA_DRS20 Wykonanie operacji 2 RK________ RK_PEM12 Odbieranie wiadomości e-mail SH________ SH_OHP10 Harmonogramowanie, zasoby nieograniczone (Infinite) SH_OHA10 Harmonogramowanie, zasoby ograniczone (Finite) SH_OHL10 Harmonogramowanie, Lead time scheduling TK________ TK_PTK10 Pobieranie tabel kursów walut ze strony NBP ZO________ ZO_PDO40 Pobieranie fa z pliku CSV (beta) ZP________ ZP_DRS30 Rejestracja na terminalu 3 ZP_DRS20 Wykonanie operacji 2 ZP_OZK20 Zestawienie kontrolne globalne ----------------------------------------------------- Patrz też: Funkcje w menu (drzewo) Przykład: o-- Tabela Autorun -------------------------------------------------------[X]o | | | Sy --- Nazwa ---------- -Ost wykonanie (dzień godz)- -Następne- Tryb Op R | | | | BM Koszty mat BM_OKS50 20xx.04.07 _04:30:03 20xx.04.08 cykl AA v | | BM Koszty norm BM_OKS40 20xx.04.07 _04:30:05 20xx.04.08 cykl AA v | | NZ Dane sum NA NZ_PGZ50 20xx.04.07 _04:30:02 20xx.04.08 cykl AA v | | NZ Dane sum ZO NZ_PGZ51 20xx.04.07 _04:30:02 20xx.04.08 cykl AA v | | TK Kursy walut TK_PTK10 20xx.04.07 _12:30:02 20xx.04.08 cykl AA v | | | o----------------------------------------------------------------------------o Operacje wykonywane są codziennie: -- Opcje ------------------------------------------------- Tryb: Cyklicznie W dni tygodnia: PON * WTO * ŚRO * CZW * PIĄ * SOB * NIE * W dni miesiąca: 1* 2* 3* 4* 5* 6* 7* 8* 9* 10* 11* 12* 13* 14* 15* 16* 17* 18* 19* 20* 21* 22* 23* 24* 25* 26* 27* 28* 29* 30* 31* ----------------------------------------------------------

5. AutoRun w Linux

Automatyczne wykonywanie procesu o ustalonej porze dnia i odstępach czasu umożliwia program: cron Konfigurację crona należy wykonać jako użytkownik uruchamiający Trawers poleceniem: ---------- crontab -e ----------

5.1 Bezpośrednie wykonywanie funkcji

Przed wywołaniem funkcji należy odpowiednio przygotować środowisko. Należy przygotować skrypt, który ustawi zmienne środowiskowe i wywoła funkcję. Gdy zmienne nie będą ustawione, to proces się nie wykona. Patrz też: Zmienne środowiskowe
Pobieranie poczty (e-maili)
Przykład skryptu: /trawers/bin/tr-getemail.sh --------------------------------------------- ---------------------------------------------------------- #!/bin/bash # Ustawienie zmiennych środowiskowych dla programu Trawers export TERM=linux cd /trawers/tres-x/tres5-x/adtres # Wykonaj w tle funkcje odbierania poczty. Proces RK_PEM12 ./tr5x.exe //gtnul --operator=AA --firma=HA --proces=RK_PEM12 if [ $? -eq 1 ] ; then echo "Blad AutoRun" > AutoRun-log.txt" fi # koniec ---------------------------------------------------------- Parametr //gtnul powoduje, że funkcja nie wyświetla znaków na ekranie. Jeżeli funkcja oczekuje wprowadzenia danych z ekranu, to nie powinna być uruchamiana z tym parametrem.
Obliczanie kosztów normatywnych w KIM
Przykład skryptu, który oblicza koszty normatywne produktów w KIM ----------------------------------------------------------------- * BM_OKS50 BM > Obliczanie kosztu materiałów * BM_OKS40 BM > Obliczanie kosztow normatywnych produktów NOTE: wywoływać w tej kolejności oba procesy muszą być w tabeli AutoRun ---------------------------------------------------------- #!/bin/bash cd/opt/trawers6/dane/adtres export TMPDIR=/tmp export TERM=linux ./tr5x64.exe --firma=WT --operator=AA --proces=BM_OKS50 ./tr5x64.exe --firma=WT --operator=AA --proces=BM_OKS40 # koniec ----------------------------------------------------------

5.2 Cykliczne wywoływanie funkcji

W celu samoczynnego wykonania funkcji w ustalonych odstępach czasu należy dopisać wywołanie skryptu do cron'a. Przykładowy wpis cron'a wywołujący odbieranie poczty w Trawers: ------------------------------------------------ 0-59/5 6-23 * * * /trawers/bin/tr-getemail.sh ------------------------------------------------ co oznacza, że poczta odbierana jest co 5 minut w godzinach od 6 do 23 Funkcje wywoływane przez cron'a muszą mieć przekazany parametr //gtnul (patrz wyżej)

5.3 Wykonywanie funkcji w tabeli AutoRun

Przykładowy wpis cron'a wywołujący raz dziennie procesy AutoRun o godz. 21: ---------------------------------------- 0 21 * * * /trawers/bin/tr-AutoRun.sh ---------------------------------------- Treść skryptu: /trawers/bin/tr-AutoRun.sh ---------------------------------------------------------- #!/bin/bash # Ustawienie zmiennych środowiskowych dla programu Trawers export TERM=linux cd /trawers/tres-x/tres5-x/adtres # Wykonaj procesy zapisane w Tabeli procesow AutoRun ./tr5x.exe //gtnul --operator=AA --firma=HA --proces=AD_PAR10 if [ $? -eq 1 ] ; then echo "Blad AutoRun" > AutoRun-log.txt" fi # koniec ---------------------------------------------------------- Trawers w trybie AutoRun, zwraca do systemu operacyjnego kod błędu: --- [1] Nie udało się wywołać procesu AutoRun, np. zabrakło wolnych sesji Proces AutoRun zdejmuje z puli jedną sesję. [0] Udało się wywołać proces AutoRun. Ewentualne problemy powstałe podczas przetwarzania będą w raporcie. ---

5.4 Zakończenie funkcji AutoRun

Przed wykonaniem funkcji wymagających wyłączności do bazy danych trzeba zamknąć wszystkie procesy Trawers. W tym te procesy AutoRun, które nie kończą samoczynnie swojej pracy, np. Serwer SOA, Rejestrowanie na terminalu produkcyjnym. Zamknięcie wszystkich sesji uzyskuje się poleceniem: ---------------- killall tr5x.exe ---------------- Po zakończeniu funkcji, można ponownie wywołać zamknięte procesy. Kończenie i ponowne wywoływanie procesów AutoRun można zawrzeć w osobnym skrypcie. Przykład: --------- Na serwerze jest aktywny proces: Serwer SOA. W nocy ma zostać wykonane, w trybie AutoRun, indeksowanie zbiorów. W skrypcie wywołującym indeksowanie zbiorów trzeba wykonać kolejno: ---------------- killall tr5x.exe indeksowanie.sh serwerSOA.sh ---------------- indeksowanie.sh i serwerSOA.sh to skrypty przygotowane wg pkt 5.1 killall zamknie także sesje uruchomione przez operatorów. Zapobiec temu można przez utworzenie linku symbolicznego do programu Trawers np. ------------------------------- ln -s tr5x.exe tr5x_AutoRun.exe ------------------------------- W skryptach uruchamiających procesy AutoRun należy używać tr5x_AutoRun.exe Polecenie: killall tr5x_AutoRun.exe nie spowoduje zamknięcia procesów tr5x.exe

5.6 Pobieranie kursów walut z NBP

Kursy walut pobiera z NBP proces (funkcja) [TK_PTK10] Pobierz aktualny kurs NBP. Kursy walut Proces można uaktywnić automatycznie, należy zapisać proces [TK_PTK10] do tabeli AutoRun, a następnie: * Wywołać bezpośrednio z systemu operacyjnego (en: Command-Line) proces [TK_PTK10]. lub * Wykonać funkcje (procesy) znajdujące się w tabeli AutoRun, tj. wywołać proces: [AD_PAR10].

6. AutoRun w Windows

Automatyczne wykonywanie procesu o ustalonej porze dnia i odstępach czasu umożliwia program: Zaplanowane zadania lub Harmonogram zadań Przykład bezpośredniego wykonania funkcji: * W Windows, na jednym z terminali należy wywołać: Zaplanowane zadania lub: Harmonogram zadań i utworzyć nowe zadanie * Wskazać program Trawers na dysku * W polu: uruchom dopisać parametry wywołania, np. --------------------------------------------------- tr5w.exe --operator=AA --firma=HA --proces=RK_PEM12 --------------------------------------------------- * Rozpocznij w: musi wskazywać na katalog ...\adtres programu * W zaawansowanych opcjach harmonogramu ustalić czas i cykl wywoływania zadania Np. dla odbierania poczty: * zaplanuj zadanie codziennie * powtórz zadanie co 10 min * czas trwania 24 godziny * jeżeli zadanie jest uruchomione, zatrzymaj

7. Kierunki rozwoju

* odbieranie dokumentów od programów zewnętrznych (patrz SOA i EDI) * czasochłonne obliczenia wykonywane podczas mniejszego obciążenia * ... prosimy zgłaszać potrzeby do: tres@tres.pl

8. Tematy powiązane

Zarządzanie sesjami Funkcje w menu (drzewo) Procesy automatyczne Komponenty. Poradnik Alerty i raportowanie Zadania administratora Trawers Utrzymanie instalacji IT Słowa kluczowe #Admin-Automatyzacja #Raporty-FormatyDanych #Raporty-RaportyXML #Pomoc-NowyPracownik

9. Aneks. Instrukcja AutoRun (AsystentAI)

(AsystentAI) Instrukcja używania AutoRun w Trawers ERP Instrukcja dedykowana dla nowego pracownika. 1. Co to jest AutoRun? AutoRun to mechanizm w Trawers ERP, który umożliwia automatyczne uruchamianie funkcji systemu - bez udziału użytkownika. Dzięki temu można zaplanować, by Trawers wykonywał np. raporty, pobierał kursy walut, odbierał e-maile czy aktualizował dane o określonych porach. 2. Gdzie definiuje się procesy AutoRun? Procesy AutoRun konfiguruje się w tabeli AutoRun, dostępnej przez funkcję: ``` AD > Parametry > Tabela AutoRun [AD_PAR10] ``` 3. Jak dodać nowy proces do AutoRun? Krok 1: Ustaw uprawnienie operatora Operator musi mieć ustawiony parametr `0639 [1]` (uprawnienie do dodawania do AutoRun). Krok 2: Uruchom funkcję, którą chcesz zautomatyzować Przykład: ``` NZ > Pomocnicze > Obliczanie sumarycznych Sprzedaż [NZ_PGZ50] ``` Krok 3: Zatwierdź dodanie do AutoRun Po zakończeniu działania funkcji, program zapyta: ``` Czy zapisać do tabeli AutoRun? ``` Odpowiedz T (tak). Zostanie otwarty formularz konfiguracyjny. Krok 4: Wypełnij dane w formularzu * Nazwa procesu * Tryb wykonania: cyklicznie lub jednorazowo * Dni tygodnia i/lub miesiąca wykonania * Proces poprzedzający (jeśli ma być sekwencja) 4. Jak wykonać proces AutoRun? Masz dwie opcje: a) Z powłoki systemu operacyjnego (np. Linux, Windows CLI) Wpisz w terminalu: ```bash tr5w.exe --firma=FP --operator=AA --proces=AD_PGZ91 ``` Gdzie: * `FP` - kod firmy * `AA` - kod operatora * `AD_PGZ91` - IdProces funkcji Funkcja musi być wcześniej dodana do tabeli AutoRun. b) Z tabeli AutoRun (wykonanie wszystkich zaplanowanych) Wywołaj funkcję: ```bash tr5w.exe --firma=FP --operator=AA --proces=AD_PAR10 ``` Ta funkcja przeszukuje tabelę AutoRun i wykonuje wszystkie procesy zaplanowane na dany moment. 5. Jak monitorować działanie AutoRun? Sprawdź: * Tabelę AutoRun (`AD_PAR10`) - kolumny Ostatnie/Następne wykonanie, Rezultat (R) i Włączony/Wyłączony (W). * Raport F6 - pokaże wynik działania funkcji. * Logi systemowe - potwierdzenie wykonania (np. `TR_AutoRun`). 6. Typowe procesy w AutoRun Przykładowe IdProces do automatyzacji: | Funkcja | IdProces | | ----------------------------- | -------- | | Odbieranie poczty | RK_PEM12 | | Pobieranie kursów z NBP | TK_PTK10 | | Weryfikacja globalna | AD_PGZ91 | | Indeksowanie danych | AD_PGZ88 | | Tworzenie punktu przywracania | AD_PGZ9A | | Sumaryczna sprzedaż | NZ_PGZ50 | | Koszty normatywne w KIM | BM_OKS40 | 7. Automatyzacja w Linux/Windows Linux (cron): Przykład wpisu do `crontab` dla procesów z tabeli AutoRun: ```bash 0 21 * * * /trawers/bin/tr-AutoRun.sh ``` Przykład wpisu dla odbioru poczty co 5 minut: ```bash */5 6-23 * * * /trawers/bin/tr-getemail.sh ``` Windows (Harmonogram zadań): * Wybierz plik `tr5w.exe` * Parametry w uruchomieniu: ``` --operator=AA --firma=HA --proces=AD_PAR10 ``` * Ustaw harmonogram (np. codziennie, co 10 minut) 8. Przydatne skróty w tabeli AutoRun | Klawisz | Funkcja | | ------- | --------------------------------------------------- | | F2 | Zmiana parametrów procesu | | F5 | Parametry dodatkowe (np. pobieranie tylko tabeli A) | | F6 | Raport z wykonania | | F10 | Włącz/Wyłącz proces (aktywacja lub wyłączenie) | 9. Dobry nawyk - kolejność i czasy Zadbaj o: * Harmonogram - nie uruchamiaj procesów wymagających wyłączności jednocześnie. * Kolejność - np. najpierw indeksowanie, potem funkcje zależne. * Czas - najlepiej planować na noc.

10. Aneks. ChackLista (AsystentAI)

(AsystentAI) PRZYGOTOWANIE Operator ma nadany parametr `0639 [1]` (może zapisywać procesy do AutoRun) Funkcja, którą chcemy zautomatyzować, ma przypisany `IdProces` Sprawdzono, czy funkcja jest przygotowana do AutoRun (`[T]` w zestawieniu AD_TAT10) DODAWANIE PROCESU DO AUTORUN 1. Uruchom funkcję w systemie (np. [NZ_PGZ50]) 2. Po zakończeniu działania funkcji: -> Odpowiedz T na pytanie: *Czy zapisać do tabeli AutoRun?* 3. Wypełnij formularz: * Nazwa i `IdProces` * Tryb: jednorazowo / cyklicznie * Daty i dni tygodnia/miesiąca * (opcjonalnie) Proces poprzedzający 4. Zapisz do tabeli AutoRun HARMONOGRAM Upewnij się, że czasy wykonania nie kolidują z innymi procesami Zaplanuj procesy obciążające system na noc WYKONANIE PROCESÓW Z powłoki systemu operacyjnego (Linux/Windows CLI) ```bash tr5w.exe --firma=FP --operator=AA --proces=AD_PGZ91 ``` Wykonanie wszystkich zaplanowanych (funkcja sterująca) ```bash tr5w.exe --firma=FP --operator=AA --proces=AD_PAR10 ``` MONITORING Sprawdź tabelę AutoRun (`AD_PAR10`) Kolumna R = * `[v]` = wykonano poprawnie * `[!]` = błąd Raport: F6 - podgląd wyników (Linux) Sprawdź log: `AutoRun-log.txt` SKRYPTY (Linux - cron) Odbieranie poczty co 5 min (RK_PEM12): ```bash */5 6-23 * * * /trawers/bin/tr-getemail.sh ``` Wykonanie wszystkich AutoRun codziennie o 21: ```bash 0 21 * * * /trawers/bin/tr-AutoRun.sh ```