Jesteśmy firmą konsultingową, specjalizującą się w usługach SAP, outsourcingu IT i rozwoju oprogramowania. Wspieramy biznes naszych klientów. Do 2017 roku działaliśmy jako BCC.

Jesteśmy częścią Grupy SNP, światowego lidera w zakresie transformacji środowisk SAP

Od 1995 roku zrealizowaliśmy z sukcesem setki projektów IT w Polsce i kilkudziesięciu innych krajach.

Nasi eksperci przedstawiają najciekawsze rozwiązania i nowości ze świata IT.

Zobacz archiwum nagrań z webinarów, zarejestruj się na kolejne edycje.

Dlaczego uważamy, że SNP Poland jest dobrym pracodawcą? Bo łączymy cechy rzadko spotykane w jednej organizacji - duże możliwości rozwoju, a zarazem dobrą atmosferę i elastyczność środowiska pracy. Dowiedz się więcej, na czym to polega w praktyce!

Raporty ALV IDA – nawet 30 razy szybsze

Klasyczny wygląd, szybkość bazy danych SAP HANA

Udostępnij
Z raportowaniem w systemie SAP ERP spotykamy się na co dzień; począwszy od raportowania typowo operacyjnego, prezentującego dane transakcyjne, po raportowanie analityczne prezentujące dane zagregowane. Aby zapewnić użytkownikom systemów SAP możliwość raportowania z wykorzystaniem potencjału obliczeniowego SAP HANA, firma SAP zaprojektowała nową wersję kontrolki ALV – tzw. ALV IDA (ABAP List Viewer with Integrated Data Access). Raporty ALV IDA są znacznie szybsze od tradycyjnych raportów ALV (zysk może być nawet 30 krotny!), a wyglądają niemal identycznie i oferują użytkownikowi zasadniczo te same funkcje.
 

Data-2-Code vs Code-2-Data

Klasyczne raporty ALV są pisane zgodnie z koncepcją Data-2-Code, która oznacza, że generalnie dane są pobierane z bazy danych w niezmienionej postaci na poziom serwera aplikacji i tamże dopiero obrabiane do wymaganej postaci finalnej. Baza danych w tej koncepcji nie pełni szczególnie istotnej roli obliczeniowej, wspierane są tylko podstawowe operacje SQL. Oczywiście w przypadku zastosowania tradycyjnych (dyskowych) baz danych ta koncepcja była i jest nadal słuszna. SAP HANA otwiera jednak zupełnie nowe możliwości; po pierwsze SAP HANA przechowuje całość danych w pamięci operacyjnej (RAM), a po drugie – SAP HANA zawiera wbudowane algorytmy, które potrafią efektywnie czynić użytek z nowoczesnych maszyn wieloprocesorowych. Nie bez znaczenia jest również tzw. kolumnowa organizacja danych w pamięci, która ma szczególnie pozytywne przełożenie na możliwości raportowania analitycznego. Klasyczne raporty ALV uruchomione na systemie SAP pracującym na bazie SAP HANA będą oczywiście też szybsze (dane w pamięci zamiast na dysku), ale dopiero raporty przeprojektowane zgodnie z koncepcją Code-2-Data są znacznie szybsze (o kilka rzędów wielkości). W skrócie chodzi o ...

Data-2-Code vs Code-2-Data

