Tworzenie i zmiana danych wzorcowych konta księgi głównej przy pomocy transakcji LSMW
Swój pierwszy kontakt z SAP-em miałam trzy lata temu, gdy był on wdrażany w firmie, w której wówczas pracowałam. Bardzo szybko się zorientowałam, że ciężko o dobre materiały szkoleniowe, nawet te dostarczone przy wdrożeniu. Pamiętam, jak pewnego razu powiedziałam do mojego lidera wdrożenia „Nie obraź się, ale uważam że twoje materiały szkoleniowe są kiepskie, nie jestem w stanie samodzielnie się z nich nic nauczyć”. Jak wielkie było moje zdziwienie, gdy usłyszałam jego odpowiedź: „Gdyby te materiały były dobre, to ja byłbym tu niepotrzebny”. Nie powiem kolega okazał się bardzo dobrym nauczycielem i przekazał mi swoją wiedzę z modułu, za którego wdrożenie byłam odpowiedzialna, ale szybko się zorientowałam, że jeśli chce nauczyć się czegoś więcej, to musze znaleźć inne źródło SAP-owej wiedzy. I tak zaczęła się moja przygoda z wujkiem Google, który okazał się być najlepszym nauczycielem.
Podczas pewnej rozmowy zostałam zapytana, czy gdybym w tym momencie dostała komputer z zainstalowanym SAP-em i dostępem do Internetu, to czy potrafiłbym stworzyć dane wzorcowe przy pomocy transakcji LSMW. Odpowiedziałam, że tak, choć wcale nie byłam tego taka pewna i bardzo się ucieszyłam, że nie ma w pobliżu żadnego komputera 😊. Nie byłabym jednak sobą, gdybym nie sprawdziła jaka jest prawda. I znów poprosiłam o pomoc wujka Google. Przeczytałam kilka artykułów, obejrzałam parę filmów i napisałam dla siebie materiały szkoleniowe, którymi chciałabym się z Wami podzielić.
Pokażę to na przykładzie tworzenia konta księgi głównej i dokonywania w nim zmian. Zanim przejdę do LSMW celem wstępu odrobina teorii w bardzo wielkim skrócie…
Konto księgi głównej jest podstawowym narzędziem ewidencji księgowej. Służy do rejestracji operacji gospodarczych i stanowi podstawowe źródło informacji o zdarzeniach gospodarczych, które miały miejsce w danym okresie sprawozdawczym.
Zbiór kont księgi głównej składa się na plan kont. W SAP dla każdej jednostki gospodarczej możemy przypisać operacyjny plan kont oraz lokalny plan kont (na potrzeby raportu lokalnego). Ustawień tych dokonujemy w transakcji OBY6.
SAP daje nam kilka możliwości założenia konta księgi głównej. Można tego dokonać z poziomu planu kont przy pomocy transakcji FSP0, z poziomu jednostki gospodarczej przy pomocy transakcji FSS0 lub przy pomocy transakcji FS00 od razu dla obu poziomów.
W tym opracowaniu założymy sobie konto księgi głównej w lokalnym planie kont (jak widać na powyższym obrazku – GKR, a następnie przypiszemy je do konta w planie operacyjnym – INT.
SAP LSMW
Po otwarciu transakcji LSMW wybieramy przycisk Create Entry
Pojawi się okno, w którym należy uzupełnić pola
Po wybraniu Continue otworzy się kolejne pole do uzupełnienia
Po wybraniu Continue otworzy się kolejne pole do uzupełnienia
Po kolejnym wybraniu Continue wracamy do pierwszego ekranu
Wybieramy Go->Recordings i na następnym ekranie wybieramy Create Recording
Uzupełniamy pola i wybieramy Countinue
Na kolejnym ekranie wpisujemy nazwę transakcji za pomocą, której ręcznie tworzymy dane wzorcowe. W tym przypadku FSP0 i znów Continue
Jesteśmy przekierowani kolejnego ekranu, na którym musimy uzupełnić pola, tak jakbyśmy tworzyli konto księgi głównej ręcznie. Wpisujemy numer konta, plan kont, dla którego to konto jest tworzone i wybieramy przycisk Create
Wypełniamy te pola, które mają występować w tworzonym wzorcu
Pola w następnej zakładce w tej transakcji uzupełniają się automatycznie, więc nie musimy nic wypełniać, wybieramy przycisk Save
Jesteśmy przekierowani do kolejnego ekranu, na którym są widoczne pola wypełnione podczas tworzenia danych wzorcowych konta. Niektóre z nich są powielone. Można je usunąć używając przycisku Delete Screen Field
Następnie wybieramy przycisk Default All, pojawiają nam się nazwy pól i opisy.
Usuwamy wprowadzone domyślnie dane, żeby w późniejszym procesowaniu nie pojawiały się błędy. Możemy to zrobić klikając dwa razy w dane pole.
Poniżej usunięte dane.
Zapisujemy i wracamy zieloną strzałką.
Kolejny raz wychodzimy zieloną strzałką. Wracamy do głównego ekranu, na którym wybieramy Execute
Jesteśmy przekierowani do nowego ekranu, na którym będziemy przechodzić przez poszczególne linie:
- Maintain Object Attributes
- Maintain Source Structures
- Maintain Source Fields
- Maintain Structure Relations
- Maintain Field Mapping and Conversion Rules
- Maintain Fixed Values, Translations, User-Defined Routines
- Specify Files
- Assign Files
- Read Data
- Display Read Data
- Convert Data
- Display Converted Data
- Create Batch Input Session
- Run Batch Input Session
Za każdym razem żeby wejść do kolejnej linii musimy wybrać Execute. Dane na nowym ekranie otworzą nam się do odczytu, więc musimy zmienić to używając Display <-> Change (pojawią się nowe przyciski do wyboru), a wychodząc z danego ekranu jesteśmy automatycznie przekierowani do kolejnej linii.
Zaczynamy od Maintain Object Attributes. Zaznaczamy pole Batch Input Recording i wybieramy utworzony wcześniej rekord.
Następnie zapisujemy i wracamy zieloną strzałką. Automatycznie jesteśmy przekierowani do kolejnej linii Maintain Source Structures, a w pierwszej zostały uzupełnione dane: data, czas i użytkownik.
Przechodzimy do Maintain Source Structures
Ponownie wybieramy przycisk Display <-> Change
Tak jak już wspomniałam pojawiły się nowe przyciski. Wybieramy Create a Structure, a w nowym oknie wypełniamy pola
I wybieramy Continue
Zapisujemy i wracamy zieloną strzałką. Przed przejściem do ekranu kolejnej linii Maintain Source Fields musimy przygotować sobie dane źródłowe pól. W tym celu wybieramy przycisk Object Overview
A nastepnie Table, ponieważ ma lepszy format do kopiowania
Widzimy dane źródłowe
Kopiujemy je do Excela
I zmieniamy kolejność kolumn tak, żeby mieć dane w formacie jak poniżej
Wracamy zieloną strzałką. Przechodzimy do linii Maintain Source Fields. Wybieramy przycisk Display <-> Change
A następnie stojąc kursorem na linii ZFSP0 wybieramy przycisk Table Maintenance
Do tabeli wklejamy wcześniej przygotowane dane
Zapisujemy i wracamy zieloną strzałką, pojawiły się pola źródłowe
Ponownie zapisujemy i wracamy zieloną strzałką. Przechodzimy do linii Maintain Structure Relations i tradycyjnie wybieramy Display <-> Change
Stojąc na linii LCOA wybieramy przycisk Relationship
Wybieramy przycisk Display <-> Change. Mapowanie możemy zrobić na dwa sposoby: automatycznie lub ręcznie. Aby zrobić to automatycznie wybieramy Extras -> Auto-Field Mapping
Pojawi się ekran
Wybieramy Continue
Pola zostały zmapowane. Ponownie wybieramy Continue
Zapisujemy i wracamy zieloną strzałką.
Gdybyśmy chcieli dokonać mapowania ręcznie należy stanąć na linii pola, które mapujemy i wybrać Source Field
Na ekranie, który się pojawi wybrać pole do zmapowania
Kolejną linią jest Maintain Fixed Values, Translations, User-Defined Routines. Ominiemy ją, ponieważ nie będziemy definiować żadnych stałych danych.
Zanim przejdziemy do kolejnej linii Specify Files, przygotujemy sobie plik załadowczy. Skorzystamy z poprzednio przygotowanego pliku. Po obróbce danych mamy
Następnie zapiszemy go jako plik tekstowy, oddzielany przecinkami
Przechodzimy do kolejnej linii Specify Files. Znów zmieniamy tryb przyciskiem Display <-> Change
Dane będziemy importować z komputera, więc dwa razy klikamy w linię: Legacy Data On the PC (Frontend)
Wybieramy wcześniej przygotowany plik, nadajemy nazwę, zaznaczamy Comma i wybieramy Continue
Zapisujemy i wracamy zieloną strzałką.
Przechodzimy do linii Assign Files. Wybieramy przycisk Display <-> Change
Stojąc na linii ZFSP0 wybieramy Assignment, a następnie zapisujemy i wracamy zieloną strzałką.
Przechodzimy do linii Read Data. Wybieramy Execute
Przechodzimy do kolejnego ekranu
Wracamy dwa razy zielona strzałką. Przechodzimy do linii Display Read Data
Wybieramy Continue i widzimy zaczytane dane
Klikając w linię możemy je sprawdzić
Wracamy dwa razy zieloną strzałką. Przechodzimy do linii Convert Data
Ponownie wybieramy Execute
Wracamy dwa razy zielona strzałką. Przechodzimy do linii Display Converted Data
Wybieramy Continue
Klikając w linię możemy sprawdzić dane
Wracamy dwa razy zielona strzałką. Przechodzimy do linii Create Batch Input Session
Zaznaczamy Keep batch input folder, jeśli nie chcemy, żeby sesja zniknęła po przetworzeniu, a następnie Execute. Pojawia się okno
Wybieramy Continue. Przechodzimy do linii Run Batch Input Session
Jesteśmy automatycznie przekierowani do transakcji SM35. Zaznaczamy linię do przeprocesowania i wybieramy przycisk Process
Pojawia się okno
Wybieramy ponownie przycisk Process. Widzimy, że zmienił się status sesji
A konta zostały utworzone, co można sprawdzić tabeli SKA1
Jeżeli w przyszłości będziemy chcieli założyć nowe konta, to wystarczy przygotować plik załadowczy i powtórzyć kroki zaczynając od Specify Files.
Mamy już utworzone konto lokalnego planu kont GKR. Teraz chcemy zmapować je z kontem planu operacyjnego INT. Ręcznie możemy tego dokonać używając transakcji FS00, wprowadzając dane w polu Alternative account no.
A jak to zrobić za pomocą LSMW?
Otwieramy transakcję, uzupełniamy pola jak poniżej
Project WR26 i Subproject FI zostały utworzone wcześniej. Teraz utworzymy dla nich nowy Object. Wybieramy Create Entry, uzupełniamy nazwę i wybieramy Continue
Wracamy do pierwszego ekranu i wybieramy Execute
Widzimy znany już nam ekran
Wybieramy pierwszą linię Maintain Object Attributes, przyciskamy Display <-> Change i uzupełniamy pola
Zapisujemy i wracamy zieloną strzałką. Wracamy do ekranu głównego i po kolei procesujemy poszczególne linie tak jak to zostało opisane powyżej.
Chciałabym jedynie zwrócić uwagę na to, że tym razem w pliku załadowczym oprócz danych pól będzie również nazwa transakcji, którą użyjemy. Co widać w danych źródłowych:
Tyle nauczył mnie wujek Google. A jeśli ktoś chciałby dodać coś od siebie, to komentarze są mile widziane. Mam przeczucie, że jest jeszcze jakaś wiedza tajemna, której nie wygooglałam 😉