BOM synchronization fails in simulation data management due to missing object link configurations after PPM transfer

We’re experiencing BOM synchronization failures after transferring simulation projects from SAP Portfolio and Project Management (PPM) to our PLM environment. The sync process completes without errors in PPM, but when we check the target system, material items are missing their object link configurations.

The issue seems related to custom item types we created for simulation components. Standard item types sync fine, but our custom ‘SIM_COMPONENT’ and ‘SIM_ASSEMBLY’ types fail silently. The synchronization scenario maintenance shows active status, but the object links aren’t being created.

Error log shows:


ERROR: ObjectLinkService.createLink() failed
Cause: Custom item type 'SIM_COMPONENT' not registered
Scenario: PPM_TO_PLM_SYNC_V2

This blocks our engineering teams from accessing simulation BOMs in downstream processes. Has anyone configured object link mappings for custom PPM item types in SAP PLM 2020?

Problem solved! The issue was a combination of factors. First, I activated the custom type mappings in /PPM/SYNC_CONFIG as suggested by ppm_consultant_raj. However, that alone didn’t fix it.

The root cause was that our custom item types weren’t properly configured with object link metadata. Here’s what I had to do:

  1. Object Link Configuration in PPM: Added GUID fields to both SIM_COMPONENT and SIM_ASSEMBLY type definitions in PPM customizing (SPRO → PPM → Master Data → Item Types). This is crucial because SAP PLM’s synchronization engine requires GUIDs for creating persistent object links.

  2. Synchronization Scenario Maintenance: In /PPM/SYNC_CONFIG, I activated the custom type mappings and configured the object link strategy. Key settings:

    • Mapping Mode: ‘Custom with Inheritance’
    • Link Creation Strategy: ‘Immediate’
    • Parent Type Reference: Standard ‘MATERIAL’ type
  3. Custom vs Standard Item Types: The critical difference is that standard types have pre-configured object link templates, while custom types need explicit configuration. I had to create custom link templates in transaction /PLM/OBJ_LINK_CONFIG:

ObjectLinkTemplate template = new ObjectLinkTemplate();
template.setSourceType("SIM_COMPONENT");
template.setTargetType("PLM_MATERIAL");
template.setLinkType("SIMULATION_BOM");
ObjectLinkService.registerTemplate(template);
  1. Regenerate Metadata: After configuration, I ran the metadata regeneration job. This updates the internal registry and creates the necessary database triggers for object link propagation.

  2. Testing: Transferred a test project with 50 simulation components. All object links were created successfully, and the BOM structure was fully accessible in PLM.

Key lesson: Custom item types in PPM require explicit object link configuration at three levels - type definition (GUID fields), synchronization scenario (mapping activation), and PLM object link service (template registration). Standard types handle this automatically through inheritance, but custom types need manual setup.

For anyone implementing this, also ensure your custom types inherit from a standard base type in the PPM type hierarchy. This ensures they pick up standard synchronization behaviors while allowing custom attributes.


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.

Check your synchronization scenario configuration in transaction /PPM/SYNC_CONFIG. The object link mapping might be missing for your custom types. You need to explicitly register custom item types in the sync scenario before they can create object links in PLM.

Tested this on ECC 6.0 EHP8 with PPM 6.1 — adding GUID fields to SIM_COMPONENT and SIM_ASSEMBLY in SPRO item type customizing immediately resolved our BOM sync failures.

I’ve seen this exact issue before with custom PPM types. The problem is that SAP PLM’s ObjectLinkService validates item types against a predefined registry. Your custom types aren’t in that registry by default. You need to extend the type mapping configuration and then regenerate the synchronization metadata. Also verify that your custom types have the correct classification attributes set in PPM - the sync engine uses these for validation during object link creation. Without proper classification, the links fail silently even though the scenario shows as active.

Thanks for the suggestions. I checked /PPM/SYNC_CONFIG and found the type mappings section. Our custom types are listed but marked as ‘inactive’. How do I activate them? Is there a specific authorization required, or do I need to modify the scenario configuration file directly?

You’ll need to activate the custom type mappings through the scenario maintenance transaction. Select your sync scenario, go to ‘Object Type Mappings’, find your custom types (SIM_COMPONENT and SIM_ASSEMBLY), and change their status to ‘Active’. Then execute the ‘Regenerate Metadata’ function. This updates the internal registry that ObjectLinkService uses for validation. Make sure you have authorization object S_PPM_SYNC with activity 02 (change). After activation, test with a single project transfer before running batch synchronization.

Also worth checking: are your custom item types properly configured with the GUID field? PPM uses GUIDs for object linking, and if your custom type definition doesn’t include this field, the sync will fail even with active mappings. I had a similar case where the type was registered but missing the mandatory GUID attribute in the type definition.

One more thing to verify - check if your synchronization scenario is using the standard item type inheritance model or if it’s configured for direct type mapping. Custom types need explicit parent-child relationships defined in the type hierarchy for proper object link creation.