Przykłady
Te przykłady pokazują proces konfiguracji Extraction Packages. Ćwiczenie zostało rozszerzone, aby wprowadzenie było bardziej czytelne. Interfejs oraz kolory zostały zmodyfikowane w nowszych wersjach. Z tego powodu wygląd przedstawiony na zrzutach ekranu może się nieco różnić od wersji, z której Pan/Pani korzysta.
Przykład 1 - prosty Package
Jakie dane chcielibyśmy pozyskać lub wyodrębnić?
- Wyodrębnienie wszystkich pozycji już zaksięgowanych
- Dotyczy wszystkich produktywnych Company Codes
Co jest potrzebne do tej ekstrakcji i skąd pochodzą dane?
- Tabela z Company Codes
- Tabela z już zaksięgowanymi pozycjami, pochodząca ze Słownika FI
- Filtr dotyczący wskaźnika produktywności Company Code
Jakie elementy pakietu są wymagane?
Rozpoczynamy od integracji T001 (tabela SAP z Company Codes) jako tabeli. Następnie wybieramy wszystkie pola. Korzystamy także z tabeli BSAK do wyodrębnienia zbilansowanych pozycji — ta tabela również zostaje dodana jako element. Ponieważ interesują nas wyłącznie Company Codes będące już w produkcyjnym użyciu, tworzymy filtr — na potrzeby tego przykładu nazwijmy go Is_Prod. Na końcu tworzymy repozytorium, do którego po pierwszym etapie (ekstrakcji wszystkich produktywnych Company Codes) zapisujemy te Company Codes, aby umożliwić dalszą ekstrakcję. W tym przykładzie repozytorium nazywa się BuKrs (niemiecki odpowiednik CCode).
Po wykonaniu tych czynności, po lewej stronie pojawiają się następujące elementy:

Filtr
W kolejnym kroku ustawiamy filtr. W filtrze określamy, że pole XPROD w tabeli T001 musi być aktywne — czyli musi zawierać wartość X, wybieramy Typ Fixed Value. Ponieważ jest to znak alfanumeryczny, DataType: String; Condition: Equal — szukamy dokładnie wartości X. Wprowadzamy wartość X i w relacjach tabel wskazujemy, że filtr jest ustawiony na tabelę T001 w polu XPROD.
Obszar szczegółowy po prawej stronie prezentuje się następująco (po wybraniu filtra z lewej):

Repozytorium
Filtrujemy wszystkie wpisy z tabeli T001, których Company Codes są aktywne (XPROD = X). Musimy tymczasowo przechować te dane do dalszego wykorzystania — realizujemy to w repozytorium BuKrs. W repozytorium określamy, jakie pola ma zawierać, skąd pochodzą te treści oraz do jakich innych tabel będą wykorzystywane te wartości.
Najpierw wprowadzamy pole CCode — gdybyśmy nazwali to pole BUKRS, automatyczne mapowanie zadziałałoby pomiędzy tabelą źródłową a docelową. W tym przykładzie wykonamy mapowanie ręcznie. Następnie określamy, że tabela źródłowa to T001 — właśnie z niej pobieramy dane, które zapisujemy w repozytorium. Na końcu wskazujemy, że tabela docelowa to BSAK — wartości z tego repozytorium będą dalej wykorzystywane w tej tabeli.
Obok nazw tabel po prawej stronie pojawi się ikona ⚙️. Oznacza Custom Mapping, czyli konieczność Link pola z konkretnej tabeli z polem repozytorium.
Widok szczegółowy repozytorium prezentuje się następująco:

Kliknięcie ⚙️ otwiera okno umożliwiające ręczne powiązanie wartości.
Tabele
Przyjrzyjmy się teraz szczegółowym obszarom tabel T001 i BSAK:

W przypadku T001 widoczne są wybrane pola; dwa pierwsze to Klucze Główne, trzeci to wskaźnik informatyk, czy Company Code jest używany produkcyjnie. Filtr dotyczy pola XPROD, a przefiltrowane Company Codes trafiają do docelowego repozytorium BuKrs.
Odmienna sytuacja ma miejsce w szczegółowym obszarze tabeli BSAK.
Tutaj dane są filtrowane w zależności od zależności danych z repozytorium BuKrs:

Wynik
Na końcu, widok elementów pośrodku prezentuje się następująco:

Wyjaśnienie: Filtr Is_Prod filtruje wpisy z T001. Te wpisy trafiają do repozytorium BuKrs, które pozwala przefiltrować pozycje z BSAK. Ostatecznie otrzymują Państwo listę zaksięgowanych pozycji z BSAK przypisanych do produktywnego Company Code.
Przykład 2 - zaawansowany Package
Jakie dane chcielibyśmy pozyskać lub wyodrębnić?
- Wyszukanie wszystkich Purchase Orders (PO) z tabeli EKKO
- Poprzez wyodrębnienie wszystkich PO z otwartymi lub już opłaconymi dokumentami faktur
- Z jednego lub kilku Fiscal Year(s)
- Od niemieckich dostawców
Co jest potrzebne do tej ekstrakcji i skąd pochodzą dane?
- Tabele:
- Vendor Master Data
- Accounting: Secondary Index for Vendors (Cleared Items)
- Accounting: Secondary Index for Vendors data (Open Items)
- Accounting Document Segment
- Purchasing Document Header
- Filtry:
- Dostawcy z Niemiec
- Fiscal Year
- Repozytoria (dodajemy je podczas tworzenia pakietu):
- ...
Jakie elementy pakietu są wymagane?
Rozpoczynamy od niezbędnych tabel:
- LFA1: Vendor Master Data
- BSAK: Accounting - Secondary Index for Vendors (Cleared Items)
- BSIK: Accounting - Secondary Index for Vendors data (Open Items)
- BSEG: Accounting Document Segment
- EKKO: Purchasing Document Header
Następnie tworzymy filtry i odpowiednio je nazywamy:
- LFA1_DE: filtr dla dostawców z Niemiec
- GJAHR: Fiscal Year
Obecnie lista elementów po lewej powinna wyglądać następująco:

