Running material master migration to SAP PLM 2021 using custom ETL. Import fails for about 35% of materials due to UOM code mismatch. Our legacy system uses custom UOM codes (EA, LB, FT) but SAP expects ISO codes (PCE, LBR, FOT).
ETL transformation log shows:
Material 100234: UOM 'EA' invalid
ISO code required: Expected 'PCE'
Field MARA-MEINS validation failed
We have 12,000+ materials with mixed UOM codes. Some match SAP standards, others don’t. The incomplete material data is blocking downstream BOM migration. Need guidance on UOM code mapping strategy and ETL transformation approach for SAP ISO UOM standards compliance.
Thanks. I checked T006 and found SAP has both internal codes and ISO codes. Should I map to internal or ISO? Also, some of our legacy UOMs like ‘BX’ (box) don’t have direct SAP equivalents.
Check table T006 in SAP - it contains all valid UOM codes. You can also maintain custom UOMs through transaction CUNI if your legacy codes are business-critical and can’t be converted. However, ISO standard codes are preferred for international operations and integration scenarios.
I went through this exact scenario last year. Create a staging table with three columns: LEGACY_UOM, SAP_ISO_UOM, CONVERSION_FACTOR. Populate it with business validation, then reference it in your ETL transformation logic. Test with a small batch first.
You need a UOM conversion mapping table. Create a reference file mapping your legacy codes to SAP ISO codes (EA->PCE, LB->LBR, FT->FOT). Load this into your ETL tool as a lookup transformation before the material master load step.
Always map to ISO codes for new implementations - it’s SAP’s recommended practice since 2019. For non-standard UOMs like ‘BX’, you have two options: either map to closest ISO equivalent (BX->PCE if box=piece) or create custom UOM in T006 maintaining ISO format. The key is consistency across your material master. Run a UOM frequency analysis on your legacy data first - you might find that 80% of materials use just 5-6 common UOMs, making the mapping manageable.
Here’s a comprehensive solution addressing all three focus areas:
UOM Code Mapping Strategy: Create a master mapping table (Z_UOM_MIGRATION_MAP) with these fields:
- LEGACY_UOM (source system code)
- SAP_ISO_UOM (target ISO code from T006)
- CONVERSION_FACTOR (default 1.0 for direct equivalents)
- BUSINESS_VALIDATION_FLAG (approved by materials team)
- COMMENTS (business rationale for mapping)
Common mappings for your scenario:
EA -> PCE (Each to Piece)
LB -> LBR (Pound to Pound)
FT -> FOT (Foot to Foot)
BX -> PCE (Box to Piece - with note)
ETL Transformation Implementation: Modify your ETL workflow to include a UOM lookup stage BEFORE material master validation:
- Extract material data from legacy system
- Apply UOM transformation using Z_UOM_MIGRATION_MAP lookup
- Validate against SAP T006 table
- Flag any unmapped UOMs for manual review
- Load transformed data to SAP MARA table
Implement this transformation logic in your ETL tool (LSMW, SAP Data Services, or custom ABAP):
- Read legacy material record
- Lookup LEGACY_UOM in mapping table
- Replace with SAP_ISO_UOM value
- If no mapping found, write to error log with material number
- Continue processing mapped records
SAP ISO UOM Standards Compliance: SAP PLM 2021 enforces ISO 80000 and ISO 31 standards for units of measurement. Key compliance requirements:
- Use ISO codes from T006 where ISOCODE field is populated
- For materials with international scope, ISO codes are mandatory
- Maintain conversion factors in T006A for alternative UOMs
- Ensure UOM consistency across material master (MARA), BOM (STPO), and purchasing (EINA)
For your 12,000 materials with 35% failure rate:
Phase 1 - Analysis (2 days):
- Run SQL query to get distinct UOM codes from legacy system
- Frequency analysis: `SELECT UOM, COUNT(*) FROM LEGACY_MATERIALS GROUP BY UOM
- You’ll likely find 90% of materials use 10-15 common UOMs
- Cross-reference with SAP T006 table to identify gaps
Phase 2 - Mapping Creation (3 days):
- Work with materials management team to validate business mappings
- Create Z_UOM_MIGRATION_MAP table in SAP
- Load mapping data using transaction SE16N or custom upload program
- Document special cases (like BX->PCE requiring quantity adjustment)
Phase 3 - ETL Enhancement (4 days):
- Add lookup transformation step in ETL workflow
- Implement error handling for unmapped UOMs
- Create reconciliation report comparing legacy vs. SAP UOM distributions
- Test with 100-record sample batch
Phase 4 - Migration Execution (3 days):
- Process materials in batches of 1,000
- Monitor error logs for validation failures
- Handle exceptions through manual review queue
- Verify UOM consistency in downstream objects (BOMs, purchase orders)
For the non-standard UOMs like ‘BX’, I recommend mapping to PCE (piece) but adding a custom field in MARA to preserve the original legacy UOM code for reference. This maintains traceability while achieving SAP compliance.
The ETL transformation approach eliminates the 35% failure rate and ensures all materials load successfully with valid ISO UOM codes, unblocking your BOM migration phase.
Don’t forget about UOM conversion factors if you’re changing codes. For example, if legacy used ‘LB’ and you’re mapping to ISO ‘LBR’, verify the conversion factor is 1:1. Some companies had ‘LB’ representing different weights regionally. Document all UOM mappings in a migration specification document for audit trail and future reference.