This Data Flow Specification (DFS) defines the end-to-end data flow required to meet the following requirements:
KPI | Analytical Model |
Stock Balances | 4MA_P2FINV_MaterialStock |
Freight KPI Report (ERP-1795) | xxxxxxxxxx |
Freight Cost Report (ERP-1792) | xxxxxxxxxx |
Carrier Performance (ERP-1782) | xxxxxxxxxx |
Freight Cost Allocation (ERP-2359) | 4MA_P2FTMS_FrtCstAlloc |
The objective of the Stock Balances Analytical Model is to provide a comprehensive view of Material/Plant/Storage Location/Stock Type values and quantities at a given date, which reconciles to MB52.
Quantities and values are obtained from a combination of Goods Movement (MM) documents and Fi adjustment postings.
Snapshots of monthly and weekly inventories will be created and partitioned (how so it makes sense?)
A persisted/portioned flow, containing aggregated data will also be created. This aggregated view will carry the stock balances for a month by Material/Plant/Storage Location/Stock Type. The current month stock movements will be union-ed to it to get to the current month ending balance.
No differentiation in the handling of EWM managed plants is required. EWM handles the process, but each movement is reflected as a GoodsMovementDocument in table MSEG. This allows for a single process to calculate Closing Inventory.
The standard CDS views for physical stock and plant stock for EWM managed plants will be extracted and made available for reporting (if required for cross-instance reporting).
The following table is a mapping of ERP-410's requirements, the Analytical Model used and then a mapping to the legacy code Internal Table(s) used
| Req No | Requirement | Description | Internal Table | Source Tables | Analytical Model | Notes |
| 0 | Batch Chain - Primary Report | The main report results screen showing the full resolved batch genealogy chain for the selected material/plant/batch and direction | GT_WORKLIST | CHVW / MCH1 / MARA / MAKT / T001W | 4MA_P2FINV_BatchTrace | Entry point for all branching. Driven by TF_WPP_BatchTrace recursive traversal of CHVW. All 8 branch requirements filter against this result set |
| 1 | Material Movements | Reports all material movements for all materials/batches on the report results | GT_MSEG | MSEG / MKPF | 4MA_P2FINC_MaterialStock | Filtered by MATNR/WERKS/CHARG from batch chain. Movement types 101/102/531/532. MENGE calculated via SHKZG +/- |
| 2 | Stocks | Reports all current stock of all materials/batches on the report results | GT_MCHB | Derived from MSEG via GoodsMovementDocumentDEX aggregation | 4MA_P2FINC_MaterialStock | No separate MCHB extraction required - derived from GT_MSEG aggregated by MATNR/WERKS/CHARG per P2F DDFS pattern |
| 3 | NCN | Reports all NCN quality notifications for all the materials/batches on the report results | GT_NCN | New Z-table - pending CL_IT_NCN analysis | 4MA_P2FINV_QualityCompliance | Blocked pending CL_IT_NCN analysis. Join on MATNR/WERKS/CHARG from batch chain assumed. |
| 4 | Specs | Shows all entries in the multi spec table for all materials/batches on the report results | GT_SPECS | Unknown - pending parent class ZWPP_MDE_HCE analysis | 4MA_P2FINV_QualityCompliance | Blocked pending ZWPP_MDE_HCE. Shares AM with NCN and FG_CHARS assumed. |
| 5 | Finished Goods Characteristics | Reports characteristic values for all materials/batches on the report results | GT_CHAR | AUSP / CABN / CAWN via 3VR_CharcValue (already exists in DSP) | 4MA_P2FINV_QualityCompliance | 3VR_CharcValue already built - join to batch chain on ObjectInternalID = MATNR. Filter to relevant class type |
| J | ||||||
| 7 | Deliveries | Reports all outbound deliveries for all selected materials/batches including the first specification on the sales order | GT_DEL | LIKP / LIPS / KNA1 (via ZWPP_GET_MDE_DEL RFC) | 4MA_P2FINV_Deliveries | Two-hop join: MSEG VBELN_IM to delivery then validated against batch chain. Includes first spec from VGBEL/VGPOS - spec logic in parent class ZWPP_MDE_HCE |
| 8 | Delivery Specs | Reports all outbound deliveries for all selected materials/batches and all specifications on the sales order | GT_DEL_SPEC | LIKP / LIPS / KNA1 plus all spec entries via create_spec_table | 4MA_P2FINV_DeliverySpecs | Derived from GT_DEL via create_spec_table - returns full spec table per delivery item not just first entry. Spec logic blocked pending ZWPP_MDE_HCE availability |
Physical inventory adjustments are processed in SAP as material documents with movement types 701/702 (inventory difference posting). These postings are captured in MSEG and will flow through the standard I_GoodsMovementDocument CDS view. No separate extraction path is required; physical inventory adjustments are included in the GoodsMovementDocumentDEX flow and will be unioned with the period opening balance to produce the closing balance.