Klasyczne raporty ALV są pisane zgodnie z koncepcją Data-2-Code, która oznacza, że generalnie dane są pobierane z bazy danych w niezmienionej postaci na poziom serwera aplikacji i tamże dopiero obrabiane do wymaganej postaci finalnej. Baza danych w tej koncepcji nie pełni szczególnie istotnej roli obliczeniowej, wspierane są tylko podstawowe operacje SQL. Oczywiście w przypadku zastosowania tradycyjnych (dyskowych) baz danych ta koncepcja była i jest nadal słuszna. SAP HANA otwiera jednak zupełnie nowe możliwości; po pierwsze SAP HANA przechowuje całość danych w pamięci operacyjnej (RAM), a po drugie – SAP HANA zawiera wbudowane algorytmy, które potrafią efektywnie czynić użytek z nowoczesnych maszyn wieloprocesorowych. Nie bez znaczenia jest również tzw. kolumnowa organizacja danych w pamięci, która ma szczególnie pozytywne przełożenie na możliwości raportowania analitycznego. Klasyczne raporty ALV uruchomione na systemie SAP pracującym na bazie SAP HANA będą oczywiście też szybsze (dane w pamięci zamiast na dysku), ale dopiero raporty przeprojektowane zgodnie z koncepcją Code-2-Data są znacznie szybsze (o kilka rzędów wielkości). W skrócie chodzi o to, aby maksymalnie wykorzystać możliwości przetwarzania danych samej bazy danych. W koncepcji Code-2-Data dane są pobierane na poziom serwera aplikacji w postaci finalnej, a obróbką i przygotowaniem danych zajmuje się baza danych SAP HANA. Koncepcja Code-2-Data jest również nazywana koncepcją Code Pushdown, od „zepchnięcia w dół” przetwarzania danych na poziom bazy danych. Raporty ALV IDA są właśnie tworzone zgodnie z tą koncepcją dzięki czemu są tak szybkie.

Klasyczny raport ALV vs. raport ALV IDA – struktura programu

Każdy raport ALV – zarówno klasyczny, jak i IDA składa się zasadniczo z pięciu bloków logicznych:

  • Kryteriów selekcji i parametrów wykonania raportu;
  • Algorytmu selekcji danych;
  • Algorytmu obróbki danych;
  • Algorytmu konfiguracji kontrolki ALV;
  • Wywołania kontrolki ALV.

Klasyczny raport ALV jest w całości pisany za pomocą języka programowania ABAP i jest dostępny najczęściej w postaci kodu transakcji. W raporcie ALV IDA przeobrażeniu ulega przede wszystkim blok selekcji i obróbki danych (zaznaczony kursywą). Selekcję danych i ich obróbkę definiuje się za pomocą tzw. wglądów CDS (Core Data Services), a za jej wykonanie odpowiedzialne są algorytmy wbudowane w bazę danych SAP HANA. Wglądy CDS są niezależnymi obiektami repozytorium ABAP definiowanymi za pomocą języka DDL (Data Definition Language). Wglądy CDS są niejako „przepisami” do wykonania selekcji i obróbki danych na poziomie bazy danych SAP HANA. W samym raporcie ALV IDA przypisanie do wglądu CDS jest po prostu elementem konfiguracji kontrolki ALV IDA (możliwe jest również przypisanie bezpośrednio do tabeli bazy danych – bez wglądu CDS – ale użyteczność tej opcji jest raczej niewielka oraz do tzw. zewnętrznego wglądu SAP HANA – również bez wglądu CDS – ale z kolei ta opcja jest już przestarzała). Innymi słowy, w raporcie ALV IDA nie ma ani jednej instrukcji ABAP związanej z selekcją i obróbką danych – wszystkie operacje muszą być zaprojektowane za pomocą jednego lub więcej wglądów CDS.

Core Data Services – technologia umożliwiająca realizację koncepcji Code-2-Data

