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.
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.
Multi-field keys already are having an effect on those of us doing ITK programming, as the functions
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_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!