Первым делом необходимо узнать, какие компоненты следует активировать для приложения. Переходим по адресу: https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#
Читать далее «Активация стандартного приложения Fiori»Вывод таблицы WEB UI CRM
Создадим в CRM окно следующего вида:
Часть информации рассматривалась ранее. И будет опущена, чтобы не дублировать.
Выполнить команду операционной системы.
Средствами ABAP выполнить команду непосредственно в командной строке операционной системы. Оговорюсь сразу, данный подход это совсем уж крайняя мера, безопасность может быть под вопросом. Однако, порой есть определенная необходимость.
Для работы с командной строкой можно использовать программу RSBDCOS0. Это прям классическая консоль ОС. Вводим команду, нажимаем "enter", получаем результат.
Пример с получением списка файлов в каталоге:
Типы RFC в SAP
Remote Function Call (RFC) - стандартный интерфейс связи между SAP системами. RFC функцию можно выполнить в другой системе.
Существует несколько видов RFC функций.
sRFC
sRFC - синхронные RFC. Данный вид RFC выполняется на принципах синхронной связи. Т.е. целевая система должна быть доступна в данный момент, а система из которой вызывается RFC ожидает выполнения. Применение данных RFC целесообразно когда требуется получить данные из целевой системы. Например, при работе в ERP требуется чтение данных какой-либо таблицы в HR системе.
ФМ должен иметь тип выполнения - "Дистанционный модуль".
Читать далее «Типы RFC в SAP»
JIRA API поиск по custom fields
В сущности Jira имеется большой набор полей вида customfield_XXXXX, где ХХХХХ код поля. Если попробовать сделать запрос на подобии запроса к обычным именованным полям:
1 |
/rest/api/2/search?jql=customfield_18300='90000000' |
получим ответ:
1 |
{"errorMessages":["Field 'customfield_18300' does not exist or you do not have permission to view it."],"errors":{}} |
Для корректного поиска поле следует указывать как cf[XXXXX], например:
1 |
/rest/api/2/search?jql=cf[18300]='90000000' |
Добавить новую плитку в Fiori Launchpad
Задача:
Добавить новую плитку в Fiori Launchpad для имеющегося приложения UI5.
Шаги настройки:
1. Создание семантического объекта.
В транзакции /UI2/SEMOBJ добавить новую запись(семантический объект).
(Имя выбираете произвольно)
Process Management API. Массовое изменение документов Solution
Насколько мне известно, SolDoc не позволяет массово изменять документы. Однако, существует API, представляющее собой oData сервис, которое позволяет производить данные операции.
API предоставляет возможность использовать все основные операции(чтение, изменение, вставка и т.д. ).
Более подробно можно почитать на оф сайте:
API
Описание формата обмена
Также есть ссылки на два блога, которые работают с данным API на Python. Это не всем подходит, т.к. не всегда возможно запускать скрипты в сетях с продуктивной системой. Если у вас такой проблемы нет, можете использовать решения представленные в данных блогах, это будет даже удобнее.
https://blogs.sap.com/2020/05/04/mass-updating-solution-documentation-via-the-process-management-api/
https://blogs.sap.com/2020/02/28/process-management-api-in-sap-solution-manager/
Предлагаю реализовать тоже самое на ABAP.
Читать далее «Process Management API. Массовое изменение документов Solution»
Дружба ABAP Objects. Получить доступ к приватному атрибуту
Обычно доступ к приватным и защищенным атрибутам объекта запрещен из-за пределов класса. Но порой необходимо нарушить эту концепцию по тем или иным причинам. Для этого в ABAP существует "дружба".
Класс может предоставить дружбу другим классам и интерфейсам. Этим друзьям предоставляется доступ ко всем компонентам класса, предлагающего дружбу, независимо от их раздела видимости или добавления READ-ONLY.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
CLASS lcl_friend DEFINITION. PUBLIC SECTION. METHODS access. ENDCLASS. CLASS lcl_class_one DEFINITION FRIENDS lcl_friend. PRIVATE SECTION. DATA mv_variable TYPE string VALUE 'Private Attribute'. ENDCLASS. CLASS lcl_friend IMPLEMENTATION. METHOD access. DATA(lo_obj) = NEW lcl_class_one( ). cl_demo_output=>display( lo_obj->mv_variable ). ENDMETHOD. ENDCLASS. START-OF-SELECTION. DATA(lo_object) = NEW lcl_friend( ). lo_object->access( ). |
Читать далее «Дружба ABAP Objects. Получить доступ к приватному атрибуту»
oData выбор языка запроса
Язык, под которым выполняется сервис, зависит от языка входа в FIORI. Это не всегда устраивает. Например, вам надо получить логи на определенном языке или какие-то тексты отстусвуют на языке входа. Можно принудительно задать указать язык запуска сервиса добавив в URL префикс ?sap-language='DE' . Где 'DE' в данном случае немецкий язык.
Пример:
/sap/opu/odata/sap/ZZ_TEST_SERVICE_SRV/FileSet('Excel.xls')/$value?sap-language='DE'
Создание oData сервиса. Часть 8. Отправка файла на фронтенд.
Короткая заметка по отправке файла на фронт.
- В транзакции SEGW, создаем сущность;
Читать далее «Создание oData сервиса. Часть 8. Отправка файла на фронтенд.»