У цій статті створимо Maintenance view - ракурс. Maintenance view надає зручний спосіб управління складовими об'єктами. Дані розподілені по декількох таблицях часто можуть утворювати логічний єдиний об'єкт. Користувач може переглядати змінювати або додавати такі розподілені дані за допомогою Maintenance view. Використовуємо транзакцію SE11.
Maintenance view одна з чотирьох можливих в'юшок які можна визначити через SE11. Всі таблиці які ми хочемо визначити в Maintenance view повинні бути пов'язані зовнішніми ключами. Однак просто створивши в'юшку ми не зможемо керувати даними, нам необхідний екран, який-небудь метод для відображення даних містяться в в'юшки, будь-яка логіка за допомогою якої ми зможемо робити операції додавання, видалення і зміни даних. Тут на допомогу приходить Maintenance generator (він автоматично створює екрани, контроли і логіку для управління даними), який дає можливість визначити для нашої в'юшки Maintenance dialog.
Отже, з'явилося модальне вікно, де необхідно вибрати цікавий для нас тип в'юшки.
Потім відзначаємо таблицю і натискаємо кнопку Relationships.
Перейдемо на вкладку View Fields і натискаємо кнопку Table Fields.
З'явилося вікно, де необхідно вибрати таблицю з якої ми будемо висмикувати поля.
З'явилося вікно, де необхідно вибрати потрібні поля.
Виберемо необхідні поля і для другої таблиці.
В результаті отримали в'юшку з такими полями.
Зберігаємо і активуємо. Йдемо в Utilities -> Table Maintenence Generator.
Потрапляємо на такий екран і вибираємо Authorization group.
Тепер необхідно створити Function Group - функціональну групу для нашої в'юшки, в цій групі будуть міститися необхідні екрани і логіка. Скористаємося транзакцією SE80, запустимо її в новому режимі.
Зберігаємо і бачимо що в навігаторі об'єктів з'явилася функціональна група.
Повернемося до екрану завдання параметрів для Maintenance dialog і вкажемо тільки що створену функціональну групу.
Натиснувши Find Scr. Number (s) перейдемо на екран.
Отримуємо заповнений екран і натискаємо Створити.
У рядку статусу видно як відбувалася генерація. Після закінчення генерації в рядку статусу повинно з'явитися повідомлення Request completed without errors.
У навігаторі об'єктів можна побачити що з'явилася наша в'юшки.
Також розгорнувши функціональну групу ZKRE_FG1 побачимо що там створилися необхідні екрани і логіка.
Подивимося що в результаті у нас вийшло. Це можна зробити через навігатор об'єктів SE80 або через транзакцію SM30.
Подвійний клік по рядку і ми потрапляємо на такий екран.
Натиснувши F3 повернемося до попереднього вигляду. Натиснувши кнопку Змінити Ctrl + F1. з'являється можливість додавати нові записи.
Можна подивитися документацію для нашого поля First Name.
Внесемо якісь дані і натискаємо зберегти. Видно що в полях де ми ставили test підтягнулися дані з таблиці Staff.
В даному уроці після створення групи функцій необхідно її активувати (SE80 -> Клік правою кнопкою миші по створеній групі функцій -> Активувати), в іншому випадку не можна буде викликати операцію Find Scr. Number (s) і йти далі.
Я створила в'юшку, слідуючи вашій інструкції. Все вийшло відмінно. Однак, я помітила, що у мене в поле Discount таблиці ZKRE_ORDER варто неправильний Data Type. Я змінила його, попередньо змінивши і активізувавши Domain і Data Element. Після цього при введенні в'юшки через SM30 видається помилка: STOP. Description does not match target field. Чи не підкажете як це виправити? куди подивитися? Я зробила принт скріни для пояснення. Велике спасибі!