Елементи керування таблицею та цикли кроків - це об’єкти для відображення таблиці екрана, які ви додаєте на екран у екранній програмі.
З точки зору програмування, елементи керування таблицями та цикли кроків майже однакові. Елементи керування таблицями - це просто вдосконалені цикли кроків, які відображають дані із зовнішнім виглядом та стилем, пов’язаними з таблицями у настільних програмах.
За допомогою елементів керування таблицею користувач може:
- Прокрутіть таблицю по вертикалі та горизонталі
- Змініть розмір ширини стовпця
- Прокрутити всередині поля (коли вміст поля ширше поля)
- Виділіть рядки або стовпці таблиці
- Змініть порядок послідовності стовпців
- Збережіть поточні налаштування дисплея для подальшого використання
Елементи керування таблицями також пропонують спеціальні функції форматування (деякі автоматичні, деякі необов’язкові), які полегшують перегляд та використання таблиць. Контроль таблиці забезпечує -
- автоматична зміна розміру таблиці (вертикальна та горизонтальна), коли користувач змінює розмір вікна
- роздільні лінії між рядками та між стовпцями (вертикальні та горизонтальні)
- поля заголовка стовпця для всіх стовпців
Однією з особливостей циклів кроків є те, що їх рядки таблиці можуть охоплювати більше одного рядка на екрані. Рядок елемента керування таблицею, навпаки, завжди повинен міститися в одному рядку (хоча прокрутка можлива).
Загалом, багато функцій, що надаються елементом керування таблицею, обробляються локально за допомогою інтерфейсу SAPgui вашої системи, тому вам не потрібно програмувати їх самостійно. Єдиним помітним винятком з цього є вертикальна прокрутка .
Приклад (транзакція TZ60)
Синтаксис
Для обробки елементів керування таблицями в програмах ABAP потрібно оголосити елемент керування в частині програми оголошення для кожного елемента керування таблицею, використовуючи такий вираз:
ЕЛЕМЕНТИ УПРАВЛІННЯТИП ТАБЛИЦЯ ПОГЛЯД ЗА ВИКОРИСТАННЯМ ЕКРАНА
де
Позицію курсора для елемента керування таблицею можна встановити наступними способами:
У PBO ви можете встановити курсор на конкретне поле конкретного рядка елемента керування таблицею.
ВСТАНОВИТИ ПОЛЕ КУРСОРАРЯдок [OFFSET ]
Використовуючи додаткове доповнення OFFSET, ви можете ввести зміщення курсора в поле, як описано в розділі Налаштування позиції курсора.
У PAI ви можете прочитати поточну позицію курсора.
ОТРИМАТИ ПОЛЕ КУРСОРАРЯДК ...
На додаток до інформації, наведеної в розділі «Пошук позиції курсора», поле
ОТРИМАТИ КУРСОВУ РЯДКУ
для визначення рядка елемента керування таблицею. SY-SUBRC дозволяє перевірити, чи курсор розміщений у рядку елемента керування таблицею.
Для отримання відповідного рядка внутрішньої таблиці:
ОТРИМАТИ КУРСОР рядок.ind = -top_line + - 1.Прочитати таблицю індекс ind.
Системна змінна stepl - містить поточний індекс рядка таблиці у циклі… endloop. Loopc - містить кількість рядків, видимих у таблиці.
Створення
елемента керування таблицею 1.
Додавання елемента керування таблицею на екран 2. Надання імені елементу керування таблицею. У програмі ABAP оголосіть структуру з тим самим (тип CONTROLS
створити поля, перейдіть до функції Dict./Program fields.
- Введіть назву структури, поля якої ви хочете. (Якщо ви хочете, щоб його вибрати зі словника вашої програми, натисніть відповідну кнопку).
- У списку полів виберіть потрібні поля та виберіть "ОК".
- Клацніть в області керування таблицею
Якщо ви хочете виділити стовпець, поставте відповідний прапорець в атрибутах і дайте йому назву. Створіть поле в програмі ABAP.
У PBO ви повинні мати заяву
LOOP за адресоюЗА ВИКОРИСТАННЯМ CONTROL .ENDLOOP.
У PAI ви повинні мати.
LOOP на.ENDLOOP.
У циклах відбувається передача даних між екраном і внутрішньою таблицею. Коли ви заповнюєте внутрішню таблицю, використовуйте DESCRIBE TABLE
Щоб змінити атрибути окремих комірок, тимчасово змініть таблицю SCREEN в PBO. Ви можете змінити атрибути структури, створеної за допомогою оператора CONTROLS
-fixed_cols тощо - це атрибути елемента керування -cols-index etc - це атрибути стовпців. -cols-screen-invisible etc - це атрибути екрана кожного стовпця.