Using a Siebel Operation Step with the Upsert Operation

The Upsert Operation can do an update or insert operation depending on whether records exist in the Siebel database. Hence the name, Upsert. For example, assume that a search specification on a Siebel operation step queries the Siebel database and returns one of the following results:

  • One or more records. Upsert updates these records according to the Workflow Process configuration.

  • No records. Upsert inserts a record according to the Workflow Process configuration.

For example, assume the following occurs:

  1. Siebel CRM navigates the user to a view where they can can click a check box to create a new contact.

    The Yes default for the check box causes Siebel CRM to create a new contact.

  2. The user enters the contact information.

  3. The user navigates away from the view, and then returns to the view.

    When the user returns to the view, Siebel CRM might have created another contact. Siebel CRM must determine if the contact already exists. If the contact exists, then it must update the contact. If the contact does not exist, then it must create a new contact.

For another example, assume a Workflow Process runs in the background at midnight, processing orders that an external system sends to Siebel CRM:

  • If the order does not exist, then Upsert creates a new record.

  • If the order already exists but must be updated, then Upsert updates the record.