Custom BOM attribute not visible in manufacturing collaboration

We extended the BOMLine business object using BMIDE to add a custom attribute ‘mfg_process_code’ for tracking manufacturing routing information. The attribute was successfully deployed and appears in the database, but it’s not visible in the manufacturing collaboration workspace.

I created the attribute in BMIDE with string datatype, added it to the BOMLine type, and deployed the template. The attribute shows up in Structure Manager when I check the BOMLine properties, but our manufacturing team can’t see it in their workspace template. I verified the property policy includes the attribute, but something seems missing in the workspace configuration.

IMANType bomLineType = session.getTypeManager().getType("BOMLine");
Property mfgCode = bomLineType.getProperty("mfg_process_code");
// Returns null in mfg workspace context

This is blocking our manufacturing process planning workflow. Has anyone encountered similar visibility issues with custom BOM attributes across different workspace templates?

I had almost identical issue last year. Here’s what you need to check systematically:

First, verify the property exists and has correct access rights. Then check the workspace template configuration - manufacturing collaboration uses a specific template that needs explicit column definitions.

For the empty values issue, you need to ensure three things are aligned:

  1. BMIDE Configuration - Property modifiers must include ‘Readable’ and ‘Displayable’. Check your template XML:
<property name="mfg_process_code" displayName="Mfg Process Code">
  <modifiers>Readable,Displayable</modifiers>
</property>
  1. Property Policy Mapping - Add to both base and workspace-specific policies:
<policy name="MfgCollaboration">
  <class name="BOMLine">
    <property name="mfg_process_code"/>
  </class>
</policy>
  1. Workspace Column Configuration - Edit the workspace preference file (typically in TC_DATA/preferences/workspace_templates/). Add your attribute to the visible columns list for the BOM structure view.

After making these changes, you must:

  • Deploy BMIDE template using template installer
  • Update preference files on server
  • Clear client cache (delete TC_CACHE folder)
  • Restart Teamcenter services
  • Have users refresh their workspace templates

The key is that BMIDE creates the data model extension, but workspace visibility requires separate configuration in property policies and workspace templates. Manufacturing collaboration is particularly strict about this because it uses specialized rendering for BOM structures.

Also verify your database - run this query to confirm data exists:

SELECT puid, pmfg_process_code FROM pom_object
WHERE ptype_name = 'BOMLine' AND pmfg_process_code IS NOT NULL;

If you see data in the database but not in the workspace, it’s definitely a property policy or workspace template configuration issue, not a data model problem.


This draft is based on general Teamcenter knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

I’ve seen this before. The issue is usually that the property isn’t registered in the workspace-specific property policy. Even though you added it to the base BOMLine property policy, manufacturing collaboration uses its own policy definition. Check your MfgCollaboration_PropertyPolicy.xml file and make sure your custom attribute is explicitly listed there.

Sarah’s right about the property policy, but there’s more to it. You also need to verify the workspace template configuration. Manufacturing collaboration workspaces often have their own column configuration files that define which properties are visible in the structure tree. The attribute might be in the property policy but not added to the workspace’s column set definition. Check your workspace preferences and make sure the column is enabled for that specific workspace type.

Thanks both. I checked the MfgCollaboration_PropertyPolicy.xml and the attribute wasn’t there. I added it, but now I’m getting a different issue - the attribute appears but shows empty values even though I can see data in Structure Manager. Do I need to refresh something or is there a caching issue?

The empty values suggest the property modifiers aren’t set correctly in your BMIDE template. When you extend BOMLine, you need to ensure the property has the correct modifiers for runtime access - specifically ‘Readable’ and ‘Displayable’ flags. Also check if you set the property as ‘Derived’ or ‘Runtime’ because manufacturing collaboration might handle those differently. Re-deploy your BMIDE template after verifying the modifiers and restart the Teamcenter server to clear any cached type definitions.

One thing to add - if you’re using property policies, make sure you’re not just adding the property name but also including any dependent properties. BOMLine properties sometimes have dependencies on other attributes or relations that need to be loaded together. Also verify your SOA client property policy registration if you’re accessing this through custom clients.