Інтеграція SAP з веб-сайтом
SAP — корпоративна ERP-платформа, яку використовують великі підприємства. Інтеграція веб-сайту з SAP — це enterprise-проект з серйозними вимогами до архітектури, безпеки й продуктивності. Завдання ніколи не вирішується "напрямку" — тільки через проміжний шар.
Ключові модулі SAP у контексті інтеграції
- SAP SD (Sales and Distribution) — замовлення клієнтів, ціноутворення, доставка
- SAP MM (Materials Management) — номенклатура, склади, залишки
- SAP FI (Financial Accounting) — виставлення рахунків, дебіторська заборгованість
- SAP CRM — управління клієнтами й контактами
- SAP MDG (Master Data Governance) — НСІ: клієнти, матеріали
Архітектура інтеграції
Прямі виклики з веб-сайту до SAP — антипаттерн. SAP-системи навантажені операційною діяльністю, і додаткові веб-запити можуть створювати проблеми з продуктивністю. Рекомендуємий варіант:
Веб-сайт (PHP/Node.js)
↕
Middleware (SAP BTP Integration / MuleSoft / власний сервіс)
↕
SAP (через SAP PI/PO, RFC, OData, SOAP)
Методи підключення до SAP
SAP OData (REST-подібний) — найновіший і рекомендуємий спосіб. SAP Gateway публікує OData-сервіси для зовнішніх систем. Працює через HTTP, підтримує CRUD.
GET https://sap-server/sap/opu/odata/sap/ZSD_ORDER_SRV/OrderSet?
$filter=CustomerID eq '1234567'
&$expand=OrderItems
Authorization: Basic {credentials}
RFC (Remote Function Call) — виклик функціональних модулів через SAP-протокол. Вимагає SAP JCo (Java Connector) або pyrfc (Python). Для PHP немає офіційної підтримки — потрібен проміжний сервіс на Java або Python.
SAP SOAP Web Services — доступні через Enterprise Services Repository (ESR). Використовуються для складних оркестрацій.
IDocs (Intermediate Documents) — XML-формат для асинхронного обміну. Історичний стандарт SAP-інтеграцій, залишається широко використовуваним.
Отримання даних про матеріали
# Приклад через SAP OData (Python requests)
import requests
response = requests.get(
'https://sap-gw/sap/opu/odata/sap/ZMM_MATERIAL_SRV/MaterialSet',
params={
'$filter': "Plant eq '1000' and MaterialType eq 'FERT'",
'$select': 'MaterialNumber,Description,BaseUnit,StandardPrice',
'$format': 'json'
},
auth=(SAP_USER, SAP_PASSWORD),
verify=True
)
materials = response.json()['d']['results']
B2B-портал: ключові сценарії
Для корпоративних клієнтів B2B-портал з SAP-інтеграцією надає:
- Індивідуальні ціни (з SAP SD: умови ціноутворення для конкретного клієнта)
- Кредитний ліміт і поточну заборгованість (SAP FI)
- Історію замовлень з можливістю повтору
- Статус відправлення й документи (видатні накладні, рахунки-фактури з SAP)
- Особистих менеджерів і контакти з SAP CRM
SAP Business Technology Platform (BTP)
Для нових SAP-інтеграцій рекомендується SAP BTP Integration Suite — хмарна ESB від SAP. Забезпечує моніторинг потоків даних, retry-логіку, трансформацію форматів. Веб-сайт підключається до BTP через стандартні REST-виклики.
Вимоги до команди
Інтеграція SAP вимагає спеціалістів з досвідом як у SAP Basis/ABAP, так і в веб-розробці. Критично важливо участь SAP-архітектора на стороні клієнта — без доступу до системи й розуміння конфігурації інтеграція займе набагато більше часу.
Терміни розробки: 3–6 місяців для серйозної B2B-інтеграції з кількома SAP-модулями через проміжну шину.







