Przejdź do głównej treści

Przykłady

Podpowiedź

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:
nexus_ps_example_1

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):
nexus_ps_example_2

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:
nexus_ps_example_3

Kliknięcie ⚙️ otwiera okno umożliwiające ręczne powiązanie wartości.

Tabele

Przyjrzyjmy się teraz szczegółowym obszarom tabel T001 i BSAK:
nexus_ps_example_4

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:
nexus_ps_example_5

Wynik

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

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:
nexus_ps_example_7

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:
nexus_ps_example_8

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:
nexus_ps_example_9

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:
nexus_ps_example_10

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:
nexus_ps_example_11

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:
nexus_ps_example_12

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):
nexus_ps_example_13

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:
nexus_ps_example_14

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:
nexus_ps_example_15

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.