Item identifiers

You use item identifiers to uniquely distinguish each item. You can create item identifiers based on industry standards such as GTIN or UPC, or you can create item identifiers that are enterprise-specific , such as SKU, Corporate ID, and others. Generally, enterprises might have one or more item identifiers per item.

When you create a data model, you identify a primary identifier first and then group the rest of the identifiers as alternate identifiers.

Primary identifiers

A primary identifier is a single attribute that is assigned as the primary key.

You must specify one primary item identifier for the enterprise to facilitate data exchange and avoid duplicate resolutions. This strategy might require your enterprise to create a uniform identifier, which can affect the traditional systems.

You can model an identifier as a single attribute or a combination of attributes. However, you must assign a single attribute to be the primary item identifier for defining the items in IBM® Product Master. The primary identifier is best modeled as a sequence attribute. Product Master enforces the uniqueness of the primary item identifier and keeps it indexed.

The sequence attributes are by default unique, but not chronological or incremental. This is due to the fact that the system uses a sequence caching mechanism for optimum performance. The sequence caching mechanism maintains and increments the sequence attribute values in memory without the need to make a round trip every time to the database.

The sequence batching depends on whether a particular sequence is marked as sequential or non-sequential. You can mark any sequence as sequential or non-sequential. By default, the created sequences are non-sequential. In other words, sequence batching is enabled for each sequence that is created by you.

You can change this behavior of sequence attributes by using simple scripting. For example,
sp = getSpecByName("Spec1", false);
nod = sp.getNodeByPath("Spec1/seqA");
nod.setAttribute("SEQUENCE_SEQUENTIAL","true");
sp.saveSpec();

The script marks the sequence attribute seqA in Spec1 as sequential. This means that every incremental value is retrieved from the database, that is, the sequence batching is disabled for the sequence Spec1/seqA.

Remember: You must restart the server after running the script for the changes to fully take effect.

Alternate identifiers

Alternate identifiers are alternative values that you can use to facilitate searching and identifying the products.
You can use standards based identifiers such as GTIN and UPC to remember and refer to items. For example, you can need a 10-digit sequence as the primary identifier (or primary key) to avoid duplications and other problems. But to help users search on and refer to items, you also provide a more memorable alternate identifier, which might be a supplier-model combination. You can use these guidelines when you model alternate identifiers:
  • Make sure that identifier attributes are marked as searchable, which cause IBM Product Master to create indexes on them for faster searching. If the identifier is a combination of attributes, make sure that all of the attributes are marked as searchable.
  • Enforce integrity constraints. If the identifier is unique in all items, similar to the primary key, then mark the identifier as unique. For multi-attribute identifiers or for identifiers that are not unique, write custom validations to enforce uniqueness based on business logic. For details on implementing custom validations, see the Validation Frameworks document that is listed in the Appendix.