Scores every supplier each month from receipts, quality notifications and invoices, and opens a corrective action with the supplier when the score falls below the threshold.
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.
| Object | Read from | Fields the app uses | Freshness |
|---|---|---|---|
| Supplier master | LFA1 · LFB1 · LFM1 (business partner in S/4) | LFA1.LIFNR (id) · LFA1.NAME1 (name) · LFA1.LAND1 (country) · LFA1.SPERR (block) | live; change capture where enabled |
| Purchase order line | EKKO · EKPO · EKET · EKBE | EKPO.NETWR (value) · EKET.EINDT (delivery date) · EKKO.EBELN (number) · EKPO.EBELP (line) | live; change capture where enabled |
| Goods receipt | MATDOC (material documents) | MATDOC.BUDAT (date) · MATDOC.MBLNR (document) · MATDOC.EBELN (po) · MATDOC.MATNR (material) | live; change capture where enabled |
| Quality notification | QMEL · QMFE · QMMA | QMEL.QMNUM (number) · QMEL.QMART (type) · QMEL.MATNR (material) · QMEL.LIFNUM (vendor) | live; change capture where enabled |
| Supplier invoice | RBKP · RSEG (supplier invoices) | RBKP.RMWWR (amount) · RBKP.BELNR (number) · RBKP.LIFNR (vendor) · RSEG.EBELN (po) | live; change capture where enabled |
In plain words: On the first working day of each month, a supplier with at least 5 receipts in the last 3 months whose score from on-time delivery, quality and price is below 70.
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 score(MATDOC.BUDAT against EKET.EINDT, QMEL.QMNUM per 100 receipts, RBKP.RMWWR against EKPO.NETWR) < 70 over the last 3 months # the same criterion in canonical fields score({gr.date} against {po.delivery_date}, {qn.number} per 100 receipts, {invoice.amount} against {po.value}) < 70 over the last 3 months
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.
| Object | What changes | Interface |
|---|---|---|
| Quality notification | a corrective action notification created with the supplier's actions as tasks with owners and due dates | BAPI_QUALNOT_CREATE · BAPI_QUALNOT_ADD_DATA · BAPI_QUALNOT_MODIFY_DATA |
| Supplier master | purchasing block set when the category lead places the supplier on hold | BAPI_BUPA_CREATE_FROM_DATA · BAPI_VENDOR_* |
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.
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.
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.
| Object | On S/4HANA | On SAP ECC |
|---|---|---|
| Supplier master | LFA1 · LFB1 · LFM1 (business partner in S/4) | LFA1/LFB1/LFM1 vendor master, XK01 via BAPI |
| Purchase order line | EKKO · EKPO · EKET · EKBE | same tables |
| Goods receipt | MATDOC (material documents) | MKPF and MSEG |
| Quality notification | QMEL · QMFE · QMMA | same tables |
| Supplier invoice | RBKP · RSEG (supplier invoices) | same tables |
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.
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.
Yes. The screens, criteria and roles stay; the handlers are re-bound to the other system's objects, listed above.
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.