Core Data Services, to technologia umożliwiająca definiowanie semantycznie bogatych modeli danych przeznaczonych do konsumpcji w różnych aplikacjach klienckich (w niniejszym artykule rolę aplikacji klienckiej odgrywa raport zbudowany na bazie kontrolki ALV IDA). Wglądy CDS oferują bardzo dużo możliwości wykraczających znacząco poza możliwości tradycyjnego języka SQL. Kluczowe rozszerzenia dostępne w języku DDL, w którym definiuje się wglądy CDS, to wyrażenia, asocjacje i adnotacje. Wyrażenia pozwalają na przetwarzanie wybieranych pól (również za pomocą wbudowanych funkcji), asocjacje zasadniczo zastępują operacje łączenia, tak że możliwe są dostępy według tzw. ścieżek, a adnotacje pozwalają semantycznie wzbogacić wybierane dane, np. określić, że kolumna zawiera jednostkę miary albo walutę. Szczególnie istotną cechą wglądów CDS jest możliwość ich nawarstwiania – zwana również koncepcją View-On-View. To właśnie możliwość nawarstwiania jest szczególnie przydatna podczas projektowania raportów. Na przykład możliwe jest: stworzenie wglądów pierwszego poziomu zawierających projekcję wyników z różnych tabel (podzbiory pól, zgodnie z zadanym filtrem); następnie stworzenie wglądów drugiego poziomu łączących wyniki z wglądów pierwszego poziomu; i ostatecznie stworzenie wglądu trzeciego poziomu, zawierającego informacje semantyczne, przeznaczonego do konsumpcji w aplikacji klienckiej. W istocie firma SAP, projektując system S/4HANA stworzyła model danych zgodnie z tą logiką – która jest również nazywana wirtualnym modelem danych (VDM – Virtual Data Model). W VDM wglądy pierwszego poziomu, to tzw. wglądy podstawowe (BASIC), wglądy drugiego poziomu to wglądy złożone (COMPOSITE), a wglądy trzeciego poziomu, to wglądy konsumpcyjne (CONSUMPTION). Wglądy można jednakże nawarstwiać dowolnie, nie muszą to być dokładnie trzy poziomy. Na rysunku 2 przedstawiono przykład, w jaki sposób można zbudować raport ALV IDA przedstawiający informacje o skali realizowanych zakupów materiałowych. Można np. zdefiniować wglądy CDS V_MARA oraz V_MARC zawierające odpowiednio ogólne i zakładowe dane podstawowe materiałów oraz wglądy V_EKKO i V_EKPO zawierające dane zamówień: odpowiednio ich nagłówki i pozycje. Następnie na wyższym poziomie można zdefiniować wglądy CDS łączące dane z wglądów niższego poziomu: V_MAT_PLANT (ogólne dane materiału razem z zakładowymi) i V_POS (dane zamówień wraz z pozycjami). Jako ostatni zostałby zdefiniowany wgląd konsumpcyjny V_PUR_MAT łączący dane podstawowe materiałów razem z danymi zamówień i wykonujący jakąś agregację, np. sumę po wartości netto pozycji. Wgląd V_PUR_MAT mógłby zostać podpięty bezpośrednio do raportu ALV IDA jako jego źródło danych.

W nomenklaturze analitycznej wgląd CDS V_PUR_MAT mógłby być nazwany niejako „wielowymiarową kostką OLAP” zawierającą wymiary (dimensions) oraz miary (measures). Wymiarem mógłby być np. numer materiału, zakład, dział zaopatrzenia, grupa materiałowa oraz oczywiście czasookres. Miarą byłaby wartość netto zamówień (w lokalnej walucie jednostki gospodarczej).

Wglądy CDS są dostępne w systemach SAP pracujących na platformie SAP NetWeaver Application Server ABAP 7.40 oraz wyższych. Źródła DDL zawierające definicje wglądów CDS można tworzyć wyłącznie w nowym środowisku programistycznym ABAP Development Tools for Eclipse (ADT). Innymi słowy, wglądu CDS nie da się utworzyć w środowisku ABAP Workbench (transakcja SE80).

Funkcje kontrolki ALV IDA

Kontrolka ALV IDA nie różni się od swojego klasycznego odpowiednika w zakresie najważniejszych funkcji, takich jak sortowanie, filtrowanie, grupowanie, sumowanie, drukowanie, ekstrakcja danych do formatu Excel, obsługa układów, wzorzec zebra (zmieniające się kolory wierszy parzystych i nieparzystych) itp. Niemniej jest kilka niuansów, które warto znać rozpoczynając pracę z raportem ALV IDA.

