BOM synchronization fails during MRP run in advanced planning module

When running MRP in advanced planning, BOM sync fails with material master mismatch errors. The error appears in the MRP integration logs but doesn’t provide much detail about which materials are causing the issue. We’ve extended our material master with custom attributes for supplier lead times and minimum order quantities. The BOM interface mapping seems correct in the configuration, but the synchronization keeps failing. Here’s what we see in the logs:


ERROR: BOM sync failed - Material MM-12345 not found
ERROR: Interface mapping validation failed
WARN: Skipping BOM component sync for work order WO-9876

This is blocking our production planning runs and we need to resolve it quickly. Has anyone dealt with BOM sync issues after extending the material master?

Good point about the query. I checked and we did add a separate extension table for the custom attributes. The standard BOM interface is probably not aware of it. How do I modify the interface query to include our extension table? Is there a configuration file I need to edit?

Material master extensions can definitely cause sync issues if the BOM interface isn’t updated to include the new fields. Check your interface mapping configuration to ensure the custom attributes are properly mapped. Also verify that the material master extension fields are marked as syncable in the schema definition.

I’ve resolved this exact issue multiple times. Let me provide the complete solution addressing all three areas you need to fix.

Material Master Extension Registration: First, ensure your custom attributes are properly registered in the MRP integration layer. Open the Advanced Planning configuration console and navigate to Material Master Extensions. Your custom fields (supplier_lead_time and min_order_qty) must be registered here with these properties:

  • Field Type: INTEGER for lead time, DECIMAL for quantity
  • Sync Enabled: TRUE
  • Include in BOM Interface: TRUE
  • Validation Rule: NOT NULL if these are required fields

If these aren’t registered, the MRP engine ignores them completely during BOM sync.

BOM Interface Mapping Update: Next, update your BOM interface mapping to include the extension table. Edit the file config/interfaces/bom_interface_mapping.xml. Locate the material master query section and modify it:

<!-- Original query -->
<query name="materialMaster">
  SELECT m.material_id, m.description, m.unit_of_measure
  FROM material_master m
  WHERE m.active = 1
</query>

<!-- Updated with extension -->
<query name="materialMaster">
  SELECT m.material_id, m.description, m.unit_of_measure,
         e.supplier_lead_time, e.min_order_qty
  FROM material_master m
  LEFT JOIN material_master_ext e ON m.material_id = e.material_id
  WHERE m.active = 1
</query>

The LEFT JOIN is critical because not all materials may have extension data yet. Using INNER JOIN would exclude materials without extensions and cause the sync to fail.

Add the field mappings in the same XML file:

<field-mapping>
  <source>supplier_lead_time</source>
  <target>leadTime</target>
  <type>integer</type>
</field-mapping>
<field-mapping>
  <source>min_order_qty</source>
  <target>minOrderQuantity</target>
  <type>decimal</type>
</field-mapping>

MRP Integration Log Analysis: For the specific error you’re seeing (Material MM-12345 not found), this indicates the material exists in the BOM but not in the material master query result. Enable detailed MRP integration logging:

Edit config/logging.properties:


com.honeywell.mes.planning.integration=DEBUG
com.honeywell.mes.planning.bom.sync=TRACE

Rerun the MRP process and examine the logs. Look for:

  • Material master query execution with row count
  • BOM component lookup attempts
  • Missing material IDs list

If materials are still missing after the interface update, it usually means:

  1. The extension table has NULL material_id values (data integrity issue)
  2. The material master query has filters excluding certain materials
  3. The BOM references inactive or deleted materials

Run this validation query to identify problematic materials:

SELECT b.material_id, m.material_id as master_exists, e.material_id as ext_exists
FROM bom_components b
LEFT JOIN material_master m ON b.material_id = m.material_id
LEFT JOIN material_master_ext e ON b.material_id = e.material_id
WHERE m.material_id IS NULL OR e.material_id IS NULL;

Any rows returned need attention. Either add missing extension records or fix the material master data.

After making these changes:

  1. Reload the interface configuration (Admin Console > Interfaces > Reload BOM Interface)
  2. Clear the MRP cache (Advanced Planning > Cache Management > Clear All)
  3. Run a test MRP calculation on a single work order first
  4. Check the integration logs for successful material lookups
  5. Once confirmed working, run full MRP

The BOM sync should complete successfully once all three areas are properly configured.