SAP Словник даних ABAP (SE11)
⚡ Розумний підсумок
SAP Словник даних ABAP (SE11) централізує кожне визначення метаданих, що використовується SAP програми. На цій сторінці пояснюються три рівні повторного використання — домени, елементи даних і таблиці — а також агреговані об’єкти, такі як представлення, довідки з пошуку та об’єкти блокування.
Що таке словник даних?
Словник даних є центральним джерелом інформації для даних у системі керування інформацією. Його основною функцією є підтримка створення та керування визначеннями даних (або «метаданими»).
In SAP, це центральне сховище називається словником ABAP, і воно підтримується за допомогою транзакції SE11. Кожна таблиця, поле, представлення та блокування, що використовуються програмою ABAP, описуються тут один раз, а потім використовуються повторно всюди, тому визначення ніколи не потрібно повторювати всередині окремих програм.
Наведений вище екран показує початковий екран SE11, де кожен тип об'єкта словника вибирається перед його відображенням або зміною. Перш ніж розглядати ці типи об'єктів, корисно зрозуміти, чому SAP зберігає ці метадані поза програмами, які їх використовують.
Чому словник ABAP має значення
Словник ABAP існує тому, що SAP відокремлює опис даних від програм, які їх обробляють. Таке поле, як номер документа закупівлі, описується лише один раз, і кожен звіт, екран і функціональний модуль, який його потребує, посилається на цей єдиний опис.
Це централізоване визначення забезпечує чотири практичні переваги. Гарантується узгодженість, оскільки зміна, внесена до домену, негайно досягає кожного поля, яке посилається на нього через елемент даних. Надмірність зникає, оскільки розробники повторно використовують існуючі визначення, замість того, щоб винаходити нові. Integrity захищений, оскільки діапазони значень, таблиці перевірок та зовнішні ключі перевіряються словником, а не кодом програми. Зрештою, словник не залежить від бази даних, тому таблиця, визначена в SE11, автоматично створюється в базовій базі даних з правильними нативними типами.
Словник також активний під час виконання. Екрани зчитують назви полів, тексти довідки та діапазони значень безпосередньо з нього, тому довідка F1 або список значень F4 відображається без жодного рядка додаткового коду. Розуміння трьох рівнів, наведених нижче, пояснює, як організовано таке повторне використання.
Словник ABAP 3 рівня
Об’єкти в словнику ABAP розташовувалися на трьох рівнях, які підтримують їх повторне використання. Ці рівні:
- Сфери життя
- Елементи даних
- Столи та конструкції
Кожен рівень базується на попередньому: домен надає технічні атрибути, елемент даних надає цим атрибутам бізнес-значення, а таблиця або структура групує елементи даних у запис. Давайте розглянемо їх детальніше –
Сфери життя
- Описує технічні характеристики поля таблиці
- Визначає діапазон значень, який описує дозволені значення даних для полів
- Поля, що відносяться до того самого домену (через призначені їм елементи даних), змінюються, коли вноситься зміна до домену
- Забезпечує послідовність
Пр. Номер документа закупівлі (EBELN)
Наведений вище екран домену визначає лише тип даних та довжину. Бізнес-значення цього значення надається наступним рівнем – елементом даних.
Елементи даних
- Описує роль, яку відіграє поле в технічному контексті
- Поля однакового семантичного значення можуть посилатися на той самий елемент даних
- Містить інформацію про поле
Пр. Номер документа закупівлі (EBELN)
Екран елементів даних містить підписи полів та документацію, яку користувачі бачать на екрані. Потім елементи даних об'єднуються в таблиці.
таблиці
- Представляє таблиці бази даних, де фактично знаходяться дані.
- Таблиці можна визначити незалежно від бази даних у словнику ABAP.
- Поля таблиці визначаються за допомогою (незалежно від бази даних) SAP Типи даних ABAP та довжини.
Структури
- Це оголошення записів, які НЕ відповідають таблиці бази даних.
- Так само, як тип даних, визначений користувачем.
- Визначається як таблиця, до якої можна звертатися з програм ABAP.
- Структури містять дані лише під час виконання програми.
У таблиці нижче наведено короткий огляд порівняння трьох рівнів.
| рівень | Що це визначає | Зберігає дані? | Типовий приклад |
|---|---|---|---|
| сфера | Технічні атрибути: тип даних, довжина, діапазон значень | Немає | ЕБЕЛЬН (ЗНАК 10) |
| Елемент даних | Семантичне значення: мітки полів, документація, довідка F1 | Немає | EBELN — Номер документа закупівлі |
| таблиця | Запис полів, створений у базі даних | Так, наполегливо | EKKO — Заголовок документа закупівлі |
| Структура | Запис полів, що використовуються лише всередині програми | Так, лише під час виконання | Робоча зона для внутрішній стіл |
Агреговані об’єкти словника ABAP
Агрегований означає, що складається з кількох компонентів. У Словнику ABAP агреговані об’єкти – це об’єкти, які походять із кількох різних прозорих таблиць.
- думки
- Пошук у довідці
- Блокування об'єктів
Розглянемо їх докладніше
думки
- Перегляди в SAP – ABAP використовуються для узагальнення даних, розподілених між кількома таблицями
- Дані представлення фактично фізично не зберігаються. Натомість дані подання отримуються з однієї або кількох інших таблиць
- Він адаптований до потреб конкретного застосування
Пошук у довідці
- Довідка з пошуку — це інструмент, який допоможе вам шукати записи даних у системі
- Ефективний і зручний пошук допомагає користувачам, якщо ключ запису невідомий
Блокування об'єктів
- Одночасний доступ до одного запису даних двома користувачами в SAP система синхронізується за допомогою замкового механізму.
- Блокування встановлюється та знімається шляхом виклику певних функціональних модулів. Ці функціональні модулі генеруються автоматично з визначення так званих об’єктів блокування в словнику ABAP/4
Функціональні модулі : Enqueue_ – для блокування таблиці dequeue_ – зняти блокування
⚠️ Попередження: Блокування, встановлене за допомогою ENQUEUE та ніколи не знімане за допомогою DEQUEUE, залишається активним до завершення сеансу користувача. Завжди викликайте модуль DEQUEUE, включаючи його в шлях помилки програми.
Зрозумівши типи об'єктів, у наступному розділі вони застосовуються шляхом створення прозорої таблиці в SE11.
Як створити прозору таблицю в SE11
Прозора таблиця є найпоширенішим об'єктом словника, оскільки вона має зв'язок "один до одного" з фізичною таблицею в базі даних. Наведені нижче кроки допоможуть створити її з нуля.
- Відкрити SE11: Введіть транзакцію SE11, виберіть Таблиця бази даних радіокнопку, введіть ім'я в просторі імен клієнта (починаючи з Z або Y) та виберіть Створити.
- Введіть короткий опис та клас доставки: на Attributes вкладку, додайте короткий текст і встановіть клас доставки, який повідомляє SAP як дані поводяться під час копіювання клієнта або оновлення. Клас доставки A використовується для даних програми, а C — для налаштування даних.
- Встановіть атрибут обслуговування: Оберіть Дозволено демонстрацію/обслуговування щоб пізніше можна було створити план технічного обслуговування за допомогою SE55 або SM30.
- Визначте поля: на Поля На вкладці додайте MANDT як перше ключове поле з елементом даних MANDT, а потім додайте ключові бізнес-поля. Кожне поле типізується елементом даних, який, у свою чергу, посилається на домен, тому три рівні, описані раніше, використовуються повторно, а не перевизначаються.
- Зберігайте технічні налаштування: Натисніть Технічні налаштування (транзакція SE13) та встановити клас даних, наприклад APPL0 для основних даних, разом з очікуваною категорією розміру. Ці значення визначають табличний простір та початковий розмір у базі даних.
- Активувати: Преса активуватиАктивація генерує фізичну таблицю в базі даних і робить визначення придатним для використання в програмах ABAP.
💡 Порада: Створіть зовнішні ключі для кожного поля, яке потрібно перевірити за таблицею перевірок. Потім словник автоматично застосовує зв'язок, і всередині програми не потрібен код перевірки.
Після того, як таблиця активна, до неї можна звернутися безпосередньо з програми ABAP за допомогою Відкрити SQLУ наведеному нижче прикладі зчитується стандартна таблиця словника SCARR у внутрішню таблицю та відображається її вміст.
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.
Оскільки внутрішня таблиця типізована за допомогою TYPE STANDARD TABLE OF scarr, кожна довжина поля та тип даних беруться зі словника. Якщо визначення таблиці змінюється, програма сприймає зміни після активації без будь-якого редагування.
Основні транзакції словника ABAP Codes
Наведені нижче транзакції охоплюють щоденну роботу з визначення, перевірки та підтримки об'єктів словника.
| Угода | Мета |
|---|---|
| SE11 | Початковий екран словника даних (лише для дисплея SE12) |
| SE13 | Словник ABAP: Технічні налаштування |
| SE14 | Утиліта бази даних |
| SE15 | Інформаційна система репозиторію |
| SE16 | Оглядач даних |
| SE17 | Загальний дисплей столу |
| SE55 | Обслуговування табличного перегляду |
| SM30 | Обслуговування столу |









