SAP Datový slovník ABAP (SE11)
⚡ Chytré shrnutí
SAP Datový slovník ABAP (SE11) centralizuje všechny definice metadat používané SAP aplikace. Tato stránka vysvětluje tři opakovaně použitelné úrovně – domény, datové prvky a tabulky – a také agregované objekty, jako jsou zobrazení, nápovědy k vyhledávání a objekty zámků.
Co je datový slovník?
Datový slovník je centrálním zdrojem informací pro data v systému správy informací. Jeho hlavní funkcí je podpora vytváření a správy definic dat (neboli „metadat“).
In SAP, toto centrální úložiště se nazývá ABAP Dictionary a je spravováno transakcí SE11. Každá tabulka, pole, pohled a zámek používaný programem ABAP je zde popsán jednou a poté znovu použit všude, takže definice se v jednotlivých programech nikdy nemusí opakovat.
Výše uvedená obrazovka zobrazuje úvodní obrazovku SE11, kde je každý typ objektu slovníku vybrán před jeho zobrazením nebo změnou. Než se podíváme na tyto typy objektů, je užitečné pochopit proč. SAP uchovává tato metadata mimo programy, které je používají.
Proč je slovník ABAP důležitý
Slovník ABAP existuje, protože SAP odděluje popis dat od programů, které je zpracovávají. Pole, jako je číslo nákupního dokladu, je popsáno přesně jednou a každá sestava, obrazovka a funkční modul, které ho potřebují, se odkazuje zpět na tento jediný popis.
Tato centrální definice přináší čtyři praktické výhody. Konzistence je zaručena, protože změna provedená v doméně se okamžitě projeví ve všech polích, která na ni odkazují prostřednictvím datového prvku. Redundance mizí, protože vývojáři znovu používají existující definice, místo aby vymýšleli nové. Integrity je chráněn, protože rozsahy hodnot, kontrolní tabulky a cizí klíče jsou ověřovány slovníkem, nikoli kódem aplikace. Slovník je navíc nezávislý na databázi, takže tabulka definovaná v SE11 se v podkladové databázi automaticky vytvoří se správnými nativními typy.
Slovník je aktivní i za běhu. Obrazovky z něj čtou popisky polí, texty nápovědy a rozsahy hodnot přímo, a proto se nápověda F1 nebo seznam hodnot F4 zobrazuje bez jediného řádku kódu navíc. Pochopení tří níže uvedených úrovní vysvětluje, jak je toto opětovné použití organizováno.
Slovník ABAP 3 úrovně
Objekty ve slovníku ABAP byly umístěny na třech úrovních, které podporují jejich opětovné použití. Tyto úrovně jsou:
- Domény
- Datové prvky
- Tabulky a struktury
Každá úroveň navazuje na tu předchozí: doména poskytuje technické atributy, datový prvek dává těmto atributům obchodní význam a tabulka nebo struktura seskupuje datové prvky do záznamu. Pojďme se na ně podívat podrobněji –
Domény
- Popisuje technické vlastnosti pole tabulky
- Určuje rozsah hodnot, který popisuje povolené hodnoty dat pro pole
- Pole odkazující na stejnou doménu (prostřednictvím k nim přiřazených datových prvků) se změní, když je provedena změna domény
- Zajišťuje konzistenci
Př. Číslo nákupního dokladu (EBELN)
Výše uvedená obrazovka domény definuje pouze datový typ a délku. Obchodní význam této hodnoty je dodán další úrovní, datovým prvkem.
Datové prvky
- Popisuje roli, kterou hraje pole v technickém kontextu
- Pole stejného sémantického významu mohou odkazovat na stejný datový prvek
- Obsahuje informace o poli
Př. Číslo nákupního dokladu (EBELN)
Obrazovka datových prvků obsahuje popisky polí a dokumentaci, kterou uživatelé vidí na obrazovce. Datové prvky jsou poté sloučeny do tabulek.
Tabulky
- Představují databázové tabulky, kde se data skutečně nacházejí.
- Tabulky lze definovat nezávisle na databázi ve slovníku ABAP.
- Pole tabulky jsou definována s jejich (nezávisle na databázi) SAP Datové typy ABAP a délky.
Struktury
- Jsou deklarace záznamů, které NEODPOVÍDAJÍ databázové tabulce.
- Stejně jako uživatelsky definovaný datový typ.
- Definováno jako tabulka a může být poté adresováno z programů ABAP.
- Struktury obsahují data pouze během běhu programu.
Níže uvedená tabulka porovnává všechny tři úrovně na první pohled.
| Úroveň | Co definuje | Ukládá data? | Typický příklad |
|---|---|---|---|
| Doména | Technické atributy: datový typ, délka, rozsah hodnot | Ne | EBELN (CHAR 10) |
| Datový prvek | Sémantický význam: popisky polí, dokumentace, nápověda F1 | Ne | EBELN — Číslo nákupního dokladu |
| Tabulka | Záznam polí, který je vytvořen v databázi | Ano, vytrvale | EKKO — Záhlaví nákupního dokladu |
| Struktura | Záznam polí používaných pouze uvnitř programu | Ano, pouze za běhu | Pracovní prostor pro vnitřní stůl |
Agregované objekty slovníku ABAP
Agregované prostředky skládající se z několika složek. Ve slovníku ABAP jsou agregované objekty objekty, které pocházejí z několika různých průhledných tabulek.
- Zobrazení
- Hledat Nápověda
- Zamknout objekty
Pojďme se na ně podívat podrobně
Zobrazení
- Zobrazení v SAP – ABAP se používají k shrnutí dat, která jsou rozdělena mezi několik tabulek
- Data pohledu nejsou ve skutečnosti fyzicky uložena. Data pohledu jsou místo toho odvozena z jedné nebo více jiných tabulek
- Je přizpůsoben potřebám konkrétní aplikace
Hledat Nápověda
- Nápověda k vyhledávání je nástroj, který vám pomůže vyhledat datové záznamy v systému
- Efektivní a uživatelsky přívětivé vyhledávání pomáhá uživatelům tam, kde klíč k záznamu není znám
Zamknout objekty
- Současný přístup ke stejnému datovému záznamu dvěma uživateli v SAP systém je synchronizován zámkovým mechanismem.
- Zámky se nastavují a uvolňují voláním určitých funkčních modulů. Tyto funkční moduly jsou generovány automaticky z definice tzv. zámkových objektů ve slovníku ABAP/4
Funkční moduly : Zařadit do fronty_ – zamknout tabulku dequeue_ – pro uvolnění zámku
Warning️ Varování: Zámek nastavený pomocí ENQUEUE a nikdy neuvolněný pomocí DEQUEUE zůstane aktivní až do ukončení uživatelské relace. Vždy volejte modul DEQUEUE, a to i v cestě k chybě programu.
Po pochopení typů objektů je v následující části aplikujeme vytvořením transparentní tabulky v SE11.
Jak vytvořit průhlednou tabulku v SE11
Transparentní tabulka je nejběžnějším slovníkovým objektem, protože má vztah jedna k jedné s fyzickou tabulkou v databázi. Následující kroky vám pomohou vytvořit ji od nuly.
- Otevřeno SE11: Zadejte transakci SE11, vyberte Tabulka databáze přepínač, zadejte název do jmenného prostoru zákazníka (začínající písmenem Z nebo Y) a vyberte Vytvořit.
- Zadejte krátký popis a třídu doručení: Na Atributy záložku, přidejte krátký text a nastavte třídu doručení, která sděluje SAP jak se data chovají během kopie klienta nebo upgradu. Třída doručení A se používá pro data aplikací a třída C se používá pro přizpůsobení dat.
- Nastavte atribut údržby: Vybrat Zobrazení/údržba povolena takže zobrazení údržby lze později vygenerovat pomocí SE55 nebo SM30.
- Definujte pole: Na Pole Klikněte na kartu Tab a přidejte MANDT jako první klíčové pole s datovým prvkem MANDT a poté přidejte klíčová obchodní pole. Každé pole je typováno datovým prvkem, který zase odkazuje na doménu, takže tři výše popsané úrovně jsou znovu použity, nikoli předefinovány.
- Udržujte technická nastavení: klikněte Technická nastavení (transakce SE13) a nastavte datovou třídu, například APPL0 pro kmenová data, spolu s očekávanou kategorií velikosti. Tyto hodnoty určují tabulkový prostor a počáteční velikost v databázi.
- Aktivovat: Pro média AktivovatAktivace vygeneruje fyzickou tabulku v databázi a zpřístupní definici v programech ABAP.
💡 Tip: Vytvořte cizí klíče pro každé pole, které musí být ověřeno v kontrolní tabulce. Slovník poté automaticky vynucuje vztah a v programu není potřeba žádný ověřovací kód.
Jakmile je tabulka aktivní, lze ji přímo adresovat z programu ABAP pomocí Otevřít SQLNásledující příklad načte standardní slovníkovou tabulku SCARR do interní tabulky a vypíše její obsah.
REPORT zdemo_ddic_read. * Internal table typed directly from the dictionary table SCARR DATA: lt_scarr TYPE STANDARD TABLE OF scarr, ls_scarr TYPE scarr. SELECT carrid carrname currcode FROM scarr INTO TABLE lt_scarr. LOOP AT lt_scarr INTO ls_scarr. WRITE: / ls_scarr-carrid, ls_scarr-carrname, ls_scarr-currcode. ENDLOOP.
Protože interní tabulka je typována pomocí TYPE STANDARD TABLE OF scarr, každá délka pole a datový typ pocházejí ze slovníku. Pokud se definice tabulky změní, program tuto změnu po aktivaci převezme bez jakékoli úpravy.
Základní transakce ve slovníku ABAP Codes
Následující transakce pokrývají každodenní práci definování, kontroly a údržby objektů slovníku.
| transakce | Účel |
|---|---|
| SE11 | Úvodní obrazovka datového slovníku (pouze displej SE12) |
| SE13 | Slovník ABAP: Technická nastavení |
| SE14 | Databázový nástroj |
| SE15 | Informační systém úložiště |
| SE16 | Prohlížeč dat |
| SE17 | Obecné zobrazení stolu |
| SE55 | Údržba zobrazení tabulky |
| SM30 | Údržba stolu |









