LSMW – nagrywanie transakcji i masowe tworzenie rekordów danych podstawowych.

W IV części serii “SAP dla początkujących” przedstawiono pojęcie danych podstawowych materiału oraz zwrócono uwagę na konieczność starannej opieki nad nimi, w celu maksymalnego wykorzystania możliwości SAP ERP. Teraz spróbujemy znaleźć odpowiedź na pytanie: Jak poradzić sobie w przypadku, potrzeby utworzenia dużej liczby rekordów danych podstawowych? (np. danych podstawowych klienta, dostawcy, materiałów, miejsc składowania itd.). Istnieją transakcje do obsługi masowego tworzenia/zmian na materiałach (MM17), masowej zmiany miejsc składowania (LS11), jednak w standardzie nie ma możliwości utworzenia masowo np. cykli sterowania dla zaopatrzenia produkcji. Nie umiałbym teraz zliczyć sytuacji, w której zmuszony byłem tworzyć takie rekordy ręcznie, mimo sugestii ze strony użytkowników forumsap.pl co do wykorzystania narzędzia LSMW. Głównym powodem niewykorzystywania tego narzędzia był strach przed niepowodzeniem przy wprowadzaniu masowych zmian (nad którymi wydawało mi się, że nie będę miał kontroli) oraz opinia, że trzeba być programistą czy konsultantem, aby zrozumieć i móc wykorzystywać LSMW.

W związku z powyższym, postanowiłem sprawdzić czy:

  • Aby obsłużyć LSMW trzeba posiadać wiedzę na poziomie konsultanta?
  • Czy jest się czego obawiać przed masowymi zmianami?
  • Czy z punktu widzenia użytkownika końcowego, lepiej korzystać z metody pojedynczego wprowadzania danych?

Jednak aby odpowiedzieć na te pytania, wypadałoby się zapoznać z definicją tego narzędzia. Zatem, czym w ogóle jest LSMW?

LSMW (SAP Legacy System Migration Workbench) jest narzędziem obsługującym migrację, dla wielu zestawów danych z bardzo prostym interfejsem  i przyjazną dla użytkownika funkcją mapowania. Zazwyczaj programowanie konwersji danych i mapowania wymaga niewielkiego lub żadnego programowania. W jaki sposób działa to narzędzie? Jedyne co należy zrobić to:

  • wyszukać odpowiedni typ obiektu (w przypadku problemu z wyborem obiektu, można skorzystać z funkcji nagrania/rejestracji transakcji)
  • wybrać metodę importowania (BAPI, IDoc, Direct Input, lub poprzez nagranie transakcji),
  • odwzorować (zmapować) przygotowaną źródłową strukturę danych na docelowej strukturze danych obiektu.

Brzmi strasznie. Jednak większość z tych kroków wykona za nas system. My natomiast realizację powyższych kroków, zaczniemy od wyboru obiektu, dla którego chcemy przeprowadzić migrację (które chcemy zaktualizować lub utworzyć w SAP ERP). Czym w ogóle jest obiekt?

