...
The DDFS covers the end to end datasphere data flows for S2P area. The sub area it covers include the standard ones, S2C - Source to Contract, P2R - Procure to Report and I2P - Invoice to Pay as well as custom ones BYP - Buyer Performance. Below are the details on each sub area and KPIS it will cover:
| Sub-Area | Details | Example KPIs | Comments |
|---|---|---|---|
| S2C - Source to Contract | The Source-to-Contract (S2C) covers all activities involved in identifying suppliers, sourcing goods or services, negotiating terms, and establishing legally binding contracts before purchasing transactions occur. The process typically includes supplier identification and qualification, sourcing events, bid evaluation, negotiations, contract creation, approval, and contract lifecycle management. Once contracts are finalized, they serve as the basis for downstream procurement activities in the Procure-to-Pay (P2P) process, ensuring purchases are made under agreed commercial terms. | Contract Target & Release Values, Take or Pay Values, Contract Compliance & Efficiency | |
| P2R - Procure to Report | The Procure-to-Report (P2R) covers the activities involved in procurement execution and starts with the creation of purchase requisitions and purchase orders, continues through goods receipt and invoice processing. It will also cover consignment withdrawals and pipeline information. Reporting enables to analyze procurement performance, supplier activity, and spend patterns. | PR, PO, GR and Invoice quantities and amounts, PO cycle time, PR to PO conversion rate, spend management, on time delivery rates, GR processing time. 2way /3way match ratio, consignment withdrawal qty and values | |
| I2P - Invoice to Pay | The Invoice-to-Pay (I2P) covers all activities from the receipt and verification of supplier invoices through to the final payment to the supplier. The process typically includes invoice receipt, invoice verification, exception handling, approval workflows, posting to accounts payable, and payment processing. | Invoice amount & quantities, payment terms, on time vs late payment rate, DPO, actual spend | |
| BYP - Buyer Performance | The Buyer Performance (BYP) is a custom sub area which covers the process of buyer performance and VBF.
| Total Spend at LE, Service Company Spend, OpCo Spend, Service Company zone and country level spend, VBF, Performance & savings, VBF vs Performance |
...
Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-1052 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-1861 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-1873 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-2049 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-2061 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-2070 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-2071 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-2062 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-2076 Jira server Syensqo's Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId d8efc1ef-48bd-3b4e-8714-ad827f4f059b key ERP-2077
Data Flow Diagram
Please note that there is no SAP delivered business content for procurement sourced from S4 system.
| draw.io Diagram | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Table of Contents | ||||
|---|---|---|---|---|
|
Source System Extractors
Standard extractors do not need to be documented are listed in the data flow diagram (above) and are not documented here unless extended.
Where custom extractors / extensions are required, reference the FSD for that enhancement.
| Extractor Name | Details | Build Jira Ref For Extension Information |
|---|---|---|
| /SYQ/CI_PurReqnAcctAssgmtAPI01 | Wrapper CDS View for SAP delivered CDS view I_PurReqnAcctAssgmtAPI01 to enable data extraction | |
| /SYQ/E_C_PurchaseContractDex_01 | Extension for CDS view C_PurhcaseContractDex to add the custom fields for Take or Pay |
Inbound Layer
No transformations to be applied in the inbound layer.
Replication Flows
| /SYQ/I_PurOrdConfirmationDispute | New CDS view on top of a custom table (name tbc) to get all the fields. It will be delta enabled based on changed on timestamp | |
| /SYQ/I_PurOrdMessages | New CDS view (delta enabled) on top of table NAST to fetch PO messages sent to vendors. Filter KAPPL = 'EF' and PARVW = 'LF' |
Inbound Layer
No transformations to be applied in the inbound layer.
Replication Flows
Below is the list of Replication Flows corresponding to the CDS views from Below is the list of Replication Flows corresponding to the CDS views from both ROW and China S4 systems:
| CDS View Name (Source) | RoW | China |
|---|---|---|
| C_PurchaseOrderDEX | 1FR_S4HR_S2PP2R_DELTA_1 | 1FR_S4HC_S2PP2R_DELTA_1 |
| C_PurchaseOrderItemDEX | ||
| C_PurOrdScheduleLineDEX | ||
| C_POSupplierConfirmationDEX | ||
| C_PurchaseOrderHistoryDEX | ||
| C_PurOrdAccountAssignmentDEX | ||
| C_PurchaseRequisitionItemDEX | 1FR_S4HR_S2PP2R_DELTA_2 | 1FR_S4HC_S2PP2R_DELTA_2 |
| /SYQ/CI_PurReqnAcctAssgmtAPI01 | ||
| /SYQ/CI_PurOrdConfirmationDispute | 1FR_S4HR_S2PP2R_DELTA_3 | 1FR_S4HR_S2PP2R_DELTA_3 |
| /SYQ/I_PurOrdMessages | ||
| C_PurchaseContractDEX | 1FR_S4HR_S2PS2C_DELTA_1 | 1FR_S4HC_S2PS2C_DELTA_1 |
| C_PurchaseContractItemDEX | ||
| C_PurchaseContractHistoryDEX | ||
| C_SupplierInvoiceDEX | 1FR_S4HR_S2PI2P_DELTA_1 | 1FR_S4HC_S2PI2P_DELTA_1 |
| C_SupplierInvoiceItemDEX |
...
A Source System Identifier will be included as part of the primary key in the 2TL* tables to uniquely distinguish records originating from different source systems.
...
1TL_
...
CNTROL_
...
POACTIVITIESMAPPING
Join
Purpose
This table will list all in-scope activities and indicate their relevance for rework, automation, SBS scope, and changes. Each activity will be mapped to the corresponding PO DB field to enable tagging and tracking using data from the change log table.
The data in the table will be maintained by uploading csv file. The following is the list of fields on the table,
- DB Field - Field to track an activity on the PO (usually on table EKKO or EKPO)
- Activity - Name of the PO activity
- Rework - In scope for rework
- Automation - In scope for automation
- Changes - In scope for changes
- SBS Scope - In scope for SBS
2VR_S4HARM_C_PurchaseRequisitionItem
Purpose
Join PR Item data with PR Account Assignment to create a reusable view for reporting on Purchasing Requisitions. Purpose: Join PR Item data with PR Account Assignment to create a reusable view for reporting on Purchasing Requisitions. Profit Centre from Account Assignment will be picked which is needed for GBU derivation.
Join
LHS: 2TL_S4HARM_C_PurchaseRequisitionItemDex
...
Join type: Left outer join
Cardinality: 1:1
...
Projection
Before joining a filter projection will be applied on 2VR_S4HARM_I_PurReqnAcctAssgmtAPI01 to get only PurchaseRequistion, PurchaseRequistionItem, ProfitCenter fields
Filter
Post projection a filter will be applied on to get only records with Profit Centre populated.
Calculation
Calculated Column DCD_SequenceNumber = ROW_NUMBER() OVER (PARTITION BY PurchaseRequisition, PurchaseRequisitionItem ORDER BY PurchaseRequisition, PurchaseRequisitionItem)
Calculated Column DCD_SequenceNumberFilter = DCD_SequenceNumber
Filter
DCD_SequenceNumberFilter = 1
2VR_S4HARM_C_PurchaseOrderItem
...
Purpose
Purpose: Join PO Item data with PO Header to create a reusable view for reporting on Purchasing Orders.
Join
LHS: 2TL_S4HARM_C_PurchaseOrderItemDex
...
Join type: Inner join
Cardinality: 1:1
Projection
Remove all the duplicate fields from 2TL_S4HARM_C_PurchaseOrderDex.
Calculation
Calculated Dimension - DCD_TwoThreeWayMatch (Two Three Way PO Match). Formula: When WEPOS is null then 2-Way Match else When WEPOS is not null and WEUNB is null then 3-Way Match
2VR_S4HARM_C_PurchaseContractItem
...
Purpose
Purpose: Join PO Contract Item data with PO Contract Header to create a reusable view for reporting on Purchasing Contracts (outline agreements).
Join
LHS: 2TL_S4HARM_C_PurchaseContractItemDex
...
Join type: Inner join
Cardinality: 1:1
Projection
Remove all the duplicate fields from 2TL_S4HARM_C_PurchaseContractDex.
2VR_S4HARM_C_SupplierInvoiceItem
...
Purpose
Purpose: Join Supplier Invoice Item data with Supplier Invoice Header to create a reusable view for reporting on Supplier Invoices.
LHS: 2TL_S4HARM_C_SupplierInvoiceItemDex
RHS: 2TL_S4HARM_C_SupplierInvoiceDex
Join Field: SupplierInvoice and SupplierInvoice
Join type: Inner join
Cardinality: 1:1
2VD_S4HARM_PurchaseOrderItem
a reusable view for reporting on Supplier Invoices.
Join
LHS: 2TL_S4HARM_C_SupplierInvoiceItemDex
RHS: 2TL_S4HARM_C_SupplierInvoiceDex
Join Field: SupplierInvoice and SupplierInvoice
Join type: Inner join
Cardinality: 1:1
2VD_S4HARM_PurchaseOrderItem
A dimension view will be created on top of 2VR_S4HARM_C_PurchaseOrderItemDex. A left outer join will be added with 2VR_S4HARM_C_PurOrdAccountAssignmentDex to get the Profit Centre. Master data associations to the attributes will be done in this dimension view.
Below rules will be applied on 2VR_S4HARM_C_PurOrdAccountAssignmentDexbefore the join
Projection
A projection will be applied to get only PurchaseOrder, PurchaseOrderItem, ProfitCenter fields
Filter
Post projection a filter will be applied on to get only records with Profit Centre populated.
Calculation
Calculated Column DCD_SequenceNumber = ROW_NUMBER() OVER (PARTITION BY PurchaseOrder, PurchaseOrderItem ORDER BY PurchaseOrder, PurchaseOrderItem)
Calculated Column DCD_SequenceNumberFilter = DCD_SequenceNumber
Filter
DCD_SequenceNumberFilter = 1A dimension view will be created on top of 2VR_S4HARM_C_PurchaseOrderItemDex. A left outer join will be added with 2VR_S4HARM_C_PurOrdAccountAssignmentDex to get the Profit Centre. Master data associations to the attributes will be done in this dimension view.
Other 2VR* Relational Views
...
| Transformation Flow | Source | Target |
|---|---|---|
| 2FT_S4HARM_C_PurchaseOrderDex_S4HR | 1TL_S4HR_C_PURCHASEORDERDEX | 2TL_S4HARM_C_PurchaseOrderDex |
| 2FT_S4HARM_C_PurchaseOrderItem_S4HR | 1TL_S4HR_C_PURCHASEORDERITEMDEX | 2TL_S4HARM_C_PurchaseOrderItemDex |
| 2FT_S4HARM_C_PurOrdScheduleLine_S4HR | 1TL_S4HR_C_PURORDSCHEDULELINEDEX | 2TL_S4HARM_C_PurOrdScheduleLineDex |
| 2FT_S4HARM_C_POSupplierConfirmation_S4HR | 1TL_S4HR_C_POSUPPLIERCONFIRMATIONDEX | 2TL_S4HARM_C_POSupplierConfirmationDex |
| 2FT_S4HARM_C_PurchaseOrderHistory_S4HR | 1TL_S4HR_C_PURCHASEORDERHISTORYDEX | 2TL_S4HARM_C_PurchaseOrderHistoryDex |
| 2FT_S4HARM_C_PurOrdAccountAssignment_S4HR | 1TL_S4HR_C_PURORDACCOUNTASSIGNMENTDEX | 2TL_S4HARM_C_PurOrdAccountAssignmentDex |
| 2FT_S4HARM_C_PurchaseRequisitionItem_S4HR | 1TL_S4HR_C_PURCHASEREQUISITIONITEMDEX | 2TL_S4HARM_C_PurchaseRequisitionItemDex |
| 2FT_S4HARM_SYQI_PurReqnAcctAssgmtAPI01_S4HR | 1TL_S4HR_SYQI_PURREQNACCTASSGMTAPI01 | 2TL_S4HARM_SYQI_PurReqnAcctAssgmtAPI01 |
| 2FT_S4HARM_SYQ_C_PurReqnAcctAssgmtAPI01PurchaseContract_S4HR | 1TL_S4HR_C_PURCHASECONTRACTDEX | 2TL_S4HARM_C_PurchaseContractDex |
| 2FT_S4HARM_C_PurchaseContractItem_S4HR | 1TL_SYQS4HR_C_PURREQNACCTASSGMTAPI01PURCHASECONTRACTITEMDEX | 2TL_S4HARM_SYQ_C_PurReqnAcctAssgmtAPI01PurchaseContractItemDex |
| 2FT_S4HARM_C_PurchaseContractPurchaseContractHistory_S4HR | 1TL_S4HR_C_PURCHASECONTRACTDEXPURCHASECONTRACTHISTORYDEX | 2TL_S4HARM_C_PurchaseContractDexPurchaseContractHistoryDex |
| 2FT_S4HARM_C_PurchaseContractItemSupplierInvoice_S4HR | 1TL_S4HR_C_PURCHASECONTRACTITEMDEXSUPPLIERINVOICEDEX | 2TL_S4HARM_C_PurchaseContractItemDexSupplierInvoiceDex |
| 2FT_S4HARM_C_PurchaseContractHistorySupplierInvoiceItem_S4HR | 1TL_S4HR_C_PURCHASECONTRACTHISTORYDEXSUPPLIERINVOICEITEMDEX | 2TL_S4HARM_C_PurchaseContractHistoryDexSupplierInvoiceItemDex |
| 2FT_S4HARM_ | ||
| SYQI_ | ||
| PurOrdConfirmationDispute_S4HR | 1TL_S4HR_ | |
| SYQI_ | ||
| PURORDCONFIRMATIONDISPUTE | 2TL_S4HARM_ | |
| SYQI_ | ||
| PurOrdConfirmationDispute | ||
| 2FT_S4HARM_ | ||
| SYQI_ | ||
| PurOrdMessages_S4HR | 1TL_S4HR_ | |
| SYQI_ | ||
| PURORDMESSAGES | 2TL_S4HARM_ | |
| SYQI_ | ||
| PurOrdMessages | ||
| 2FT_S4HARM_C_PurchaseOrderDex_S4HC | 1TL_S4HC_C_PURCHASEORDERDEX | 2TL_S4HARM_C_PurchaseOrderDex |
| 2FT_S4HARM_C_PurchaseOrderItem_S4HC | 1TL_S4HC_C_PURCHASEORDERITEMDEX | 2TL_S4HARM_C_PurchaseOrderItemDex |
| 2FT_S4HARM_C_PurOrdScheduleLine_S4HC | 1TL_S4HC_C_PURORDSCHEDULELINEDEX | 2TL_S4HARM_C_PurOrdScheduleLineDex |
| 2FT_S4HARM_C_POSupplierConfirmation_S4HC | 1TL_S4HC_C_POSUPPLIERCONFIRMATIONDEX | 2TL_S4HARM_C_POSupplierConfirmationDex |
| 2FT_S4HARM_C_PurchaseOrderHistory_S4HC | 1TL_S4HC_C_PURCHASEORDERHISTORYDEX | 2TL_S4HARM_C_PurchaseOrderHistoryDex |
| 2FT_S4HARM_C_PurOrdAccountAssignment_S4HC | 1TL_S4HC_C_PURORDACCOUNTASSIGNMENTDEX | 2TL_S4HARM_C_PurOrdAccountAssignmentDex |
| 2FT_S4HARM_C_PurchaseRequisitionItem_S4HC | 1TL_S4HC_C_PURCHASEREQUISITIONITEMDEX | 2TL_S4HARM_C_PurchaseRequisitionItemDex |
| 2FT_S4HARM_SYQ_CSYQI_PurReqnAcctAssgmtAPI01_S4HC | 1TL_S4HC_SYQSYQI_C_PURREQNACCTASSGMTAPI01 | 2TL_S4HARM_SYQ_CSYQI_PurReqnAcctAssgmtAPI01 |
| 2FT_S4HARM_C_PurchaseContract_S4HC | 1TL_S4HC_C_PURCHASECONTRACTDEX | 2TL_S4HARM_C_PurchaseContractDex |
| 2FT_S4HARM_C_PurchaseContractItem_S4HC | 1TL_S4HC_C_PURCHASECONTRACTITEMDEX | 2TL_S4HARM_C_PurchaseContractItemDex |
| 2FT_S4HARM_C_PurchaseContractHistory_S4HC | 1TL_S4HC_C_PURCHASECONTRACTHISTORYDEX | 2TL_S4HARM_C_PurchaseContractHistoryDex |
| 2FT_S4HARM_C_SupplierInvoice_S4HC | 1TL_S4HC_C_SUPPLIERINVOICEDEX | 2TL_S4HARM_C_SupplierInvoiceDex |
| 2FT_S4HARM_C_SupplierInvoiceItem_S4HC | 1TL_S4HC_C_SUPPLIERINVOICEITEMDEX | 2TL_S4HARM_C_SupplierInvoice_SupplierInvoiceItemDex |
| 2FT_S4HARM_SYQI_PurOrdConfirmationDispute_S4HC | 1TL_S4HC_ | |
| SYQI_ | ||
| PURORDCONFIRMATIONDISPUTE | 2TL_S4HARM_ | |
| SYQI_ | ||
| PurOrdConfirmationDispute | ||
| 2FT_S4HARM_ | ||
| SYQI_ | ||
| PurOrdMessages_S4HC | 1TL_S4HC_ | |
| SYQI_ | ||
| PURORDMESSAGES | 2TL_S4HARM_ | |
| SYQI_ | ||
| PurOrdMessages |
Propagation Layer
3VR_S2PP2R_PurchaseRequisitionItem
Calculation
Calculated measure: DCM_PRAmountEur = ItemNetAmount converted to EUR using the M rates, source currency as PurReqnItemCurrency and CreationDate as date for conversionMapped 1:1 with 2VR_S4HARM_PurchaseRequisitionItem
3VR_S2PP2R_PurchaseOrderItem
...
Join type: Left Outer Join
Cardinality: 1:1
Calculation
...
Calculated measure: DCM_NetAmountEur = NetAmount converted to EUR using the M rates and PurchaseOrderDate as date for conversion
...
Calculated measure: DCM_Counter = Constant 1
...
Join type: Left Outer Join
Cardinality: 1:1
Calculation
Calculated measure: DCM_POAmount = NetPriceAmount * ScheduleLineOrderQuantityCalculated measure: DCM_POAmountEUR = DCM_NetPriceAmountEUR * ScheduleLineOrderQuantity
...
Join type: Left Outer Join
Cardinality: 1:1
Calculation
Before joining 3VR_S2PP2R_PurchaseOrderHistory, below steps need to performed to get data at required granularity which is PO and PO item,
...
3VR_S2PP2R_SuplrCsgnmtPplineWithdrwl
Calculation
The source object 2VR* is defined in the P2F DDFS. Use Formula component to modify the expression of below measures.
...
Join type: Left Outer Join
Cardinality: 1:1
Calculation
Calculated dimension: DCD_LatePO (Late PO Creation) = If PODOCUMENTDATE is null or blank or > DOCUMENTDATE then X else ''
...