5. diel - Dáta Store Object (DSO) v SAP
V minulej lekcii, InfoPackage, nahranie dát do PSA , sme si ukázali a vysvetlili čo je InfoPackage a ako sa nahrávajú dáta do PSA. Dnes sa pozrieme na ďalší InfoProvider, ktorým je DSO. Vysvetlíme si na čo sa používa, aké sú jeho výhody a aké sú jeho typy.
Dáta Store Object (DSO)
Čo je to teda DSO a prečo ho v SAP BW použiť? DSO, čiže Data Store Object, je ďalší InfoProvider v SAP BW a môže byť použitý ako ďalšia dátová vrstva v dátovom sklade. V princípe sa jedná o dvojrozmerné úložisko, ktoré najčastejšie obsahuje už vyčistená a skonsolidované pohybová dáta, alebo kmeňové dáta, ktoré majú vysoký detail. DSO obsahuje changelog a dokáže sa tak vysporiadať so zmenami dát v zdrojovom systéme.
Vlastnosti
Vlastnosti úložiska sú teda nasledujúce:
- Dvojrozmerná transparentné tabuľka
- Dáta spravidla bývajú uložená vo veľkom detaile
- Z DSO je už možné reportovať (tento objekt môžeme teda použiť ako zdroj údajov)
- Skladá sa z 3 tabuliek, jednou z nich je changelog, čím umožňuje reagovať na zmeny dát v zdrojovom systéme
Príklad
Majme obchod, ktorý dodáva tovar a na dodacom liste bude 1000ks batérií. Tento doklad bude uložený v SAP R3 systéme. Táto dátová sada bude extrahovaná do dátového skladu (do nášho DSO). Avšak dodací list v R3 môže byť kedykoľvek zmenený, ak si to zákazník praje, preto dôjde k poníženie na 500ks. Táto zmena musí byť taktiež zohľadnená v BW systéme.
![Príklad DSO v SAP - Sap](images/19659/5_clanek/5_dos_overview.png)
Obrázok vyššie obsahuje:
- SAP R3 - Zdrojový systém
- DSO - InfoProvider v SAP BW (~ dátové úložisko)
- Bex - Reportovacie nástroj od SAP (Bex Analyser)
Data (dodací list) je vytvorený a uložený v zdrojovom SAP R3 systému. Ďalej sú dáta extrahovaná do SAP BW do DSO. DSO prakticky obsahuje 3 tabuľky:
- tabuľku nových dát
- tabuľku aktuálnych dát
- tabuľku zmien
Dáta sú najprv uložené do tabuľky nových dát. Potom musí byť aktivovaná, tzn. v DSO sa dáta presunú z tabuľky nových dát do tabuľky dát aktuálnych. Všetka história zmien sa ukladá do tretej tabuľky názvom change log.
Doklad s 1000ks sa extrahuje do DSO, do tabuľky nových dáta, kde sa pripíše + 1000ks. Po aktivácii sa tabuľka nových dát vymaže a dáta sa presunú do tabuľky aktuálnych dát (+ 1000ks). V change logu nič nebolo, tak tu pribudne aj jeden riadok (+ 1000ks).
![Príklad DSO: prvý nahranie - Sap](images/19659/5_clanek/5_1_dso_1data.png)
Akonáhle dôjde k zmene v R3 systéme, teda že sa zníži počet batérií
na 500ks, táto zmena sa musí premietnuť aj v dátovom sklade. Do tabuľky
nových dát sa extrahuje 500ks, po aktivácii dát sa dáta z tabuľky nových
presunú (predvolená vlastnosťou je PREPIS) do tabuľky
aktuálnych dát, ale ide nastaviť aj súčet. A v tabuľke
aktuálnych dát bude 500ks. Tabuľka nových dát sa týmto opäť vymaže a do
change logu sa pridajú dva záznamy (-to čo tam bolo, teda -1000
,
a + čo sa novo prepísal, čo je +500
). Tento mechanizmus
funguje za predpokladu, že kľúče dátovej sady sú zhodné!
![Príklad DSO: aktualizácia dát - Sap](images/19659/5_clanek/5_2_dso_2data.png)
Typy DSO
Sľúbili sme si, že si predstavíme jednotlivé typy tohto InfoProvideru.
# 1 Standard (štandardná)
Tento typ DSO má tri základné tabuľky, to sme si vysvetlili už vyššie. Princíp nahrávanie je tu rovnaký - napred sa nahráva do tabuľky nových dát, po aktivácii sa dáta presunú do aktívnych a do change logu sa uloží histórie.
Vlastnosti
Vlastnosti úložiska sú nasledovné:
- Možnosť delta nahrávania (bližšie v ďalších kapitolách)
- Aktivácia dát
- Vlastné kľúče (možnosť vyhľadávania a indexácie)
- Môže byť pomalší voči ďalším typom DSO
Založenie DSO
Vľavo v menu vyberieme InfoProvider a potom vyberieme
InfoArea, pod ktorou nový objekt chceme založiť. Klikneme
pravým tlačidlom myši a vyberieme Create DataStore Object
:
![Založenie DSO - Sap](images/19659/5_clanek/5_3_dso_standard.png)
Nový objekt sa musí pomenovať (stále platí vzťahujú údaje konvencie
pre zákaznícke objekty, musí začínať X
, Y
či
Z
).
Takto vyzerá nové DSO, bez akéhokoľvek nastavenia:
![Založenie DSO v SAP - Sap](images/19659/5_clanek/5_4_dso_standard.png)
Prejdime si teraz tá najpodstatnejšia nastavenia:
- Setting -> Type of DataStore Object - Standard (týmto sa rozhoduje primárne správanie DSO), tu teda ten štandardné.
- Key fields - Definovanie kľúčových polí (DSO je tabuľka, to sme si už vysvetlili vyššie). Kľúčové polia určujú jednoznačnosť dátovej sady v tabuľke (ak je návrh zlý, tak sa dáta potom prepisujú).
- Data Fields - Dátové polia (všetky ostatné polia, ktoré chceme nahrávať a vyhodnocovať), patrí sem nielen charakteristiky, ale aj ukazovatele!
- Navigation Attributes - Navigačný atribút nie je obsiahnutý fyzicky v DSO, ale pomocou kmeňových dát a atribútov sa pri reportovanie pomocou JOIN dáta databázovo pripojí a je možné aj vďaka tomu potom reportovať.
Princíp modelovanie DSO
Z ľavého okna pomocou horných tlačidiel vyberieme z akého InfoKatalogu chceme pridať charakteristiky a ukazovatele. Potom je jednoducho pomocou myšou presunieme podľa potreby pod jednotlivé uzly (POZOR: DSO musí mať vždy min. Jednu kľúčovú charakteristiku a jeden ukazovateľ, pokiaľ nemá, tak sa pri aktivácii vygeneruje chyba).
![modelovanie DSO - Sap](images/19659/5_clanek/5_5_dso_standard_model.png)
InfoObjekty je možné vkladať aj priamo, ak vieme ich technický názov.
Túto možnosť používame napr. Pre štandardné InfoObjekty akú sú
0CALDAY
, 0CALYEAR
, apod., Ale je možné takto
vložiť i zákaznícke.
![modelovanie DSO - Sap](images/19659/5_clanek/5_6_dso_standard_model.png)
Stačí napísať názov a potvrdiť klávesou Enter, celé okno potom zavrieme zelenú "fajkou" dole.
![Štandardný model DSO - Sap](images/19659/5_clanek/5_7_dso_standard_model.png)
Teraz sú dva nové InfoObjekty súčasťou DSO:
![modelovanie DSO - Sap](images/19659/5_clanek/5_8_dso_standard_model.png)
Akonáhle je modelovanie hotové, musí sa DSO, ako každý objekt v SAP, aktivovať:
![Aktivácia DSO - Sap](images/19659/5_clanek/5_9_dso_aktivace.png)
Ak bolo všetko v poriadku, vypíše sa dole hláška "Object activated":
![Aktivácia DSO 2 - Sap](images/19659/5_clanek/5_10_dso_aktivace.png)
Týmto sme si namodelovali prvú štandardnú DSO a ďalej sa pozrieme na ďalšie dva typy.
# 2 Direct Update
Tento typ nemá tri tabuľky ako štandardné DSO, ale je prispôsobený priamemu zápisu. Nastavenie, kľúčové polia a pod. Sú zhodné.
![Modelovanie DSO v SAP - Sap](images/19659/5_clanek/5_11_dso_diup.png)
Možnosti zápisu sú nasledovné:
- Pomocou APD (viď .: https://blogs.sap.com/...nd-designer/)
- Pomocou ABAP (programovací jazyk v SAP)
- Manuálne zadanie - transakcie RSINPUT
Vlastnosti
Ako sa nám zmenili vlastnosti úložisko oproti predchádzajúcemu typu?
- Priamy zápis, teda jednoduchšia cesta k dátam
- Dáta sú dostupné k reportovanie okamžite po nahraní
- Nie je možné delta nahranie ani roll back, pretože tu nie je žiadny change log
- Nie je žiadny monitor udalostí, čo sa nahralo, kedy pod. (Bližšie vysvetlíme v ďalšej kapitole)
- Nie je podporované SAP BI štandardné nahrávanie z dátového zdroja
# 3 Write-Optimized (optimalizované pre zápis)
Tento typ má výhodu, že je najrýchlejší pre nahrávanie dát. Najčastejšie sa používa po PSA vrstve. Dáta sú tu uložené vo vysokom detailu.
Vlastnosti
- Rýchle oproti štandardnej DSO, nie je nutná aktivácia dát
- Každý nový záznam má vlastný technický kľúč (generované technické kľúče), každý nový záznam je ihneď vložený do tabuľky
![modelovanie DSO - Sap](images/19659/5_clanek/5_13_dso_wrop.png)
Oproti dvom DSO vyššie sa tento DSO líšia v tom, že má
automaticky generované kľúče (0REQUEST
,
0DATAPAKID
, 0RECORD
), ktoré zaručujú
jednoznačnosť záznamu a teda je zápis
rýchly.
![modelovanie DSO - Sap](images/19659/5_clanek/5_14_dso_wrop_sett.png)
Ďalej je tu ešte možnosť definovať Semant Key, čo je podobné Key Fields. Tu však neplní funkciu jednoznačnosti, ale slúži skôr pre účely identifikácie chyby či duplicitných záznamov.
V spojení s týmto je možné aktivovať v DSO voľbu, aby systém pri nahrávaní kontroloval duplicitné záznamy (podľa sémantických kľúčov). Ak je voľba vypnutá, tak sa duplicitné záznam pridá ako nový riadok, ak zapnutá, je proces nahrávania prerušený.
![modelovanie DSO - Sap](images/19659/5_clanek/5_15_dso_wrop_duplic.png)
Po založení je objekt opäť nutné aktivovať, ale to už poznáme z dielov predošlých, že KAŽDÝ objekt v SAP musí byť pred použitím aktivovaný. Inak existuje iba v tzv. "M - modified" verzii. Po aktivácii ho systém skontroluje a ak je všetko konzistentné, zapíše objekt do Data Dictionary so statusom "A").
Týmto sme sa vysvätili DSO, jednotlivé typy a ich vlastnosti. Nabudúce sa pozrieme na Transformácie medzi InfoObjekty v SAP .