This Data Flow Specification (DFS) defines the end-to-end data flow required to meet the following requirements:
A consolidated view of all the Requirements, KPIs and the supplying views covered by this DFS.

| Extractor Name | Build Jira Ref For Extension Information |
|---|---|
| Z_I_PMNotifMaintenanceData | |
| z_apm_tbd |
For ERP-1012, no inbound field adjustments are applied. Standard technical fields (load date/time, source system) are retained as delivered.
Source: 1TL_S4Hx_I_MAINTORDERTECHOBCUBE
Purpose:
- Harmonise maintenance order technical object data for reuse across A2DAMM.
- Standardise Equipment and Functional Location identifiers.
- Preserve scheduled basic start and end timestamps for planned downtime calculations.
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.
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'.
Source: 2VR_A2DAMM_PMNotifMaintenanceData
Calculation:
- Unplanned downtime duration sourced from MaintObjectDowntimeDuration (seconds).
- PlannedVsUnplanned flag set to 'UNPLANNED'.
- SourceType set to 'NOTIF'.
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.
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
| Report Field Description | SAP Table-Field Name / process | Comments / Calculation / Formula / Restriction dimensions and values | Aggregation of data | Example SAP field data |
| Notification Count | Process: constant 1 per notification row in unplanned projection | Counts 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). | SUM | 1 |
| Breakdown Notification Count | Process: CASE WHEN I_PMNotifMaintenanceData.MaintenanceObjectIsDown = 'X' THEN 1 ELSE 0 END | Counts only notifications where the object was truly down (breakdown). Used to restrict unplanned downtime views and support breakdown frequency analyses. | SUM | 1 / 0 |
| Downtime Duration (Seconds, Unplanned) | I_PMNotifMaintenanceData.MaintObjectDowntimeDuration | Raw downtime duration in seconds for unplanned breakdown events. Base measure for unplanned downtime calculations (hours) and Loss Driver (# breakdown hours). | SUM | 7200 |
| Downtime Hours (Unplanned) | Calculated: I_PMNotifMaintenanceData.MaintObjectDowntimeDuration / 3600 | Normalized unplanned downtime in hours derived from raw seconds. | SUM | 2 |
| Planned Order Count | Process: constant 1 per planned order row in planned projection | Counts planned maintenance orders included in the planned side of the downtime fact (e.g., by MaintenanceOrderType and/or MaintenanceOrderPlanningCode rules). | SUM | 1 |
| Planned Window Seconds | Calculated: (ScheduledBasicEndDateTime - ScheduledBasicStartDateTime) from SAP_PM_HL_MaintOrder date/time fields | Planned outage window duration in seconds, derived from scheduled basic start/end of the maintenance order. | SUM | 14400 |
| Planned Window Hours | Calculated: PlannedWindowSeconds / 3600 | Normalized planned downtime window in hours derived from scheduled basic dates/times. | SUM | 4 |
| Unified Downtime Hours | Calculated: CASE WHEN SourceType = 'NOTIF' THEN DowntimeHours(Unplanned) ELSE PlannedWindowHours END | Core 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). | SUM | 2.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 / Unplanned | SAC 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 * 100 | High-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 |
tbd
tbd
| Field | Required/Optional | Scope | Default | Comment |
| Periods (Weeks / Months / Quarters) | Optional | Interval (Date or Fiscal Period) | Default = last xxxxx | Applied using CreationDate or CreationDateTime |
| Functional Location (Asset Hierarchy) | Optional | Hierarchy | No default | Filters the dataset based on the asset hierarchy, supported via FunctionalLocation from I_PMNotifMaintenanceData. (Does this hierarchy exist?) |
| Main Work Center | Optional | Multiple Single Values | No default | (_MainWorkCenter.WorkCenterInternalID). |
| Planner Group | Optional | Multiple Single Values | No default | Not supported in this Analytical Model because Planner Group is not a field in either I_MaintenanceNotification or I_PMNotifMaintenanceData. |
| Storage Location | Optional | Multiple Single Values | No default | Not supported in this Analytical Model. |
| Maintenance Event | Optional | Multiple Single Values | No default | No dedicated “Maintenance Event” field exists. Not supported in this Analytical Model. Potential exists for an alternative. |