Як розробляються і використовуються хмарні потоки
Microsoft Power Platform інтегрується з SAP через портфель попередньо налаштованих хмарних потоків, які керують серією перетворень і використовують з’єднувач SAP ERP (планування ресурсів підприємства).
Кожен об’єкт SAP, яким керують із програми canvas, зіставляється з серією потоків пошуку, створення, читання та оновлення . Наприклад, для об’єкта вендора існують чотири хмарні потоки:
- ReadVendor: зчитування інформації про одного постачальника на основі номера постачальника та інформації, пов’язаної з ключем.
- ReadVendorList: пошук списку постачальників на основі пройдених критеріїв пошуку.
- CreateVendor: створення нового об’єкта постачальника з інформацією, пов’язаною з ключем.
- UpdateVendor: оновлення наявного об’єкта постачальника та інформації, пов’язаної з ключем.
Розширення хмарних циклів
Ви можете розширити хмарні потоки відповідно до вимог вашого місцевого бізнесу. За допомогою бізнес-аналітика SAP ви можете додавати та відображати нові поля в з’єднувач SAP ERP, а також переходити до програм через набори корисних даних JSON.
Створення нової заявки на покупку пропонує типовий транзакція сценарій між програмами на полотні, хмарними потоками та SAP:
Програма SAP Requisition Management готує JSON , використовуючи дані з вхідних елементів керування та збережених колекцій елементів, підставляючи порожні рядки будь-якими нульовими значеннями.
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) і використовує дію Parse JSON для його декомпозиції.
Змінні встановлюються на основі інформації JSON, щоб полегшити зіставлення викликів з’єднувача SAP ERP.
Сеанс SAP створюється за допомогою з’єднувача SAP ERP, а виклики інтерфейсу програмування бізнес-додатків (BAPI) здійснюються за допомогою проаналізованої інформації JSON заявки, що зберігається в змінних.
Помилки, створені SAP, оцінюються, і відповідь HTTP або помилка повертається до програми canvas за допомогою набору корисних даних JSON.
Програма canvas використовує інформацію відповідь, зокрема поле «Статус », щоб сповіщати кінцевого користувача про успіх або невдачу та визначати наступні кроки обробки.
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 знаходяться основні виклики конектора SAP. Після кожного дзвінка потоки перевіряють, чи не стався катастрофічний збій у кроках конектора SAP ERP або так званий дамп ядра розширеного бізнес-прикладного програмування (ABAP). Якщо так, потоки фіксують згенероване повідомлення про помилку.
Це повідомлення про помилку відображається в кроку Таблиці помилок операції Catch разом з усіма помилками, згенерованими під час цього запуску потоку.
Усі помилкові потоки записуються в таблицю помилок шаблону рішення SAP. Кожна помилка ланцюжка показує перше повідомлення про помилку, згенероване потоком, разом з іншою інформацією.
Перейдіть до програми SAP Administrator , як описано в статті Моніторинг помилок , щоб переглянути відображені помилки.
Наступний крок
Розширити можливості додатків на основі моделей і Dataverse