Академический Документы
Профессиональный Документы
Культура Документы
пошаговое руководство по
созданию пользовательского
приложения UI5 с помощью MM
Data
Процесс разработки при создании приложения SAP Fiori (SAPUI5)
состоит из двух частей. В бэкэнде выполняется создание, внедрение и
публикация сервиса Open Data Protocol (OData). Во фронтэнде
выполняется сборка приложения SAPUI5 и его развертывание в системе
SAP Gateway. Далее приложение извлекает из бэкэнда SAP данные в
реальном времени и выводит их на экран.
1
реальном времени, полученных и отпущенных материалах повышает
эффективность управления бизнес-процессами. В статье показано, как
разработать приложение SAP Fiori, извлекающее основные данные MM из
бэкэнд-системы SAP Gateway. Далее эти данные можно просмотреть в
виде списка материалов на экране в приложении SAP Fiori. Пользователь
может осуществлять поиск конкретного материала по его описанию. Такой
мобильный подход открывает новые возможности работы с данными MM.
2
Рис. 1. Обзор процесса для примера приложения SAP Fiori
Обратите внимание на то, что на рис. 1 InA означает набор инструментов
инфодоступа для HTML5 (InA). Набор инструментов InA представляет
собой набор шаблонов HTML5 и элементов управления
пользовательского интерфейса (UI), с помощью которых можно
сконфигурировать современный высокоинтерактивный пользовательский
интерфейс, работающий в браузере. Технической предпосылкой для
этого является наличие Eclipse Luna, SAP Gateway, модуля SAP ERP MM
и SAP Fiori.
Для разработки сервиса SAP Gateway выполните вход в бэкэнд-систему
SAP. Выполните транзакцию SEGW (построитель сервисов SAP Gateway),
а затем щелкните по пиктограмме создания проектов , чтобы начать
создание нового проекта. После этого появится всплывающее окно
«Создание проекта», показанное на рис. 2.
3
Рис. 2. Всплывающее окно «Создание проекта»
4
После нажатия кнопки «Локальный объект» появится экран, показанный
на рис. 3. Н нем отображается структура созданного проекта
Z_MATERIAL_LIST.
5
Рис. 4. Всплывающее окно «Создание типа сущности»
7
время внедрения сервиса OData. Все поля являются строковыми, поэтому
важно соблюдать максимальную длину значений. Максимальная длина
указана в соответствующих таблицах. Для просмотра подробных данных
соответствующих таблиц и характеристик их столбцов используйте
транзакцию SE11 или SE16N.
8
Пример
Снова убедитесь в том, что все поля относятся к типу Edm.String. Важно
указать в столбце «Макс…» максимальное разрешенное число символов
для каждого поля. На рис. 7 отображаются поля свойств, которые теперь
содержат указанные свойства для полей «Номер материала», «Описание
материала», «Тип материала», «Группа материала» и «Единица
материала».
9
Рис. 8. Всплывающее окно «Определение модели и сервиса»
10
Рис. 9. Сохранение объекта как локального
На рис. 10 показаны отображаемые системные сообщения.
11
(запрос)» и щелкните правой кнопкой мыши по пункту «Получить набор
сущностей (запрос)». В контекстном меню выберите «Перейти к
инструментальным средствам ABAP». Появится всплывающее окно
«Информация», см. Рис. 12.
12
Рис. 13. Опция переопределения для MATERIALS_GET_ENTITYSET
16
Рис. 21. Сгенерированный ответ HTTP
Измените URI запроса для создания структуры сервиса OData (например,
измените суффикс кода с ?$format=xml на $metadata). Метаданные OData
доступны только в формате XML, но не JSON. На рис. 22 показан полный
URI запроса с требуемым суффиксом $metadata.
17
Рис. 23. Сгенерированный ответ HTTP
Для извлечения материалов измените суффикс URI запроса на Materials.
Нажмите кнопку «Выполнить». На рис. 24 показан новый суффикс
Materials для поля «URI запроса».
18
Рис. 25. Сгенерированный ответ HTTP
Последний ответ HTTP на рис. 25 представлен в формате XML. Измените
формат ответа на JSON. Это формат открытого стандарта, его проще
считать. Для этого щелкните по пиктограмме добавления заголовка на
экране «Клиент SAP NetWeaver Gateway» (рис. 26).
19
Рис. 27. Всплывающее окно «Управление заголовком запроса HTTP»
20
Рис. 29. Ответ при извлечении материалов в формате JSON
21
Рис. 30. Разработка приложения SAPUI5: опция «Проект приложения»
Выполните прокрутку вниз на экране мастера до проекта приложения в
папке «Разработка приложения SAPUI5». Выберите папку «Проект
приложения» и нажмите кнопку «Далее». Появится экран «Новый проект
приложения» (рис. 31).
22
На рис. 31 отображаются опции Создание проекта приложения для
библиотеки SAPUI5. Присвойте проекту имя, в данном случае «Список
материалов». По умолчанию выбрана опция sap.m переключателя
«Библиотека пользовательского интерфейса». В настоящее время это
ведущая библиотека для разработки мобильных приложений для SAPUI5.
Для стандартных средств управления можно использовать опцию
«Библиотека sap.ui.commons». В примере для мобильного приложения
выбрана опция sap.m.
Удалите индикатор «Создать начальный ракурс» и нажмите кнопку
«Готово». Библиотека sap.m становится основной библиотекой SAPUI5
(адаптивной библиотекой). Структура проекта «Список материалов»,
показанная на рис. 32, создана в структуре проекта Eclipse.
23
2. папку i18n для всех переводимых текстов, которые будут использоваться
в ракурсах.
Сначала создайте первую папку view. Щелкните правой кнопкой мыши по
папке WebContent и выберите «Создать ▶ Папку». Появится
всплывающее окно «Новая папка» (рис. 33). Присвойте новой папке имя
view. Позднее папка view будет содержать все ракурсы и контроллеры.
Приложение создается на основе парадигмы Model View Controller (MVC).
Нажмите кнопку «Готово». Новая папка view появится в папке WebContent.
24
В структуре проекта «Список материалов» повторите аналогичный
процесс для новой папки i18n. Папка i18n (краткое название для
интернационализации) содержит текстовые файлы (переводимые).
25
Рис. 35. Пример контента index.html
Код скрипта на рис. 36, также показанный на рис. 35, требуется для
начальной загрузки структуры SAPUI5.
26
Рис. 38. Пример нового index.html
27
Также был инициализирован контейнер компонента, который является
оболочкой для приложения. Оболочная была использована для
корректных полей и заполнений. На рис. 39 показан пример index.html.
28
Рис. 40. Новое всплывающее окно «Файл»
Файл Component.js добавлен к папке WebContent, как показано на рис. 41.
30
Рис. 44. Метод инициализации Component sample.js
1. Модель пакета ресурсов будет иметь имя i18n. Эта модель ищет файлы
i18nproperties в папке i18n.
2. Основная модель для сервиса Gateway OData уже разработана.
31
Рис. 45. Новое всплывающее окно «Файл»
Файл i18n.properties содержит идентификаторы и значения текстов
согласно синтаксису <ид. текста >=< значение текста>. Идентификаторы
текста используются позднее в ракурсе «Материалы». Заполните
содержимое файла i18n.properties текстом (см. изображение требуемого
текста i18n.properties на рис. 46).
32
Рис. 46. Ввод требуемого текста i18n.properties
Сохраните файл с помощью пиктограммы сохранения на верхней панели
инструментов Eclipse. Теперь файл должен выглядеть так, как показано
на рис. 47. Слева отображаются подробные данные и папки проекта, а
справа — содержимое файла i18.properties.
33
Рис. 48. Путь по меню: Разработка приложений SAPUI5 ▶ Ракурс ▶
Далее
Появится всплывающее окно «Новый ракурс» (рис. 49) с указанием
проекта, папки, имени и типа парадигмы. Присвойте ракурсу имя App
(оно должно совпадать с именем, определенным в Component.js, имя
метаданных — rootView). Выберите тип парадигмы разработки «XML» и
нажмите кнопку «Готово».
34
Рис. 49. Всплывающее окно «Новый ракурс»
В папке ракурсов будут созданы два файла приложения (рис. 50):
1. App.view.xml: Собственно ракурс.
2. App.controller.js: Контроллер.
36
Рис. 54. Добавление файлов Materials.controller.js и Materials.view.xml к
папке ракурсов
Теперь измените контент в ракурсе «Материалы». Дважды щелкните по
Materials.view.xml для просмотра кода в редакторе (рис. 55). Это пример
начального контента для кода Materials.view.xml.
37
все объекты в папке WebContent должны начинаться с области имен
com.blackvard.materialist.
38
Рис. 57. Пример кода поля и таблицы поиска
Вручную измените заголовок страницы и добавьте таблицу с пятью
столбцами в XML-коде, см. Рис. 58. Примечание. Для изменения
содержимого любого файла дважды щелкните по его имени, измените
содержимое и выберите пиктограмму сохранения.
39
Редактирование таблицы: Присвойте таблице материалов
идентификатор. В данном случае используется идентификатор
materialsTable. Этот идентификатор будет использован позднее в
контроллере Materials. С его помощью пользователь может выбрать не
более одного элемента. Установите для таблицы режим
SingleSelectMaster.
40
Рис. 59. Начальный код контроллера
Измените имя контроллера на com.blackvard.materiallist.view.Materials.
На рис. 60 показано изменение кода на
com.blackvard.materiallist.view.Materials.
41
Наконец, обновите привязку таблицы для активации нового фильтра
(aFilters). Это инициирует запрос HTTP в систему SAP на извлечение
материалов с применением установленного фильтра. На рис. 61 показан
пример окончательного кода Materials.controller.js.
Развертывание приложения
42
Рис. 62. Всплывающее окно «Публикация проекта»
Выберите репозиторий SAPUI5 ABAP и нажмите кнопку «Далее».
Репозиторий SAPUI5 ABAP подключаемый модуль, который необходимо
загрузить и установить с помощью инструментов установки SAPUI5.
Скачать этот подключаемый модуль можно по ссылке
https://tools.hana.ondemand.com/. Репозиторий SAPUI5 ABAP
используется при развертывании приложений из Eclipse в SAP. В
появившемся окне «Подключение к системе» (рис. 63) выберите опцию
«Обзор…» для поиска системы SAP на панели входа в систему.
43
Рис. 63. Всплывающее окно «Публикация подключения к системе
проектов»
После выбора правильной системы SAP отображается экран,
представленный на рис. 64. После проверки правильности этой
информации нажмите кнопку «Далее».
44
Рис. 64. Всплывающее окно «Совместное использование подключения к
системе проектов»
Появится окно входа в систему (рис. 65). Введите регистрационные
данные (клиент, пользователь и пароль) и нажмите кнопку «Далее».
45
Рис. 65. Всплывающее окно «Публикация данных проекта для входа в
систему»
На открывшемся экране (рис. 66) можно создать новое приложение BSP
или добавить его к существующему приложению BSP. Добавление
приложения к существующему приложению позволяет совместно
использовать фронтэнд-разработку и подключиться к другому
ландшафту. В данном случае простое приложение MM можно подключить
только к демо-системе, либо прикрепить/подключить/совместно
использовать его в другом ландшафте, если у вас есть соответствующие
полномочия.
46
Рис. 66. Ввод подробных данных приложения BSP
Укажите подробные данные приложения BSP (имя, описание и пакет) и
нажмите кнопку «Далее». На появившемся экране (рис. 67) выберите
запрос на перенос (если требуется), а затем нажмите кнопку «Готово».
47
Рис. 67. Выбор всплывающего окна «Запрос на перенос»
Публикация проекта аналогична установлению соединения между Eclipse
и системой SAP. После публикации проекта необходимо отправить
изменения в систему SAP. Стрелка (>) перед папкой
WebContent (рис. 68) обозначает, что изменения доступны в Eclipse и
ожидают отправки в систему SAP.
48
Рис. 68. Контекст index.html
49
Рис. 69. Всплывающее окно «Отправка изменений — выбор ресурсов
для отправки изменений»
50
Рис. 70. Вызов экрана «Ведение сервисов»
Система возвращает список уже доступных сервисов (например,
предварительно определенных стандартных сервисов), см. Рис. 71.
51
Рис. 72. Окончательный вывод приложения
Теперь пользователь может выполнять поиск конкретных продуктов. При
вводе пользователем текста в поле «Поиск материала» отображаются
только продукты с соответствующей строкой. На рис. 73 показаны
результаты поиска строки продуктов.
52