Merging missing data by using the MISSING_DATA_CHILD_ATTRIBUTE configuration property

An ItemCollector collaboration object checks if the attribute specified in its property contains a list of missing attributes.

Description

Within a triggering Retail_Item business object, an ItemCollector collaboration object checks if the attribute specified in its property MISSING_DATA_CHILD_ATTRIBUTE (by default, the internals.customer_data_missing_attributes child business object) contains a list of missing attributes.
Note: It is assumed that previous processing, such as that performed by an ItemValidation collaboration object, identified which attribute names were required and missing from the item and that previous processing (such as a custom collaboration object) collected the values for those missing attributes and set the values in the Retail_Missing_Attributes child business object of the Retail_Item business object. See Validating an item by requiring data for specific attributes and Using a custom missing data retrieval process to collect data.

Each Retail_Missing_Attributes business object contains two attributes. The first attribute contains the name of a Retail_Item attribute that was determined during previous processing to be required and missing its data. The second attribute contains the value of the Retail_Item attribute that was obtained through a custom missing data retrieval process prior to the ItemCollector collaboration object being invoked.

The ItemCollector collaboration object needs to reference each of the two elements of the Retail_Missing_Attributes child business object. This is accomplished by using two configuration properties, MISSING_DATA_NAME_ATTRIBUTE and MISSING_DATA_VALUE_ATTRIBUTE:
MISSING_DATA_NAME_ATTRIBUTE
This property holds the attribute name as defined in the Retail_Missing_Attributes child business object. By default, this value is attribute_name. If this default value is changed, the change must be reflected in the value of the MISSING_DATA_NAME_ATTRIBUTE as well.
MISSING_DATA_VALUE_ATTRIBUTE
This property holds the attribute value as defined in the Retail_Missing_Attributes child business object. By default, this value is attributeValue. If this default value is changed, the change must be reflected in the value of the MISSING_DATA_NAME_ATTRIBUTE as well.

For each Retail_Missing_Attributes instance in the missing attribute array, the collaboration object first verifies that the attribute is a valid Retail_Item attribute. If so, the attribute's value is copied from the Retail_Missing_Attributes instance to its correct position in the Retail_Item business object obtained from the local item store. If the attribute is not valid for the Retail_Item, the collaboration object generates an informational message in the log and continues processing.

Parent topic: Merging data into a complete item