Читайте также: |
|
После запуска программы ссылочная переменная содержит начальное значение (“ т.е. не указывает на какую-либо инстанцию ”). После того, как она в первый раз будет использована для создания инстанции, ее начальное значение изменяется на обозначение этой инстанции.
Критерии выбора определяются при помощи оператора
CREATE OBJECT reference_name.
посредством которого создается инстанция класса, указанного в определении ссылочных переменных. После этого ссылочная переменная будет указывать на эту созданную инстанцию.
При использовании оператора CREATE OBJECT может потребоваться перенос данных в параметры импорта специального метода CONSTRUCTOR
. Этот специальный метод выполняется автоматически непосредственно после создания инстанции. В процессе его выполнения происходит передача значений в соответствующие атрибуты новой инстанции на основе его параметров импорта.
Вызов методов инстанции осуществляется посредством оператора
CALL METHOD reference_name->method_name.
В отличие от вызова функционального модуля, в данном случае указания имени метода недостаточно. Необходимо также указать соответствующую инстанцию, поскольку в программе могут существовать несколько инстанций данного класса.
В SAP версии 4.6 и выше имеется множество управляющих элементов
EnjoySAP, посредством которых можно создавать более эргономичные и интересные экраны. На рисунке выше показано несколько таких управляющих элементов:
• Управляющий элемент сетки предназначен для вывода на экран внутренней таблицы с использованием таких функций, как сортировка, фильтрация, суммирование и т.д.
• Управляющий элемент для изображения предназначен для вывода на экран изображения.
• Управляющий элемент для HTML Viewer предназначен для вывода на экран HTML-файла или веб-страницы.
• Управляющий элемент дерева предназначен для вывода на экран иерархического списка древовидной структуры.
Обращение к управляющим элементам выполняется посредством классов и методов, имеющихся в стандартной поставляемой SAP-системе.
Далее описывается использование класса CL_GUI_ALV_GRID в целях иллюстрации многократного использования существующих классов для обращения к наиболее интересному и популярному компоненту ALV Grid Control.
Для получения подробной информации обо всех управляющих элементах
EnjoySAP и их взаимодействии см. курс BC412.
Рисунок 208: Пример приложения: ALV Grid Control
Компонент ALV Grid Control, также называемый SAP List Viewer (ALV), используется для вывода на экране внутренней таблицы. Он имеет множество пользовательских функций.
Пользователь может изменять ширину столбцов на экране; кроме
того, ширина может автоматически корректироваться в соответствии с выводимыми данными. Расположение выводимых столбцов также можно изменять путем перетаскивания.
Стандартные кнопки управления могут использоваться, помимо прочего, для выполнения следующих функций:
При просмотре подробных данных выводятся поля, которые были выбраны ранее в модальном диалоговом окне при помощи курсора.
Функция сортировки позволяет пользователю задать ряд критериев для сортировки столбцов.
В пределах выбранной области можно использовать функцию поиска для нахождения определенной строки символов в строках или столбцах.
Можно подсчитать сумму по одному или каждому из нескольких столбцов с числовыми значениями. Функция Промежуточные суммы позволяет создавать списки уровней сортировки. Перед применением
этой функции можно выбрать требуемые столбцы с нечисловыми значениями, в этом случае на экран будут выведены соответствующие итоговые значения.
Кроме того, можно выполнить функции Печать и Выгрузка путем нажатия соответствующих кнопок.
Пользователь может сохранить свои настройки в управляющем элементе сетки в качестве варианта просмотра и повторно использовать их в дальнейшем.
Рисунок 209: Архитектура выполнения SAP-управляющего элемента сетки
Управляющие элементы EnjoySAP всегда должны быть интегрированы в управляющий элемент SAP-контейнера (далее – контейнер). Контейнер должен быть интегрирован в подготовленную область управляющего элемента на экране. (См. левую часть вышеприведенного рисунка.)
С точки зрения GUI, для внедрения управляющего элемента сетки и контейнера соответствующие инстанции должны быть созданы как заместители в программе. Эти инстанции можно использовать для адресации элементов GUI. Для этого в SAP-системе имеются стандартные классы, из которых можно генерировать инстанции управляющих элементов сетки и контейнера.
При создании инстанции неявно вызывается специфичный для класса конструктор (специальный метод CONSTRUCTOR этого класса). Назначение этого метода состоит в заполнении атрибутов создаваемой инстанции значениями его параметров ввода. Таким образом, при создании инстанции (CREATE OBJECT) необходимо указать значения требуемых параметров импорта конструктора.
Для получения подробной информации о каком-либо глобальном классе или методе можно перейти к построителю классов.
Выведите список объектов класса в области навигации навигатора по объектам. После двойного щелчка по классу происходит переход к подробному просмотру в построителе классов. (Кроме того, можно перейти к построителю классов посредством двойного щелчка по имени класса
в ABAP-программе). Установите курсор на требуемый метод и нажмите кнопку Параметр для просмотра интерфейсных параметров метода.
Метод CONSTRUCTOR глобального класса
CL_GUI_CUSTOM_CONTAINER (класс для контейнера)
имеет обязательный параметр CONTAINER_NAME. Следовательно, при создании инстанции контейнера необходимо определить как минимум этот параметр, а именно имя области управляющего элемента на экране.
Глобальный класс CL_GUI_ALV_GRID имеет множество методов, которые могут вызываться для выполнения соответствующих функций управляющего элемента сетки. Для вывода содержимого внутренней таблицы с использованием ALV Grid Control достаточно иметь подробную информацию о следующих трех методах:
CONSTRUCTOR
Класс сетки также имеет конструктор. Единственным обязательным параметром является параметр i_parent, в который должна передаваться уже созданная инстанция контейнера (в форме указателя) при создании инстанции управляющего элемента сетки.
Дата добавления: 2015-11-16; просмотров: 45 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
MESSAGE e149(bc400). ENDIF. | | | REFRESH_TABLE_DISPLAY |