PHP týden Předvánoční slevová akce
Pouze tento týden sleva až 80 % na PHP e-learning!
Využij předvánočních slev a získej od nás 20 % bodů zdarma! Více zde

Lekce 5 - Data Store Object (DSO) v SAP

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, InfoPackage, nahrání dat do PSA, jsme si ukázali a vysvětlili co je InfoPackage a jak se nahrávají data do PSA. Dnes se podíváme na další InfoProvider, kterým je DSO. Vysvětlíme si k čemu se používá, jaké jsou jeho výhody a jaké jsou jeho typy.

Data Store Object (DSO)

Co je to tedy DSO a proč jej v SAP BW použít? DSO, neboli Data Store Object, je další InfoProvider v SAP BW a může být použit jako další datová vrstva v datovém skladu. V principu se jedná o dvojrozměrné úložiště, které nejčastěji obsahuje již vyčištěná a zkonsolidovaná pohybová data, nebo kmenová data, která mají vysoký detail. DSO obsahuje changelog a dokáže se tak vypořádat se změnami dat ve zdrojovém systému.

Vlastnosti

Vlastnosti úložiště jsou tedy následující:

  • Dvourozměrná transparentní tabulka
  • Data zpravidla bývají uložena ve velkém detailu
  • Z DSO je již možné reportovat (tento objekt můžeme tedy použít jako zdroj dat)
  • Skládá se ze 3 tabulek, jednou z nich je changelog, čímž umožňuje reagovat na změny dat ve zdrojovém systému

Příklad

Mějme obchod, který dodává zboží a na dodacím listu bude 1000ks baterií. Tento doklad bude uložen v SAP R3 systému. Tato datová sada bude extrahována do datového skladu (do našeho DSO). Avšak dodací list v R3 může být kdykoliv změněn, pokud si to zákazník přeje, proto dojde k ponížení na 500ks. Tato změna musí být taktéž zohledněna v BW systému.

Příklad DSO v SAP

Obrázek výše obsahuje:

  • SAP R3 - Zdrojový systém
  • DSO - InfoProvider v SAP BW (~datové úložiště)
  • BEx - Reportovací nástroj od SAP (BEx Analyser)

Data (dodací list) je vytvořen a uložen ve zdrojovém SAP R3 systému. Dále jsou data extrahována do SAP BW do DSO. DSO prakticky obsahuje 3 tabulky:

  • tabulku nových dat
  • tabulku aktuálních dat
  • tabulku změn

Data jsou nejprve uložena do tabulky nových dat. Poté musí být aktivována, tzn. v DSO se data přesunou z tabulky nových dat do tabulky dat aktuálních. Veškerá historie změn se ukládá do třetí tabulky názvem change log.

Doklad s 1000ks se extrahuje do DSO, do tabulky nových data, kde se připíše +1000ks. Po aktivaci se tabulka nových dat vymaže a data se přesunou do tabulky aktuálních dat (+1000ks). V change logu nic nebylo, tak zde přibude také jedna řádka (+1000ks).

Příklad DSO: první nahrání

Jakmile dojde ke změně v R3 systému, tedy že se sníží počet baterií na 500ks, tato změna se musí promítnout i v datovém skladu. Do tabulky nových dat se extrahuje 500ks, po aktivaci dat se data z tabulky nových přesunou (výchozí vlastností je PŘEPIS) do tabulky aktuálních dat, ale jde nastavit i součet. A v tabulce aktuálních dat bude 500ks. Tabulka nových dat se tímto opět vymaže a do change logu se přidají dva záznamy (-to co tam bylo, tedy -1000, a + co se nově přepsalo, což je +500). Tento mechanismus funguje za předpokladu, že klíče datové sady jsou shodné!

Příklad DSO: aktualizace dat

Typy DSO

Slíbili jsme si, že si představíme jednotlivé typy tohoto InfoProvideru.

#1 Standard (standardní)

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Tento typ DSO má tři základní tabulky, to jsme si vysvětlili již výše. Princip nahrávání je zde stejný - napřed se nahrává do tabulky nových dat, po aktivaci se data přesunou do aktivních a do change logu se uloží historie.

Vlastnosti

Vlastnosti úložiště jsou následující:

  • Možnost delta nahrávání (blíže v dalších kapitolách)
  • Aktivace dat
  • Vlastní klíče (možnost vyhledávání a indexace)
  • Může být pomalejší vůči dalším typům DSO

Založení DSO

Vlevo v menu vybereme InfoProvider a poté vybereme InfoArea, pod kterou nový objekt chceme založit. Klikneme pravým tlačítkem myši a vybereme Create DataStore Object:

Založení DSO

Nový objekt se musí pojmenovat (stále platí jmenná konvence pro zákaznické objekty, musí začínat X, Y či Z).

Takto vypadá nové DSO, bez jakéhokoliv nastavení:

Založení DSO v SAP

