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.
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.
This draft is based on general SAP PLM knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.
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.
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.
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.
Tested this on our SAP PLM 7.02 migration project—the Z_UOM_MIGRATION_MAP table with BUSINESS_VALIDATION_FLAG prevented invalid ISO codes from reaching T006 during Part Management import.
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.
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.
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.