ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.04.2021
Просмотров: 763
Скачиваний: 3
61
62
Глава 7: Объекты ABAP и страницы бизнес-сервера
Содержание
Данная
глава
объясняет
основные
принципы
объектно-ориентированного
программирования и их адаптацию к ABAP. Также объясняются принципы работы
страниц бизнес-сервера (Business Server Pages (BSPs)), а также связанные с этим
понятием темы использования BAPI, HTMLB и MVC-шаблона.
Обоснование
Данная глава рассказывает, как создавать простые программы с помощью объектов
ABAP
. Также она показывает процесс создания и выполнения BSP-приложений.
Кроме того эта глава объясняет как адаптировать архитектурный шаблон MVC к
приложениям BSP.
Требования
Вы должны хорошо знать ABAP, а также хорошо ориентироваться в системе SAP.
63
Задание 1: Вход в систему SAP
Краткое описание
: Используя SAPGui, войдите в систему с вашим именем
пользователя и паролем.
Запустите SAPGui и войдите в систему, используя предоставленное имя
пользователя и пароль. Вы можете найти их в главе 1.
Задание 2: Работа с объектами ABAP
Краткое описание:
Воспользуйтесь объектом ABAP в программе.
Запустите Навигатор по объектам из меню SAP Easy Access, используя следующий
путь:
Инструменты
•
ABAP-
инструментальные средства
•
Обзор
• Навигатор по
объектам
.
Код данной транзакции –
SE80
Создайте новую программу «
ZY_*##_OBJECTS
». Не добавляйте
TOP-Include
и
установите статус программы –
«Тестовая».
Вы создадите новый локальный класс для хранения данных об авиакомпаниях. Этот
класс будет вызываться программой при создании несколько реализаций этого
класса.
Для начала добавьте строку «
INCLUDE ZY_*##_CLASS_INCLUDE.
» в программу и
создайте соответствующий include, дважды щелкнув по названию. Новый include
будет включать в себя определение локального класса
LCL_AIRPLANE
.
Начните с объявления класса. Вам нужен метод
set_attributes
и метод
get_attibutes
с общим доступом. Метод
set_attribute
включает в себя входной параметр
im_name
названия самолета и входной параметр
im_planetype
для типа самолета. Оба
признака должны быть определены в защищенной секции
private section
.
Метод
set_attributes
должен устанавливать значения переменных
name
и
planetype
согласно входным параметрам. Метод
get_attributes
должен выводить на экран
значения атрибутов класса для определенного объекта с помощью команды
WRITE
.
Код обоих методов показан ниже.
Вход
Путь в меню
Без TOP INCL
Объявление
методов
64
Вернитесь к основной программе. Теперь вы создадите несколько самолетов и
сохраните указатели на них во внутренней таблице, чтобы впоследствии иметь
возможность обратиться к этим данным. Указатель
r_plane
будет ссылаться на
локальный класс
LCL_AIRPLANE
, используя инструкцию
TYPE REF TO
. Тем же
способом внутренняя таблица
it_plane_list
определяется как таблица указателей на
этот локальный класс. Объявление данных в программе «
ZY_*##_OBJECTS
»
представлено ниже:
Теперь начните блок «
START-OF-SELECTION
» созданием объекта командой
CREATE OBJECT,
на который указывает переменная
r_plane
. Вызовите метод
set_attribute,
используя этот указатель, и присвойте название и тип самолета новому
объекту с помощью соответствующих параметров метода. Добавьте указатель в
таблицу
it_plane_list
с помощью команды
APPEND
. При добавлении указателя, адрес
созданного объекта сохраняется в таблице и мы можем использовать указатель
r_plane
для других объектов. Теперь создайте еще один самолет и также добавьте
его в таблицу.
Исходный код
Создайте два
объекта
65
И, наконец, пройдите циклом по таблице и выведите на экран данные по каждому
самолету методом
get_attribute
.
Сохраните, проверьте и активируйте программу. Протестируйте ее. Вы должны
увидеть атрибуты двух созданных объектов.
Задание 3: Создание простой страницы бизнес-сервера (BSP)
Краткое описание:
Создайте новое BSP-приложение.
Запустите Навигатор по объектам из меню SAP Easy Access, используя следующий
путь:
Инструменты
•
ABAP-
инструментальные средства
•
Обзор
• Навигатор по
объектам
.
Код данной транзакции –
SE80
Откройте свой пакет, выбрав «Пакет» из выпадающего списка и введя название
пакета.
Пройдите
циклом по
таблице
Откройте
свой пакет