Projděme si nyní ta nejpodstatnější nastavení:

  • Setting -> Type of DataStore Object – Standard (tímto se rozhoduje primární chování DSO), zde tedy ten standardní.
  • Key fields – Definování klíčových polí (DSO je tabulka, to jsme si již vysvětlili výše). Klíčová pole určují jednoznačnost datové sady v tabulce (pokud je návrh špatný, tak se data potom přepisují).
  • Data Fields – Datová pole (všechna ostatní pole, která chceme nahrávat a vyhodnocovat), patří sem nejen charakteristiky, ale i ukazatele!
  • Navigation Attributes – Navigační atribut není obsažen fyzicky v DSO, ale pomocí kmenových dat a atributů se při reportování pomocí JOINU data databázově připojí a je možné také díky tomu pak reportovat.

Princip modelování DSO

Z levého okna pomocí horních tlačítek vybereme z jakého InfoKatalogu chceme přidat charakteristiky a ukazatele. Poté je jednoduše pomocí myší přesuneme dle potřeby pod jednotlivé uzle (POZOR: DSO musí mít vždy min. jednu klíčovou charakteristiku a jeden ukazatel, pokud nemá, tak se při aktivaci vygeneruje chyba).

Modelování DSO

InfoObjekty je možné vkládat i přímo, pokud víme jejich technický název. Tuto možnost používáme např. pro standardní InfoObjekty jakou jsou 0CALDAY, 0CALYEAR, apod., ale je možné takto vložit i zákaznické.

Modelování DSO

Stačí napsat název a potvrdit klávesou Enter, celé okno poté zavřeme zelenou "fajfkou" dole.

Standardní model DSO

Nyní jsou dva nové InfoObjekty součástí DSO:

Modelování DSO

Jakmile je modelování hotové, musí se DSO, jako každý objekt v SAP, aktivovat:

Aktivace DSO

Pokud bylo vše v pořádku, vypíše se dole hláška "Object activated":

Aktivace DSO 2

Tímto jsme si namodelovali první standardní DSO a dále se podíváme na další dva typy.

#2 Direct Update

Tento typ nemá tři tabulky jako standardní DSO, ale je uzpůsobený přímému zápisu. Nastavení, klíčové pole apod. jsou shodná.

Modelování DSO v SAP

Možnosti zápisu jsou následující:

Vlastnosti

Jak se nám změnily vlastnosti úložiště oproti předchozímu typu?

  • Přímý zápis, tedy jednodušší cesta k datům
  • Data jsou dostupná k reportování okamžitě po nahrání
  • Není možné delta nahrání ani roll back, protože zde není žádný change log
  • Není žádný monitor událostí, co se nahrálo, kdy apod. (blíže vysvětlíme v další kapitole)
  • Není podporované SAP BI standardní nahrávání z datového zdroje

#3 Write-Optimized (optimalizováno pro zápis)

Tento typ má výhodu, že je nejrychlejší pro nahrávání dat. Nejčastěji se používá po PSA vrstvě. Data jsou zde uložena ve vysokém detailu.

Vlastnosti

  • Rychlé oproti standardní DSO, není nutná aktivace dat
  • Každý nový záznam má vlastní technický klíč (generované technické klíče), každý nový záznam je ihned vložen do tabulky
Modelování DSO

Oproti dvěma DSO výše se tento DSO liší v tom, že má automaticky generované klíče (0REQUEST, 0DATAPAKID, 0RECORD), které zaručují jednoznačnost záznamu a tudíž je zápis rychlý.

Modelování DSO

Dále je zde ještě možnost definovat Semant Key, což je podobné Key Fields. Zde však neplní funkci jednoznačnosti, ale slouží spíše pro účely identifikování chyby či duplicitních záznamů.

Ve spojení s tímto je možné aktivovat v DSO volbu, aby systém při nahrávání kontroloval duplicitní záznamy (dle sémantických klíčů). Pokud je volba vypnutá, tak se duplicitní záznam přidá jako nový řádek, pokud zapnutá, je proces nahrávání přerušen.

Modelování DSO

Po založení je objekt opět nutné aktivovat, ale to již známe z dílů předešlých, že KAŽDÝ objekt v SAP musí být před použitím aktivovaný. Jinak existuje pouze v tzv. "M - modified" verzi. Po aktivaci jej systém zkontroluje a pokud je vše konzistentní, zapíše objekt do Data Dictionary se statusem "A").

Tímto jsme se vysvětili DSO, jednotlivé typy a jejich vlastnosti. Příště se podíváme na Transformace mezi InfoObjekty v SAP.


 

 

Článek pro vás napsal Migi
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Autor se věnuje SAPu (BW), IT má jako koníček od malička a od nedávna ho IT začalo živit a bavit ještě víc :-)
Předchozí článek
InfoPackage, nahrání dat do PSA
Všechny články v sekci
SAP
Miniatura
Následující článek
Transformace mezi InfoObjekty v SAP
Aktivity (5)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!