SAP – wyszukiwanie ostatnich zmian w dokumentach

Jakiś czasu temu w pracy otrzymałem telefon z działu sprzedaży, z prośbą o pomoc. Właściwie jak rozmówca to określił z prośbą o ratowanie życia. Rozmówca dokonał zmian w dokumencie sprzedaży w SAP i z jakiegoś powodu, nie zapamiętał jego numeru a potrzebował pilnie tą zmianę cofnąć. Problem tkwił w tym, że pracował on z dużą ilością zleceń w tamtym momencie i pamiętał tylko co zmienił, ale nie pamiętał gdzie. Oczywiście jak zwykle zgodziłem się pomóc a dopiero później zastanawiałem się jak to zrobić.

Wielokrotnie wspominałem już na filmach na kanale youtube, że ogromna moc drzemie w znajomości tabel, nawet jeśli jesteś użytkownikiem końcowym, dlatego i tym razem postanowiłem skorzystać z narzędzia SQVI. Oczywiście nie będę ściemniał, że mam nazwy tabel w głowie, zostawiłem tam miejsce na bardziej przyziemne rzeczy. Po prostu jak zwykle zapytałem wujka Google o tabelę w której przechowywane są dokumenty zmian i otrzymałem odpowiedź, iż jest to tabela CDHDR.

Nie marnując czasu użytkownika czekającego na linii, zapytałem o jego login do SAP i orientacyjną godzinę o jakiej dokonał zmiany. Poprosiłem, żeby zadzwonił za 5 minut i zabrałem się za budowę bardzo szybkiego raportu w SQVI.

Wystarczy po prostu przejść do wspomnianej transakcji i wprowadzić nazwę dla tworzonego przez nas raportu.


Osobiście w swoim SQVI mam zapisanych około 30 raportów a korzystam może z 5 lub 6 na stale, dlaczego? Ponieważ nie pamiętam do czego służy ta cała reszta, którą nazwałem 123 lub 654 co widać na rysunku 1. Nie wiem czy też to zauważyliście ale większość SAP-owców jest bardzo skrupulatna i dokładna w tym co robi. Zawsze imponowali mi ci, którzy lubią mieć porządek w tworzonych przez siebie nazwach, plikach, skrótach itd. Nawet nazwy wszystkich tabel lub transakcji w SAP mają ukryty sens. Weźmy na przykład wspomnianą tabelę CDHDR – skąd ten skrót? Z angielskiego „Change Document Header”, czyli zmiany nagłówka dokumentu. Ale do czego zmierzam? Trzeba po prostu dziękować Bogu, że człowiek, który tworzył te nazwy nie nazywał tabel tak jak zrobiłbym to ja czyli: 123 lub 654 😉 Więc jeśli zaczynasz z SQVI to nie powielaj mojego błędu – nazywaj te raporty tak abyś w przyszłości wiedział do czego Ci służyły bo możesz często do nich wracać.


 

A więc definiujemy nazwę raportu i klikamy przycisk „tworzenie”.

Rys. 1. Definiowanie nazwy raportu SQVI

Pojawi nam się kolejne okno, w którym musimy zdecydować czy korzystamy z połączenia tabel, czy może chcemy odczytać tylko jedną tabelę. Dodatkowo definiujemy tytuł dla raportu.

Rys. 2. Definiowanie tabeli w raporcie SQVI

 

Następnie definiujemy pola, które chcemy udostępnić na liście naszego raportu (1) oraz pola, które będą dostępne na ekranie selekcji raportu (czyli to na podstawie czego będziemy chcieli szukać danych) (2) i klikamy po prostu w „wykonanie” (3).

Rys. 3. Definiowanie pól dostępnych w raporcie.

Po kliknięciu przycisku „wykonanie” ukaże nam się ekran selekcji raportu, w którym możemy wprowadzić dane na podstawie których chcemy uzyskać jakiś wynik. W tym wypadku akurat chciałem znaleźć zmiany w dokumentach dokonane przez wybranego użytkownika (1) w zakresie dat (2) oraz w zdefiniowanych przeze mnie przedziałach godzinowych (3). Gdyby pojawiła się taka potrzeba to można by nawet wybrać nazwę transakcji za pomocą, której jakiś użytkownik dokonał zmian (4).

Rys. 4. Ekran selekcji raportu SQVI

Po wybraniu danych jak w rysunku 4, system podał jak na dłoni wszystkie zmiany dokonane przez użytkownika w wybranym zakresie godzin. Czyli wiemy już, że użytkownik dokonał zmiany w dokumencie zlecenia sprzedaży 0203187308 (1) w transakcji VA02 (2). Patrząc natomiast na godziny, widzimy, że użytkownik ten majstrował coś wcześniej w transakcji VD02.

Oczywiście dane te mówią nam tylko o tym w jakim dokumencie użytkownik dokonał zmian. Dlaczego? Ponieważ skorzystaliśmy z tabeli dokumentu zmian dla nagłówka dokumentu. Mamy więc dane nagłówka zmienianego dokumentu. Wiemy, że dokument oprócz nagłówka posiada jeszcze pozycje i gdyby zależało nam na uzyskaniu informacji w jakich polach pozycji dokumentu były dokonywane zmiany musielibyśmy skorzystać z dodatkowej tabeli podczas generowania raportu w SQVI. Ale o tym później, wróćmy teraz do wspomnianej sytuacji z życia wziętej.

Rys. 5. Wynik raportu SQVI

Oczywiście po uzyskaniu raportu, wiedziałem już, że będę w przyszłości chciał go używać – bo okazał się przydatny, tak więc zapisałem zmiany .

