You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 33 Next »

Introduction

This Data Flow Specification (DFS) defines the end-to-end data flow required to meet the following requirements:

  • ERP-xx Business Case
  • etc.

The models below are designed for

  • semantic tag - gl account
  • fixed assets (need all depreciation areas)
  • Lease FX
  • tax
  • cash flow (flows?) - maybe covered by GR rather
  • SKF
  • Headcount

Can remove the measures for alternate currency /quantity as we will not use these as per KDD047 Universal parallel Ledgers. But then how does this fit in with currency roles?

Reporting is done in tons so store rather than calc. Where if we dont persist again

Probably the same for value at bud rate


A consolidated view of all the Requirements, KPIs and the supplying views covered by this DFS.

GL Account Semantic Tags (Model)

Overview:

GL transactions grouped by GL Accounts as defined by a particular Account Hierarchy

Based on Business Content

Recreates the S/4 model in a more logical fashion that in S/4 (removes the hard coding in the CDS views)

Differs in some way to the Functional Area Semantic Tag model

Purpose:

Simplified reporting using semantic tags

This flow will be shared with other POD's

Notes:



LayerCodePrefixTech NamePropertiesTransformationPerformance
Inbound1TL_SemTagAccnt1TL_S4HR_I_SEMTAGGLACCOUNT
Standard technical fields (load date/time, source system) are added

x1TL_ACDOCA1TL_S4Hx_I_GLACCOUNTLINEITEMRAWDATADelta

Standard technical fields (load date/time, source system) are added



x1TL_Src Ledger1TL_S4Hx_I_LEDGERSOURCELEDGERDelta

 Standard technical fields (load date/time, source system) are added

 


1TL_Curr Role1TL_S4Hx_I_LEDGERCOMPANYCODECRCYROLES

 Standard technical fields (load date/time, source system) are added

 


1TL_Plan Cat1TL_S4HR_I_PLANNINGCATEGORY

 Standard technical fields (load date/time, source system) are added

 


1TL_GL Acnt Hier1TL_S4HR_I_GLACCOUNTHIERARCHY

 Standard technical fields (load date/time, source system) are added

 






 

 

Harmonisation2TL_ACDOCA2TL_HARM_I_GLAccountLineItemRawData

 Union China with RoW for performance reasons

Persist


2TL_Src Ledger2TL_HARM_I_LedgerSourceLedger

 Union China with RoW for performance reasons

Persist






 

 


2VR_Src Ledr2VR_HARM_I_LedgerSourceLedger

 

 


2VR_Curr Role2VR_HARM_I_LedgerCompanyCodeCrcyRoles

 

 


2VR_Lede / Cur2VR_HARM_I_CoCodeLedgerSourceLedger

 Join Ledger and currency views

 


2VR_SemTagAccnt2VR_HARM_I_SemTagGLAccount

 

 


2VR_Plan Cat2VR_HARM_I_PlanningCategory

 

 


2VR_Plan Cat22VR_HARM_I_PlanningCategory_V2

 

 


2VR_GLActHier2VR_HARM_I_GLAccountHierDir

 

 


2VR_GLActHier22VR_HARM_I_GLAccountHierDir_V2

 

 


2VR_GL Acc Line Itm2VR_HARM_I_GLAccountLineItem

 

 















Propagation





















3VRActlPlnJournalEntryItemSemTagFact

Remove redundant measures

Join ActPlan N:N SemTagGLAccount (filter for validity dates and excld FunctArea)

Can we reduce initial projection?



3VRProfitLossSemanticTagFact

Create parameters for FinStatemtVersion and Category

Reduce dimensions (need to align to our needs)

Add associations
















Reporting4MA_PL_SemTag4MA_ProfitLossSemanticTagKPIs

Measures: 19 restricted by Semantic tags and simple calculations

Variables:

FinStatemtVersion, Category, Date





Source System Extractors

SystemCodeExtractor NamePurposeDeltaBuild Jira Ref For Extension InformationExtended fieldsTexts

S/4 x


I_GLACCOUNTLINEITEMRAWDATA






