The Great CMMS Divide
If you're migrating between IBM Maximo and SAP PM (Plant Maintenance), you're not just moving data β you're translating between two fundamentally different philosophies of maintenance management. This technical deep-dive will help you navigate the complexities and avoid the pitfalls that derail 40% of CMMS-to-CMMS migrations.
Core Philosophy Differences
Maximo: Object-oriented, flexible, maintenance-centric SAP PM: Process-oriented, integrated, enterprise-centric
This fundamental difference shapes everything from data structures to user workflows.
Asset Hierarchy: Two Worlds
Maximo Asset Structure
Maximo uses a flexible, multi-level hierarchy:
SITES
βββ LOCATIONS (Functional)
βββ ASSETS (Physical)
βββ ASSET (Parent-Child)
βββ ASSET (Components)
Key Characteristics:
- Locations and Assets are separate entities
- Assets can move between locations
- Unlimited hierarchy levels
- Flexible parent-child relationships
Example:
Site: PLANT-01
Location: BLDG-A-FLOOR-2-ROOM-201
Asset: PMP-2001 (Pump)
Child Asset: MTR-2001-01 (Motor)
Child Asset: BRG-2001-01-01 (Bearing)
SAP PM Structure
SAP uses Functional Locations and Equipment:
FUNCTIONAL LOCATIONS (Where)
βββ EQUIPMENT (What)
βββ EQUIPMENT (Assembly)
βββ EQUIPMENT (Component)
Key Characteristics:
- Functional Locations represent the "where"
- Equipment represents the "what"
- Equipment can be installed/removed from locations
- Structured using FLOC and Equipment numbers
Example:
Functional Location: 1000-200-PMP-001
Equipment: 10000123 (Pump)
Equipment: 10000124 (Motor)
Equipment: 10000125 (Bearing)
Migration Mapping Strategy
| Maximo | SAP PM | Transformation Notes | |--------|--------|---------------------| | Site | Plant | Direct mapping | | Location | Functional Location | Requires structure code definition | | Asset (fixed) | Functional Location | For non-moveable assets | | Asset (moveable) | Equipment | Maintain installation history | | Asset Hierarchy | Equipment BOM | Rebuild parent-child relationships |
Work Order Architecture
Maximo Work Orders
Structure:
WORKORDER
βββ WOTASK (Multiple tasks)
βββ WOACTIVITY (Nested work)
βββ WOMATL (Materials)
βββ WOLABOR (Labor)
Key Fields:
- WONUM (Unique identifier)
- STATUS (State machine driven)
- WORKTYPE (PM, CM, EM, etc.)
- JPNUM (Job Plan reference)
SAP PM Orders
Structure:
MAINTENANCE ORDER
βββ ORDER HEADER
βββ OPERATIONS (Multiple)
βββ COMPONENTS (Materials)
βββ CONFIRMATIONS (Time)
Key Fields:
- AUFNR (Order number)
- AUART (Order type)
- STTXT (System status)
- ILART (Activity type)
Critical Mapping Considerations
Maximo WORKORDER.STATUS β SAP Status Profile
Maximo WOTASK β SAP Operations
Maximo JPNUM β SAP Task List
Maximo WOACTIVITY β Separate SAP Orders
Warning: SAP's status management is more rigid than Maximo's. Plan status mapping carefully.
Preventive Maintenance: Different Paradigms
Maximo PM Structure
PM (Preventive Maintenance)
βββ Frequency (Time/Meter based)
βββ Job Plan (Template)
βββ Routes (Multiple assets)
Characteristics:
- PM generates Work Orders
- Flexible frequency options
- Job Plans are reusable
- Routes group multiple assets
SAP PM Structure
MAINTENANCE PLAN
βββ Maintenance Strategy
βββ Task List (IA01)
βββ Maintenance Items
Characteristics:
- Strategy defines cycles
- Task Lists contain operations
- Plans generate Call Objects
- Call Objects become Orders
PM Migration Complexity
The translation isn't one-to-one:
| Maximo PM Element | SAP PM Element | Complexity | |-------------------|----------------|------------| | PM Frequency | Strategy Package | Medium | | Job Plan | Task List | High | | PM Route | Multiple Plans | Very High | | Meter-based PM | Performance-based | Medium | | Season Dates | Time-based with calendar | Low |
Data Field Mapping Challenges
Critical Field Differences
Asset/Equipment Master:
Maximo β SAP
ASSETNUM (free text) β EQUNR (number range)
DESCRIPTION (255 char) β EQKTX (40 char)
SERIALNUM β SERNR (via separate object)
FAILURECODE β FECOD (catalog dependent)
Work Order Fields:
Maximo β SAP
TARGSTARTDATE β GSTRP (Basic start)
ACTSTART/ACTFINISH β Confirmation records
WORKTYPE β AUART (limited values)
REPORTEDBY β QMNAM (notification)
The Description Truncation Problem
Maximo allows 255 characters for descriptions. SAP limits you to 40.
Before Migration:
"Centrifugal Pump - Cooling Water System Building A Floor 2
High Pressure Side with Variable Speed Drive and Remote Monitoring"
After Migration:
"CENT PUMP CW BLDG-A FL2 HP VSD"
Solution: Implement description mapping tables and use SAP long text for full descriptions.
Hidden Gotchas in Migration
1. Status Mapping Nightmare
Maximo statuses don't map directly to SAP:
Maximo: WAPPR β APPR β INPRG β COMP β CLOSE
SAP: REL (Released) β TECO (Technically Complete) β CLSD
You'll need custom status profiles in SAP to maintain process flows.
2. The Spare Parts Connection
Maximo: Direct asset-to-inventory item links SAP: Equipment BOM with material masters
This requires complete BOM creation during migration.
3. Cost Tracking Philosophy
Maximo: Costs tracked at Work Order level SAP: Costs flow through controlling (CO) module
Budget planning and cost center assignments become critical.
4. User Permissions
Maximo: Role-based with data restrictions SAP: Authorization objects with org levels
Complete security redesign usually required.
Migration Best Practices
Pre-Migration Assessment
- Data Volume Analysis
SELECT COUNT(*) FROM ASSET WHERE STATUS = 'ACTIVE';
SELECT COUNT(*) FROM WORKORDER WHERE YEAR(REPORTDATE) >= 2022;
- Complexity Scoring
- Simple asset: 1 point
- Complex hierarchy: 5 points
- PM with route: 10 points
- Calculate total complexity score
- Risk Identification
- Custom fields in Maximo
- Workflow dependencies
- Integration touch points
Phased Migration Approach
Phase 1: Master Data
- Sites β Plants
- Locations β Functional Locations
- Assets β Equipment
- Validate hierarchy integrity
Phase 2: Maintenance Plans
- Job Plans β Task Lists
- PM β Maintenance Plans
- Test scheduling logic
Phase 3: Open Work Orders
- Only migrate APPR and INPRG statuses
- Close historical work in legacy system
- Maintain reference numbers
Data Transformation Rules
# Example: Maximo to SAP Equipment Number
def transform_asset_number(maximo_assetnum):
"""Convert Maximo asset to SAP equipment number"""
# Remove special characters
clean = re.sub(r'[^A-Z0-9]', '', maximo_assetnum.upper())
# Pad with zeros for SAP format
if len(clean) < 18:
return clean.zfill(18)
return clean[:18]
# Example: Status mapping
STATUS_MAP = {
'WAPPR': 'CRTD',
'APPR': 'REL',
'INPRG': 'PCNF',
'COMP': 'TECO',
'CLOSE': 'CLSD'
}
Post-Migration Validation
Critical Checks
-- Hierarchy Integrity
SELECT COUNT(*)
FROM equipment e1
LEFT JOIN equipment e2 ON e1.superior_equipment = e2.equipment
WHERE e1.superior_equipment IS NOT NULL
AND e2.equipment IS NULL;
-- PM Coverage
SELECT
COUNT(DISTINCT equipment) as total_equipment,
COUNT(DISTINCT maintained_equipment) as maintained,
(COUNT(DISTINCT maintained_equipment) * 100.0 /
COUNT(DISTINCT equipment)) as pm_coverage
FROM equipment_maintenance_plans;
Tools for Success
Extraction Tools
- Maximo: MEA (Migration Manager)
- SAP: LSMW (Legacy System Migration Workbench)
Transformation Tools
- AssetStage: Purpose-built for CMMS migration
- Talend: Enterprise ETL platform
- Python + Pandas: For custom transformations
Validation Tools
- SQL queries: For data integrity
- Excel/Power BI: For reconciliation
- Custom scripts: For business rule validation
The Reality Check
Migrating between Maximo and SAP PM is not a simple data copy. It's a translation between two different maintenance philosophies. Success requires:
- Deep understanding of both systems
- Careful mapping of data structures
- Extensive testing of transformed data
- User training on new paradigms
- Patience during the transition
Conclusion
Whether you're moving from Maximo to SAP or vice versa, the key to success isn't the technology β it's understanding the fundamental differences in how these systems think about maintenance. Plan for complexity, test thoroughly, and always maintain a path back to your source data.
Remember: You're not just migrating data. You're translating between two different maintenance languages.
Facing a Maximo to SAP migration? Or moving the other direction? AssetStage specializes in complex CMMS-to-CMMS migrations, with pre-built mappings and transformation rules for all major platforms. Learn about our migration services or schedule a consultation.