Filtr LFA1_DE
Tworzymy filtr LFA1_DE i określamy, które tabele oraz pola chcemy poddać filtracji.
Ustawiamy Fixed Value — szukamy dostawców z określonego kraju (wartość niezmienna). Condition: Equal — szukamy dokładnej wartości. DataType: String, gdyż wprowadzane wartości są znakowe. Jako Value wpisujemy DE — klucz kraju dla Niemiec. Ostatecznie w Table Relation wskazujemy na LFA1 oraz pole LAND1, ponieważ tam chcemy zastosować filtr.
Filtr LFA1_DE powinien prezentować się następująco:

Filtr GJAHR
Tworzymy drugi filtr dla Fiscal Year. Ponieważ dysponujemy specjalnym Filter Type Fiscal Year, możemy go użyć. Nie trzeba wprowadzać wybranych Fiscal Year(s) bezpośrednio w pakiecie, lecz później, w Task. Tutaj również ustawiamy dwie relacje tabel: dla BSAK i dla BSIK, oba na pole GJAHR.
Filtr GJAHR powinien prezentować się następująco:

Repozytorium LFA1_Kred_DE
Po utworzeniu tabel oraz filtrów skupiamy się na repozytoriach, potrzebnych do przechowywania wyników pośrednich umożliwiających dalszą analizę.
Tworzymy repozytorium LFA1_Kred_DE, aby tymczasowo zapisać wynik filtracji LFA1 przez LFA1_DE. Ustawiamy następujące parametry repozytorium:
- Pola
- LIFNR: Vendor Number dla niemieckich dostawców
- Target-Tables
- BSIK: automatyczna alokacja poprzez LIFNR
- BSAK: automatyczna alokacja poprzez LIFNR
Repozytorium zawiera obecnie wszystkie Vendor Numbers niemieckich dostawców.
Powinno wyglądać następująco:

Repozytorium Belnr
Tworzymy kolejne repozytorium — nazywamy je Belnr — tu przechowujemy Document Numbers znalezionych w BSAK i BSIK. Document Numbers pozyskujemy, filtrując te tabele na podstawie Vendor Numbers zawartych w repozytorium LFA1_Kred_DE oraz Fiscal Years określonych w Task.
Należy zwrócić uwagę na pewien szczegół. Samo przechowanie numerów dokumentów skutkowałoby uzyskaniem niepełnej listy lub licznymi duplikatami, ponieważ numer dokumentu może być powtarzany w różnych Company Codes i Fiscal Years. Dlatego w repozytorium zapisujemy nie tylko numer dokumentu, ale także Fiscal Year oraz Company Code.
Informacje te pobieramy z tabel BSAK i BSIK — te dwie tabele określamy jako Source Tables. Dzięki Custom Mapping można sprawdzić poprawność mapowania pól.
Otrzymaliśmy w ten sposób Document Numbers niemieckich dostawców z żądanych Fiscal Years w repozytorium Belnr.
Repozytorium powinno wyglądać następująco:

Tabela BSEG
Teraz szukamy PO w tabeli BSEG.
BSEG jest filtrowany jako zależność od repozytorium Belnr.
Ze względu na różnicę w zapisie pola Company Code, konieczne jest ponowne przeprowadzenie Custom Mapping:

Repozytorium EBELN
Pozyskane z BSEG dane zapisujemy w finale repozytorium EBELN. Ponieważ numery PO są w naszym przykładzie unikalne, wystarczy jedno pole — EBELN.
Wskazujemy, że dane tu zapisane pochodzą z tabeli BSEG (jako source table):

Dzięki zwróceniu uwagi na poprawną pisownię wielkości liter, automatyczne mapowanie działa ponownie poprawnie.
Tabela EKKO
Na końcu filtrujemy tabelę EKKO przy użyciu PO znalezionych w BSEG, aby pozyskać pozostałe informacje o nagłówkach zamówień. Dodajemy zatem EKKO.
Ponieważ chcemy pozyskać wszystkie dostępne dane, zaznaczamy wszystkie pola, korzystając z przycisku All.
Tabela jest filtrowana jako zależność od wcześniejszego repozytorium EBELN:

Wynik
I gotowe! Ostatecznie uzyskano wszystkie istotne dane nagłówków zamówień z wybranych Fiscal Years od niemieckich dostawców.
Gdy spojrzymy na Element Overview pośrodku, widzimy poniższy układ:

Ta konfiguracja Task wygeneruje następujące Result Tables:
- LFA1
- BSAK
- BSIK
- BSEG
- EKKO
Jeżeli interesują Państwa wyłącznie dane nagłówków zamówień, można zmienić tabele LFA1, BSAK, BSIK oraz BSEG na Virtual Tables. Wówczas nie będą one przechowywane jako Result Tables po zakończeniu Extraction Run.