SAP Словник даних ABAP (SE11)

⚡ Розумний підсумок

SAP Словник даних ABAP (SE11) централізує кожне визначення метаданих, що використовується SAP програми. На цій сторінці пояснюються три рівні повторного використання — домени, елементи даних і таблиці — а також агреговані об’єкти, такі як представлення, довідки з пошуку та об’єкти блокування.

  • 📚 Основне визначення: Словник ABAP – це центральне сховище метаданих, що описує, як кожне поле, таблиця та представлення визначено та повторно використовується в SAP системи.
  • 🧱 Три рівні багаторазового використання: Домени містять технічні атрибути, елементи даних додають семантичне значення, а таблиці або структури об'єднують ці елементи в записи.
  • 🔗 Агреговані об'єкти: Представлення об'єднують дані з кількох таблиць, пошук допомагає вводити дані, а об'єкти блокування захищають записи під час одночасного доступу.
  • 🔒 Механізм блокування: Функціональні модулі ENQUEUE та DEQUEUE генеруються з об'єктів блокування та завжди повинні знімати блокування після обробки.
  • 🛠️ Робочий процес створення: Транзакція SE11 створює прозорі таблиці, визначаючи поля, клас доставки, технічні налаштування, а потім активуючи об'єкт.
  • 🧭 Ключові транзакції: SE11, SE13, SE14, SE16 та SM30 охоплюють визначення, технічні налаштування, утиліти бази даних, відображення даних та обслуговування.

SAP Словник даних ABAP SE11

Що таке словник даних?

Словник даних є центральним джерелом інформації для даних у системі керування інформацією. Його основною функцією є підтримка створення та керування визначеннями даних (або «метаданими»).

In SAP, це центральне сховище називається словником ABAP, і воно підтримується за допомогою транзакції SE11. Кожна таблиця, поле, представлення та блокування, що використовуються програмою ABAP, описуються тут один раз, а потім використовуються повторно всюди, тому визначення ніколи не потрібно повторювати всередині окремих програм.

Словник даних ABAP

Наведений вище екран показує початковий екран SE11, де кожен тип об'єкта словника вибирається перед його відображенням або зміною. Перш ніж розглядати ці типи об'єктів, корисно зрозуміти, чому SAP зберігає ці метадані поза програмами, які їх використовують.

Чому словник ABAP має значення

Словник ABAP існує тому, що SAP відокремлює опис даних від програм, які їх обробляють. Таке поле, як номер документа закупівлі, описується лише один раз, і кожен звіт, екран і функціональний модуль, який його потребує, посилається на цей єдиний опис.

Це централізоване визначення забезпечує чотири практичні переваги. Гарантується узгодженість, оскільки зміна, внесена до домену, негайно досягає кожного поля, яке посилається на нього через елемент даних. Надмірність зникає, оскільки розробники повторно використовують існуючі визначення, замість того, щоб винаходити нові. Integrity захищений, оскільки діапазони значень, таблиці перевірок та зовнішні ключі перевіряються словником, а не кодом програми. Зрештою, словник не залежить від бази даних, тому таблиця, визначена в SE11, автоматично створюється в базовій базі даних з правильними нативними типами.

Словник також активний під час виконання. Екрани зчитують назви полів, тексти довідки та діапазони значень безпосередньо з нього, тому довідка F1 або список значень F4 відображається без жодного рядка додаткового коду. Розуміння трьох рівнів, наведених нижче, пояснює, як організовано таке повторне використання.

Словник ABAP 3 рівня

Об’єкти в словнику ABAP розташовувалися на трьох рівнях, які підтримують їх повторне використання. Ці рівні:

  1. Сфери життя
  2. Елементи даних
  3. Столи та конструкції

Кожен рівень базується на попередньому: домен надає технічні атрибути, елемент даних надає цим атрибутам бізнес-значення, а таблиця або структура групує елементи даних у запис. Давайте розглянемо їх детальніше –

Сфери життя

  • Описує технічні характеристики поля таблиці
  • Визначає діапазон значень, який описує дозволені значення даних для полів
  • Поля, що відносяться до того самого домену (через призначені їм елементи даних), змінюються, коли вноситься зміна до домену
  • Забезпечує послідовність

Пр. Номер документа закупівлі (EBELN)

Словник: відображення доменів

Наведений вище екран домену визначає лише тип даних та довжину. Бізнес-значення цього значення надається наступним рівнем – елементом даних.

Елементи даних

  • Описує роль, яку відіграє поле в технічному контексті
  • Поля однакового семантичного значення можуть посилатися на той самий елемент даних
  • Містить інформацію про поле

Пр. Номер документа закупівлі (EBELN)

Словник: відображення елементів даних

Екран елементів даних містить підписи полів та документацію, яку користувачі бачать на екрані. Потім елементи даних об'єднуються в таблиці.

таблиці

  • Представляє таблиці бази даних, де фактично знаходяться дані.
  • Таблиці можна визначити незалежно від бази даних у словнику ABAP.
  • Поля таблиці визначаються за допомогою (незалежно від бази даних) SAP Типи даних ABAP та довжини.

Словник: відображення таблиць

Структури

  • Це оголошення записів, які НЕ відповідають таблиці бази даних.
  • Так само, як тип даних, визначений користувачем.
  • Визначається як таблиця, до якої можна звертатися з програм ABAP.
  • Структури містять дані лише під час виконання програми.

