Integrations / ERP / SAP S/4HANA
SAP S/4HANA Integration Guide for SkyPlanner APS Production Scheduling
This guide shows SAP partners, IT teams and technical buyers how SkyPlanner APS connects to SAP S/4HANA. SkyPlanner integrates with S/4HANA in both directions over SAP’s released OData APIs:
- Production orders, operations, work center capacity, stock and open purchase orders flow in.
- Planned start dates are dispatched back to each production order operation.
- Operator timelogs post as production order confirmations.
- SkyPlanner webhooks push schedule changes as they happen.
S/4HANA keeps materials, BOMs, routings, production orders, inventory and costing. The SkyPlanner team configures the integration to your S/4HANA setup during onboarding and supports it after go-live. For the business case, see the SAP S/4HANA production scheduling page. For what S/4HANA schedules on its own, read Does SAP S/4HANA have finite capacity scheduling?
SAP S/4HANA integration options
S/4HANA exposes its integration surface as released OData services, listed on the SAP Business Accelerator Hub (api.sap.com). The scheduling integration runs on OData V2 services. IDocs and BAPIs still exist, but this guide uses the released OData APIs.
Authentication by edition
- On-premise and Private Edition. The services are activated in SAP Gateway with transaction
/IWFND/MAINT_SERVICE. The integration user needs the matching authorization objects, for exampleC_AFRU_AWKfor confirmations,C_AFKO_AWKfor the goods movement items posted with them, andM_PLAF_ORGfor planned orders. - Public Edition. Services are exposed only through communication arrangements. Following SAP’s inbound communication setup, you create a communication user, a communication system and a communication arrangement in the Communication Arrangements app, based on an SAP communication scenario (
SAP_COM_xxxx). The scenario defines which services are exposed and which authentication methods are available:
– token-based: OAuth, SAML or OpenID Connect bearer flows, with principal propagation to a business user – client certificate – basic auth with a technical communication user
SAP recommends token or certificate authentication.
SkyPlanner’s counterpart is a REST API with JWT authentication, documented in Swagger/OpenAPI (API reference), so the middleware handles SAP auth on one side and a JWT on the other.
APIs for production scheduling
| Service | Entities and actions used | Purpose |
|---|---|---|
API_PRODUCTION_ORDER_2_SRV (Production Order, Version 2) | A_ProductionOrder_2, A_ProductionOrderItem_2, A_ProductionOrderOperation_2, A_ProductionOrderComponent_2, A_ProductionOrderStatus_2, A_ProductionRsceTools_2; actions ReleaseOrder, ReleaseOperation, ScheduleProductionOrderOperation | Orders, operations, components, PRTs, status, schedule write-back |
API_WORK_CENTERS | A_WorkCenters, A_WorkCenterAllCapacity_2, A_WorkCenterCapacity, A_WorkCenterCapacityInterval_2, A_WorkCenterCapacityShift_2, A_WorkCenterCapPerBucket | Work centers, capacity categories, intervals and shifts |
API_PRODUCTION_ROUTING | ProductionRoutingHeader, ProductionRoutingSequence, ProductionRoutingOperation, ProductionRoutingSubOperation, ProductionRoutingMatlAssgmt, ProductionRoutingOpCompAlloc | Standard routings for planning ahead of order creation |
API_BILL_OF_MATERIAL_SRV;v=2 | MaterialBOM, MaterialBOMItem, MaterialBOMSubItem | Multi-level product structure |
API_PRODUCT_SRV (Product Master A2X) | A_Product | Materials (called Product in the API). SAP now recommends the Product (Version 2) API for most product entities |
API_PLANNED_ORDERS | A_PlannedOrder, A_PlannedOrderComponent, A_PlannedOrderCapacity | MRP Live output before conversion |
API_MATERIAL_STOCK_SRV | A_MaterialStock, A_MatlStkInAcctMod | Stock per plant and storage location, for material availability |
API_PURCHASEORDER_PROCESS_SRV | A_PurchaseOrder, A_PurchaseOrderItem | Open purchase orders for incoming material |
API_PROD_ORDER_CONFIRMATION_2_SRV | ProdnOrdConf2, ProdnOrdConfMatlDocItm; actions GetConfProposal, GetGdsMvtProposal, CancelProdnOrdConf | Confirmations and goods movements from the shop floor |
In the production order API, operations are keyed by OrderInternalBillOfOperations plus OrderIntBillOfOperationsItem, not by the operation number the planner sees. The confirmation API’s GetConfProposal addresses the same operation by OrderID and OrderOperation. Store the internal keys and the operation number in SkyPlanner from the first load.
Events
S/4HANA raises Production Order Created and Production Order Changed business events with ManufacturingOrder, ProductionOrder, ProductionOrderType and ProductionPlant in the payload. The payload carries only keys, so the integration rereads the order and its operations. The Changed event fires on every change to the order, so debounce it. In the other direction, SkyPlanner webhooks push in real time when the schedule or job state changes.
File-based start
For the trial, export production orders and work centers from S/4HANA list reports to Excel or CSV and import them into SkyPlanner. This proves the schedule before anyone touches Gateway or communication arrangements.
Data mapping: SAP S/4HANA to SkyPlanner
| S/4HANA entity / endpoint | SkyPlanner object | Direction | Frequency |
|---|---|---|---|
A_Product (Material) | Product or material | S/4HANA → SkyPlanner | Initial load, then scheduled delta |
MaterialBOM, MaterialBOMItem | Product structure, subproducts | S/4HANA → SkyPlanner | Initial load, then scheduled |
A_WorkCenters | Workstation | S/4HANA → SkyPlanner | Initial load, on change |
A_WorkCenterCapacity, A_WorkCenterCapacityInterval_2, A_WorkCenterCapacityShift_2 | Capacity and shifts | S/4HANA → SkyPlanner | Initial load, then scheduled |
ProductionRoutingHeader, ProductionRoutingOperation | Process steps and standard times | S/4HANA → SkyPlanner | Initial load, then scheduled |
A_ProductionOrder_2 (released or created) | Order with due date | S/4HANA → SkyPlanner | Near real time on Created/Changed event, or scheduled poll |
A_ProductionOrderOperation_2 | Job (process step on a workstation) | S/4HANA → SkyPlanner | With the order |
A_ProductionRsceTools_2 (production resources/tools) | Tools, scheduled as finite shared resources | S/4HANA → SkyPlanner | With the order |
A_ProductionOrderComponent_2, A_MaterialStock | Material requirements and stock | S/4HANA → SkyPlanner | Scheduled, interval agreed in scoping |
A_PurchaseOrder, A_PurchaseOrderItem (API_PURCHASEORDER_PROCESS_SRV): open quantity and schedule-line delivery date | Purchase orders / incoming material with expected delivery date | S/4HANA → SkyPlanner | Scheduled, interval agreed in scoping |
A_PlannedOrder (optional) | Orders planned ahead of conversion | S/4HANA → SkyPlanner | After each MRP Live run |
ScheduleProductionOrderOperation (operation start, forward mode) | Schedule | SkyPlanner → S/4HANA | On schedule change, via webhook |
ProdnOrdConf2 (yield, scrap, activities) | Timelogs and quantities | SkyPlanner → S/4HANA | Per log event or batched |
Integration patterns
1. Master data load. Load materials, BOMs, work centers with their capacity intervals and shifts, and routings. Decide here which system owns shifts. A split that works: the factory calendar stays in S/4HANA, and detailed shift patterns, absences and overtime live in SkyPlanner, where planners change them daily.
2. Order sync. Subscribe to Production Order Created/Changed, or poll A_ProductionOrder_2 by change timestamp where business events are not set up. Filter on plant, order type and status. Send orders at creation so SkyPlanner can plan ahead, and release them in S/4HANA (ReleaseOrder or ReleaseOperation) once SkyPlanner has scheduled them.
3. Schedule write-back. When a SkyPlanner webhook reports a schedule change, the integration calls ScheduleProductionOrderOperation in API_PRODUCTION_ORDER_2_SRV for each changed operation. It sends:
ManufacturingOrder,OrderInternalBillOfOperationsandOrderIntBillOfOperationsItemas keysOpSchedulingModeF (forward) with SkyPlanner’s start inOpSchedldStartDateandOpSchedldStartTimeOpSchedulingStatusDISP (dispatch) and the mandatoryOpSchedulingStrategyM- the ETag in
if-match
All operations of one order go in one change set, in SkyPlanner’s sequence order, so S/4HANA dispatches the order’s whole plan in one call. Mode K is never used: it keeps the original operation dates and ignores the dates sent.
SkyPlanner derives operation durations from the same routing standard values and work center capacity formulas that S/4HANA uses. The end date S/4HANA calculates from the dispatched start therefore lines up with the SkyPlanner plan. After each change set the integration rereads the operations and flags any date that differs, and the planner sees it before the next shift.
4. Shop floor confirmations. Each timelog from Mobile Confirmations or the Production Timer becomes an S/4HANA confirmation. SkyPlanner’s webhook triggers a ProdnOrdConf2 post with yield, scrap and activity times. The integration calls GetConfProposal first, so S/4HANA proposes quantities, activities, dates and personnel data. GetGdsMvtProposal proposes the goods movements.
Incoming material. Open purchase orders are part of the inbound sync. SkyPlanner treats ordered material as available on the PO’s expected delivery date. Jobs waiting for purchased components are scheduled to the day the material arrives, not blocked by today’s stock figure.
S/4HANA stays the source of truth for receipts: when a goods receipt posts, stock rises and the PO item’s open quantity falls. The next sync updates stock in SkyPlanner and marks a fully received PO as Delivered; after a partial receipt, the remaining open quantity stays incoming on its schedule-line date. SkyPlanner’s purchase order handling is described in the SkyPlanner docs.
5. Ownership rules. S/4HANA owns quantities, BOM, routing, costing and status. SkyPlanner owns sequence, workstation assignment and operation dates. Never let both write the same field. If planners still move operations in the Capacity Scheduling Board, decide what wins. Either the next order sync takes their change into SkyPlanner, or that work center stays outside SkyPlanner’s scope.
What the project contains
Implementation is normally completed within weeks after onboarding starts, even for large companies. Most plants start with the 30-day free trial on CSV or Excel exports, so the schedule is proven on their own data before the API work begins. An S/4HANA project then covers:
- Scoping: plants, order types, edition and auth model, and which system owns each field.
- SAP access: Gateway service activation or a communication arrangement, plus the technical users and authorization objects.
- Master data mapping: work center capacity categories, intervals and shifts, routing standard values to SkyPlanner durations, units of measure.
- Initial load: materials, BOMs, routings and work centers with their capacities.
- Order and purchase order sync: production orders and operations on Created/Changed events or polling, stock and open purchase orders on a schedule.
- Schedule write-back:
ScheduleProductionOrderOperationwith ETag handling and a retry queue. - Shop-floor confirmations: timelogs posted as
ProdnOrdConf2confirmations. - Testing in parallel with the current plan: SkyPlanner’s schedule runs beside the existing leveling until planners trust it.
- Go-live.
SAP S/4HANA pitfalls
- Write-back is an action call with an ETag. The documented way to schedule an operation is
ScheduleProductionOrderOperation, not a PATCH onA_ProductionOrderOperation_2. Mode F schedules forward from a start and B backward from an end, while K and S keep existing dates and ignore yours. The ETag inif-matchis built from the order’sLastChangeDateTime(YYYYMMDDHHMMSS), so any change to the order makes it stale. Build read-before-write and a retry queue. - Capacity is not on the work center header. Available capacity comes from the capacity category (001 machine, 002 labor), the factory calendar, and the intervals and shifts that override it. Capacity formulas turn routing standard values into setup, processing and teardown requirements. Read
A_WorkCenterCapacityInterval_2and the shift entities, and agree how formulas translate into SkyPlanner durations. - Standard values need cleaning. Routings maintained for costing often carry averaged setup times, or setup booked on the wrong capacity category.
- Confirmation rules are strict. SAP recommends batch calls for mass posting. One change set is all-or-nothing, so one bad time ticket blocks the rest of that set. Cancellations in a batch must run in reverse
ConfirmationCountorder. You cannot mix confirmation types on one order, post goods movements without a confirmation, or confirm operations whose trigger points need a dialog box. - Check whether PP/DS is active. Embedded PP/DS needs the Customizing activity Activate Advanced Planning and Scheduling and SAP HANA integrated liveCache. SAP sells it as a separate product, SAP S/4HANA Manufacturing for planning and scheduling. Where it is active, decide per material who schedules: materials flagged for advanced planning belong to PP/DS. SAP also states for the planned order API: “Automatic integration to PP/DS is not enabled from this API.”
- Units of measure. Operation quantities, routing base quantities and confirmation units can differ. Convert explicitly using the operation unit, not the material base unit.
- Edition drift. SAP Learning shows the classic CM21/CM22 planning table being replaced by Manage Work Center Capacity, Capacity Scheduling Table and Capacity Scheduling Board. Public Edition exposes APIs only through communication scenarios, and the service versions it offers can differ from on-premise. The routing API cannot delete routings or update material assignments. The SkyPlanner team pins the service versions per customer system during scoping, using the API Business Accelerator Hub entry for that release.
- Constraints routings do not hold. Keep sequence-dependent changeovers, tool conflicts and multi-operator operations in SkyPlanner, not in routing standard values. The setting time matrix holds changeover times per product pair. Tools from the order’s PRTs are finite, one workstation at a time, and an operation can require several people at once.
Who configures the integration
The pitfalls above are why configuration is the real work. Every plant runs S/4HANA differently: order types, capacity categories, routing standard values, user exits and the edition all change the mapping.
- The SkyPlanner team configures it to your S/4HANA setup during onboarding, against the released S/4HANA APIs and SkyPlanner’s REST API and webhooks. It supports the integration after go-live. This is the default route, and it gives you one owner for the scheduler and the S/4HANA link.
- Your SAP partner can build it instead, working from SkyPlanner’s Swagger/OpenAPI documentation with knowledge of your order types and Basis setup.
- Your own developers can build it directly or on SAP Integration Suite or SAP BTP, using the documented REST API, JWT auth and webhooks (integration tutorial). An API key is enough to start, and the SkyPlanner team steps in when they want help.
SkyPlanner already runs beside SAP: Laboratory & Allied’s in-house IT team connected SAP Business One on HANA to SkyPlanner, with SkyPlanner’s help. Feature documentation is public at SkyPlanner docs.
Whichever route you choose, validate the schedule first in the 30-day free trial (up to 20 workstations, no credit card). The integration is then built for a plan your planners already trust. After the trial, pricing is from 199 € per month with 5 workstations included, billed monthly. The integration is quoted up front for your process and needs, together with your plan, so you see the full cost before you start.
See pricing, features and customer reviews for the rest of the picture.
SkyPlanner reviews from manufacturers
2 hsaved every week
“SkyPlanner has taken our production planning from Excel spreadsheets to real-time production optimization.”
Kalle Kalliomäki, Supply Chain Specialist
UTU · Electrical switchboards and switchgear
Production planning saves 2 hours of working time every week, and a new work queue reaches the line in seconds.
+90%production efficiency
“Efficiency has gone up 90% in production.”
Abdul Rucyinga, Head of IT
Laboratory & Allied · Pharmaceutical manufacturing
Production efficiency is up 90%, and a three-month optimized plan across all workstations takes under 30 minutes.
99.2%delivery reliability
“SkyPlanner has brought visibility to identifying bottlenecks and clarified production management.”
Toni Tuori, Production Manager
Piristeel · Roof safety and rainwater systems
Delivery reliability reached 99.2% this year, and scheduling saves up to four hours of working time per day.
98%delivery reliability, up from about 50%
“SkyPlanner plays a decisive role in maintaining our delivery reliability.”
Hannu Lahtinen, Managing Director
KJH-Comp · Sheet-metal mechanics and contract manufacturing
Delivery reliability rose from around 50% to as high as 98%, and scheduling now needs one supervisor instead of two.
FAQ
How does SkyPlanner APS connect to SAP S/4HANA?
SkyPlanner APS integrates with SAP S/4HANA in both directions. Production orders, operations, routings, work centers, stock and purchase orders come in over SAP’s released OData APIs. Operation dates go back through ScheduleProductionOrderOperation and logged hours as ProdnOrdConf2 confirmations, triggered by SkyPlanner webhooks.
Who builds and maintains the integration?
The SkyPlanner team configures it to your S/4HANA setup during onboarding and supports it after go-live. The integration is quoted up front for your process and needs. If your SAP partner or your own developers build it on the REST API, they own it, and the SkyPlanner team helps when needed.
How are operation dates written back, and does S/4HANA keep the sequence?
Through the ScheduleProductionOrderOperation action in API_PRODUCTION_ORDER_2_SRV, in forward mode with dispatch status and SkyPlanner’s start date and time. Each order’s operations go in one change set in SkyPlanner’s sequence. Durations come from the same routing standard values S/4HANA uses, and the integration rereads every operation and flags any difference.
How do confirmations reach S/4HANA?
Operators log work in SkyPlanner and a webhook fires. The integration then posts a confirmation through API_PROD_ORDER_CONFIRMATION_2_SRV with yield, scrap and activity times.
Does this work with S/4HANA Cloud Public Edition?
Yes. Access runs through a communication arrangement for the relevant communication scenarios. The SkyPlanner team matches the production order API version to your Public Edition release during scoping. On-premise and Private Edition use Gateway service activation instead.
We already have PP/DS. Do we need SkyPlanner?
SkyPlanner covers the plants and sites where PP/DS is not licensed or not staffed. It needs no Customizing switch, liveCache or optimizer server, only released OData APIs on the SAP side. The Arcturus engine builds the finite schedule in seconds, and Autopilot reschedules automatically when production changes.
Can we test before any integration work, and how long does the project take?
Yes. Import production orders and work centers from S/4HANA exports during the 30-day free trial, then build the API integration once the schedule works. Implementation is normally completed within weeks after onboarding starts. To scope your landscape, talk to sales or start the free trial.