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ů.

  • ???? Základní definice: Slovník ABAP je centrální úložiště metadat, které popisuje, jak je každé pole, tabulka a pohled definováno a znovu použito v celém SAP systém.
  • 🧱 Tři opakovaně použitelné úrovně: Domény obsahují technické atributy, datové prvky přidávají sémantický význam a tabulky nebo struktury sestavují tyto prvky do záznamů.
  • 🔗 Agregované objekty: Pohledy kombinují data z několika tabulek, vyhledávání pomáhá se zadáváním a objekty zámku chrání záznamy během současného přístupu.
  • 🔒 Zamykací mechanismus: Funkční moduly ENQUEUE a DEQUEUE jsou generovány z objektů zámků a po zpracování musí zámek vždy uvolnit.
  • 🛠️ Pracovní postup tvorby: Transakce SE11 vytváří transparentní tabulky definováním polí, třídy dodání, technických nastavení a následnou aktivací objektu.
  • 🧭 Klíčové transakce: SE11, SE13, SE14, SE16 a SM30 zahrnují definici, technická nastavení, databázové nástroje, zobrazení dat a údržbu.

SAP Datový slovník ABAP SE11

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.

Datový slovník ABAP

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:

  1. Domény
  2. Datové prvky
  3. 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)

Slovník: Display Domains

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)

Slovník: Zobrazení datových prvků

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.

Slovník: Zobrazení tabulek

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.

Slovník: Zobrazení struktur

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.

  1. Zobrazení
  2. Hledat Nápověda
  3. 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

Slovník: Zobrazení zobrazení

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

Slovník: Zobrazit nápovědu k vyhledávání

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

Slovník: Zobrazit objekty 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.

  1. 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.
  2. 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.
  3. Nastavte atribut údržby: Vybrat Zobrazení/údržba povolena takže zobrazení údržby lze později vygenerovat pomocí SE55 nebo SM30.
  4. 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.
  5. 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.
  6. 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

Nejčastější dotazy

SE11 spravuje definici objektu slovníku, jako jsou pole a klíče tabulky. SE16 zobrazuje a filtruje datové řádky uložené v dané tabulce. Jeden zpracovává metadata, druhý záznamy.

Ano. Datový prvek může nabývat předdefinovaného typu přímo, místo aby odkazoval na doménu. Doména se stále doporučuje, protože centralizuje rozsah hodnot a umožňuje jedné změně dosáhnout každého pole, které ji používá.

Transparentní tabulka má shodu jedna k jedné s fyzickou databázovou tabulkou. Sdružená tabulka sdílí jednu databázovou tabulku s mnoha malými slovníkovými tabulkami, takže ji lze číst pouze pomocí Open SQL, nikdy ne pomocí nativního SQL.

Asistenti s umělou inteligencí, jako například SAP Joule a kódoví asistenti ve vývojových nástrojích ABAP navrhují názvy polí, datové prvky pro novou tabulku, vysvětlují neznámé standardní tabulky a označují chybějící cizí klíče před aktivací objektu.

Umělá inteligence dokáže navrhnout seznam polí, datové typy a pojmenování, ale definici musí stále zkontrolovat a aktivovat vývojář. Třída doručení, technická nastavení a cizí klíče vyžadují před přenosem validaci člověkem.

Shrňte tento příspěvek takto: