YMS24

Usługi raportowe SQL Server w systemie awizacyjnym

Raporty i wydruki powstają na wydzielonej warstwie sprawozdawczej, z parametrami wypełnianymi przez użytkownika. Dzięki temu zestawienie miesięczne nie zakłada blokad na tabelach obsługujących bramę.

Opublikowano: Zaktualizowano:
yms24.pl/oprogramowanie-yms/
Formularz zakładania awizacji w YMS24 - wybór magazynu z czterech kafelków obiektu, sekcja Awizo i ładunek z polami rodzaj awizacji, kontrahent, rodzaj transportu i numer zamówienia SAP oraz licznik pól wymaganych 1 z 8
Usługi raportowe SQL Server w systemie awizacyjnym
W skrócie

Zapytanie analityczne czytające te same tabele, na których pracuje brama, spowalnia rejestrację wjazdów. Rozdzielenie warstwy raportowej od operacyjnej jest decyzją projektową, nie optymalizacją do wykonania później.

Dlaczego raporty pracują na osobnej warstwie

Tabele obsługujące bieżący ruch są optymalizowane pod krótkie operacje: wstawienie zgłoszenia, zmianę statusu, odczyt pojedynczej wizyty. Zapytanie analityczne obejmujące rok danych ma odwrotną charakterystykę - czyta setki tysięcy wierszy i trwa sekundy zamiast milisekund.

Uruchomione na tych samych tabelach zakłada blokady odczytu, przez które rejestracja wjazdu na bramie czeka. Objaw jest mylący, bo operator widzi zawieszony formularz i zgłasza awarię systemu, podczas gdy przyczyną jest raport otwarty przez kogoś w innym budynku.

Rozdzielenie polega na przeniesieniu odczytów analitycznych na źródło przygotowane do tego celu, aktualizowane cyklicznie. Opóźnienie rzędu kilkunastu minut nie ma znaczenia dla zestawienia miesięcznego, a zdejmuje obciążenie z warstwy operacyjnej. Dokumentację poziomów izolacji i zachowania blokad prowadzi Microsoft Learn.

Parametry zamiast raportów na każdą okazję

Zestawienie z zaszytym na stałe zakresem dat rodzi kolejne zestawienia: to samo za inny miesiąc, to samo dla innego magazynu, to samo z podziałem na przewoźników. Po roku lista raportów liczy kilkadziesiąt pozycji, z których połowa różni się jedną wartością.

Parametryzacja rozwiązuje to na poziomie definicji. Raport przyjmuje zakres dat, obiekt i opcjonalnie kontrahenta, a użytkownik wypełnia je przed uruchomieniem. Cztery parametry pokrywają większość potrzeb sprawozdawczych.

  • Zakres dat - z wartościami domyślnymi odpowiadającymi poprzedniemu miesiącowi.
  • Magazyn lub obiekt - z listą ograniczoną do tych, do których użytkownik ma dostęp.
  • Kontrahent lub przewoźnik - opcjonalny, do zestawień jakościowych.
  • Rodzaj transportu - pozwala porównać przyjęcia z wydaniami w jednym układzie.

Ograniczenie listy obiektów do uprawnień użytkownika jest przy tym wymogiem, nie ułatwieniem. Raport uruchamiany przez firmę zewnętrzną musi zwracać wyłącznie jej dane, a filtr nakładany w definicji zapytania działa niezależnie od tego, co użytkownik wybierze w formularzu.

Typy zestawień i ich charakterystyka
TypZakres danychCzęstotliwość uruchamiania
Wydruk dokumentuJedna wizytaKilkadziesiąt razy dziennie
Zestawienie dniaDoba, jeden obiektRaz na zmianę
Raport okresowyMiesiąc lub kwartałRaz w miesiącu
Kontrola kompletnościOtwarte wizytyCodziennie, automatycznie
Wydruk pojedynczego dokumentu i raport roczny to dwa różne zadania, mimo że oba nazywają się raportem. Pierwszy musi wykonać się natychmiast na danych bieżących, drugi może poczekać i czytać ze źródła sprzed kwadransa.

Dokumenty generowane z danych

Przepustka, zestawienie ładunku i dokument przewozowy powstają z rekordu wizyty, bez przepisywania danych. Układ tych wydruków bywa narzucony przez wymagania obiektu albo kontrahenta, więc definiuje się go raz i podmienia bez wdrażania nowej wersji aplikacji.

Znaczenie ma też format. Dokument okazywany na bramie potrzebuje kodu do skanowania w miejscu, w którym operator go oczekuje, a nie w narożniku strony. Zawartość samego awiza opisuje strona o awizach dostaw, a obieg załączników - materiał o dokumentach w awizacji.

Zestaw raportów, który warto uruchomić

Pokusa przygotowania kilkudziesięciu zestawień przy wdrożeniu kończy się listą, z której korzysta się z czterech. Sensowniej zacząć od tych, które odpowiadają na pytania zadawane co miesiąc.

Pierwszym jest średni czas obsługi w rozbiciu na rampy, wskazujący stanowiska gorzej wyposażone. Drugim obciążenie bram w godzinach doby, będące podstawą korekty siatki okien. Trzecim trafność awizacji liczona osobno dla przewoźników. Czwartym kontrola kompletności, czyli lista wizyt bez odnotowanego wjazdu albo wyjazdu.

