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 TrawersUtrzymanie 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
(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/WindowsLinux (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 nocWYKONANIE PROCESÓWZ 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
```