...
| 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/I_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 | |
| /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.
...
| 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/I_PurReqnAcctAssgmtAPI01 | ||
| /SYQ/I_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
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. Profit Centre from Account Assignment 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 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. 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
Join PO Item data with PO Header to create a reusable view for reporting on Purchasing Orders.
...
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
Join PO Contract Item data with PO Contract Header to create a reusable view for reporting on Purchasing Contracts (outline agreements).
...
Join type: Inner join
Cardinality: 1:1
Projection
Remove all the duplicate fields from 2TL_S4HARM_C_PurchaseContractDex.
2VR_S4HARM_C_SupplierInvoiceItem
Purpose
Join Supplier Invoice Item data with Supplier Invoice Header to create 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
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 ''
...