Табличные элементы управления и пошаговые циклы - это объекты для отображения экранной таблицы, которые вы добавляете на экран в Screen Painter.
С точки зрения программирования, элементы управления столом и пошаговые циклы почти одинаковы. Табличные элементы управления - это просто улучшенные пошаговые циклы, которые отображают данные в стиле таблиц в настольных приложениях.
С помощью табличных элементов управления пользователь может:
- Прокрутите таблицу по вертикали и горизонтали
- Измените размер столбца
- Прокрутка внутри поля (когда содержимое поля шире, чем поле)
- Выберите строки или столбцы таблицы
- Измените порядок следования столбцов
- Сохраните текущие настройки дисплея для использования в будущем.
Элементы управления таблицами также предлагают специальные функции форматирования (некоторые автоматические, некоторые необязательные), которые упрощают просмотр и использование таблиц. Table Control обеспечивает -
- автоматическое изменение размера таблицы (по вертикали и горизонтали), когда пользователь изменяет размер окна
- разделительные линии между строками и между столбцами (вертикальные и горизонтальные)
- поля заголовка столбца для всех столбцов
Одной из особенностей пошаговых циклов является то, что их строки таблицы могут занимать более одной строки на экране. С другой стороны, строка табличного элемента управления всегда должна содержаться в одной строке (хотя возможна прокрутка).
Как правило, многие функции, предоставляемые элементом управления таблицей, обрабатываются локально интерфейсом SAPgui вашей системы, поэтому вам не нужно их программировать самостоятельно. Единственное заметное исключение - вертикальная прокрутка .
Пример (транзакция TZ60)
Синтаксис
Для обработки табличных элементов управления в программах ABAP необходимо объявить элемент управления в части объявления программы для каждого табличного элемента управления с помощью следующего оператора:
ОРГАНЫ УПРАВЛЕНИЯТИП TABLEVIEW ИСПОЛЬЗОВАНИЕ ЭКРАНА
где
Положение курсора для табличного элемента управления можно установить следующими способами:
В PBO вы можете установить курсор на определенное поле определенной строки табличного элемента управления.
УСТАНОВИТЬ ПОЛЕ КУРСОРАСТРОКА [СМЕЩЕНИЕ <выкл.>]
Используя дополнительное дополнение OFFSET, вы можете ввести смещение курсора в поле, как описано в разделе «Установка положения курсора».
В PAI вы можете прочитать текущую позицию курсора.
ПОЛУЧИТЬ ПОЛЕ КУРСОРАСТРОКА …
В дополнение к информации, приведенной в разделе «Определение положения курсора», поле
ПОЛУЧИТЬ ЛИНИЮ КУРСОРА.
для определения строки элемента управления таблицей. SY-SUBRC позволяет проверить, находится ли курсор в строке элемента управления таблицы.
Для получения соответствующей строки внутренней таблицы:
ПОЛУЧИТЬ строку КУРСОРА.ind = -top_line + - 1.Прочитать таблицу index ind.
Системная переменная stepl - содержит индекс текущей строки таблицы в цикле… endloop. Loopc - содержит количество строк, видимых в таблице.
Создание
элемента управления таблицей 1. Добавьте элемент управления таблицей на экран
2. Дайте имя элементу управления таблицей. В программе ABAP объявите структуру с таким же (CONTROLS
3. Для создания полей перейдите к функции Dict./Program fields.
- Введите имя структуры, поля которой вы хотите. (Если вы хотите, чтобы он выбирал его из словаря вашей программы, нажмите соответствующую кнопку).
- В списке полей выберите нужные поля и нажмите ОК.
- Щелкните в области управления таблицей
Если вам нужен столбец выбора, установите соответствующий флажок в атрибутах и дайте ему имя. Создайте поле в программе ABAP.
В ОПО у вас должна быть выписка
ПЕТЛИ вИСПОЛЬЗУЯ КОНТРОЛЬ .КОНЕЦ.
В PAI у вас должно быть.
ПЕТЛИ на.КОНЕЦ.
Именно в циклах происходит передача данных между экраном и внутренней таблицей. При заполнении внутренней таблицы используйте DESCRIBE TABLE
Чтобы изменить атрибуты отдельных ячеек, временно измените таблицу SCREEN в PBO. Вы можете изменить атрибуты структуры, созданной оператором CONTROLS.
-fixed_cols и т. д. являются атрибутами элемента управления -cols-index и т. д. являются атрибутами столбцов. -cols-screen-invisible и т. д. - атрибуты экрана каждого столбца.