Obiekt LSMW to jednostka, która służy do przesyłania danych projektu (LSMW) do systemu SAP. Odpowiada on biznesowemu obiektowi SAP. Praktycznie rzecz ujmując, w LSMW tworzymy obiekt, który będzie odpowiedzialny za migrację danych do konkretnego obiektu biznesowego w SAP. Obiekty biznesowe są reprezentantami rzeczywistych danych biznesowych, takich jak dane podstawowe materiałów, kont KG, zleceń sprzedaży itd. Dla jednego obiektu biznesowego SAP można przygotować kilka obiektów LSMW. Przykładowo, dla biznesowego obiektu danych podstawowych materiału, można stworzyć osobny obiekt LSMW odpowiedzialny za przesyłanie danych na temat danych podstawowych materiału gotowego i drugi obiekt dla jego komponentów (np. surowców).
Aby dokonać wyboru obiektu, który będziemy chcieli utworzyć masowo, nie trzeba posiadać szczególnej wiedzy na temat jego nazewnictwa czy kodyfikacji, dlatego, ze przechodząc do LSMW, system wyświetli nam listę podstawowych obiektów w SAP. Jednak zanim przejdziemy do jego wyboru musimy utworzyć nowy projekt. Po co w ogóle ten projekt? Dla osoby używającej LSMW jednorazowo, w celu utworzenia masowo jakichkolwiek rekordów danych podstawowych, zakładanie projektu mogłoby się wydawać zbędne. Jednak dla osób administrujących systemem, używających narzędzia LSMW częściej, projekt spełnia rolę identyfikacyjną. Na jego podstawie administrator, bez zaglądania głęboko w strukturę projektu, wie do czego może on zostać wykorzystany. Po przejściu do transakcji LSMW zauważymy, że projekt dzieli się na dodatkowe elementy, ułatwiające jego identyfikację, tj.:

  • Projekt – nazwa projektu może zawierać maksymalną długość 10 znaków
  • Podprojekt – jest dodatkowym elementem rozszerzającym strukturę tworzonego projektu (również może zawierać max. 10 znaków)
  • Obiekt – to pole służy do nadania nazwy (również max. 10 znaków) obiektowi biznesowemu, który będziemy zmieniać/tworzyć.

Po co te kroki? Wyobraźmy sobie sytuację, gdy firmę obsługuje kilku konsultantów modułowych. Każdy tworzy kilka własnych projektów dla modułu, w którym się specjalizują. Aby zastosowanie tych projektów było szybkie, bezproblemowe i przejrzyste, należy już na wstępie przyłożyć się do dokładnego opisu projektu. Osoba odpowiedzialna za moduł MM, może utworzyć projekt o nazwie MM. W celu łatwiejszej identyfikacji projektów, oczywistym jest że osoba odpowiedzialna za moduł FI, nazwie go w inny sposób. W podprojekcie natomiast możemy zawrzeć dane na temat danych podstawowych, które będziemy zmieniać/tworzyć w odpowiednim module, np. w SD będzie to klient, w MM dostawca, lub tak jak na poniższym przykładzie w WM_PP będzie to cykl sterowania zaopatrzenia produkcji. Obiekt natomiast uściśla jeszcze bardziej cel realizacji projektu dla cykli sterowania. Możemy utworzyć dwa projekty z taką samą nazwą i podprojektem, ale rozgałęzić je na np. tworzenie cykli sterowania, usunięcie cykli sterowania, zmiana cykli sterowania.

Idąc dalej, można od razu odpowiedzieć sobie na pytanie, czy aby korzystać z LSMW trzeba mieć wiedzę na poziomie konsultanta? Można “poślizgnąć się” już przy zakładaniu projektu, ponieważ nie dbając o odpowiednie nazewnictwo, niedoświadczony użytkownik mógłby z zamiarem zmiany danych podstawowych wybrać nieodpowiedni projekt i dokonać usunięcia np. tysiąca rekordów w SAP. W związku z tym możliwość tworzenia projektów powinna być ograniczona a uprawnionymi powinni być tylko użytkownicy świadomi, doświadczeni.

Podczas tworzenia projektu istnieje możliwość prowadzenia jego dokumentacji. W tym celu należy skorzystać z przycisku “project documentation” widocznego na powyższym obrazku. Po utworzeniu projektu system prowadzi nas do kolejnego ekranu, który jest sekwencją kroków niezbędnych do realizacji całego projektu.

