Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

The PTC Community email address has changed to Learn more.

Create structured numbering scheme based on attributes


Create structured numbering scheme based on attributes

How can we create structured numbering scheme based on attributes?

We understand about creating of new sequences, OIR and schemes with prefixes or suffixes. But we haven't found how to create a structured numbering as we need.

We have a document sub type, for example, Coating Specification (CO) or Inspection Report (IR).

We need to enter the contract number (which is an attribute) as the sequence key along with the subtype prefix.


Example of the numbering structure:


XX:         Prefix of Subtype “CO” (can also be inserted into the OIR of the Sub type).

YYYYY:   Contract Attribute value filled in the object.

ZZZZ:     Sequence of Sub type to the “YYYYY” Contract.



Contract “00357”:

CO-00357-001 – Coating for Electrical panels.

CO-00357-002 – Coating for Water pipe.

CO-00357-003 – Coating for metallic structures.

IR-00357-001 – Weld Inspection A.

IR-00357-002 – Weld Inspection B.


Contract “00358”:

CO-00358-001 – Coating for Water pipe.

CO-00358-002 – Coating for metallic structures.

IR-00358-001 – Weld Inspection A.

IR-00358-002 – Weld Inspection B.

IR-00358-003 – Weld Inspection C.


A logic like this is very difficult. I would suggest you use an auto-number for creation and rename the part automatically e.g. during the release process. Then all the attributes are set and you can calculate the correct number.


Thank you for your reply. Follow comments


The logic of numbering is not so complicated. We have this type of configuration on non-engineering documents in another management system. It has the fixed part of the OIR, an attribute value, and a sequential one based on these two.


But of course, in Windchill it seems to me more complex because the one that the numbering key is usually created manually.


In the state transition we cannot do the renaming, because the number needs to be placed in the document by the user before release.

Well, even if it's complex, is it possible?

Or the only way would be to make an external application called by windchill? But we'd rather not.


Note: This setting is for WtDocuments only. Will not be used by EPM's Documents.

A better question is why is this a requirement..?

Use a simple numbering scheme, then keep the attributes on the document. Users can search on the attribute to get relevant documents.


Why is this better?

  • More adaptable - you can add attributes or new fields without breaking your numbering scheme
  • Easier to train on - new people don't need to memorize what a number means. The attribute can just use simple text dropdown and be readily understood
  • Changes don't break the number - what if a document starts addressing one category, but then is updated and now falls under another? If all that is affected is an attribute, you can freely update the attribute

All "smart" numbering systems break down eventually, no matter how well thought out at first.

I understand and even agree with you. We have already had many internal discussions on this subject.


We work with the ETO methodology, I would say up to a level above, CTO (Contract to Order) and for this type of project our leaders understand that it is better a structured numbering and linked to the sales contract.


Another point is that Our customers, huge companies, force us to use this type of structured numbering and will not change.


We are currently controlling a numbering manually and then inserting into Windchill. We need to make this better.


The documents we could have a simpler coding we've already done.

I would use a custom workflow attached to the Phase Process of the 1st State in the lifecycle. The workflow can extract the attributes and renumber the document appropriately.

I had thought of a listner to detect an event or a button or menu in the user interface to capture the attributes and rename, but using the workflow is a good idea as well.

The question for everyone is how to control the sequences (encoding keys) since each new contract there is a new key with a new linked sequence. So far I have not seen how to do without having an additional DB.

Is it possible to have an external number defined in a separate attribute with a simplified internal identity?


Yes, since we can't manage this numbering within Windchill, this is the possibility we're considering using.

Top Tags