Explains how a UCCnetMessageSend collaboration object sends response
messages to UCCnet based on an item's command type, status value, and the
values of particular collaboration object properties.
Description
Response messages must be returned to
UCCnet for each NEW_ITEM, DATA_CHANGE, or NEW_ITEM with reload request. In
the Product Information Management for Retailers solution, a Process_Reviewed_Item
collaboration object is connected through its respond_to port to a UCCnetMessageSend
collaboration object, which builds and sends appropriate responses to UCCnet.
Response messages must be returned to UCCnet for each NEW_ITEM, DATA_CHANGE,
or NEW_ITEM with reload request. Process_Reviewed_Item collaboration objects
pass Retail_Item business objects to UCCnetMessageSend collaboration objects
when they have been assigned Synchronised, Rejected, Accepted, or Error status.
UCCnetMessageReceive collaboration objects may also pass Retail_Item business
objects with Review or Error status to UCCnetMessageSend collaboration objects
for the purpose of sending a response to UCCnet.
When a triggering
Retail_Item business object is received, a UCCnetMessageSend collaboration
object first retrieves the layer information from the local message store
by converting the Retail_Item to a UCCnetGBO_storable business object and
passing it to its ToMessage_Store port. This port is bound to the appropriate
persistence mechanism, such as a MessageStore collaboration object, which
performs the retrieval. The UCCnetMessageSend collaboration object uses the
Retail_Item internals.originalCorrelationID attribute, if
it is populated, to access the proper entry in the message store. If this
attribute does not contain a value, the collaboration object uses the Retail_Item internals.correlationID attribute
value.
It then extracts the Catalogue Item Notification command and
handles the object according to its original command type, its status value,
and the values of certain properties, as follows:
- If the original command to the demand-side trading partner was a DE_LIST,
WITHDRAW, or CORRECTION, the collaboration object stops processing.
- If the original command to the demand-side trading partner was a NEW_ITEM,
DATA_CHANGE, or NEW_ITEM with reload, the UCCnetMessageSend collaboration
object does the following:
- Checks the value of the internals.item_status attribute of the Retail_Item:
- If the status of the Retail_Item is Synchronised, the collaboration object
builds a Catalogue Item Confirmation message with a state of Synchronised.
- If the status is Rejected and the collaboration object's SEND_REJECT property
is set to true, it builds a Catalogue Item Confirmation message with a state
of Rejected.
- If the status is Review and the collaboration object's SEND_REVIEW property
is set to true, it builds a Catalogue Item Confirmation message with a state
of Review.
Note: A UCCnetMessageReceive collaboration object can initiate sending
a Catalogue Item Confirmation message with a state of Review when an item
is first received and sent to the business review/approval process. Since
this process can be long-running, it might be necessary to send the Catalogue
Item Confirmation message with a state of Review back to originator of the
request. Normally, UCCnet does not want Catalogue Item Confirmation messages
with a state of Review to be sent, so it is recommended that the SEND_REVIEW
property be set to false.
- If the status is Accepted and the collaboration object's SEND_ACCEPT property
is set to true, it builds a Catalogue Item Confirmation message with a state
of Accepted.
- Composes a UCCnetGBO_envelope business object by first converting the
Retail_Item and UCCnetGBO_storable business objects into a UCCnetGBO_RI_S
business object and then passing this object through the map specified in
its TOAS2_RESPONSE_MAP configuration property. The resulting UCCnetGBO_envelope
business object contains all of the information needed for the UCCnet Catalogue
Item Confirmation message.
- Passes the UCCnetGBO_envelope business object to the AS2 channel connector
on its ToAS2_Response port. In the connector controller portion of
the connector, it is converted to an application specific business object
of the form:
- UCCnetxxx_envelope if iSoft connectivity is used.
- UCCnetTPIxxx_envelope if TPI connectivity is used.
- UCCnetJMSxxx_envelope if WebSphere® Business Connect is used with JMS.
The UCCnetGBO_envelope business object is converted by passing through:- UCCnetGBO_envelope_to_UCCnetxxx_envelope map if iSoft connectivity
is used
- UCCnetGBO_envelope_to_UCCnetTPIxxx_envelope map if TPI connectivity
is used
- UCCnetGBO_envelope_to_UCCnetJMSxxx_envelope map if WebSphere Business
Connect is used with JMS
The DTD forms of these maps convert the outgoing UCCnetGBO_envelope GBO
containing an XSD-based Catalogue Item Confirmation command into an ASBO
containing a DTD-based Authorization command.Note: The variable xxx specifies
the XML definition type used (DTD or XSD).
- If the status of the item is Synchronized, Rejected ,
or Error the collaboration object checks the Retail_Item internals.lastCascadedGLN attribute.
If the attribute is not false it deletes the entry from the
message store corresponding to the Retail_Item internals.originalCorrelationID value
by converting the business object to a UCCnetGBO_storable business object
and passing this object to its ToMessage_Store port. If the status of the
Retail_Item is Accepted or Review the message
store entry is not deleted. This port is bound to the appropriate persistence
mechanism, such as a MessageStore collaboration object, which performs the
actual deletion.
- Regardless of the original command type, if the status of the item is
Error, the UCCnetMessageSend collaboration object does the following:
- If the value of its FILTER_DUPLICATE configuration property is true, it
maintains the identifier store by converting the business object to a UCCnetGBO_identifier
business object and calling an IdentifierStore collaboration object to remove
the entry from the identifier store. The key attributes for DTD processing
are gtin, version, and topic. The key attributes for XSD processing are gtin,
topic, dataRecipientGLN, dataSourceGLN, targetMarket, and uniqueCreatorID.
See Filtering to eliminate processing of duplicate items and Persisting or deleting an item to or from a local identifier store.
- Checks the Retail_Item internals.lastCascadedGLN attribute.
If the attribute is not false it calls a MessageStore collaboration
object to delete the entry from the message store. See Persisting, retrieving, or deleting an item to or from a local message store.
- It stops further processing of the Catalogue Item Confirmation command
so that no response is returned to UCCnet.