Na powyższym obrazku widać, że kroki zostały podzielone na cztery grupy:

  1. Kroki odpowiedzialne za opracowanie designu dla procesu migracji, w których ustalamy metodę migracji, opracowujemy strukturę pliku źródłowego (który będzie niezbędną podstawą do realizacji projektu), mapowanie pól w tym pliku itd. Przygotowanie pliku źródłowego (mapowanie pól) odbywa się na podobnej zasadzie jak przy przeprowadzaniu masowych zmian danych podstawowych materiałów za pośrednictwem transakcji MM17 i pliku xls (opisanej w oddzielnym artykule).
  2. Te kroki odpowiadają za wybór pliku źródłowego dla opracowanej już wcześniej struktury i od tych właśnie kroków powinna zacząć się przygoda z LSMW z punktu widzenia użytkownika końcowego. Tutaj wskazuje się ścieżkę w jakiej znajduje się plik, z którego będę importowane dane do SAP. Natomiast jeśli projekt LSMW musi być wykonywany często (być może codziennie), wtedy te kroki również mogą okazać się zbędne. W takiej sytuacji użytkownik nie musi definiować źródła pliku, wystarczy że codziennie będzie podmieniał nowy plik o takiej samej nazwie w takiej samej lokalizacji. Przewidując taki scenariusz, użytkownik powinien zaczynać od kroku 9 (oznaczone jako “3” na obrazku).
  3. Kroki odpowiedzialne za wczytanie pliku. Ich wykonanie jest bardzo proste i polegają tylko na przeklikaniu oraz wyświetleniu informacji zawartych w pliku w celu kontroli ich prawidłowości. Grupę tych kroków kończymy konwersją danych z pliku do struktury SAP, utworzenie pliku wprowadzania wsadowego aż wreszcie po przetworzenie pakietu wprowadzania wsadowego i wyświetlenie wyników (logów) realizacji przeprowadzonych zmian (tutaj LSMW przekierowuje nas do transakcji SM35).
  4. Ten krok służy do migracji danych za pomocą IDoc. O szczegółowe wyjaśnienie tych kroków postanowiłem jednak poprosić doświadczonego eksperta, Dominika Tylczyńskiego:

LSMW umożliwia import danych z zewnętrznych plików i przeformatowanie tych danych. Następnie trzeba te dane zapisać w SAP ERP w formie np. danych podstawowych materiału, dostawców. Zwykle do zapisu danych wykorzystuje się batch-input (nagranie transakcji, które jest następnie przetwarzana masowo w tle) lub direct-input. Oprócz tych dwóch podstawowych technik LSMW pozwala na zapisywanie przy pomocy funkcji BAPI (ang. Business API) lub IDoc (ang. Intermediate Document). Listę wszystkich funkcji BAPI udostępnionych przez SAP znajdziemy w transakcji BAPI. Z punktu widzenia LSMW nie musimy rozróżniać importu poprzez BAPI i IDoc. Obie te techniki są obsługiwane w istocie tak samo, a wywołania funkcji BAPI są mapowane na IDoc’i przy pomocy interfejsu BAPI-ALE: Maintaining the BAPI-ALE Interface.
W przypadku najczęściej wykorzystywanego w LSMW sposobu importu dane z pliku są mapowane na nagranie określonej transakcji np. MM02 (zmiana danych podstawowych materiału). Następnie ta transakcja jest wywoływana wielokrotnie w tle.
W przypadku BAPI/IDoc dane są mapowane na strukturę IDoc’ów. IDoc’i utworzone w LSMW są przetwarzane przy pomocy standardowych funkcji ALE/IDoc dostępnych w SAP – ich szczegółowy opis to temat na kolejny artykuł, być może nie jeden. Warto przejrzeć dokumentację na SAP Help: IDoc Interface/ALE
Aby móc zacząć stosować interface BAPI/IDoc w LSMW trzeba wykonać podstawową konfigurację ALE/IDoc. Jest ona dobrze opisana tutaj: IDoc Inbound Processing

Oczywiście listę widocznych kroków można modyfikować za pomocą przycisku user menu (poniższe zdjęcie).