Pasek narzędzi generalnie jest „odchudzony”, nie są dostępne rzadko używane funkcje, takie jak analiza ABC, grafika, informacja/pomoc czy eksport do pliku w formacie innym niż Excel. Przycisk do zarządzania układami znajduje się zawsze po prawej stronie paska narzędzi. Tuż obok niego może być dostępny przycisk wyszukiwania pełnotekstowego na wskroś kolumn (bez określania, w której kolumnie szukamy zadanego tekstu). Wyszukiwanie pełnotekstowe może działać dokładnie (exact) albo może być rozmyte (fuzzy), tzn. może wyszukiwać teksty podobne do wpisanego – przy czym poziom podobieństwa, z jakim program ma działać, należy określić od 0 do 1 (0 to w ogóle nie podobne, 1 to identyczne – zazwyczaj stosuje się poziom podobieństwa równy 0,8). Wyszukiwanie pełnotekstowe jest również możliwe, dzięki zastosowaniu bazy danych SAP HANA. Ponadto raportów ALV IDA nie można uruchamiać w tle, są to zawsze raporty uruchamiane dialogowo. Kontrolka ALV IDA nie może być również użyta do tworzenia programów, w których tabela danych podlega edycji.

Na rysunkach 3 oraz 4 zaprezentowany jest przykładowy raport ALV IDA (rzeczywisty przykład od jednego z klientów SNP Poland), który pokazuje prostą informację analityczną, mianowicie liczbę otwartych pozycji roboczych workflow w poszczególnych zadaniach jednego wzorca workflow utworzonych w zadanym czasookresie dla określonej jednostki gospodarczej.

Rysunek 3. Ekran selekcji przykładowego raportu ALV IDA

Rysunek 4. Ekran z danymi przykładowego raportu ALV IDA

Kontrolka ALV IDA jest dostępna w systemach SAP pracujących na platformie SAP NetWeaver Application Server ABAP 7.40 oraz wyższych. Raporty ABAP z użyciem kontrolki ALV IDA można tworzyć zarówno w nowym środowisku programistycznym ABAP Development Tools for Eclipse (ADT), jak również w środowisku ABAP Workbench (transakcja SE80).

Podsumowanie różnic w zakresie technologii – klasyczne raporty ALV vs raporty ALV IDA

Dla kogo?

Raporty ALV IDA na bazie wglądów CDS można tworzyć na systemach SAP ERP 6.0 EHP7-8 działających na bazie danych SAP HANA (SoH, Business Suite on HANA) oraz oczywiście na systemach S/4HANA w dowolnej wersji – przy czym w kontekście S/4HANA należy pamiętać, że raporty ALV IDA używają klasycznego interfejsu użytkownika dostępnego poprzez aplikację kliencką SAP GUI (nie SAP Fiori).

Uzyskaj dostęp do Poradników

Pełne teksty poradników są dostępne po zalogowaniu.

Zaloguj się Zarejestruj się
Udostępnij

Case studies

Poradniki

Chcesz przeczytać cały artykuł?

Zaloguj się do Lepszego Biznesu!

609
PORADNIKÓW
9197
UŻYTKOWNIKÓW

