Connects with ERP & MES systems like

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.
SkyPlanner APS Gantt timeline with jobs scheduled across workstations and an order list below.

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 example C_AFRU_AWK for confirmations, C_AFKO_AWK for the goods movement items posted with them, and M_PLAF_ORG for 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

ServiceEntities and actions usedPurpose
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, ScheduleProductionOrderOperationOrders, operations, components, PRTs, status, schedule write-back
API_WORK_CENTERSA_WorkCenters, A_WorkCenterAllCapacity_2, A_WorkCenterCapacity, A_WorkCenterCapacityInterval_2, A_WorkCenterCapacityShift_2, A_WorkCenterCapPerBucketWork centers, capacity categories, intervals and shifts
API_PRODUCTION_ROUTINGProductionRoutingHeader, ProductionRoutingSequence, ProductionRoutingOperation, ProductionRoutingSubOperation, ProductionRoutingMatlAssgmt, ProductionRoutingOpCompAllocStandard routings for planning ahead of order creation
API_BILL_OF_MATERIAL_SRV;v=2MaterialBOM, MaterialBOMItem, MaterialBOMSubItemMulti-level product structure
API_PRODUCT_SRV (Product Master A2X)A_ProductMaterials (called Product in the API). SAP now recommends the Product (Version 2) API for most product entities
API_PLANNED_ORDERSA_PlannedOrder, A_PlannedOrderComponent, A_PlannedOrderCapacityMRP Live output before conversion
API_MATERIAL_STOCK_SRVA_MaterialStock, A_MatlStkInAcctModStock per plant and storage location, for material availability
API_PURCHASEORDER_PROCESS_SRVA_PurchaseOrder, A_PurchaseOrderItemOpen purchase orders for incoming material
API_PROD_ORDER_CONFIRMATION_2_SRVProdnOrdConf2, ProdnOrdConfMatlDocItm; actions GetConfProposal, GetGdsMvtProposal, CancelProdnOrdConfConfirmations 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 / endpointSkyPlanner objectDirectionFrequency
A_Product (Material)Product or materialS/4HANA → SkyPlannerInitial load, then scheduled delta
MaterialBOM, MaterialBOMItemProduct structure, subproductsS/4HANA → SkyPlannerInitial load, then scheduled
A_WorkCentersWorkstationS/4HANA → SkyPlannerInitial load, on change
A_WorkCenterCapacity, A_WorkCenterCapacityInterval_2, A_WorkCenterCapacityShift_2Capacity and shiftsS/4HANA → SkyPlannerInitial load, then scheduled
ProductionRoutingHeader, ProductionRoutingOperationProcess steps and standard timesS/4HANA → SkyPlannerInitial load, then scheduled
A_ProductionOrder_2 (released or created)Order with due dateS/4HANA → SkyPlannerNear real time on Created/Changed event, or scheduled poll
A_ProductionOrderOperation_2Job (process step on a workstation)S/4HANA → SkyPlannerWith the order
A_ProductionRsceTools_2 (production resources/tools)Tools, scheduled as finite shared resourcesS/4HANA → SkyPlannerWith the order
A_ProductionOrderComponent_2, A_MaterialStockMaterial requirements and stockS/4HANA → SkyPlannerScheduled, interval agreed in scoping
A_PurchaseOrder, A_PurchaseOrderItem (API_PURCHASEORDER_PROCESS_SRV): open quantity and schedule-line delivery datePurchase orders / incoming material with expected delivery dateS/4HANA → SkyPlannerScheduled, interval agreed in scoping
A_PlannedOrder (optional)Orders planned ahead of conversionS/4HANA → SkyPlannerAfter each MRP Live run
ScheduleProductionOrderOperation (operation start, forward mode)ScheduleSkyPlanner → S/4HANAOn schedule change, via webhook
ProdnOrdConf2 (yield, scrap, activities)Timelogs and quantitiesSkyPlanner → S/4HANAPer 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, OrderInternalBillOfOperations and OrderIntBillOfOperationsItem as keys
  • OpSchedulingMode F (forward) with SkyPlanner’s start in OpSchedldStartDate and OpSchedldStartTime
  • OpSchedulingStatus DISP (dispatch) and the mandatory OpSchedulingStrategy M
  • 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:

  1. Scoping: plants, order types, edition and auth model, and which system owns each field.
  2. SAP access: Gateway service activation or a communication arrangement, plus the technical users and authorization objects.
  3. Master data mapping: work center capacity categories, intervals and shifts, routing standard values to SkyPlanner durations, units of measure.
  4. Initial load: materials, BOMs, routings and work centers with their capacities.
  5. Order and purchase order sync: production orders and operations on Created/Changed events or polling, stock and open purchase orders on a schedule.
  6. Schedule write-back: ScheduleProductionOrderOperation with ETag handling and a retry queue.
  7. Shop-floor confirmations: timelogs posted as ProdnOrdConf2 confirmations.
  8. Testing in parallel with the current plan: SkyPlanner’s schedule runs beside the existing leveling until planners trust it.
  9. 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 on A_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 in if-match is built from the order’s LastChangeDateTime (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_2 and 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 ConfirmationCount order. 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.

Start free trial Talk to sales

SkyPlanner reviews from manufacturers

Kalle Kalliomäki, Supply Chain Specialist at UTU, on the switchboard production floor in Ulvila

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.

Read the UTU review

Operators in cleanroom suits at a bottle-filling line in Laboratory & Allied's pharmaceutical plant in Nairobi

+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.

Read the Laboratory & Allied review

Aerial view of Piristeel's roof safety factory in Kauhava

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.

Read the Piristeel review

A KJH-Comp welder grinding a welded steel structure at the Alahärmä plant

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.

Read the KJH-Comp review

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.