Chcąc taki raport udostępnić innemu użytkownikowi (by korzystał z niego samodzielnie w przyszłości) skorzystałem z menu dostępnego na poziomie ekranu głównego transakcji SQVI. Należy po prostu wybrać menu: szybki przegląd ->Dalsze funkcje->Generowanie programu. Później powtórzyć jeszcze raz ten krok ale tym razem jako ostatnie wybrać „wyświetlanie nazwy raportu”.

Rys. 6. Generowanie programu z raportu SQVI.

System wyświetli nam nazwę raportu, którą możemy udostępnić dowolnemu użytkownikowi w transakcji SA38.

Rys. 7. Wyświetlanie nazwy raportu w SQVI.

Po tym zabiegu oddzwoniłem do tej osoby i udzieliłem mu odpowiedzi na pytanie w jakim dokumencie dokonał zmiany między podanymi przez niego godzinami. Żebyście mogli usłyszeć te wyrazy wdzięczności. To było jak ratowanie życia, a cały zabieg trwał naprawdę nie dłużej niż 5 minut. Zaproponowałem temu komuś aby sprawdził czy ma dostęp do transakcji SA38. Miał. Więc wysłałem mu emailem nazwę wygenerowanego przeze mnie raportu: AQ10SYSTQV000375ZMIANY========

W odpowiedzi usłyszałem tylko: „Wow!! Skąd Ty znasz takie nazwy transakcji? ” – i co tu odpowiedzieć? No przecież nie z głowy… długa historia 😉 To jest po prostu moc SQVI.

Ale ktoś mógłby zapytać: co jeśli chciałbym wiedzieć co dokładnie użytkownik zmienił w tym dokumencie? Po prostu trzeba by było utworzyć raport w analogiczny sposób tylko z wykorzystaniem dwóch tabel. A więc ponownie wujek Google podpowie, że tabela do wyświetlania dokumentów zmian ale tym razem dla pozycji to CDPOS.

I tak wcześniej tworzymy raport z tą różnicą, że tym razem wybieram opcję połączenia tabel (4):

Rys. 8. Tworzenie raportu SQVI – połączenie tabel.

Następnie w kolejnym ekranie klikamy w przycisk (1) i w polu (2) dodajemy tabelę i zatwierdzamy (3) i tak robimy kilka razy aż wprowadzimy wszystkie tabele.

Rys. 9. Wprowadzanie tabeli do zapytania SQVI.

Następnie system sam zaproponuje połączenie tabel jak niżej. Oznacza to, że system używa dwóch oddzielnych tabel. Każda z nich przechowuje jakieś dane, ale system musi te tabele połączyć wspólnymi polami aby powstała jedna, sensowna całość. Już na poniższym rysunku (rys. 10) widzimy, że w tabeli CDPOS znajdują się pola „VALUE_NEW” i „VALUE_OLD” co by oznaczało, że uzyskamy odpowiedź na pytanie: co było zmieniane w dokumencie i jaką miało wartość przed zmianą.

Rys. 10. Graficzny wygląd powiązania dwóch tabel w SQVI.

W kolejnym etapie, tak samo jak w poprzedniej metodzie, wybieramy po prostu pola, które chcemy pokazać w raporcie i te które chcemy mieć na ekranie selekcji. A my chcemy w raporcie mieć dane nazwy zmienianego pola oraz jego wartość przed i po zmianie.

Rys. 11. Definiowanie pól raportu SQVI.

Jako wynik otrzymaliśmy informację, w której widzimy, że w wybranym zakresie dat dokonano zmian w transakcji VA02. W pierwszej kolumnie po lewej widzimy w jakim polu wprowadzane były zmiany a w pozostałych dwóch kolumnach widzimy stare i nowe wartości. Jeśli te nazwy nic nam nie mówią, to wystarczy po prostu wyświetlić jakiś wybrany numer dokumentu np. w transakcji VA02 czy jakiejkolwiek innej, której dotyczy raport i namierzyć te pola. Z czasem jednak nauczycie się rozpoznawać te nazwy bez uczenia się ich na pamięć.

Rys. 12. Ostatnie zmiany w dokumencie SAP. Wynik raportu SQVI.

Na koniec chciałbym nadmienić, że w trakcie tworzenia wspomnianego raportu coś mi zaświtało w głowie, że temat ten był już poruszany przez Dominika Tylczyńskiego we wpisie o uniwersalnym wyświetlaniu dokumentów zmian w SAP ERP opublikowanym na stronie Polskiej Grupy Użytkowników SAP. Faktycznie mógłbym z niego korzystać – zapomniałem o tym wcześniej. Tak jak piszę Dominik wystarczy w transakcji SA38 wybrać raport: RSSCD100, a następnie wybrać obiekt w którym dokonano zmiany:

Rys. 13. Wybór obiektu w raporcie RSSCD100 – ekran transakcji SA38.

Jednakże mi akurat jako normalnemu użytkownikowi znalezienie wybranego obiektu przysparza trochę trudności. Mógłbym z drugiej strony po prostu nie wybierać nic tylko po prostu wprowadzić nazwę użytkownika i odpowiednie daty. Jednak grzebanie w SQVI pozwala troszkę zapoznać się z nazwami tabel , a poza tym – być może jestem czubkiem ale przynosi mi to niezłą frajdę 🙂

Pozdrawiam serdecznie wszystkich i do następnego razu!

SAP ERP, SAP MM, SAP SD, dokumenty zmian, SAP program, SAP szkolenie, SAP tutorial, SAP po polsku

Chcesz być informowany o nowych wpisach?

Ja nie spamuje! Przeczytaj zasady polityki prywatności tego bloga.

0 0 votes
Article Rating
Subscribe
Powiadom o
guest
0 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x