SAP Dicționar de date ABAP (SE11)
⚡ Rezumat inteligent
SAP Dicționarul de date ABAP (SE11) centralizează fiecare definiție de metadate utilizată de SAP aplicații. Această pagină explică cele trei niveluri reutilizabile — domenii, elemente de date și tabele — plus obiecte agregate, cum ar fi vizualizări, ajutoare de căutare și obiecte de blocare.
Ce este dicționarul de date?
Dicționarul de date este o sursă centrală de informații pentru datele dintr-un sistem de management al informațiilor. Funcția sa principală este de a sprijini crearea și gestionarea definițiilor de date (sau „metadate”).
In SAP, acest depozit central se numește Dicționar ABAP și este întreținut cu tranzacția SE11. Fiecare tabel, câmp, vizualizare și blocare utilizată de un program ABAP este descrisă aici o singură dată și apoi reutilizată peste tot, astfel încât o definiție nu trebuie niciodată repetată în cadrul programelor individuale.
Ecranul de mai sus prezintă ecranul inițial SE11, unde fiecare tip de obiect de dicționar este selectat înainte de a fi afișat sau modificat. Înainte de a analiza aceste tipuri de obiecte, este util să înțelegem de ce SAP păstrează aceste metadate în afara programelor care le utilizează.
De ce contează dicționarul ABAP
Dicționarul ABAP există deoarece SAP separă descrierea datelor de programele care le procesează. Un câmp precum numărul documentului de achiziție este descris exact o singură dată, iar fiecare raport, ecran și modul funcțional care îl necesită face referire la acea singură descriere.
Această definiție centrală oferă patru beneficii practice. Consecvența este garantată, deoarece o modificare adusă unui domeniu ajunge imediat la fiecare câmp care se referă la acesta printr-un element de date. Redundanța dispare, deoarece dezvoltatorii reutilizează definițiile existente în loc să inventeze altele noi. Integrity este protejat, deoarece intervalele de valori, tabelele de verificare și cheile externe sunt validate de dicționar și nu de codul aplicației. În cele din urmă, dicționarul este independent de baza de date, astfel încât un tabel definit în SE11 este creat automat în baza de date subiacentă cu tipurile native corecte.
Dicționarul este activ și în timpul execuției. Ecranele citesc etichetele câmpurilor, textele de ajutor și intervalele de valori direct din acesta, motiv pentru care apare un ajutor F1 sau o listă de valori F4 fără nicio linie de codare suplimentară. Înțelegerea celor trei niveluri de mai jos explică modul în care este organizată această reutilizare.
Dicţionar ABAP 3 levels
Obiectele din dicționarul ABAP se aflau pe trei niveluri care sprijină reutilizarea lor. Aceste niveluri sunt:
- domenii
- Elemente de date
- Mese și structuri
Fiecare nivel se bazează pe cel precedent: un domeniu furnizează atributele tehnice, un element de date conferă acestor atribute o semnificație comercială, iar un tabel sau o structură grupează elementele de date într-o înregistrare. Să le analizăm în detaliu –
domenii
- Descrie caracteristicile tehnice ale unui câmp de tabel
- Specifică un interval de valori care descrie valorile de date permise pentru câmpuri
- Câmpurile care se referă la același domeniu (prin elementele de date alocate acestora) sunt modificate atunci când se face o modificare a domeniului
- Asigură consistență
Ex. Numărul documentului de achiziție (EBELN)
Ecranul domeniului de mai sus definește doar tipul și lungimea datelor. Semnificația comercială a acelei valori este furnizată de nivelul următor, elementul de date.
Elemente de date
- Descrie rolul jucat de un domeniu în context tehnic
- Câmpurile cu același sens semantic se pot referi la același element de date
- Conține informațiile de câmp
Ex. Numărul documentului de achiziție (EBELN)
Ecranul cu elemente de date conține etichetele câmpurilor și documentația pe care utilizatorii le văd pe ecran. Elementele de date sunt apoi combinate în tabele.
Mese
- Reprezentați tabelele bazei de date în care se află de fapt datele.
- Tabelele pot fi definite independent de baza de date în dicționarul ABAP.
- Câmpurile tabelului sunt definite cu (independent de baza de date) SAP Tipuri de date ABAP și lungimi.
Structuri
- Sunt declarații de înregistrare care NU corespund unui tabel de bază de date.
- La fel ca tipul de date definit de utilizator.
- Definit ca un tabel și poate fi apoi adresat din programele ABAP.
- Structurile conțin date numai în timpul rulării unui program.
Tabelul de mai jos compară cele trei niveluri dintr-o privire.
| Nivel | Ceea ce definește | Stochează date? | Exemplu tipic |
|---|---|---|---|
| domeniu | Atribute tehnice: tipul de date, lungimea, intervalul de valori | Nu | EBELN (CHAR 10) |
| Element de date | Semnificație semantică: etichete de câmp, documentație, ajutor F1 | Nu | EBELN — Numărul documentului de achiziție |
| Tabel | O înregistrare a câmpurilor creată în baza de date | Da, persistent | EKKO — Antet document de achiziții |
| Structure | O înregistrare a câmpurilor utilizate doar în interiorul unui program | Da, numai în timpul execuției | Zonă de lucru pentru un masa interioara |
Obiecte agregate ale dicționarului ABAP
Mijloace agregate formate din mai multe componente. În dicționarul ABAP, obiectele agregate sunt obiecte care provin din mai multe tabele transparente diferite.
- Vizualizări
- Căutați Ajutor
- Blocarea obiectelor
Să le analizăm în detaliu
Vizualizări
- Vizualizări în SAP ABAP sunt utilizate pentru a sintetiza date distribuite în mai multe tabele
- Datele unei vizualizări nu sunt de fapt stocate fizic. Datele unei vizualizări sunt în schimb derivate din unul sau mai multe alte tabele
- Este adaptat nevoilor unei aplicații specifice
Căutați Ajutor
- Un ajutor pentru căutare este un instrument care vă ajută să căutați înregistrări de date în sistem
- O căutare eficientă și ușor de utilizat ajută utilizatorii acolo unde cheia unei înregistrări este necunoscută
Blocarea obiectelor
- Accesarea simultană a aceleiași înregistrări de date de către doi utilizatori în SAP sistemul este sincronizat printr-un mecanism de blocare.
- Blocările sunt setate și eliberate prin apelarea anumitor module funcționale. Aceste module funcționale sunt generate automat din definiția așa-numitelor obiecte de blocare din Dicționarul ABAP/4
Module funcționale : pune la coada_ – pentru a bloca coada de aşteptare a tabelului_ – pentru a elibera încuietoarea
⚠️ Atenție: O blocare setată cu ENQUEUE și niciodată eliberată cu DEQUEUE rămâne activă până la încheierea sesiunii utilizatorului. Apelați întotdeauna modulul DEQUEUE, inclusiv în calea de eroare a programului.
Odată ce tipurile de obiecte sunt înțelese, următoarea secțiune le aplică prin crearea unui tabel transparent în SE11.
Cum se creează un tabel transparent în SE11
Un tabel transparent este cel mai comun obiect de dicționar, deoarece are o relație unu-la-unu cu un tabel fizic din baza de date. Pașii de mai jos creează unul de la zero.
- Deschide SE11: Introduceți tranzacția SE11, selectați Tabelul bazei de date butonul radio, introduceți un nume în spațiul de nume al clientului (începând cu Z sau Y) și alegeți Crează.
- Introduceți descrierea scurtă și clasa de livrare: Pe Atribute filă, adăugați un text scurt și setați clasa de livrare, care indică SAP cum se comportă datele în timpul unei copii client sau al unei actualizări. Clasa de livrare A este utilizată pentru datele aplicației, iar C este utilizată pentru personalizarea datelor.
- Setați atributul de întreținere: Alege Afișaj/Întreținere permisă astfel încât o vedere de întreținere poate fi generată ulterior cu SE55 sau SM30.
- Definiți câmpurile: Pe Domenii , adăugați MANDT ca prim câmp cheie cu elementul de date MANDT, apoi adăugați câmpurile cheie de business. Fiecare câmp este tipizat de un element de date, care la rândul său se referă la un domeniu, astfel încât cele trei niveluri descrise anterior sunt reutilizate în loc să fie redefinite.
- Mențineți setările tehnice: Clic Setări tehnice (tranzacția SE13) și se setează clasa de date, de exemplu APPL0 pentru datele master, împreună cu categoria de dimensiune așteptată. Aceste valori decid spațiul tablei și dimensiunea inițială din baza de date.
- Activati: Anunturi ActivatiActivarea generează tabelul fizic în baza de date și face definiția utilizabilă în programele ABAP.
💡 Sfat: Creați chei externe pentru fiecare câmp care trebuie validat în raport cu un tabel de verificare. Dicționarul impune apoi relația automat și nu este nevoie de cod de validare în cadrul programului.
Odată ce tabelul este activ, acesta poate fi adresat direct dintr-un program ABAP cu Deschideți SQLExemplul de mai jos citește tabelul standard de dicționar SCARR într-un tabel intern și îi listează conținutul.
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.
Deoarece tabelul intern este tipizat cu TYPE STANDARD TABLE OF scarr, fiecare lungime de câmp și tip de date provine din dicționar. Dacă definiția tabelului se modifică, programul preia modificarea după activare fără nicio editare.
Tranzacții esențiale din dicționarul ABAP Codes
Următoarele tranzacții acoperă activitatea zilnică de definire, verificare și întreținere a obiectelor dicționar.
| tranzacție | Scop |
|---|---|
| SE11 | Ecranul inițial al dicționarului de date (doar pentru afișajul SE12) |
| SE13 | Dicționar ABAP: Setări tehnice |
| SE14 | Utilitarul bazei de date |
| SE15 | Sistem de informații despre depozit |
| SE16 | Browser de date |
| SE17 | Afișaj general al tabelului |
| SE55 | Întreținerea vizualizării tabelului |
| SM30 | Întreținerea mesei |