S/4 R
I_LedgerCompanyCodeCrcyRoles




S/4 R
I_LedgerSourceLedger




S/4 R
I_PlanningCategory




S/4 R
I_GLAccountHierarchy




Inbound Layer

No inbound field adjustments are applied. Standard technical fields (load date/time, source system) are retained as delivered.

Harmonisation Layer

TypeCodeTech NameLogicPotential Changes
TL2TL_ACDOCA

2TL_HARM_I_GLAccountLineItemRawData

Persist after union for performance
VR2VR_ACDOCA2VR_HARM_I_GLAccountLineItemRawData

remove additional amount/quantity fields

Perform any calculations likes tonnes conversion and potentially conversion to budget group currency


2TL_HARM_I_GLACCOUNTLINEITEMRAWDATA

Source: 1TL_S4Hx_I_GLACCOUNTLINEITEMRAWDATA

Purpose:

  • Union China with RoW for performance reasons

2VR_HARM_

Source: 2TL_HARM_I_GLACCOUNTLINEITEMRAWDATA

Purpose:

  • H

2VR_A2DAMM_PMNotifMaintenanceData

Source: 1TL_S4Hx_Z_I_PMNotifMaintenanceData

Purpose:

  • Harmonise notification maintenance data.
  • Preserve raw downtime duration (seconds) and malfunction timestamps.
  • Align technical object identifiers with order data.

Propagation Layer

3VR_A2DAMM_PlannedDownTime

Source: 2VR_A2DAMM_MaintOrderTech

Transformations/Calculations:

  • Planned downtime window derived from Scheduled Basic Start and End date/time.
  • PlannedVsUnplanned flag set to 'PLANNED'.
  • SourceType set to 'ORDER'.

3VR_A2DAMM_UnplannedDownTime

Source: 2VR_A2DAMM_PMNotifMaintenanceData

Calculation:

  • Unplanned downtime duration sourced from MaintObjectDowntimeDuration (seconds). 
  • PlannedVsUnplanned flag set to 'UNPLANNED'.
  • SourceType set to 'NOTIF'.


3VF_A2MAMM_PMNotifMaintenanceData

Source: 2VR_PMNotif

Logic / Adjustments:

  • Project the notification-centric reporting grain (1 row per Maintenance Notification).
  • Include required dimensions from the FS (e.g., Notification Type/Priority/Origin, Maintenance Plant, Creation Date/Time, Equipment, Functional Location).
  • Include raw downtime duration (seconds) and derived hours where required (no pre-aggregation).


3VF_A2DAMM_DowntimeFact

Union:
Purpose: Combine planned and unplanned downtime into a single reusable downtime fact.

Union of: 3VR_A2DAMM_UnplannedDownTime & 3VR_A2DAMM_PlannedDownTime

Target Field Mapping:
- Technical Object fields aligned across both sources.
- Downtime duration stored in hours (conversion applied where required).

No aggregation is performed at this stage.

Datamodel, calculations and associations.


Projection:

Projection before union. Two objectives: 

Create a shared downtime schema. 

  • SourceType = 'ORDER' / 'NOTIF'
  • PlannedVsUnplanned = 'PLANNED' / 'UNPLANNED'
  • DowntimeSeconds and/or DowntimeHours
  • Normalise Functional Location: I_PMNotifMaintenanceData.RelevantFunctionalLocation & I_MaintOrderTechObjCube._LocationAccountAssignment.FunctionalLocation

Standardise time fields

  • Planned: map scheduled basic start/end into StartDateTime, EndDateTime

  • Unplanned: map malfunction start/end into StartDateTime, EndDateTime

Union:

Common fields

  • Equipment
  • Functional Location
  • MaintenancePlanningPlant
  • MaintenancePlannerGroup
  • MaintenancePlant

Reporting Layer

4MA_A2DAMM_DowntimeFact

