Siebel Remote and Replication Manager Administration Guide > Client-Side Merge Issues on the Server >

Definition of the Problem


The combination of actions below will create orphaned child records on the server.

  • Merging on the server that deletes a parent record.
  • Before invoking a synchronization session that would merge the same records on the local database, the user creates or associates child records to the parent that was deleted on the server.
  • When synchronization does occur, the child record associated with the deleted parent is orphaned on the server.

The following example illustrates the sequence of events that may occur to create the client-side merge problem. Keep in mind that a client-side merge refers to actions initiated from the user interface rather than another type of merge such as an EIM merge.

To begin, both the Mobile Web Client and the server have equivalent records such as:

  • Account A with Activity 1 as a child record
  • Account B with Activity 2 as a child record

The client-side merge problem arises if the following sequence of activities takes place:

  1. Account A and Account B are merged on the server into Account B. As a result, the following happens on the server:
    • Account A is deleted.
    • Account B has both Activity 1 and Activity 2 as children. This happens because the object manager issues a multirow update statement for each possible child table of the Account A table.
    • The above actions generate transactions that are placed in the outbox for the Mobile Web Client.
  2. Before the transactions in Step 1 are routed to the Mobile Web Client, the following occurs:
    • The Mobile Web Client inserts Activity 3 as a child record of Account A and synchronizes.
  3. The Mobile Web Client synchronizes and the following occurs:
    • Activity 3 is routed up to the server. An Activity 3 is created with parent Account A on the server. This activity is an orphaned record because its parent does not exist on the server.
    • The merge operations on the server described in Step 1 are sent down to the Mobile Web Client. Activity 3's parent is reset to Account B on this Mobile Web Client. Consequently, the client-side merge does not create an orphaned record on the Mobile Web Client.
Siebel Remote and Replication Manager Administration Guide