Here’s the comprehensive solution covering all three focus areas:
1. CSV Data Normalization:
First, verify your CSV file doesn’t contain internal duplicates or formatting issues. Run this validation before import:
a) Open your CSV in a text editor (not Excel) and check for hidden characters, especially in part numbers. Unicode characters like smart quotes or non-breaking spaces can cause the validator to see duplicates where none exist visually.
b) Use this command to check for duplicate part numbers within your CSV:
cut -d',' -f1 sbom_import.csv | sort | uniq -d
c) Ensure your CSV headers exactly match ENOVIA’s expected format:
PartNumber,PartName,Description,Quantity,UOM,SupplierName
Case sensitivity matters - ‘PartNumber’ is not the same as ‘Part Number’ or ‘partnumber’.
2. Import Validation Logic Issue:
The root cause is the pre-validation cache in R2022x.GA. This cache stores validation results between import attempts but doesn’t clear properly when imports fail. To fix:
a) Clear the import validation cache before attempting import:
SBOMImportCache.clearValidationCache();
SessionHelper.clearImportContext();
b) There’s also a database-level validation table that needs clearing. Execute this SQL (backup first):
DELETE FROM sbom_import_validation_cache
WHERE import_session_id IN (
SELECT session_id FROM import_sessions
WHERE status = 'FAILED' AND module = 'SBOM'
);
c) Restart the ENOVIA import service to ensure clean state.
3. Patch Release Notes - Critical Fix Required:
You’re on R2022x.GA which has a known bug with SBOM import validation. According to the R2022x.HF2 release notes, there’s a critical fix for duplicate detection logic that you need:
Bug ID: ENO-28447 - “SBOM CSV import fails with false duplicate part number errors when validation cache contains stale entries”
The fix is included in R2022x.HF2 and later. You MUST apply at least HF2 to resolve this issue permanently. The hot fix corrects:
- Validation cache lifecycle management
- Unicode character handling in part numbers
- Rollback cleanup of validation tables
Immediate Workaround (until you can apply HF2):
If you can’t apply the hot fix immediately due to change control processes, use this workaround:
- Split your CSV into smaller batches (50 parts per file)
- Clear validation cache before each import attempt
- Use the SBOM import API directly instead of the UI import tool:
SBOMImportService.importWithValidation(
csvFile,
skipDuplicateCheck=true,
forceCommit=false
);
- After each successful batch, verify the parts were created before proceeding to the next batch
Long-term Solution:
Schedule maintenance window to apply R2022x.HF3 (includes HF2 fixes plus additional SBOM enhancements). After applying the hot fix, re-test your full import process with the original CSV file. The duplicate detection logic will work correctly and you won’t need the cache-clearing workarounds.
For your immediate compliance reporting deadline, use the batch import workaround to get the data in, then plan the hot fix deployment for next month.
This draft is based on general ENOVIA knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.