Supports:

  • ERP-1012 Asset Down Time Planned vs Unplanned
  • ERP-1012 Loss Driver (# breakdown hours)

Includes technical details for:

  • Post-aggregation calculations
  • Restricted measures
  • Time-based analysis and drill-through

Calculated Measures (Post Aggregation Calculations / exception aggregation etc)

Report Field DescriptionSAP Table-Field Name / processComments / Calculation / Formula / Restriction dimensions and valuesAggregation of dataExample SAP field data
Notification CountProcess: constant 1 per notification row in unplanned projectionCounts maintenance notifications used in the unplanned side of the downtime fact. Supports: (a) Loss Driver # notifications per asset (ERP-1012) where required in dashboards, (b) general notification volume analysis. Implemented as 1 per row sourced from I_PMNotifMaintenanceData (notification grain).SUM1
Breakdown Notification CountProcess: CASE WHEN I_PMNotifMaintenanceData.MaintenanceObjectIsDown = 'X' THEN 1 ELSE 0 ENDCounts only notifications where the object was truly down (breakdown). Used to restrict unplanned downtime views and support breakdown frequency analyses.SUM1 / 0
Downtime Duration (Seconds, Unplanned)I_PMNotifMaintenanceData.MaintObjectDowntimeDurationRaw downtime duration in seconds for unplanned breakdown events. Base measure for unplanned downtime calculations (hours) and Loss Driver (# breakdown hours).SUM7200
Downtime Hours (Unplanned)Calculated: I_PMNotifMaintenanceData.MaintObjectDowntimeDuration / 3600Normalized unplanned downtime in hours derived from raw seconds.SUM2
Planned Order CountProcess: constant 1 per planned order row in planned projectionCounts planned maintenance orders included in the planned side of the downtime fact (e.g., by MaintenanceOrderType and/or MaintenanceOrderPlanningCode rules).SUM1
Planned Window SecondsCalculated: (ScheduledBasicEndDateTime - ScheduledBasicStartDateTime) from SAP_PM_HL_MaintOrder date/time fieldsPlanned outage window duration in seconds, derived from scheduled basic start/end of the maintenance order.SUM14400
Planned Window HoursCalculated: PlannedWindowSeconds / 3600Normalized planned downtime window in hours derived from scheduled basic dates/times.SUM4
Unified Downtime HoursCalculated: CASE WHEN SourceType = 'NOTIF' THEN DowntimeHours(Unplanned) ELSE PlannedWindowHours ENDCore downtime measure in the unified fact:
- SourceType='NOTIF': uses unplanned downtime hours
- SourceType='ORDER': uses planned downtime window hours
Primary input to ERP-1012 planned vs unplanned comparisons and Loss Driver (# breakdown hours) (restricted to UNPLANNED).
SUM2.0 / 4.0
Total Unplanned Downtime (Hours)SAC Restricted Measure: SUM(Unified Downtime Hours) where PlannedVsUnplanned = 'UNPLANNED'Restricted measure in SAC that sums Unified Downtime Hours only for unplanned (breakdown) records. Used directly in ERP-1012 KPI views.SUM
Total Planned Downtime (Hours)SAC Restricted Measure: SUM(Unified Downtime Hours) where PlannedVsUnplanned = 'PLANNED'Restricted measure in SAC that sums Unified Downtime Hours only for planned maintenance records.SUM
Downtime Ratio Planned / UnplannedSAC Calculated Measure: TotalPlannedDowntime / NULLIF(TotalUnplannedDowntime, 0)Ratio of planned to unplanned downtime for the selected context. Benchmarking measure.CALCULATED
Technical Availability % (optional)SAC Calculated Measure: (AvailableTime - TotalUnplannedDowntime) / AvailableTime * 100High-level availability KPI. AvailableTime must be defined by business rule (e.g., 24h days in period, with or without planned windows). Not sourced from CDS.CALCULATED



Restricted Measures

tbd

Currency Conversions

tbd

Variables

FieldRequired/OptionalScopeDefaultComment
Periods (Weeks / Months / Quarters)OptionalInterval (Date or Fiscal Period)Default = last xxxxxApplied using CreationDate or CreationDateTime
Functional Location (Asset Hierarchy)OptionalHierarchyNo defaultFilters the dataset based on the asset hierarchy, supported via FunctionalLocation from I_PMNotifMaintenanceData. (Does this hierarchy exist?)
Main Work CenterOptionalMultiple Single ValuesNo default(_MainWorkCenter.WorkCenterInternalID).
Planner GroupOptionalMultiple Single ValuesNo defaultNot supported in this Analytical Model because Planner Group is not a field in either I_MaintenanceNotification or I_PMNotifMaintenanceData.
Storage LocationOptionalMultiple Single ValuesNo defaultNot supported in this Analytical Model.
Maintenance EventOptionalMultiple Single ValuesNo defaultNo dedicated “Maintenance Event” field exists. Not supported in this Analytical Model. Potential exists for an alternative.


Data access controls


4MA_A2DAMM_PMNotifMaintenanceData

Supports:

  • ERP-1012 Loss Driver (# breakdown hours) – unplanned downtime hours from notifications
  • ERP-1012 Loss Driver (# notifications) – notification counts and status-driven slicing
  • ERP-1012 Technical Availability (input measures) – unplanned downtime and breakdown flags used in SAC availability calculations
  • ERP-1013 MTBF assuming the definition is "Time between failure events".*


*Since this potentially is the difference between two consecutive breakdown records, more calculations may be required in a separate model. Complexity ramps up if it requires actual operating hours between failures.

Includes technical details for:

  • Post-aggregation calculations in SAC (e.g., hours conversions, ratios, availability formulas)
  • Restricted measures by breakdown / downtime flags and status
  • Time-based analysis (malfunction start/end, creation dates) and drill-through to Maintenance Notification

Dimensions & Measures are defined in the Functional Specification under “Dimensions & Measures: Requirements View”; the analytical model exposes those fields at notification grain without pre-aggregation.

Calculated Measures (Post Aggregation Calculations / exception aggregation etc)

Report Field DescriptionSAP Table-Field Name / processComments / Calculation / Formula / Restriction dimensions and valuesAggregation of dataExample SAP field data
Notification CountProcess: constant 1 per recordBase measure for notification-level counting.SUM1
Breakdown Notification CountProcess: CASE WHEN MaintenanceObjectIsDown = 'X' THEN 1 ELSE 0 ENDCounts notifications where the maintenance object is flagged as down. Used for breakdown frequency KPIs.SUM1
Downtime Duration (Seconds)I_PMNotifMaintenanceData.MaintObjectDowntimeDurationRaw downtime duration as stored in PM notification (AUSZT). No transformation.SUM7200
Downtime Duration (Hours)Calculated: MaintObjectDowntimeDuration / 3600Convenience conversion of downtime seconds to hours.SUM2
Availability Before Malfunction (%)I_PMNotifMaintenanceData.AvailyBeforeMalfunctionPercentAvailability percentage recorded before malfunction. Untransformed source value.AVG98.5
Availability After Malfunction (%)I_PMNotifMaintenanceData.AvailyAfterMalfunctionPercentAvailability percentage recorded after malfunction. Untransformed source value.AVG75
Availability After Conclusion (%)I_PMNotifMaintenanceData.AvailyAfterConclusionPercentAvailability percentage after notification completion. Untransformed source value.AVG96
System Condition Before MalfunctionI_PMNotifMaintenanceData.SystConditionBeforeMalfunctionSystem condition indicator before malfunction. Source value, no derivation.AVG4
System Condition After MalfunctionI_PMNotifMaintenanceData.SystConditionAfterMalfunctionSystem condition indicator after malfunction. Source value, no derivation.AVG2
System Condition After CompletionI_PMNotifMaintenanceData.SystConditionAfterCompletionSystem condition indicator after completion. Source value, no derivation.AVG4
Emergency Notification CountProcess: CASE WHEN MaintPriority IN ('0','1') THEN 1 ELSE 0 ENDCounts emergency notifications (priority 0 & 1). Used for ERP-1092 KPIs.SUM1










Outbound Layer

  • No labels