ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.04.2021

Просмотров: 762

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

71 

 

 
Код делает следующее: сначала вы определяете несколько временных переменных, 
затем  вызываете  BAPI-функцию  и  переводите  полученные  значения  в  читаемый 
формат(конструкция  if).  Теперь  нужно  создать  несколько  текстовых  полей,  чтобы 
показать  результат.  Полностью  код  программы  должен  выглядеть  следующим 
образом: 

Исходный 

код 


background image

 

72 

 

 
Сохраните,  проверьте  и  активируйте  страницу.  Протестируйте.  Результат  должен 
выглядеть следующим образом: 
 

 

 

Задание 5: Преимущества HTMLB 

Краткое описание:

 

Воспользуйтесь HTMLB, чтобы вывести на экран результат SQL-

запроса всего одной HTMLB-инструкцией. 
 
В задании 3 вы использовали обычный  HTML, чтобы отобразить некоторые данные. 
Как  вы  помните,  построение  HTML-таблицы  было  долгим  и  неудобным.  Теперь 
проделаем то же самое, но уже с помощью HTMLB. 
 
Запустите  Навигатор  по  объектам  из  меню  SAP  Easy  Access,  используя  следующий 
путь: 

 

Результат 


background image

 

73 

Инструменты 

 ABAP-

инструментальные средства 

• 

Обзор

 

• Навигатор по 

объектам

.  

 
Код данной транзакции – 

SE80

 

 
Для этого задание вновь используйте свое BSP-приложение «

ZY_*##_BSP

»

. Создайте 

новую страницу с логикой выполнения «

htmlb_connections.htm

»

 
 

 

 

В сгенерированном коде удалите все строки, находящиеся внутри тэга  <htmlb:form>. 
Теперь, добавьте необходимый ABAP-код для считывания сведения об авиарейсах из 
базы данных. Взгляните на следующий рисунок, если возникнут проблемы: 
 

 

 
На  следующем  шаге  вы  хотите  вывести  на  экран  весь  список.  Вместо  построения 
таблицы вручную, воспользуйтесь преимуществами HTMLB. Вставьте следующий код: 

Новая 

страница 

ABAP code 

Исходный код 


background image

 

74 

 

Теперь  сохраните,  проверьте  и  активируйте  BSP.  При  тестировании  вы  увидите 
огромную  разницу  между  старомодной  HTML-таблицей  и  новой  HTMLB-таблицей, 
которая  не  только  отображает  данные,  но  и  предоставляет  дополнительный 
функционал.  
 

 

 

Задание 6: Использование MVC-шаблона 

Краткое  описание:

 

Воспользуйтесь  MVC-шаблоном,  чтобы  построить  новое  web-

приложение,  использующее  разделенные  модули  для  отображения  и  логики 
выполнения. 
 
Запустите  Навигатор  по  объектам  из  меню  SAP  Easy  Access,  используя  следующий 
путь: 

 
Инструменты 

 ABAP-

инструментальные средства 

• 

Обзор

 

• Навигатор по 

объектам

.  

 
Код данной транзакции – 

SE80

 

 


background image

 

75 

Для  этого  задания  создайте  новое  BSP-приложение  «

ZY_*##_MVC

»

.  Присвойте 

приложение своему существующему пакету и запросу переноса. 
 

 

 
Теперь  создайте  новый  контроллер  „

zy_*##_mvc_con.do

‟  из  контекстного  меню 

приложения. 

 

 
 

 

 
Сразу  после  создания  контроллера  для  MVC  приложения,  контроллер  не  содержит 
никакой  логики  выполнения  или  вывода.  Вы  должны  присвоить  контроллер  классу 
контроллера.  Так  как  вы  еще  не  создали  класс,  введите  имя  будущего  класса  в 
соответствующее поле «

ZYCL_*##_MVC

». Сохраните контроллер и дважды щелкните 

по имени класса. Система спросит, хотите ли вы создать новый класс. Нажмите «Да» 
и присвойте класс своему пакету и запросу переноса. 
 
Как вы видите, только что созданный класс содержит множество методов. Фактически, 
все  эти  методы  унаследованы  от  класса  SAP  «

CL_BSP_CONTROLLER

».  Система 

автоматически  выбрала  этот  класс,  так  как  вы  создали  новый  класс  для  нового 
контроллера.  Ваш  класс  содержит  метод  «

DO_REQUEST

».  Этот  метод  выполняется 

всегда,  когда  контроллер  получает  запрос.  Вы воспользуетесь  этим  методом, чтобы 
реализовать  логику  выполнения.  Так  как  ваш  класс  унаследовал  данный  метод  от 
стандартного  класса  SAP,  вы  не  можете  изменить  его,  но  можете  переопределить. 

Новое приложение 

Создайте 

контроллер 

Имя класса 

Переопределите