DCN merge command requirements,
behavior, and exceptions.
Requirements and Behavior
- You can send multiple merge commands within a single DCN command.
- The merged graph retains SAP Mobile Platform surrogate keys.
- You can send a merge
command within the context of a group of DCN commands.
- merge is scalable such that distinct graphs can be
updated concurrently without blocking.
- The update of the cache LMD value for merge behaves the
same as existing DCN upsert/delete.
- The DCN client must provide all the attributes for each node in the graph.
- The DCN client must provide input for every graph part.
However, the instance list for the part may be empty.
- To allow independent evolution of the EIS, merge can send graph parts and MBO attributes
that are not currently modeled.
- Graph merge processing performs only those cache insert,
update, and delete commands that are required to bring the cache into
synchronization with the supplied graph instance, including inserting the
complete graph if it did not previously exist in the cache.
- merge does not support
merging a subgraph within a larger graph, or merging individual graph parts
(that is, line items) as a set within a larger graph.
Exception Handling
An ERROR exception is thrown if:
- A graph part is missing from the DCN message data.
- All of the DCN graph parts (which are part of the deployed
model) do not belong to the same graph definition. It is not an error to
include graph parts that are not part of the model.
- All of the DCN graph parts do not belong to the same graph instance.
- The DCN message contains more than one root graph instance.
- Any DCN message data part does not contain all MBO attributes.
- Any DCN message data part causes orphaned rows in the cache.