Types of Identifiers
Historically, it has not been possible to differentiate between identifiers in the II datatype. However, an MnM resolution at the May, 2006 WGM recommending the introduction of an II.useCode property should differentiate this (see the Datatypes R2 Issue 57 proposal). Note that the proposal includes a list of types that are not mutualy exclusive, and so various combinations are permitted.
- Business Identifier: This is a commonly used identifier associated with a particular object. It is often a publicly exposed identifier which is known to providers and may be printed on reports or forms. It remains consistent as a class undergoes state transitions, including suspend, resume, revise, abort and complete. It is the truest identifier of the "object", given the MnM paradigm that an object persists across state transitions.
- Version Identifier: This is a type of identifier introduced in some jurisdictions to allow referencing a particular business object as it existed at a given point in time. They can be considered identifiers of a static snapshot of the object. This type of identifier changes with each state transition on the object. I.e. The version identifier of an object prior to a 'suspend' state transition is distinct from the identifier of the object after the state transition. Each version identifier can be tied to exactly one ControlAct event which brought that version into being.
- Information Instance Identifier: This is an identifier for the exact information items that are included within a static model instance. This identifies a view of the business object at a particular point in time, and as such identifies a set of data items that can be digitally signed and/or attested. This is in contrast to the Version Identifier which identifies the object at a specific time, but not the amount of information being asserted about the object. This identifier would be changed when a transformation of the information is performed (eg to add code translations, to provide a simplified textual rendering, or to provide additional information about the object as it existed at the specific point in time). Note that the Information Instance Identifier may be conveyed with all its information items "byValue" or with none or some "byReference". These additional use codes allow Information Instance Identifiers to be used when only enough information for populating a picklist is needed, with the full inforomation instance being retreived if needed.
- To me the Version Identifier could be defined as being a Information Instance Identifier. If there are use-cases for 2 different identifier types, then the Information Instance Identifier is a spezialization of the Version Identifier type. Rene spronk 06:58, 16 Aug 2006 (CDT)
See Datatypes R2 Issue 57 for the related datatypes proposal.