≡ Menu

When will Multi-field Key Support Arrive in Teamcenter?

Share the knowledge

A commentator on my earlier post about CAD-BOM Alignment asked a question for which I don’t have a good answer, so I’ll share the little I know and perhaps in the comments section someone who knows more about it can fill in the gaps. First, here’s Dan’s question:

[quote]In one of your previous posts you mentioned that Siemens claims that in Teamcenter 9 we will be able to create two different item types using the same ID… this could be very handy for creating Design and Part items with the same ID. Can you shed some light about this issue? are there any official documents that mention it?

Globally Unique Item IDs

Here’s some quick background for those of you not familiar with the issue. In Teamcenter Engineering and Teamcenter Unified Architecture up through version 8, item ID is a globally unique field. This meant that, sort of like The Highlander, there could be only one item with a particular item ID. Even if two items had completely different item types they could not have the same item ID. This has frustrated lot of people who expected to be able to create a Part, Drawing, and Design items for the same thing, all with the same item ID. However, this wasn’t possible so typically users would have to add a suffix or a prefix to the item IDs to distinguish one item from another. For example, if the part was 100-10000, the drawing might be 100-10000DRWG and the design might be 100-10000DSGN.

Multi-Field Keys

What’s supposed to be coming is the concept of multi-field keys for Items. Right now, Item ID is considered a key field that has to be unique. Someday we’re supposed to be able to configure TC so that the combined value of multiple fields is what needs to be unique. For example, if the multi-field keys are configured on Item ID and Item Type, then you could have a part item, a drawing item, and a design item, all with the same item ID.

I’m not certain but I’m guessing that we will able to define which attributes comprise the set of key attributes which need to be unique. The usual example is (item_id, object_type), but perhaps other fields may be combined in the key.

What I Know

I’ve been told that multikey field support is coming in version 9, but if I’ve seen official documentation on this I’ve forgotten it. Teamcenter 9 documentation isn’t up on GTAC yet. I checked last years PLM World presentations (I wasn’t able to attend) and so far the only thing I’ve found is a slide in Siemens’ Teamcenter Strategic Update presentation that seems to imply that full support of multi-field keys is the vision for versions beyond V9.x. If that means that 9 will have partial support or not is unclear. So if anybody can point to any official statements about this, I’d appreciate hearing it.

Early signs


Multi-field keys already are having an effect on those of us doing ITK programming, as the functions ITEM_find_item() and ITEM_find_rev() have been declared deprecated in Teamcenter 8 and is slated to be removed completely from TC 10. Their replacements are the woefully under-documented ITEM_find_items_by_key_attributes() and ITEM_find_item_revs_by_key_attributes(). The main difference between the old and the new functions is that where the old functions only returned one item at most, the new functions may return multiple items. After all, in a multifield key environment there may be multiple items with the same Item ID.


If you poke around the BMIDE you can find other signs that multi-field key support is coming. I can’t recall the name, and I don’t have a computer handy where I can check, but there is at least one setting, a Business Object Constant I believe, that refers to allowing multiple items to have the same Item ID. I’ve asked people from Siemens about it and was told that although it’s present in TC 8.3 it’s non-functional for the time being.

Once again, if anyone out there can shed some more light on what’s coming, we’d appreciate it if you left a not in the comments. Thanks!

  • Katya_bzuk

    Hi, Scott!

    The name of the Business Object Constant you mentioned is MultiFieldKey. In TC 8.3 it’s defined only for Item and allows only “item_id” value. When trying to change this value a message is displayed saying you cannot change MultiFieldKey in that release. Related to this is UniqueItemIdAcrossAllItems constant that for now can’t also be changed.

    Btw, I like this blog, it’s really useful for me as a beginner TC customizer.
    Thanks a lot for posting!

    • http://plmdojo.com/ Scott Pigman

      cpaciba, Katya, for the names of those constants. I didn’t know that attempting to change those values triggered error messages; that’s interesting.

  • Pingback: A Sneak Peak at Multifield Keys in Teamcenter 10 | The PLM Dojo()

  • Pingback: A Sneak Peak at Multifield Keys in Teamcenter 10 – The PLM Dojo()

  • thePDguy

    Hi Scott,
    Multi Field key is a Business Object Constant defined on every Business Object in Teamcenter. It defines the uniqueness criteria for that BO. Any property of that object( may be String or Type referenced) or combination of its properties can be added as this MFK key value. For instance, by default OOTB, MFK for Item is defined as Item ID. This means, you will be able to create Items with unique Item IDs. That means, two Items can not have same Item ID.
    SImilarly, if you create a custom sub class of this Item, say MyItem and change its MFK value as “object_desc”, then any number of MyItem objects can be created with same Item ID but not with same description.
    If you create another sub class of Item as MyItem2 whose MFK Value is “ItemID+object_desc”, then you wont be able to create two or more Items with same ID and same desc. Either of these two properties have to be different to create an Item.
    I throughly worked in MFK .. let me know if you have any more questions. thanks

Optimization WordPress Plugins & Solutions by W3 EDGE