Интеграция с SAP
Для SAP интеграция строится на стандартных средствах — без доработок ядра SAP (без Z-кода в системе клиента или с минимальным). Orda — внешняя система, с которой SAP обменивается через middleware клиента или SAP Integration Suite (Cloud Integration, CPI).
Варианты
Заголовок раздела «Варианты»| Источник в SAP | Как забрать | Когда |
|---|---|---|
| S/4HANA: исходящие поставки | OData API_OUTBOUND_DELIVERY_SRV (сущность A_OutbDeliveryHeader, позиции A_OutbDeliveryItem) — iFlow по расписанию |
основной вариант для S/4HANA (облако и on-premise) |
| S/4HANA: заказы клиентов | OData API_SALES_ORDER_SRV |
если доставка планируется по заказу, до создания поставки |
| SAP ERP (ECC) / S/4 on-premise | IDoc DELVRY (поставка) через порт → CPI / PI/PO / другой middleware |
когда IDoc уже используются в компании |
Во всех вариантах middleware преобразует данные и вызывает POST /api/v1/orders/bulk с API-ключом Orda.
Схема (S/4HANA + Integration Suite)
Заголовок раздела «Схема (S/4HANA + Integration Suite)»- iFlow по таймеру (например, каждые 10 минут) читает новые/изменённые поставки из OData (фильтр по дате изменения и складу отгрузки).
- Маппинг (ниже) → пакеты до 1000 →
POST /orders/bulkсIdempotency-Key= идентификатор запуска + номер пакета. - Ошибки строк (
result: "error") — в журнал сообщений CPI / оповещение ответственному. - Обратно: вебхуки Orda (
order.delivered,order.failed,plan.approved) принимает отдельный iFlow с HTTPS-адаптером; он проверяет подпись (скрипт Groovy, HMAC-SHA256) и обновляет поставку в SAP — статус/подтверждение доставки (POD) или пользовательское поле, по согласованию с SAP-консультантом клиента.
Типовой маппинг поставки
Заголовок раздела «Типовой маппинг поставки»| Orda | S/4HANA OData (A_OutbDeliveryHeader) |
IDoc DELVRY |
|---|---|---|
externalId, number |
DeliveryDocument |
E1EDL20-VBELN |
deliveryDate |
DeliveryDate (или PlannedGoodsIssueDate) |
дата из E1EDT13 |
customerExternalId |
ShipToParty |
партнёр WE в E1ADRM1 |
address |
адрес грузополучателя | E1ADRM1 / E1ADRE1 |
warehouseExternalId |
ShippingPoint |
E1EDL20-VSTEL |
weightKg |
HeaderGrossWeight + HeaderWeightUnit (перевести в кг) |
E1EDL20-BTGEW + GEWEI |
volumeM3 |
HeaderVolume + HeaderVolumeUnit (перевести в м³) |
E1EDL20-VOLUM + VOLEH |
Названия полей — стандартные; в конкретной системе их проверяет SAP-консультант клиента (в компании могут
использоваться свои поля и единицы). Точки доставки (грузополучатели) удобно выгрузить заранее в /customers
с externalId = номер делового партнёра.
Что даёт Orda
Заголовок раздела «Что даёт Orda»- Описание API (справочник, openapi.json — импортируется в Integration Suite / API Management).
- Готовый маппинг (таблица выше) и примеры запросов, тестовая компания (песочница).
- Проверку подписи вебхуков на Groovy (по запросу) — по той же схеме, что в разделе Вебхуки.