Synchronization (DG)

Item synchronization with iPIM

iPIM Supply uses a REST interface to synchronize items to iPIM. Internally in iPIM, the ERP-Import is used to validate and process the incoming data.

Process

To prevent memory overflow iPIM Supply uses a streaming approach to load and synchronize the data.
With the default settings, each catalog uses four concurrent threads to sent data to iPIM. Each thread sends a batch of data containing up to (default value) 250 items.
When the batch is completely processed in iPIM, the possibly resulting error and warning messages are registered in the synchronization report and the next batch is sent to iPIM.

iPIM’s ERP process can run more efficient, if all or at least many items belonging to a single product are sent as part of one batch. To support this, Supply loads 10 times the required amount of items needed and pre-processes the items into batches intelligently, to ensure that

  • all currently loaded items of the same product are kept together in one batch, improving performance
  •  all items that belong to the same product but were not loaded at the same time, will be processed by the same thread, ensuring that items of the same product are not processed concurrently

Communication ID

iPIM Supply and iPIM use a reference value to identify items, the communication-ID.

Items are assigned a sequence number in iPIM Supply during the transformation process. For each unique catalog and supplier item number / unique supplier id combination, a sequence number is generated.

Depending on how products are arranged (see below), an item’s communication id can be it’s sequence number or the communication id of a different item.

The communication id is sent as part of the synchronization request and used by iPIM to look up the corresponding entries in ERP_IMPORT_ARTICLE and ARICLE using the REFERENCE_MAPPING table.

Each item in iPIM Supply only ever has exactly one communication id, but the REFERENCE_MAPPING in iPIM is able to reference the same ARTICLE/ERP_IMPORT_ARTICLE entries from multiple communication ids.

This allows for the various ways that duplicates are handled and products are arranged in iPIM Supply/iPIM.

Product arrangement

iPIM Supply allows for multiple ways to arrange products from items.
In most cases, the product arrangement is fixed after the first synchronization. This is reflected in iPIM Supply by making the corresponding configuration settings read only after the first successful synchronization.

Changes to the product arrangement need to be made manually, possibly by changing the database(s).

One product per item

The simplest product arrangement mechanism is the default configuration in iPIM Supply.
For every item that is sent to iPIM a new product is generated.

Products from items with the same attribute values

The iPIM synchronization can be configured to create the product arrangement attribute from multiple attributes mapped in the catalog.
This list of attributes is then used to create a single string value that iPIM can use to look up if a new product is required or if an existing product should be re-used.
iPIM uses the table NUMBER_MAPPING to map product arrangement strings to IPIM ProductNo.

Providing the iPIM product number during the import

For migration cases it can be useful to provide the iPIM product number during the import.
For this to work, the special attribute IPIM_PRODUCT_NUMBER needs to be mapped to the corresponding supplier attribute.
During the synchronization, this value is sent to iPIM.

iPIM checks if the product number is set. And if that is the case, either looks up or creates the product for this product number.
The item number will still be generated for each new item. Alternatively, using the special attribute IPIM_ARTICLE_NUMBER, the item number can be provided in the import as well.

Linking to duplicates found in iPIM

The iPIM Duplicate validator allows the user to search for duplicates in iPIM using certain attributes (ITEMEXTID, EAN). If a duplicate is found in iPIM, a message is generated in the transformation report. For this message, an action is available to link the supply items with their respective duplicates in iPIM.

The result is the same, as if the product and item numbers were provided in the import – see above.

Linking to duplicates found in iPIM Supply

The Global duplicate validator allows the user to search for duplicates in iPIM Supply using certain attributes (ITEMEXTID, EAN, more configurable). If a duplicate is found, a message is generated in the transformation report. For this message an action is available to link the items and it’s duplicates together in an item group.

The link works by assigning the same communication id to all items within the group.
However, not all items will be equal in the item group. One item must be selected as the primary item. Primary items will be completely synchronized with all their attributes. For secondary items, only their supplier attributes are synchronized.