Merge Requirements, Behavior, and Exception Handling

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.