Словник: Структури дисплея

У таблиці нижче наведено короткий огляд порівняння трьох рівнів.

рівень Що це визначає Зберігає дані? Типовий приклад
сфера Технічні атрибути: тип даних, довжина, діапазон значень Немає ЕБЕЛЬН (ЗНАК 10)
Елемент даних Семантичне значення: мітки полів, документація, довідка F1 Немає EBELN — Номер документа закупівлі
таблиця Запис полів, створений у базі даних Так, наполегливо EKKO — Заголовок документа закупівлі
Структура Запис полів, що використовуються лише всередині програми Так, лише під час виконання Робоча зона для внутрішній стіл

Агреговані об’єкти словника ABAP

Агрегований означає, що складається з кількох компонентів. У Словнику ABAP агреговані об’єкти – це об’єкти, які походять із кількох різних прозорих таблиць.

  1. думки
  2. Пошук у довідці
  3. Блокування об'єктів

Розглянемо їх докладніше

думки

  • Перегляди в SAP – ABAP використовуються для узагальнення даних, розподілених між кількома таблицями
  • Дані представлення фактично фізично не зберігаються. Натомість дані подання отримуються з однієї або кількох інших таблиць
  • Він адаптований до потреб конкретного застосування

Словник: відображення переглядів

Пошук у довідці

  • Довідка з пошуку — це інструмент, який допоможе вам шукати записи даних у системі
  • Ефективний і зручний пошук допомагає користувачам, якщо ключ запису невідомий

Словник: відображення довідки з пошуку

Блокування об'єктів

  • Одночасний доступ до одного запису даних двома користувачами в SAP система синхронізується за допомогою замкового механізму.
  • Блокування встановлюється та знімається шляхом виклику певних функціональних модулів. Ці функціональні модулі генеруються автоматично з визначення так званих об’єктів блокування в словнику ABAP/4

Функціональні модулі : Enqueue_ – для блокування таблиці dequeue_ – зняти блокування

Словник: відображення об’єктів блокування

⚠️ Попередження: Блокування, встановлене за допомогою ENQUEUE та ніколи не знімане за допомогою DEQUEUE, залишається активним до завершення сеансу користувача. Завжди викликайте модуль DEQUEUE, включаючи його в шлях помилки програми.

Зрозумівши типи об'єктів, у наступному розділі вони застосовуються шляхом створення прозорої таблиці в SE11.

Як створити прозору таблицю в SE11

Прозора таблиця є найпоширенішим об'єктом словника, оскільки вона має зв'язок "один до одного" з фізичною таблицею в базі даних. Наведені нижче кроки допоможуть створити її з нуля.

  1. Відкрити SE11: Введіть транзакцію SE11, виберіть Таблиця бази даних радіокнопку, введіть ім'я в просторі імен клієнта (починаючи з Z або Y) та виберіть Створити.
  2. Введіть короткий опис та клас доставки: на Attributes вкладку, додайте короткий текст і встановіть клас доставки, який повідомляє SAP як дані поводяться під час копіювання клієнта або оновлення. Клас доставки A використовується для даних програми, а C — для налаштування даних.
  3. Встановіть атрибут обслуговування: Оберіть Дозволено демонстрацію/обслуговування щоб пізніше можна було створити план технічного обслуговування за допомогою SE55 або SM30.
  4. Визначте поля: на Поля На вкладці додайте MANDT як перше ключове поле з елементом даних MANDT, а потім додайте ключові бізнес-поля. Кожне поле типізується елементом даних, який, у свою чергу, посилається на домен, тому три рівні, описані раніше, використовуються повторно, а не перевизначаються.
  5. Зберігайте технічні налаштування: Натисніть Технічні налаштування (транзакція SE13) та встановити клас даних, наприклад APPL0 для основних даних, разом з очікуваною категорією розміру. Ці значення визначають табличний простір та початковий розмір у базі даних.
  6. Активувати: Преса активуватиАктивація генерує фізичну таблицю в базі даних і робить визначення придатним для використання в програмах 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 Обслуговування столу

Поширені запитання

SE11 підтримує визначення об'єкта словника, такого як поля та ключі таблиці. SE16 відображає та фільтрує рядки даних, що зберігаються всередині цієї таблиці. Один обробляє метадані, інший — записи.

Так. Елемент даних може безпосередньо приймати попередньо визначений тип, а не посилатися на домен. Домен все ще рекомендується, оскільки він централізує діапазон значень і дозволяє одній зміні досягти кожного поля, яке його використовує.

Прозора таблиця має однозначне збігання з фізичною таблицею бази даних. Об'єднана таблиця використовує одну таблицю бази даних разом з багатьма невеликими таблицями словника, тому її можна читати лише за допомогою Open SQL, а не за допомогою native SQL.

Помічники штучного інтелекту, такі як SAP Джоуль та асистенти коду в інструментах розробки ABAP пропонують назви полів, елементи даних для нової таблиці, пояснюють незнайомі стандартні таблиці та позначають відсутні зовнішні ключі перед активацією об'єкта.

Штучний інтелект може створити список полів, типи даних та іменування, але визначення все одно має бути перевірене та активоване розробником. Клас доставки, технічні налаштування та зовнішні ключі потребують перевірки людиною перед транспортуванням.

Підсумуйте цей пост за допомогою: