You already use a PLM system perhaps Teamcenter but your out-of-box setup feels rigid. Your business processes evolve, and demands for domain-specific logic, custom validation, or tailored user interfaces grow louder. You ask: How do I implement custom behaviors in PLM without breaking upgrades?
That’s where PLM customization becomes essential. It helps you adapt your system (e.g. Teamcenter) with new data models, business rules, and UI components without rewriting base code. In this guide, you’ll walk through three core levers of PLM customization: BMIDE, Handlers / Extensions, and UI Extensions, all illustrated via Teamcenter examples.
By the end, you’ll understand how to structure safe, upgrade-friendly customizations and choose the right approach per use case.
Table of Contents
ToggleBMIDE is Siemens’ tool for defining or extending the data schema in Teamcenter. You use BMIDE to create new business objects, properties, list-of-values (LOVs), rules, and relationships that map to your organization’s domain.
Example: Suppose you need a custom status field in your “Product Revision” object with domain-specific validation. You’d use BMIDE to add the property, attach a rule (e.g. valid transitions), and optionally write a custom handler or rule extension to enforce it.
Tips & best practices:
A powerful dimension of PLM customization is event-driven logic triggering code when certain operations occur (create, revise, delete, check-in, etc.). In Teamcenter, these are often realized via handlers or rule extensions.
| int L4_register_handlers(METHOD_message_t *msg, va_list args) { EPM_register_rule_handler(“My_RuleHandler”, “MyRule”, (EPM_rule_handler_t)MyRuleHandler); EPM_register_action_handler(“My_ActionHandler”, “MyAction”, (EPM_action_handler_t)MyActionHandler); return 0;} |
Example: You want a custom check when a “Change Order” is being released. You attach a “Pre-action” extension on the “Release Change Order” operation. Your handler code verifies compliance with special business logic and aborts if not satisfied.
UI / RAC Handlers:
For client side (Rich Client / RAC) extensions, the “handlers” extension point can be used. You define control commands, then handler classes that execute on user interaction (e.g. menu clicks) in the client UI.
Key considerations:
Because end users care about usability, you often need to adapt UI: forms, panels, dashboards, menus, etc. In Teamcenter, UI customization can happen in:
Example: Suppose you need a custom tab in the “Item Revision” form that shows supplier metrics (pulled via an external service). In Active Workspace UI extension, you embed a custom widget that fetches supplier data via SOA or REST and displays it inline.
Best practices:
When you layer PLM customization, follow this structure:
This separation helps maintain modularity, eases troubleshooting, and ensures upgrade tolerance. Many teams adopt a feature-based packaging model: each customization (e.g. “SupplierMetrics”) has its BMIDE template, handlers, UI parts, and integration code in a single package.
Also, always keep future upgrades in mind. Avoid modifications to OOTB artifacts. Use hooks, extension points, and template layering.
You’ve now seen how the three pillars BMIDE, Handlers, and UI Extensions form the foundation of PLM customization. But why trust this approach?
Pankaj Singh has extensive experience in market research and content creation within the industrial sector. He currently writes insightful articles related to business, manufacturing, technology, and automation for Prescient Technologies.