Supply chain and planning on S/4HANA

Critical component shortage room on SAP S/4HANA

Runs the daily shortage meeting on live projected stock: planning, sourcing, sales and the plant allocate scarce components to orders and write the decisions to the ERP.

SCREENSDATA HANDLERSS/4HANA · READ IN PLACES01 AgendaS02 Component roomS03 AllocationS04 Sourcing actionsS05 Decision logS06 Boarddh_material_masterMaterial masterMARA · MARC · MAKTdh_stock_positionStock positionMARD · MCHB · MATDOC_EXTRACTdh_purchase_order_linePurchase order lineEKKO · EKPO · EKET · EKBEdh_production_orderProduction orderAFKO · AFPO · AFVCdh_sales_order_lineSales order lineVBAK · VBAP · VBEPdh_bill_of_materialsBill of materialsMAST · STKO · STPOWRITE BACK TO S/4HANAProduction order → BAPI_PRODORD_CHANGE · BAPI_PRODORDCONF_CREATE_TTPurchase order line → BAPI_PO_CHANGE · BAPI_PO_CREATE1Sales order line → BAPI_SALESORDER_CHANGE · BAPI_SALESORDER_CREATEFROMDAT2rows stay in S/4HANA · access rules applied at read time · each write acknowledged and logged
The screens of the app, the data handler behind each, and the S/4HANA object it reads in place. Writes below the line go through released interfaces with an acknowledgement.
6
objects read in place from S/4HANA
catalogue
6
screens on those rows
catalogue
7 days
to production-grade
estimate
3
objects written back
catalogue
0
rows copied to build it
product
What the app reads

The S/4HANA objects behind each handler

Tables are read in place through the SAP connector, using released read interfaces; changed rows arrive through change capture where the basis team allows it. The rows stay in SAP.

ObjectRead fromFields the app usesFreshness
Material masterMARA · MARC · MAKTMARA.MATNR (id) · MAKT.MAKTX (desc) · MARA.MTART (type) · MARC.WERKS (plant)live; change capture where enabled
Stock positionMARD · MCHB · MATDOC_EXTRACTMARD.LABST (on hand) · MARD.MATNR (material) · MARD.WERKS (plant) · MARD.LGORT (sloc)live; change capture where enabled
Purchase order lineEKKO · EKPO · EKET · EKBEEKPO.MENGE (qty) · EKBE.MENGE where BEWTP = 'E' (received qty) · EKKO.EBELN (number) · EKPO.EBELP (line)live; change capture where enabled
Production orderAFKO · AFPO · AFVCAFPO.PSMNG (qty) · AFKO.AUFNR (number) · AFPO.MATNR (material) · AFKO.GSTRP (start)live; change capture where enabled
Sales order lineVBAK · VBAP · VBEPVBAP.KWMENG (qty) · VBAK.VBELN (number) · VBAP.POSNR (line) · VBAK.KUNNR (customer)live; change capture where enabled
Bill of materialsMAST · STKO · STPOMAST.MATNR (parent) · STPO.IDNRK (component) · STPO.MENGE (qty) · STPO.DATUV (valid from)live; change capture where enabled
The trigger

The start criterion in S/4HANA's own fields

In plain words: Each working day at 07:00 the app projects stock for every component on the critical list; a component whose projected stock falls below 0 within 4 weeks is on that day's agenda.

The criterion runs in S/4HANA through the data handler, so only the matching rows return. The editor shows the rows it selects, and their count, as it is written.

# start criterion in S/4HANA fields
MARD.LABST + (EKPO.MENGE - EKBE.MENGE where BEWTP = 'E' due within 28 days) < demand from AFPO.PSMNG and VBAP.KWMENG within 28 days

# the same criterion in canonical fields
{stock.on_hand} + ({po.qty} - {po.received_qty} due within 28 days) < demand from {prod_order.qty} and {so.qty} within 28 days
What the app writes back

Through released interfaces

Writes go through released BAPIs and IDocs. Each call returns a document number or an error message, and the app records both beside the decision.

ObjectWhat changesInterface
Production orderstart and finish dates changed to the allocationBAPI_PRODORD_CHANGE · BAPI_PRODORDCONF_CREATE_TT
Purchase order linepull-in date and quantity changed on the schedule line; premium buy added as a new lineBAPI_PO_CHANGE · BAPI_PO_CREATE1
Sales order lineconfirmed quantity and date updated on the customer orderBAPI_SALESORDER_CHANGE · BAPI_SALESORDER_CREATEFROMDAT2
Acknowledged and logged

Each write stores the identifier S/4HANA returns beside the decision, the person and the time, so the log answers who changed what, and the reconciliation shows it arrived.

Access and prerequisites

What is in place before the first build

SAP roles are mapped to Lima access policies once. A buyer who sees purchasing organisation 1000 in SAP sees the same rows in the app.

  • An SAP user for the connector with read authorisation on the objects the app uses
  • The BAPIs the app writes with, enabled for that user
  • Network path to the application server (PrivateLink or VPN)
  • Change capture switched on for the objects that should refresh within minutes
Register the handlers6 objects from the catalog; each shows its rows at once.
Also on SAP ECC

The same app on SAP ECC

On SAP ECC the same objects live in the classic tables named beside each row; MATDOC becomes MKPF and MSEG, ACDOCA becomes BKPF and BSEG. The BAPIs are the same.

ObjectOn S/4HANAOn SAP ECC
Material masterMARA · MARC · MAKTsame tables
Stock positionMARD · MCHB · MATDOC_EXTRACTMARD · MCHB · MBEW
Purchase order lineEKKO · EKPO · EKET · EKBEsame tables
Production orderAFKO · AFPO · AFVCsame tables
Sales order lineVBAK · VBAP · VBEPsame tables
Bill of materialsMAST · STKO · STPOsame tables
Nearby

This app on other systems, and other apps on S/4HANA

Critical component shortage room on

Other apps on S/4HANA

Terms on this page

Projected stockOn hand plus receipts due minus demand, computed week by week.
AllocationThe decision of which orders receive a scarce quantity and how much each gets.
Read in placeThe rows stay in S/4HANA; the handler sends the filter and the columns and S/4HANA returns the matching rows.
Questions

Does this app copy data out of S/4HANA?

The screens read through handlers that leave the rows in S/4HANA. History the app needs at scale is landed in the lake by the Backbone, which is the exception by design.

What does S/4HANA need to allow?

The prerequisites above: an integration identity with read rights on the objects listed and write rights on the interfaces named, connectivity, and the scopes agreed with the process owner.

Can I run it on SAP ECC as well?

Yes. The screens, criteria and roles stay; the handlers are re-bound to the other system's objects, listed above.

See this app on your data

Bring the process and the systems it touches. In the first session we register the data handlers, draw the levels or the lanes and run the first screen on your live rows.