SAP Query – podstawy
Postaram się poświęcić kilka tematów o tematyce raportowania w systemie, wiadomo że jak ktoś posiada BW to raczej nie będzie z tego korzystał, ale dla end userów będzie to na pewno ciekawe zagadnienie. W systemie mamy możliwość tworzenia raportów na 3 sposoby, transakcją SQVI (szybki przegląd), SAP query oraz programowanie w ABAP. SQVI i ABAP pominę, ze względu na to że pierwsze z nich to okrojona wersja query, a drugie zostawmy programistom.
SAP query daje nam 3 transakcje do obsługi i budowy raportów.
- SQ01 – tworzymy zapytania do konkretnego zbioru informacyjnego (czyli bazy danych) z podziałem na grupy
- SQ02 – tworzymy bazę danych dla naszego raportu, może to być tabela, połączenie tabel, zbiór informacji, lub program który napełni nam strukturę bazy danych.
- SQ03 – tworzymy grupy użytkowników i przypisujemy do nich zbiory informacji z których mogą korzystać
Na początek coś prostego żeby zachęcić a nie zniechęcić, zbudujemy bardzo prosty raport sprzedażowy dla zleceń sprzedaży, który będzie korzystał z jednej tabeli VBAK (nagłówek zlecenia sprzedaży)
Tworzenie struktury grup jest oczywiście dowolne, ale warto chwilę pomyśleć jak najlepiej odwzorować naszą strukturę firmy i osoby korzystające z raportów, tak żeby zachować przejrzystość i łatwość korzystania z query.
Więc na początek utworzymy grupę do naszych celów – niech się nazywa ZZ-SD, czyli wchodzimy do transakcji SQ03, wpisujemy nazwę grupy i naciskamy „Tworzenie”
Uzupełniamy opis naszej grupy:
I to na razie wystarczy, więc przechodzimy to transakcji SQ02 gdzie utworzymy nasz dostęp do tabeli VBAK, z której to chcemy odczytywać pewne dane nas interesujące. Zbiór informacji nazwę sobie zgodnie co do konwencji nazwy grupy, czyli ZZ-SD-VBAK – tu oczywiście też jest dowolność. Wpisujemy i naciskamy „Tworzenie”
Pojawi nam się okno gdzie uzupełniamy dane dotyczące naszej bazy danych, czyli:
- Oznaczenie – opis zbioru informacyjnego który tworzymy
- Grupa uprawnień – można tworzyć ze specjalną grupą, dla której później można ograniczyć uprawnienia dla tego obiektu w profilu użytkownika.
- Źródło danych – w tym bloku wybieramy źródło naszych danych z których będziemy korzystać.
Ustawiamy żeby system przejął dla naszej bazy danych wszystkie pola z tej tabeli.
Po lewej stronie pokazują nam się tabel które zdefiniowaliśmy w kroku poprzednim, a z prawej strony są pola tabeli które zostały przejęte do naszego zbioru informacyjnego. Zapamiętujemy i generujemy nasz zbiór informacji, w tym momencie już będziemy mieli możliwość korzystania z niego.
I w głównym oknie przypisujemy nasz zbiór informacji do wcześniej utworzonej grupy użytkowników – zanznaczając go i zapamiętując.
No i na koniec musimy stworzyć odwołanie do naszej tabeli, czyli wchodzimy do transakcji SQ01, wybieramy naszą grupę ZZ-SD i w niej tworzymy nasz raport.
Wybieramy nasz zbiór informacji:
Uzupełniamy tytuł, oznaczenie (nie szczędźmy słów na opis i tworzenie dokumentacji) oraz wybieramy sposób wyświetlania, czy ALV, czy Lista ABAP, a może excel – po czym z górnego paska menu wybieramy „Listę podstawową” gdzie wybierzemy pola do selekcji i wyświetlania na raporcie.
„Pola listy” są to pola które wyświetlą nam się na raporcie, „Pola wyboru” dadzą nam możliwość wyboru rekorów w oknie selekcji. I tak przyjmę sobie że chciałbym sobie wybierać po:
- Dacie utworzenia dokumentu – VBAK-ERDAT
- Zleceniodawcy – VBAK-KUNNR
I raport chcę żeby się składał z następujących pól:
- Numer dokumentu sprzedażowego – VBAK-VBELN
- Wartość dokumentu – VBAK-NETWR
- Waluta – VBAK-WAERK
- Powód zlecenia – VBAK-AUGRU
Zapisujemy i bierzemy się do testowania. W oknie selekcji wpisuję dzisiejszą datę i uruchamiam raport.













Odpowiedzi: 4
Maciek
12 lutego 2010
14:53
bardzo fajnie, że ktoś chce się podzielić wiedza na temat SAP. ja nie mam jeszcze dużego doświadczenia w „poważnym” używaniu tego systemu, ale życie zmusiło mnie do zajęcia sie raportowaniem. zacząłem to robić w SQVI, ale mam problem żeby uzyskać zamierzony efekt.
potrzebuje stworzyć raport stanów magazynowych który będzie zawierał kolumnę z partią dostawcy. stworzyłem taki raport z tabel MCH1-MCHA-MCHB, ale nie ma tam pola z opisem mateiriału. takie pole jest w tabeli MAKT, jednak kiedy dodam tą tabelę w wyniku zapytania dublują mi się wpisy. tzn. tą samą „linijke” raportu mam dwa razy wyświetloną co w efektcie daje podwojenie ilości zapasów. może tutaj uzyskam pomoc/odpowiedź dlaczego tak się dzieje. z góry dziękuje za odpowiedź.
ps. niecierpliwie czekam na kolejnie porady dotyczące raportowania. a przy okazji które narzędzie daje większe możliwości SQVI czy SAP QUERY (SQ01,02,03)?
admin
13 lutego 2010
10:41
Oczywiście bardziej rozbudowanym narzędziem jest sap query (sq01/02/03) więc proponuję raczej korzystać z niego. Co do pola z tabeli MAKT, to przygotuję w poniedziałek opis
Maciek
15 lutego 2010
15:08
dziękuje za odpowiedź.
jeżeli chodzi o podwójne wyświetlanie to okazało się że przyczyną są podwójne wpisy w MAKT (dla języka PL i EN). swój raport zrobiłem w SQVI, teraz spróbóje to samo zrobić w sap query.
dziekuje
admin
15 lutego 2010
22:36
Dokładnie, nie chciałem uprzedzać ale i tak pokażę jeszcze jak to zrobić używając kodu. Jutro powinno być dostępne.
Pozdrawiam
Zostaw komentarz