sty

18

SAP Query – podstawy

Autor: admin

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.

  1. SQ01 – tworzymy zapytania do konkretnego zbioru informacyjnego (czyli bazy danych) z podziałem na grupy
  2. 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.
  3. 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:

  1. Dacie utworzenia dokumentu – VBAK-ERDAT
  2. Zleceniodawcy – VBAK-KUNNR

I raport chcę żeby się składał z następujących pól:

  1. Numer dokumentu sprzedażowego – VBAK-VBELN
  2. Wartość dokumentu – VBAK-NETWR
  3. Waluta – VBAK-WAERK
  4. Powód zlecenia – VBAK-AUGRU

Zapisujemy i bierzemy się do testowania. W oknie selekcji wpisuję dzisiejszą datę i uruchamiam raport.

Odpowiedzi: 4

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)?

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 ;)

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

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