`
| Extractor Name | Build Jira Ref For Extension Information |
|---|---|
Z_I_TranspRoot (XE_TransRoot) | |
Z_I_TranspChargesRoot (XE_TransChRoot) | |
Z_I_TranspChargesItem (XE_TransChitem) | |
Z_I_TranspChargesItemElement (XE_TransChItemE) | |
Z_I_TranspExecData (XE_TransExec) | |
Z_I_TranspRootNode (XE_TransRootN) | |
Z_I_TranspRootNode (XE_TransRootN) |
Extension of the cds views SCTMS_D required to include the expected extensions mentioned in ERP-1792 'Manual updated charges vs Freight Agreement calculated amount'
TMS KPI to source mapping
Jira | KPI | Source Views (Harmonisation Layer 2VR_*) | |||||||||
2VR_TransRoot | 2VR_TransChRoot | 2VR_TransChitem | 2VR_TransChItemE | 2VR_TransExec | 2VR_TransRootN | 2VR_Outbound | 2VR_CustSettlmt | 2VR_GL_Acc_Line | |||
Z_I_TranspRoot /SCMTMS/D_TORROT | Z_I_TranspChargesRoot /SCMTMS/D_TCHRGR | Z_I_TranspChargesItem /SCMTMS/D_TCHRGI | Z_I_TranspChargesItemElement /SCMTMS/D_TCHRGE | Z_I_TranspExecData /SCMTMS/D_TOREXE | Z_I_TranspRootNode /SCMTMS/D_SF_ROT | I_OutboundDelivery (LIKP/LIPS) | C_CustSettlmtDEX (WBRK/WBRP) | I_GLAccountLineItemRAW (ACDOCA) | Notes | ||
ERP-1795 | Freight Unit Compliance Score | ✓ | ✓ | FUs with planning status at time of PGI. Delivery goods movement date as base. | |||||||
ERP-1795 | FSD Timing Compliance Score | ✓ | ✓ | ✓ | FSD CREATED_ON vs ActualDeparture (PlannedDeparture as fallback). | ||||||
ERP-1795 | Freight Agreement Usage Score | ✓ | ✓ | ✓ | ✓ | FAGRMNTID044 presence on charge items; MANUALLY_CHANGED on charge elements. | |||||
ERP-1795 | Overall Compliance Score | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | Weighted average of the three scores above. | ||
ERP-1792 | Manual Charges vs FA Calculated | ✓ | ✓ | ✓ | ✓ | CALC_AMOUNT vs AMOUNT where MANUALLY_CHANGED = X on charge elements. | |||||
ERP-1792 | 3rd Party Charges Overview | ✓ | ✓ | ✓ | ✓ | Charges assigned to 3rd party; filtered by charge type on element. | |||||
ERP-1792 | Freight Agreement Utilisation | ✓ | ✓ | ✓ | ✓ | All freight orders linked to a freight agreement including costs. | |||||
ERP-1792 | Freight Charge Breakdown | ✓ | ✓ | ✓ | ✓ | Breakdown by charge type, carrier, posting/doc status, timeline. | |||||
ERP-1782 | Confirmed Pick-up vs Actual | ✓ | ✓ | Earliest pick-up event vs confirmed pick-up date on freight order. | |||||||
ERP-1782 | Confirmed ETA vs Actual Arrival | ✓ | ✓ | Earliest arrival event vs confirmed ETA on freight order. | |||||||
ERP-1782 | Proof of Delivery Rate | ✓ | ✓ | POD event reported (PROCESSING_STATUS = Confirmed) as % of total FOs. | |||||||
ERP-1782 | Event Reporting Rate | ✓ | ✓ | Critical event compliance per defined rules; split Outbound / Inbound. | |||||||
ERP-2359 | Freight Cost to Cost Account/Material Account | ✓ | ✓ | Amount posted to material/expense/P&L G/L accounts after settlement. | |||||||
ERP-2359 | Cost Allocation Breakdown | ✓ | ✓ | ✓ | Breakdown by CompanyCode, PurchOrg, Plant, Material, SalesOrder/PO, G/L. | ||||||
Source View / Extractor | Key Relationships |
Freight Order /SCMTMS/D_TORROT (XE_TransRoot = Z_I_TranspRoot) | DB_KEY = TOR_ID |
Freight Order /SCMTMS/D_TORITE | NEW |
Charges Root /SCMTMS/D_TCHRGR (XE_TransChRoot = Z_I_TranspChargesRoot) | DB_KEY = HOST_KEY (DB_KEY freight order) |
Charges Item /SCMTMS/D_TCHRGI (XE_TransChitem = Z_I_TranspChargesItem) | DB_KEY = PARENT_KEY (DB_KEY charges root) |
Charges Elem /SCMTMS/D_TCHRGE (XE_TransChItemE = Z_I_TranspChargesItemElement) | DB_KEY = ROOT_KEY (charges root) or PARENT_KEY (charges item) |
Execution Events /SCMTMS/D_TOREXE (XE_TransExec = Z_I_TranspExecData) | Linked via TORITMUID to freight order item |
Freight Settl. Doc /SCMTMS/D_SF_ROT (XE_TransRootN = Z_I_TranspRootNode) | SFIR_ID; linked to freight order via REF_KEY |
Customer Settlement (XE_CustSettlmt = C_CustSettlmtDEX) | WBRP/WBRK; joined to GL via CompanyCode + FiscalYear + ReferenceDocument |
Purpose:
Source: 1TL_S4Hx_I_GOODSMOVEMENTDOCUMENTDEX
Projection:
| Project Details |
|---|
Add as Key: MaterialDocumentYear |
Add as Key: MaterialDocument |
Add as Key: MaterialDocumentItem |
Note, keep keys MaterialDocumentKey1 - 6 for Delta Capture.
Projection:
| Projection Details |
|---|
Exclude Column: MaterialDocumentKey1 |
Exclude Column: MaterialDocumentKey2 |
Exclude Column: MaterialDocumentKey3 |
Exclude Column: MaterialDocumentKey4 |
Exclude Column: MaterialDocumentKey5 |
Exclude Column: MaterialDocumentKey6 |
Source: 1TL_S4Hx_I_GOODSMOVEMENTDOCUMENTDEX
Purpose:
Source: 1TL_S4HR_C_TranspOrdItemAnlytsSDEX

Filter:
(TransportationOrder <> '' OR TransportationOrder IS NOT NULL) |
|---|
Formula:
| Field | Formula |
|---|---|
| TransportationOrderItemUUID | BINTOHEX(TransportationOrderItemUUID) |
| TransportationOrderUUID | BINTOHEX(TransportationOrderUUID) |
| TranspOrdItemParentItemUUID | BINTOHEX(TranspOrdItemParentItemUUID) |
| SourceStopUUID: | BINTOHEX(SourceStopUUID) |
| DestinationStopUUID | BINTOHEX(DestinationStopUUID) |
| CarrierUUID | BINTOHEX(CarrierUUID) |
| ShipperUUID | BINTOHEX(ShipperUUID |
| ConsigneeUUID | BINTOHEX(ConsigneeUUID) |
| TranspOrdNetDuration | to_double(TranspOrdNetDuration) |
| TranspOrdItemShipperUUI | BINTOHEX(TranspOrdItemShipperUUID) |
| ProductUUID | BINTOHEX(ProductUUID) |
| NetDurationInHours | to_decimal((to_integer("TranspOrdNetDuration" / 10000)) + (to_integer((MOD("TranspOrdNetDuration", 10000)) / 100) / 60 ),5,2) |
Source: 1TL_S4Hx_I_TRANSPORDSTAGEANALYTICS
Purpose:

Filter:
| TranspOrdStageDestStopCategory = 'L' |
Projection: Exclude ALL, except:
| Projection Details |
|---|
Include Column: TransportationOrderUUID |
Include Column: TranspOrdStageDistance |
Include Column: TranspOrdStageDistanceUnit |
Include Column: TranspOrdStageNetDuration |
Formula:
| Field | Formula |
|---|---|
| TransportationOrderStageUUID | BINTOHEX(TransportationOrderStageUUID) |
| TransportationOrderUUID | BINTOHEX(TransportationOrderUUID) |
| TranspOrdStageSrceStopUUID | BINTOHEX(TranspOrdStageSrceStopUUID) |
| TranspOrdStageDestStopUUID | BINTOHEX(TranspOrdStageDestStopUUID) |
| CarrierUUID | BINTOHEX(CarrierUUID) |
| NumberOfStages | 1 |
Aggregation
| Field | Aggregation |
|---|---|
| NumberOfStages | SUM |
| TranspOrdStageDistance | SUM |
| TranspOrdStageNetDuration | SUM |
Purpose:
Source: 1TL_S4Hx_I_TranspChargesRoot (1TL_TransChRoot)
Filter:
CALC_STATUS <> ''
Formula:
Field | Formula |
HOST_KEY | BINTOHEX(HOST_KEY) |
HOST_BO_KEY | BINTOHEX(HOST_BO_KEY) |
HOST_NODE_KEY | BINTOHEX(HOST_NODE_KEY) |
Purpose:
Source: 1TL_S4Hx_I_TranspChargesItem (1TL_TransChitem)
Filter:
HOST_KEY IS NOT NULL
Formula:
Field | Formula |
HOST_KEY | BINTOHEX(HOST_KEY) |
HOST_BO_KEY | BINTOHEX(HOST_BO_KEY) |
HOST_NODE_KEY | BINTOHEX(HOST_NODE_KEY) |
HOST_ROOT_KEY | BINTOHEX(HOST_ROOT_KEY) |
PARENT_KEY | BINTOHEX(PARENT_KEY) |
PARENT_ITEM_KEY | BINTOHEX(PARENT_ITEM_KEY) |
EXECUTING_DOC_KEY | BINTOHEX(EXECUTING_DOC_KEY) |
DESTLOC_UUID | BINTOHEX(DESTLOC_UUID) |
SOURCELOC_UUID | BINTOHEX(SOURCELOC_UUID) |
CONTEXT_KEY | BINTOHEX(CONTEXT_KEY) |
ORIG_OP_UUID | BINTOHEX(ORIG_OP_UUID) |
PARTY_UUID | BINTOHEX(PARTY_UUID) |
REF_KEY | BINTOHEX(REF_KEY) |
REF_ROOT_KEY | BINTOHEX(REF_ROOT_KEY) |
UUID020 | BINTOHEX(UUID020) |
UUID057 | BINTOHEX(UUID057) |
Purpose:
Source: 1TL_S4Hx_I_TranspChargesItemElement (1TL_TransChItemE)
Filter:
ROOT_KEY IS NOT NULL AND INVOICING <> ''
Formula:
Field | Formula |
ROOT_KEY | BINTOHEX(ROOT_KEY) |
PARENT_KEY | BINTOHEX(PARENT_KEY) |
PARENT_TCE | BINTOHEX(PARENT_TCE) |
DESTLOC_UUID | BINTOHEX(DESTLOC_UUID) |
SOURCELOC_UUID | BINTOHEX(SOURCELOC_UUID) |
DIST_ELEM_KEY | BINTOHEX(DIST_ELEM_KEY) |
REF_ELEM_KEY | BINTOHEX(REF_ELEM_KEY) |
RATE_RECORD_KEY | BINTOHEX(RATE_RECORD_KEY) |
CALCBASELINE_KEY | BINTOHEX(CALCBASELINE_KEY) |
UUID026 | BINTOHEX(UUID026) |
SPLIT_PARENT_KEY | BINTOHEX(SPLIT_PARENT_KEY) |
TARGET_ITEM_KEY | BINTOHEX(TARGET_ITEM_KEY) |
SRV_NODE | BINTOHEX(SRV_NODE) |
UUID_INDEX_RATE | BINTOHEX(UUID_INDEX_RATE) |
Purpose:
Source: 1TL_S4Hx_I_TranspExecData (1TL_TransExec)
Filter:
EVENT_REVOKED <> 'X' AND EVENT_STATUS <> ''
Formula:
Field | Formula |
TORITMUID | BINTOHEX(TORITMUID) |
TORSTOPUUID | BINTOHEX(TORSTOPUUID) |
TORSTSUID | BINTOHEX(TORSTSUID) |
PARENT_KEY | BINTOHEX(PARENT_KEY) |
EXT_LOC_UUID | BINTOHEX(EXT_LOC_UUID) |
ORIG_EXEC_KEY | BINTOHEX(ORIG_EXEC_KEY) |
ORIG_NODE_KEY | BINTOHEX(ORIG_NODE_KEY) |
REF_EXEC_KEY | BINTOHEX(REF_EXEC_KEY) |
ACTUAL_DATE | to_date(to_varchar(ACTUAL_DATE, 'YYYYMMDD'), 'YYYY-MM-DD') |
Purpose:
Source: 1TL_S4Hx_I_TranspRootNode (1TL_TransRootN)
Filter:
SFIR_TYPE <> '' AND LIFECYCLE <> 'X'
Formula:
Field | Formula |
TSP_UUID | BINTOHEX(TSP_UUID) |
REF_BO_KEY | BINTOHEX(REF_BO_KEY) |
REF_KEY | BINTOHEX(REF_KEY) |
BILL_FROM_PARTY | BINTOHEX(BILL_FROM_PARTY) |
PAYEE_ID | BINTOHEX(PAYEE_ID) |
CARRIER_INVOICE_KEY | BINTOHEX(CARRIER_INVOICE_KEY) |
CREATED_ON | to_date(to_varchar(CREATED_ON, 'YYYYMMDD'), 'YYYY-MM-DD') |
CREATION_DATE_EXT | to_date(to_varchar(CREATION_DATE_EXT, 'YYYYMMDD'), 'YYYY-MM-DD') |
Purpose:
Source: 1TL_S4Hx_C_CustSettlmtDEX (1TL_CustSettlmt)
Filter:
CustSettlmt IS NOT NULL
Projection:
Projection Details |
Include Column: CustSettlmt |
Include Column: CustSettlmtItem |
Include Column: CompanyCode |
Include Column: SettlementFiscalYear |
Include Column: ControllingArea |
Include Column: CostCenter |
Include Column: BusinessArea |
Include Column: PurchasingOrganization |
Include Column: Plant |
Include Column: Material |
Include Column: CndnContrType |
Include Column: ActualSettlmtDate |
Include Column: CreationDate |
Include Column: CreatedByUser |
Source: 2VR_S2HARM_GoodsMovementDocumentDEX & 2VR_S4HARM_I_GLAccountLineItemRAW

Filters:
| Flow | Filter Values |
|---|---|
| 2VR_S4HARM_I_GLAccountLineItemRAW | "ReferenceDocumentType" = 'PRCHG' AND |
| 2VR_S4HARM_I_GoodsMovementDocumentDEX | Material" != '' AND "InventoryStockType" != '' |
Projection:
Accept default union mappings
Source: 3VR_P2FINC_MaterialStock

Calculation:
| Name | Description | Data Type | Expression | Notes |
|---|---|---|---|---|
| RecordType | Used for Non-Cumulative Key Figures to track inventory balance over time. | Integer | case when 'PostingDate' < '20251231' then 2 when 'PostingDate' = '20251231' then 1 else 0 end | The dates must be parameterised to set the marker based on an input table. |
Source: 2VR_S4HARM_C_TranspOrdItemAnlytsDEX (2VR_TrItemDex)
Purpose:
Source: 3VR_P2FTMS_TransportationOrderSql (3VR_TranOrdSql) left join 2VR_S4HARM_C_TranspOrdStageAnalytics (2VR_TrStg)
Join Condition:
TransportationOrderSql.TransportationOrderUUID = TrStg.TransportationOrderUUID
Filter:
TransportationOrder <> '' AND TranspOrdLifeCycleStatus NOT IN ('X', 'Z')
Projection – include:
Projection Details |
Include Column: TransportationOrder |
Include Column: TransportationOrderUUID |
Include Column: TransportationOrderType |
Include Column: TransportationMode |
Include Column: CarrierUUID |
Include Column: ShipperUUID |
Include Column: ConsigneeUUID |
Include Column: FreightAgreement |
Include Column: PlannedDepartureDateTime |
Include Column: ActualDepartureDateTime |
Include Column: PlannedArrivalDateTime |
Include Column: ActualArrivalDateTime |
Include Column: TranspOrdLifeCycleStatus |
Include Column: TranspOrdPlanningStatus |
Include Column: ShippingCondition |
Include Column: TransportationOrderItemUUID |
Include Column: Product / ShipFromParty / ShipToParty |
Include Column: NetDurationInHours (stage) |
Include Column: NumberOfStages (stage) |
Include Column: TranspOrdStageDistance / DistanceUnit (stage) |
Include Charge fields: FAGRMNTID044, HOST_KEY, CALC_AMOUNT, AMOUNT, INVOICED_AMT, ANALYTICRELEV, CCOD, MANUALLY_CHANGED (from charges SQL join) |
Include Execution fields: EVENT_CODE, ACTUAL_DATE, DISCREPANCY, DISCR_TYPE, PROCESSING_STATUS (from exec join) |
Source: 3VR_P2FTMS_TransportationOrder (3VR_TranOrd)
Source: 2VR_S4HARM_I_TranspRootNode (2VR_TransRootN) JOIN 2VR_S4HARM_C_CustSettlmtDEX (2VR_CustSettlmt) JOIN 2VR_S4HARM_I_GLAccountLineItemRAW (2VR_GL_Acc_Line_Itm)
Join Condition (ERP-2359 specification):
G.CompanyCode = S.CompanyCode AND G.FiscalYear = S.SettlementFiscalYear AND G.ReferenceDocument = S.CustSettlmt AND G.ReferenceDocumentItem = S.CustSettlmtItem AND G.ReferenceDocumentContext = 'WB' AND N.REF_KEY = S.SettlmtRefDoc (link FSD to Settlement Doc)
Filter:
ReferenceDocumentContext = 'WB' AND S.CustSettlmt IS NOT NULL AND N.LIFECYCLE <> 'X'
Projection – from Customer Settlement (2VR_CustSettlmt):
Projection Details |
CustSettlmt, CustSettlmtItem |
CompanyCode, SettlementFiscalYear |
PurchasingOrganization, Plant, Material |
CndnContrType, ActualSettlmtDate |
Projection – from GL Account Line Item (2VR_GL_Acc_Line_Itm):
Projection Details |
GLAccount, DebitCreditCode |
AmountInCompanyCodeCurrency, CompanyCodeCurrency |
AmountInTransactionCurrency, TransactionCurrency |
CostCenter, ControllingArea, ProfitCenter, BusinessArea |
SalesOrder / PurchaseOrder |
Projection – from TranspRootNode (2VR_TransRootN):
Projection Details |
SFIR_ID (FSD document number) |
CREATED_ON (FSD creation timestamp) |
TSP_ID, PURCH_COMPANY_CODE, PURCH_ORG_ID |
LIFECYCLE, BLOCK, BLOCK_REASON |
Source: 3VR_P2FTMS_FrtCstAlloc (3VR_FrtCstAlloc)
Supports:
Includes technical details for:
| Report Field Description | SAP Table-Field Name / process | Comments / Calculation / Formula / Restriction dimensions and values | Aggregation of data | Example SAP field data |
| CurrentStock | MatlStkChangeQtyInBaseUnit | Non-Cumulative Record Type Field: RecordType TimeDimension: PostingDate Earliest Reporting Start Date: TBD LatestReportingEndDate: TBD Set Unbooked Values to 0: X | LAST | 1,000 |
CurrentStockValue | InventoryValuationAmtInCoCodeCrcy | Non-Cumulative – same parameters as CurrentStock | SUM |
Source: 3VF_P2FTMS_TransportationOrder (3VF_TranOrd)
Calculated Measures:
Detailed calculated measure specifications for 4MA_P2FTMS_TransportationOrder are pending story design for ERP-1795, ERP-1792, and ERP-1782.
Intended KPI measures (draft – subject to model naming decision):
Measure | Logic / Source |
FreightUnitComplianceScore | Ratio of Freight Units planned prior to PGI. Source: 2VR_S4HARM_I_OutboundDelivery + 2VR_S4HARM_I_TranspRoot. Hierarchy: Syensqo → Country → CompanyCode → Plant. |
FSDTimingComplianceScore | Ratio of FSDs where CREATED_ON <= ActualDepartureDateTime (PlannedDeparture as fallback). Source: 2VR_S4HARM_I_TranspRootNode. |
FreightAgreementUsageScore | Ratio of FSD items where FAGRMNTID044 IS NOT NULL. Manual updates counted: MANUALLY_CHANGED = 'X' on charges element. Excludes non-FA charge types (configurable list). |
OverallComplianceScore | Weighted average of the three scores. Weighting factors TBD per project requirements. |
Intended measures (draft):
Measure | Logic / Source |
TotalChargeAmount | Sum of AMOUNT from Charges Element, restricted to INVOICING <> '' and ANALYTICRELEV = 'X'. |
ManualChargeVariance | CALC_AMOUNT vs AMOUNT on elements where MANUALLY_CHANGED = 'X'. Supports ERP-1792 KPI: Manual Updated Charges vs FA Calculated Amount. |
InvoicedAmount | INVOICED_AMT at Charges Root (total) and Element (detail) level. |
WeightedAvgFreightRate | TotalChargeAmount / TotalWeight (CHRG_WEI_VAL). Post-aggregation in SAC. |
The analytical model for the Carrier Performance Report has not yet been assigned a name in the data flow diagram. This section is reserved once the model name is confirmed.
Intended measures (draft):
Measure | Logic / Source |
PickupOnTimeRate | Earliest actual pick-up event (EVENT_CODE = pick-up) vs PlannedDepartureDateTime +/- threshold. Source: 2VR_S4HARM_I_TranspExecData. |
ETAOnTimeRate | Earliest arrival event vs PlannedArrivalDateTime +/- threshold. Uses confirmed ETA from Transportation Order extension field. |
ProofOfDeliveryRate | Ratio of FOs with POD event reported (EVENT_CODE = POD, PROCESSING_STATUS = Confirmed). |
EventReportingRate | Compliance per defined event rules (ERP-1782). Separate rate for Outbound / Inbound FOs. |
Note: Event code mappings (pick-up, arrival, POD) must be configured as input parameters or a reference table in DSP, as they are client-specific customising values in /SCMTMS/D_TOREXE.
Source: 3VF_P2FTMS_FrtCstAlloc (3VF_FrtCstAlloc)
Calculated Measures:
Measure | Base Fields | Calculation / Logic | Aggregation |
FreightCostToCostAccount | AmountInCompanyCodeCurrency | Sum of amounts where GLAccount is classified as an expense/cost account. | SUM |
FreightCostToMaterialAccount | AmountInCompanyCodeCurrency | Sum of amounts where GLAccount is classified as a material/stock account. | SUM |
CostVsMaterialSplit | FreightCostToCostAccount / TotalFreightCost | Ratio split between cost and material account postings. Expressed as %. | PERCENTAGE |
Dimensions:
Out of Scope:
Breakdown by charge type or carrier – refer to Freight Cost Report (ERP-1792) for that analysis.
tbd
tbd