Formularz kontaktowy





  1. Dane osobowe przetwarzane są na podstawie art. 6 ust. 1 lit. a Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. – ogólnego rozporządzenia o ochronie danych osobowych.
  2. Administratorem Danych Osobowych jest SNP Poland Sp. z o.o. z siedzibą w Złotnikach, ul. Krzemowa 1 62-002 Suchy Las. Dane kontaktowe do Inspektora Ochrony Danych: dpo.pl@snpgroup.com.
  3. Zgoda na przetwarzanie danych jest dobrowolna, ale niezbędna w celu kontaktu. Zgodę można wycofać w dowolnym momencie bez wpływu na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem
  4. Dane będą przetwarzane do realizacji określonych powyżej celów i do momentu wycofania niniejszej zgody, a dostęp do danych będą miały tylko wybrane osoby posiadające stosowne upoważnienie do ich przetwarzania.
  5. Każda osoba podając dane osobowe ma prawo dostępu do treści swoich danych i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do wniesienia sprzeciwu wobec przetwarzania i przenoszenia danych, prawo do ograniczenia przetwarzania i prawo sprzeciwu wobec przetwarzania danych, prawo do przenoszenia danych.
  6. Każda osoba, której dane są przetwarzane, ma prawo do wniesienia skargi do organu nadzorczego jakim jest Prezes Urzędu Ochrony Danych Osobowych (ul. Stawki 2, 00-193 Warszawa).
  7. Dane osobowe mogą być udostępniane innym jednostkom należącym do grupy kapitałowej, do której należy SNP Poland Sp. z o.o. – również znajdujących się poza Europejskim Obszarem Gospodarczym, w celach marketingowych. SNP Poland zapewnia, że dane przekazywane tym podmiotom są właściwie zabezpieczone, a osoba, której dane są przetwarzane, ma prawo do uzyskania kopii udostępnionych danych oraz informacji o miejscu udostępnienia danych.

Napisz maila lub zadzwoń

E-mail: office.pl@snpgroup.com
Tel. 61 827 7000

SNP Poland Sp. z o.o.

Centrala:
Złotniki, ul. Krzemowa 1
62-002 Suchy Las k. Poznania

W czym możemy pomóc?
Napisz do nas
Wyślij email
Zadzwoń





  1. Dane osobowe przetwarzane są na podstawie art. 6 ust. 1 lit. a Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. – ogólnego rozporządzenia o ochronie danych osobowych.
  2. Administratorem Danych Osobowych jest SNP Poland Sp. z o.o. z siedzibą w Złotnikach, ul. Krzemowa 1 62-002 Suchy Las. Dane kontaktowe do Inspektora Ochrony Danych: dpo.pl@snpgroup.com.
  3. Zgoda na przetwarzanie danych jest dobrowolna, ale niezbędna w celu kontaktu. Zgodę można wycofać w dowolnym momencie bez wpływu na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem
  4. Dane będą przetwarzane do realizacji określonych powyżej celów i do momentu wycofania niniejszej zgody, a dostęp do danych będą miały tylko wybrane osoby posiadające stosowne upoważnienie do ich przetwarzania.
  5. Każda osoba podając dane osobowe ma prawo dostępu do treści swoich danych i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do wniesienia sprzeciwu wobec przetwarzania i przenoszenia danych, prawo do ograniczenia przetwarzania i prawo sprzeciwu wobec przetwarzania danych, prawo do przenoszenia danych.
  6. Każda osoba, której dane są przetwarzane, ma prawo do wniesienia skargi do organu nadzorczego jakim jest Prezes Urzędu Ochrony Danych Osobowych (ul. Stawki 2, 00-193 Warszawa).
  7. Dane osobowe mogą być udostępniane innym jednostkom należącym do grupy kapitałowej, do której należy SNP Poland Sp. z o.o. – również znajdujących się poza Europejskim Obszarem Gospodarczym, w celach marketingowych. SNP Poland zapewnia, że dane przekazywane tym podmiotom są właściwie zabezpieczone, a osoba, której dane są przetwarzane, ma prawo do uzyskania kopii udostępnionych danych oraz informacji o miejscu udostępnienia danych.

Kontakt ogólny do firmy
office.pl@snpgroup.com

Pytania o produkty i usługi
info.pl@snpgroup.com

Pytania na temat pracy i staży
kariera@snpgroup.com

61 827 70 00

Biuro jest czynne
od poniedziałku do piątku
w godz. 8:00 – 17:00