Ten ostatni warto uruchamiać automatycznie i wysyłać do dyspozytury, bo jego wartość polega na wczesnym wychwyceniu luk. Definicje mierników porządkuje strona o wskaźnikach OTIF, a zakres rejestru - materiał o ewidencji wizyt pojazdów.

Co zrobić, gdy raporty zwalniają

Pierwszym podejrzanym nie jest moc serwera, tylko rozmiar przeszukiwanego zbioru. Tabela wizyt rośnie liniowo z ruchem i po kilku latach zapytanie obejmujące rok danych czyta wielokrotnie więcej wierszy niż przy uruchomieniu.

Rozwiązania są dwa i oba tańsze od rozbudowy sprzętu. Pierwsze to indeksy dobrane do rzeczywiście używanych filtrów, zwykle po dacie i obiekcie. Drugie to archiwizacja zamkniętych wizyt poza tabele operacyjne, z zachowaniem dostępu do odczytu. Wymagania po stronie serwera opisuje strona o architekturze oprogramowania YMS.

Jak raporty trafiają do odbiorców

Zestawienie, po które trzeba się zalogować, zostaje nieotwarte. Raporty okresowe warto więc wysyłać automatycznie, w ustalonym dniu i do wskazanych odbiorców, zamiast liczyć na to, że ktoś o nich pamięta.

Format zależy od zastosowania. Zestawienie do analizy idzie w postaci arkusza, bo odbiorca i tak będzie je filtrował. Raport do przekazania dalej - w postaci dokumentu o stałym układzie. Kontrola kompletności wystarczy jako wiadomość z listą przypadków, bez załącznika.

Odbiorców wyznacza rola, nie lista nazwisk. Zmiana na stanowisku kierownika magazynu nie powinna wymagać edycji definicji kilkunastu raportów, a tak właśnie kończy się przypisanie po adresach.

Osobną kategorią są zestawienia dla kontrahentów: ocena terminowości, historia dostaw, liczba przesunięć terminu. Wysyłane cyklicznie zmieniają rozmowę o jakości współpracy, bo obie strony patrzą na te same liczby. Zakres takich danych opisuje strona o awizacjach według klientów.

FAQ

Najczęściej zadawane pytania

01

Dlaczego raport potrafi spowolnić obsługę bramy

Bo zapytanie analityczne czytające tabele operacyjne zakłada na nich blokady odczytu. Operator widzi wtedy zawieszony formularz i zgłasza awarię, choć przyczyną jest zestawienie uruchomione przez kogoś w innym miejscu. Rozdzielenie warstw usuwa ten efekt.

02

Czy dane w raportach muszą być bieżące

Zależy od typu. Wydruk pojedynczego dokumentu tak, bo dotyczy pojazdu stojącego przy rampie. Zestawienie miesięczne może czytać ze źródła sprzed kwadransa, co zdejmuje obciążenie z warstwy obsługującej ruch.

03

Jak ograniczyć liczbę definicji raportów

Przez parametry zamiast osobnych zestawień na każdy przypadek. Zakres dat, obiekt, kontrahent i rodzaj transportu pokrywają większość potrzeb. Bez tego lista po roku liczy kilkadziesiąt pozycji różniących się jedną wartością.

04

Czy firma zewnętrzna może uruchamiać raporty

Tak, pod warunkiem że filtr zakresu danych nakładany jest w definicji zapytania, a nie zależy od tego, co użytkownik wybierze w formularzu. Lista dostępnych obiektów musi być ograniczona do jego uprawnień.

05

Co zrobić, gdy zestawienia zaczynają działać wolno

Sprawdzić rozmiar przeszukiwanego zbioru przed rozważaniem rozbudowy serwera. Zwykle wystarczają indeksy dobrane do rzeczywiście używanych filtrów oraz archiwizacja zamkniętych wizyt poza tabele operacyjne, z zachowaniem dostępu do odczytu.

Słownik

Słownik pojęć

Pozostałe pojęcia z obsługi transportu zbiera słownik YMS.

WWarstwa sprawozdawcza
Źródło danych przygotowane pod odczyty analityczne, aktualizowane cyklicznie i odciążające tabele operacyjne.
BBlokada odczytu
Ograniczenie nakładane przez zapytanie na czytane wiersze, opóźniające operacje zapisu na tych samych danych.
PParametr raportu
Wartość wypełniana przez użytkownika przed uruchomieniem, zastępująca osobną definicję zestawienia.
KKontrola kompletności
Zestawienie wizyt bez odnotowanego wjazdu lub wyjazdu, uruchamiane automatycznie.
IIndeks
Struktura przyspieszająca wyszukiwanie po wybranych kolumnach, dobierana do rzeczywiście używanych filtrów.
AArchiwizacja rejestru
Przeniesienie zamkniętych wizyt poza tabele operacyjne z zachowaniem dostępu do odczytu.

Połącz awizację z systemami, które już masz

Status dostawy, przypisana rampa i godzina przyjazdu wymieniane z WMS i ERP bez przepisywania ręcznie.

Wolisz najpierw poczytać? Zobacz, moduły platformy YMS24.

O autorze

Adam Siemiątkowski

Specjalista ds. wdrożeń systemów logistycznych, SoftwareStudio Group Sp. z o.o.

Autor zajmuje się wdrożeniami systemów klasy YMS/VSS w firmach logistycznych i magazynowych. Wszystkie artykuły autora → Profil na LinkedIn →