Miejsca składowania w SAP WM i ich szybkie tworzenie
Czym są miejsca składowania w SAP WM? Jak szybko utworzyć kilka a nawet kilkaset miejsc budując ekspresowo strukturę magazynu? Czy standardowy użytkownik może zrobić to samodzielnie? Oczywiście podczas projektu wdrożenia modułu WM struktury magazynowe tworzone są przez konsultantów SAP. Samo miejsce składowania jest jednak obiektem danych podstawowych więc śmiało można powiedzieć że za jego dalsze opracowywanie odpowiedzialny jest użytkownik końcowy. W przypadku potrzeby utworzenia jednego miejsca sprawa wydaje się bardzo prosta. Uruchamiany jedną transakcję, następnie wprowadzamy wymagane dane i cały zabieg trwa kilka sekund. Lecz gdy potrzebujemy utworzyć cały regał ta metoda może okazać się uciążliwa i prowadzić do pomyłek.
Spis treści
1. Czym jest miejsce składowania
Zanim przejdziemy do tworzenia, przypomnijmy sobie czym właściwie jest miejsce składowania. Jest to najniższa jednostka w strukturze modułu WM (Gospodarki Magazynowej). Jest obiektem określającym dokładną lokalizację w magazynie, służącą do przechowywania w niej produktów. Dane miejsca składowania przechowywane są w bazie danych w postaci tabeli LAGP. Zawiera ona pola widoczne między innymi w transakcji służącej do tworzenia miejsc – LS01N . (Nazwy tabel i pól mogą okazać się przydatne w przypadku potrzeby przygotowania własnego raportu dotyczącego miejsc składowania w transakcji SQVI, dlatego polecam zerknąć na poniższy obrazek).
Jak widać wyżej, podczas tworzenia nowego rekordu dla miejsca składowania, użytkownik wprowadza dane do pól tabeli LAGP.
2. Znaczenie pól w rekordzie miejsca składowania.
Warto wspomnieć, że transakcja LS01N zawiera również pola, których nie znajdziemy w tabeli LAGP („wykorzystanie” i „pojemność”). Nie są one wypełniane przez użytkownika podczas tworzenia miejsca składowania. Te dane uzupełniane są automatycznie przez system w trakcie wczytywania transakcji przeglądu lub edycji miejsca składowania LS02N/LS03N. Korzystają one ze struktur bazy danych (w tym przypadku RL01S). Oznacza to, że podczas wczytywania transakcji, system wczytuje dane z różnych tabel (nie tylko z LAGP, ale i z LGNUM, LGTYP, LGBER itd.) stanowiących strukturę. Następnie dane pobrane ze struktury wyświetlane są na ekranie transakcji.
2.1. Wykorzystanie miejsca składowania
„Wykorzystanie ” – to nic innego jak procentowe wykorzystanie miejsca składowania, czyli dynamiczna kalkulacja biorąca pod uwagę dane z konfiguracji typu magazynu (tabela T331) oraz z pola ANZQU (liczba kwantów) w tabeli miejsca składowania (LAGP) . Działa to mniej więcej w taki sposób, że:
- system dokładnie sprawdza poniższe pola, dla typu magazynu do którego przynależy miejsce składowania
- czyta dane pojemności miejsca (np. składowaną wagę materiałów, ilość jednostek składowania) i dzieli przez ilości maksymalne (np. max. waga).
- Przedstawia wynik w procentach.
Wynik kalkulacji zależy od tego jak ustaliliśmy strategię rozmieszczania i wydania zapasów w typie magazynu, np. jeśli zdefiniujemy, że nasz typ magazynu nie zezwala na składowanie niejednorodne i dodanie do zapasu, wtedy wynik kalkulacji zawsze będzie wynosił 100% wykorzystania. Proszę zerknąć na poniższy zrzut ekranu z aplikacji pomocy SAP GUI (dotyczącej kalkulacji wykorzystania miejsc składowania):
2.2. Pojemność miejsca składowania
„Pojemność” natomiast to porównanie wartości zdefiniowanej jako pojemność w danych podstawowych materiału lub/oraz wykorzystania pojemności typu jednostki składowania (dane paletyzacji). Kalkulacja będzie możliwa tylko w przypadku aktywowania kontroli pojemności na poziomie typu magazynu (pole KAPAP tabeli V_T301). Proszę spojrzeć na poniższy rysunek:
Bardziej szczegółowo i w dosyć ciekawy sposób zostało to opisane w wątku na SAP community:
2.3. Pozostałe pola tabeli LAGP – miejsce składowania
Znaczenie pozostałych pól odnajdziecie w tabeli poniżej.
Pole | Znaczenie |
Numer magazynu | Numer oznaczający numer magazynu (najwyższą jednostkę w strukturze WM) |
Typ magazynu | Numer oznaczający typ magazynu w obrębie którego tworzone jest miejsce składowania. Rolą typu magazynu jest rozdzielenie obszarów magazynowych w celu zachowania odmiennych strategii umieszczania, pobierania i magazynowania materiałów. |
Miejsce składowania | Obiekt, którym zajmujemy się w tym wpisie 😉 |
Sekcja magazynowa | Numer grupujący miejsca składowania pod względem wspólnych atrybutów (np. materiały często rotujące) |
Obszar pobrania | Obszar, który grupuje miejsca składowania pod względem tej samej strategii pobierania. Ma takie same działania jak sekcja magazynowa w procesie umieszczania. |
Pomieszczenie ognioodporne | Celem tego pola jest przypisanie miejsca do sekcji ognioodpornej. Można w niej przechowywać materiały zdefiniowane jako niebezpieczne. |
Typ miejsca składowania | Pole które dzieli miejsca pod względem atrybutów gabarytowych, np. małe, duże, niskie, wysokie. Do typu miejsca składowania przypisywane są jednostki opakowaniowe np. palety, kisty itd. |
Maksymalna waga | Jak nazwa wskazuje jest to pole określające maksymalną wagę miejsca składowania. System sprawdza wagę materiału umieszczanego na miejsce i zapobiega przeciążeniu jego nośności. |
Pojemność całkowita | Całkowita pojemność miejsca składowania. Pole używane do kalkulacji użytej pojemności na podstawie danych podstawowych umieszczanych materiałów lub typu jednostki składowania. |
Pole weryfikacji | Pole używane do weryfikacji miejsca podczas skanowania urządzeniem RF. Można zdefiniować zupełnie inne dane niż nazwa miejsca, które będą odzwierciedlone na kodzie kreskowym i zapobiegną potwierdzaniu poboru z niewłaściwych miejsc. Oznacza to , że bez zmiany nazwy miejsca składowania możemy okresowo zmieniać jego pole weryfikacji. |
Waga | Obecna wartość wagi składowanego materiału na miejscu składowania. |
Liczba kwantów | Pole automatycznie wypełniane przez system podczas umieszczania oznaczające ilość kwantów na miejscu skł. |
Blokada rozmieszczania zapasów | Wskazuje czy miejsce jest zablokowane dla umieszczania w magazynie (masowe blokowanie/odblokowywanie miejsc – transakcja LS06) |
Blokada wydania zapasów | Jak wyżej ale blokada dotyczy wydania zapasów. |
Przyczyna blokady | Jak nazwa wskazuje jest to pole oznaczające przyczynę blokady miejsca składowania. |
3.Tworzenie miejsca składowania pojedynczo
Aby ręcznie utworzyć miejsce składowania uruchamiamy wcześniej wspomnianą transakcję LS01N. Podczas tworzenia musimy wprowadzić wymagane pola takie jak: numer magazynu, typ magazynu, sekcję.
Utworzenie jednego miejsca nie zajmuje zbyt dużo czasu. Jednak jak zauważyliśmy we wstępie wpisu, podczas tworzenia większej liczby miejsc proces budowania struktury magazynowej może okazać się uciążliwy. Mało tego! Może prowadzić do pomyłek. Co prawda możemy użyć Excela i kopiować dane pojedynczo do SAP, pole po polu, komórka po komórce ale jest to ryzykowna metoda. Wystarczy wprowadzić przecinek zamiast kropki i z 1.500,00 kg zrobi się nam 1,5 kg 😉 To jest powód dla którego podczas wdrożeń korzysta się z wcześniej opracowanych struktur umożliwiających generowanie miejsc masowo z wzorca. O tym będzie dalej.
4. Automatyczne tworzenie miejsc składowania
W celu masowo tworzenia miejsc składowania musimy skorzystać z uprzednio przygotowanej struktury. Strukturę miejsc składowania tworzymy w transakcji LS10, która jest obiektem konfiguracyjnym. Oznacza to, że dostęp do niej posiadają tylko konsultanci i tylko oni mają możliwość jej edycji. Standardowo edycja/tworzenie struktury miejsc składowania odbywa się na serwerze developerskim, następnie konfiguracja jest transportowana do serwera testowego i produkcyjnego. Na podstawie tej struktury generujemy miejsca składowania w systemie produkcyjnym (transakcja LS05).
Wyobraźmy sobie sytuacje w której magazyn bardzo często zmienia swoje struktury (jest stale rozbudowywany) i potrzeba tworzenia nowych miejsc pojawia się regularnie. W takim przypadku firmy mogą rozważyć możliwość zmiany obiektu konfiguracji jako „edytowalny w środowisku produkcyjnym”. To jest bardzo dobra wiadomość dla użytkowników! Odciążając nieco ludzi z IT, możemy generować struktury we własnym zakresie, nawet bezpośrednio na produkcji (pod warunkiem, że będziemy to robić uważnie). Poprzez notę 523213 – Set maintenance view in production system to changeable, SAP daje możliwość zmiany obiektów konfiguracji SPRO na edytowalne w środowisku produkcyjnym. Dzięki temu proces budowy/zmiany struktury magazynowej znacznie się skraca.
4.1. Tworzenie struktury miejsc.
Przechodzimy do transakcji LS10. System wyświetli wpisy dostępne dla wszystkich numerów magazynów. To jest powód dla, którego dostęp do transakcji powinni mieć tylko doświadczeni użytkownicy. Jeśli chcemy utworzyć strukturę całkowicie od nowa klikamy przycisk „nowe wpisy”:
Polecam jednak opcję skopiowania już istniejącego wpisu i zapisania go jako nowy. Daje to możliwość porównania danych istniejących z tymi, które są aktualnie tworzone. W celu odnalezienia swojego numeru magazynu wybieramy z poziomu menu: wybór -> wg zawartości -> następnie wybieramy pole na podstawie, którego chcemy przefiltrować dane (w przykładzie będzie to numer magazynu). W kolejnym oknie wprowadzamy zawartość pola, którą chcemy wyszukać:
Warto zapamiętać numer bieżący struktury (w przypadku gdy zamierzamy skopiować istniejący wpis) ponieważ podczas tworzenia nowego będziemy musieli podać jego kolejną wartość. W oknie nowego wpisu musimy zdefiniować numer magazynu, typ magazynu a także numer bieżący (1 – na obrazku niżej). Następnie definiujemy szablon dla struktury (2) oraz wprowadzamy dalsze dane dla miejsc składowania (3).
Proszę zwrócić uwagę jak wygodne jest definiowanie danych podstawowych miejsc. W przypadku transakcji LS01N, każdą wartość trzeba wprowadzać ręcznie. Tak jak wspomniałem wcześniej, może dojść do pomyłki nawet przy wprowadzaniu maksymalnej wagi. Podobnie sprawa wygląda z sekcją magazynową czy typem miejsca składowania. Tutaj wprowadzając dane tylko jeden raz, możemy wygenerować nawet tysiące miejsc jednym klikiem (musimy tylko poświęcić chwilę czasu na opracowanie struktury).
4.2. Wyjaśnienie symboli w strukturze
O co właściwie w tej strukturze chodzi? Musimy zrozumieć na czym polega szablon. Jego rolą jest określenie jak powinny być tworzone miejsca składowania w trakcie generowania (patrz rysunek wyżej).
Oznaczenia znaków w szablonie:
- C – oznacza stały znak wspólny dla wszystkich generowanych miejsc w tej strukturze
- N – to nasza numeryczna zmienna, którą chcemy generować (od 0 do 9)
Oznaczenie znaków w strukturze:
- A, B, C – znaki alfabetyczne wykorzystane do przyrostu automatycznego generowania miejsc. Każda osobna litera oznacza, że cyfry są zwiększane o przyrost niezależnie od siebie. Te same litery oznaczają, że przyrost jest wielocyfrowy. W przykładzie podałem ABC bo chcę aby przyrost generował się dla cyfry pierwszej a jak zostanie osiągnięty do dla kolejnej itd.
- Wartość początkowa: to pierwsze miejsce składowania jakie zostanie utworzone w strukturze. Od niego system rozpocznie automatyczne generowanie na podstawie zdefiniowanych przez nas przyrostów.
- Wartość końcowa: to ostatnie miejsce w strukturze. Na tym miejscu system zakończy generowanie.
- Przyrost: wskazuje o ile powinna wzrosnąć wartość, przy dodawaniu jej do współrzędnych miejsca tworzonego jako następne.
4.3. Przykład
Wyobraźcie sobie że potrzebujemy utworzyć regały z nazewnictwem jak niżej. Stojąc na przeciwko regału widzimy, że składa się z kilku sekcji i każda z nich ma 3 rzędy z 6 poziomami. Mamy rząd 011, 012, 013 ale kolejna sekcja nie jest kontynuowana jako 14 tylko zaczyna się z kolejną „dziesiątką” (czyli 021, 022, 023). Regał kończy się na rzędzie 063.
Struktura takiego regału wyglądałaby jak na rysunku 9. Czyli nie chcemy aby podczas generowania zmieniały się znaki wspólne tj. 101-0. Tak więc dla pierwszych 5 cyfr definiujemy wartość „C”. Te, które chcemy by były zmieniane definiujemy jako „N”. Następnie musimy zdefiniować czy przyrost ma być wielocyfrowy czy jedno, wiec wstawiamy w odpowiednie miejsca litery A, B, C. Pozostaje już tylko określić początek i koniec struktury oraz zdefiniować o ile mają „wzrastać” wartości dla A, B i C. Na koniec zapisujemy naszą strukturę.
Jeśli w przyszłości pojawi się potrzeba utworzenia kolejnego regału to skopiujemy już gotową strukturę i zapiszemy ją pod kolejnym numerem (pamiętając o podmianie wartości stałych na nowe).
4.4. Generowanie miejsc składowania.
Teraz pozostaje już tylko przejść do menu „otoczenie” i wcisnąć przycisk „tworzenie m. skład.” jak na rysunku 10:
System pokieruje nas do kolejnego okna transakcji i zasymuluje proces generowania miejsc. Propozycje będą widoczne w dolnej części okna (rys. 11). Aby ostatecznie wygenerować miejsca mamy dwie możliwości do wyboru:
- tworzenie miejsc składowania w trybie online – system utworzy miejsca natychmiast z poziomu transakcji w której przebywamy (LS10).
- tworzenie miejsc składowania według wprowadzania wsadowego – system utworzy plik który można wykorzystać później jako pakiet wprowadzania wsadowego w transakcji SM35
- po prostu zapisać zmiany i proces tworzenia zainicjować w transakcji LS05 – należy tam wprowadzić tylko numer magazynu, typ magazynu i numer utworzonej struktury.
Jeśli wybierzemy opcję (2 na rysunku 11) generowanie w trybie online to system zapyta czy aby na pewno chcemy utworzyć miejsca składowania:
Gdy zdecydujemy się na generowanie w trybie wsadowym (3 na rysunku 11) system wygeneruje plik, który można użyć w transakcji SM35 lub LS05:
5. Generowanie miejsc w trybie wsadowym – batch input
Alternatywnym sposobem jest wykorzystanie pliku wprowadzania wsadowego w transakcji SM35. Musimy tylko wybrać odpowiedni pakiet wprowadzania i kliknąć „przetwarzanie”:
Działa to na zasadzie makra, dzięki któremu system w tle rejestruje kroki transakcji LS01N (za pośrednictwem programu RLLS0500). Po zakończeniu przetwarzania możemy zerknąć w log przetwarzania. Po wciśnięciu przycisk: system wyświetli szczegółowe informacje przetworzonego pakietu. Jak widać niżej, system 77 razy przetworzył transakcję LS01N i utworzył miejsca składowania bez żadnych błędów.
6. Masowe usuwanie miejsc składowania
Analogicznie do procesu generowanie miejsc składowanie możemy je również usunąć. Możemy to zrobić bezpośrednio z transakcji LS10 lub LS05. Jeśli znajdujemy się akurat w transakcji LS10 to należy z odpowiedniej struktury przejść do ekranu tworzenia miejsc składowania (rys. 10). Następnie jak było w przypadku tworzenia i tutaj mamy możliwość usunięcia w trybie online lub według wprowadzania wsadowego. Wystarczy wybrać menu „Lista”:
System zapyta czy na pewno chcemy usunąć miejsca uprzednio wygenerowane z tej struktury. Jeśli się zdecydujemy pójść na całość to po wciśnięciu „TAK” ukaże nam się komunikat jak niżej:
Musimy tylko być pewni, że podczas usuwania, na żadnym z miejsc nie składujemy zapasu (muszą być puste).
7. Podsumowanie
To tyle w temacie masowego tworzenia miejsc składowania. Niektórzy z Was mogą się spotkać z praktyką tworzenia miejsc składowania za pomocą transakcji LSMW, w której to „wgrywa się” do systemu obiekty utworzone w arkuszu Excel lub pliku tekstowym. Odbywa się to podobnie jak metodą wprowadzania wsadowego (opisaną wyżej) z tą różnicą że dane nie są wygenerowane z uprzednio utworzonej struktury. Taka sytuacja może mieć miejsce zwłaszcza w przypadku gdy firma chce wygenerować miejsca totalnie losowo, bez potrzeby opracowywania struktur. Efekt będzie identyczny jak w przypadku ręcznego wprowadzania w transakcji LS01N, w której przypadku też nie jest konieczne przygotowywanie struktur. Ich definicja natomiast pozwala utrzymać porządek w systemie i jest zalecana jako najlepsze praktyki przez SAP, warto więc z tego korzystać. Takie struktury możemy bardzo szybko przekopiować do zupełnie nowego magazynu a także pozwolą zachować standaryzację w firmie. Bardzo dziękuję za odwiedziny bloga i do „przeczytania” następnym razem 😉
Gratuluję wiedzy i dziękuje za podzielenie się nią. Artykuł w przejrzysty i przystępny sposób przybliżył zagadnienie z interesującego mnie obszaru.
Jeszcze raz dziękuję 🙂
Dziękuje pięknie za komentarz 😉 Cieszę się że wpis trafił idealnie w obszar zainteresowania 😀
Pozdrawiam
Marek
Panie Marku czy ma Pan doświadczenie z konsygnacją, ponieważ natknąłem się na problem po stronie EWM w momencie wydawania surowców konsygnacyjnych na skłąd produkcyjny z którym nie mogę sobie poradzić ?
Witam Panie Patryku. Z konsygnacją akurat doświadczenia nie mam, ale mam trochę z EWM-ką. Bez względu na to czy to konsygnacja czy nie to przyczyna pewnie leży po stronie dostawy wychodzącej albo dostępności zapasów w trakcie wydania. Strzelam że problem dotyczy komunikacją między EWM a ERP. Wysłałem Panu emaila z prośbą o podanie więcej szczegółów.
Pozdrawiam
Marek
Panie Marku
dziękuję za tą wiedzę – już jakiś czas temu potrzebowałem tak dobrze rozpisanego procesu tworzenia, a nie mogłem znaleźć. Zapisuję do bardzo przydatnych stron 🙂
dziękuję
Bardzo dziękuję za komentarz Panie Marcinie;) bardzo się cieszę że wpis okazał się pomocny:)
Pozdrawiam i powodzenia z SAPem życzę;)
Marek