Разработка SAP Gateway: как написать хорошо «сопоставляемые» функциональные модули?

При разработке проектов SAP Gateway с использованием t-кода SEGW я всегда стараюсь импортировать наборы сущностей из функциональных модулей/BAPI.

Помимо того, что я очень быстр и полезен, я - в основном - также могу сопоставить источники данных с методами работы CRUD-Q класса поставщика данных. Это сопоставление очень хорошо работает со многими FM/BAPI, предоставляемыми SAP.

К сожалению, я не знаю, как самостоятельно писать функциональные группы/функциональные модули, которые также очень хорошо «сопоставляются». Обычно я получаю отображение GetEntitySet, но ни одно из других (создание, удаление и т. д.). Я не знаю, какие параметры импорта/экспорта или что еще требуется для написания хорошо «сопоставляемых» функциональных модулей.


person SDD64    schedule 19.11.2015    source источник


Ответы (2)


Операция «Создать» OData ожидает, что созданная сущность будет возвращена. Таким образом, ваш FM должен экспортировать структуру самого типа Entity. «Чтение» также возвращает одну запись сущности, так что это похоже на «Создание» FM. «Обновить» и «Удалить» не имеют возвращаемых параметров. Таким образом, они могут просто возвращать бизнес-исключение (/IWBEP/CX_MGW_BUSI_EXCEPTION) при возникновении ошибки.

Это очень хорошо объяснено здесь. https://blogs.sap.com/2014/06/04/how-to-design-rfcs-for-odata-service-generation/

Однако имейте в виду, что этот подход (подход «сверху вниз») обычно не является предпочтительным в рабочих сценариях. Я обнаружил, что создание реализации на основе кода отлично работает для служб Gateway в производственных сценариях. Проверьте комментарии в вышеупомянутом блоге.

person krisho    schedule 07.08.2018

Существует также возможность импортировать функциональный модуль, вы также можете попробовать это.

Или вы можете создать свой собственный пример реализации, предоставленный шлюзом для TEA_APPLICATION.

Как было сказано, сопоставление запросов по умолчанию используется для других сопоставлений, таких как «Создать», «Удалить сопоставление» => Вы должны сделать это вручную, просто щелкните правой кнопкой мыши набор объектов службы и выберите сопоставление для операции создания.

person Bhavesh    schedule 20.03.2016