W sieci można znaleźć mnóstwo instrukcji krok po kroku jak wykonać prosty “zabieg” masowego tworzenia danych podstawowych za pomocą LSMW. Jednak poza umiejętnością klikania, niestety niezbędna jest też wiedza i doświadczenie. Już w pierwszym kroku projektu, użytkownik musi podjąć decyzję, jaką wybrać metodę wprowadzania (importu). Osoba tworząca projekt musi zdecydować, czy jest to projekt jednorazowy czy okresowy. Można importować dane codziennie, np. z zewnętrznego systemu, lub tylko jeden raz podczas implementacji. W zależności od potrzeb należy tutaj zdefiniować jaki obiekt będziemy chcieli importować. Poniższy obrazek przedstawia listę obiektów charakterystycznych dla wybranej metody importu.

Jeśli chcemy dokonać tworzenia rekordu dla obiektu, który nie znajduje się w żadnej z dostępnych metod importu (bezpośrednie wprowadzanie, BAPI lub IDoc), możemy skorzystać z opcji nagrywania transakcji. Metoda ta działa na zasadzie tworzenia makra w excelu. Innymi słowy pokazujemy systemowi, w których polach ma wprowadzać dane podczas przetwarzania ostatniego kroku. Efekt jest taki sam, jakby użytkownik wprowadzał każdy rekord pojedynczo, tylko, że tutaj jest to masowo wykonywane przez system w tle. Wybór tej metody pozwala również zredukować liczbę pól docelowych w porównaniu do wykorzystania standardowego obiektu. Metody importu danych zostały przedstawione na poniższym obrazku (w przypadku problemów z wielkością czcionki proszę kliknąć w obrazek aby go powiększyć).

Po wybraniu odpowiedniej metody importu i obiektu pozostaje już tylko przygotować źródłowy plik na podstawie, którego będziemy importować dane do SAP. Metoda importu poprzez nagrywanie transakcji została świetnie zobrazowana w artykule Barbary Ostrycharz.

Powyższe dowodzi, że jednak trzeba przyznać rację, iż obsługa LSMW faktycznie przeznaczona jest dla osób zaawansowanych w systemie. Wczytać plik i importować dane do SAP na podstawie wcześniej utworzonego projektu to jedno, ale same jego utworzenie to już inny poziom. Od doboru metody zależy prędkość odczytu danych, która ma bardzo duże znaczenie w przypadku importu tysięcy rekordów. Inne metody zostaną wykorzystane w sytuacji, gdy chcemy do SAP importować dane utworzone własnoręcznie z pliku excela i inne gdy chcemy dokonać importu z zewnętrznego systemu. System zewnętrzny może generować plik Idoc, który następnie można wykorzystać do importu w LSMW. Poza tym dane importowane do SAP mają bezpośredni wpływ na funkcjonowanie obszarów biznesowych firmy. W związku z tym, informacje w sieci, mówiące o tym, że narzędzie LSMW przeznaczone jest dla konsultantów są jak najbardziej słuszne. Odpowiadając na pytanie czy lepiej jest pojedynczo wprowadzać dane do SAP z czystym sumieniem mogę stwierdzić, że w celu obserwacji zachowań systemu, użytkownicy końcowi powinni wprowadzać dane do systemu pojedynczo a zmiany za pomocą LSMW pozostawić administratorom. Metoda pojedynczego wprowadzania danych pozwala niedoświadczonemu użytkownikowi bardzo szybko zlokalizować błąd i daje możliwość nauki, jak w przyszłości go nie popełniać. W sytuacjach, w których bez LSMW się nie obędzie, zawsze można wnioskować do administratora systemu o utworzenie projektu, oraz przykładowego pliku źródłowego. Dopiero po tym użytkownik może wprowadzać dane do gotowego pliku w celu samodzielnego importu.

Pełną dokumentację dla LSMW można znaleźć pod adresem: https://help.sap.com….

 

 

Zostaw komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.