Как разрабатываются и используются облачные потоки
Microsoft Power Platform интегрируется с SAP через портфель предварительно настроенных облачных потоков, которые организуют серию преобразований и используют соединитель SAP ERP (планирование ресурсов предприятия).
Каждый объект SAP, управляемый из приложения на основе холста, сопоставлен с серией потоков поиск, создание, чтение и обновление. Например, для объекта поставщика существуют следующие четыре облачных потока:
- ReadVendor: чтение одного поставщика на основе номера поставщика и ключевой информации.
- ReadVendorList: поиск списка поставщиков на основе переданных критериев поиска.
- CreateVendor: создание нового объекта поставщика с ключевой информацией.
- UpdateVendor: обновление существующего объекта поставщика и информации, связанной с ключом.
Расширение облачных потоков
Вы можете расширить облачные потоки в соответствии с требованиями вашего местного бизнеса. С помощью вашего бизнес-аналитика SAP вы можете добавлять и сопоставлять новые поля с соединителем SAP ERP, а также переходить между приложениями с помощью полезных данных JSON.
Создание новой заявки на покупку предлагает типичный сценарий транзакции между приложениями на основе холста, облачными потоками и SAP:
Приложение Управление заявками SAP готовит JSON, используя данные из элементов управления вводом и коллекций сохраненных элементов, заменяя любые значения NULL пустыми строками.
Set( varRequisitionJSON,//Build the requisition JSON "{Header: " & JSON(//Build the requisition header JSON { PurchaseRequisitionNumber: varRequisition, Vendor: Trim(txtRequisitionDetailsVendor.Text), PurchasingOrganization: cmbRequisitionDetailsPurchasingOrg.Selected.'Value Code', PurchasingGroup: cmbRequisitionDetailsPurchasingGroup.Selected.'Value Code', Currency: cmbRequisitionDetailsCurrency.Selected.'Value Code' }, JSONFormat.IndentFour ) & ", items: " & JSON(//Build the requisition items JSON from cached collection colRequisitionItems, JSONFormat.IndentFour ) & "}" ); Set( varRequisitionJSON, Substitute( varRequisitionJSON, "null", """""" ) );
Приложение вызывает встроенный поток CreateRequisition с помощью функции Run и передает ранее созданную строку JSON.
Set( varRequisitionReturn, CreateRequisition.Run(varRequisitionJSON) );
Поток CreateRequisition получает строку JSON из приложения через триггер PowerApps(V2) и использует действие Анализ JSON для ее разбора.
Переменные устанавливаются с использованием информации JSON, что упрощает вызовы сопоставление в коннекторе SAP ERP.
Сеанс SAP создается с использованием соединителя SAP ERP, а вызовы интерфейса программирования бизнес-приложений (BAPI) выполняются с использованием проанализированной информации заявки JSON, хранящейся в переменных.
Сгенерированные SAP ошибки оцениваются, и либо успешный, либо ошибочный HTTP-ответ возвращается в приложение на основе холста с помощью полезной нагрузки JSON.
Приложение на основе холста использует информацию из ответа, в частности поле Статус, для уведомления конечного пользователя об успехе или неудаче и для определения следующих шагов обработки.
Switch(
varRequisitionReturn.Status,
"Error",//Raise error messages leaving variables in existing state for user to try again
Notify(
Concat(
varRequisitionReturn.Messages,
Message,
" "
),
NotificationType.Error
),
"Success",//Raise success message
Notify(
Concat(
varRequisitionReturn.Messages,
Message,
" "
),
NotificationType.Success
);
Подробнее:
Поддержка развертываний на нескольких языках
По умолчанию соединитель SAP ERP задействует язык браузера пользователя для взаимодействия с SAP, поэтому необходимо установить соответствующий языковой пакет SAP.
Однако если вам необходимо поддерживать многоязычные и глобальные развертывания, вы можете переопределить язык браузера пользователя и по умолчанию использовать определенный язык. Например, пользователю Power Apps в Испании, у которого в браузере установлен испанский язык, может потребоваться взаимодействие с системой SAP, в которой установлен только языковой пакет для английского (EN) языка. В этом случае передайте двухбуквенный код ENISO 639-1 как часть свойства Язык в строке подключения SAP, чтобы избежать ошибок.
Совет
Настройте переменные среды как часть стратегии управления решением и расширения облачный поток для централизованного хранения значения языка для передачи в различные действия коннектора SAP ERP.
Дополнительная информация: Руководство по свойствам системы SAP
Обработка ошибок
Каждый поток разработан с парой операций области Try/Catch. Внутри операции Попробовать находятся вызовы основного соединителя SAP. После каждого вызова потоки проверяют, произошел ли на шаге соединителя SAP ERP катастрофический сбой или то, что также называется дампом ядра расширенного программирования бизнес-приложений (ABAP). Если это так, потоки захватывают сгенерированное сообщение об ошибке.
Это сообщение об ошибке отображается на шаге ErrorTable операции Catch вместе со всеми ошибками, сгенерированными во время выполнения. потока.
Все потоки с ошибками записываются в таблицу Ошибка шаблона решения SAP. Для каждой ошибки потока отображается первое сообщение об ошибке, сгенерированное потоком, а также другая информация.
Перейдите в приложение Администратор SAP, как описано в статье Отслеживание ошибок, чтобы просмотреть отображаемые ошибки.
Следующий шаг
Расширьте приложения на основе моделей и Dataverse