Добавить новую плитку в Fiori Launchpad

Задача:
Добавить новую плитку в Fiori Launchpad для имеющегося приложения UI5.

Шаги настройки:
1. Создание семантического объекта.
В транзакции /UI2/SEMOBJ добавить новую запись(семантический объект).
(Имя выбираете произвольно)

Читать далее «Добавить новую плитку в Fiori Launchpad»

oData выбор языка запроса

Язык, под которым выполняется сервис, зависит от языка входа в FIORI. Это не всегда устраивает. Например, вам надо получить логи на определенном языке или какие-то тексты отстусвуют на языке входа. Можно принудительно задать указать язык запуска сервиса добавив в URL префикс ?sap-language=’DE’ . Где ‘DE’ в данном случае немецкий язык.

Пример:
/sap/opu/odata/sap/ZZ_TEST_SERVICE_SRV/FileSet(‘Excel.xls’)/$value?sap-language=’DE’

Создание oData сервиса. Часть 5. Deep entity получение данных

В предыдущих частях(три, четыре) было рассмотрено получение зависимых данных из системы SAP. В данной части получим данные из внешнего источника в систему. Для для этого будем использовать метод CREATE_DEEP_ENTITY.
Получать будем туже самую структуру, что отправляли в предыдущем посте.

Читать далее «Создание oData сервиса. Часть 5. Deep entity получение данных»

Создание oData сервиса. Часть 4. oData expand entity отправка данных

В прошлом посте было рассказано об ассоциации и навигации. В результате получили несколько вызовов сущностей, происходящих друг за другом. Однако, данный способ накладывает некоторые ограничения и потенциальные потери производительности, т.к. вместо одного RFC вызывается целая цепочка. Также часто нужно данные для передачи на фронт мы получаем одновременно, например как результат работы ФМ. Конечно, можно положить эти данные в буфер и брать необходимое во время вызова соответствующей сущности, звучит не очень рационально.
Стандартный интерфейс позволяет сделать так, чтобы все зависимые сущности заполнялись одновременно.

Читать далее «Создание oData сервиса. Часть 4. oData expand entity отправка данных»

Создание oData сервиса. Часть 2. Function import

Function import – Операция выполняемая на стороне бэкенд системы. Это некоторая альтернатива обычным CRUD сервисам для случаев не подходящих под GET, POST, PUT, DELETE запросы. Может быть вызвана GET и POST методами. Например, проверки, запуски каких либо операций и прочее.

Пример создания

Для сервиса созданного в прошлой части создадим Function import по проверке наличия записи в таблице. (Максимально примитивная функция, в реальных задачах будете вызывать что-то реально стоящее))

Читать далее «Создание oData сервиса. Часть 2. Function import»

SAP. Перенос объекта в другой запрос

Чтобы перенести объекты из одного запроса в другой не надо удалять объекты из первого запроса и вставлять во второй. Хотя часто идут таким путем. Можно все сделать при помощи одной кнопки.

Читать далее «SAP. Перенос объекта в другой запрос»

CRM emails

Пару слов о формулярах CRM. Недавно столкнулся с формулярами в Solution Manager. Для меня это впервые, сохраню напоминалку, может быть кому-то еще пригодится.
Настройка ведется в транзакции SPRO:

 SPRO->SAP Solution Manager: руководство по внедрению->Управление отношениями с клиентами->Маркетинг->Маркетинговое планирование и управление кампаниями->Персонализированный мейл->Обработать контексты признаков для формуляров мейла

Тут мы можем создать пользовательский контекст

Читать далее «CRM emails»

WEB UI Создание и вызов всплывающего окна. Часть 4 Передача данных во всплывающее окно.

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

Делается это довольно просто. Сначала создадим сущность с данными, после передадим ее в метод OPEN

Читать далее «WEB UI Создание и вызов всплывающего окна. Часть 4 Передача данных во всплывающее окно.»

WEB UI Создание и вызов всплывающего окна. Часть 3 Кнопка закрытия всплывающего окна.

В предыдущих заметках: Раз, Два. Было рассмотрено создание всплывающего окна. Однако, выход из этого окна возможен только путем нажатия крестика в правом верхнем углу. Для кого-то, возможно, это будет достаточно. Мы же добавим кнопку выхода из окна.

  1. Первым делом добавим саму кнопку, по аналогии с тем, как мы делали это ранее для вызова окна.

Читать далее «WEB UI Создание и вызов всплывающего окна. Часть 3 Кнопка закрытия всплывающего окна.»

ALV редактирование\запрет редактирования отдельной ячейки

Если в ALV необходимо редактировать отдельные ячейки, а не весь столбец уже мало просто отметить возможность редактирования в каталоге полей.

Читать далее «ALV редактирование\запрет редактирования отдельной ячейки»