UCM Is Not Updating Fields Mapped To Joined Tables When Survivorship Is Enabled (Doc ID 2188463.1)

Last updated on SEPTEMBER 29, 2016

Applies to:

Siebel Universal Customer Master - Version 8.1.1.7 SIA [21238] and later
Information in this document applies to any platform.

Symptoms

PRODUCT VERSIONS:
------------------------------
SIEBEL VERSION: Siebel 8.1.1.7 SIA [21238] + QF0723 + QF07AC
DATABASE VERSION: Oracle 11.2.0.3
SIEBEL APP O/S: Linux x86

ISSUE STATEMENT:
----------------------------
Customer executes the UCM 'PersonService' web service with the operation 'Upsert' on the application Siebel Universal Customer Master (MDM) to update existing base table records with values coming in from other systems. Customer observes that most fields are updated properly with the incoming value, except for 2 fields which are not being updated into the base table record, the 2 fields are 'ScarsandMarks' and 'SuppressAllSMS'.

For the MDM application, several Survivorship Rules (Source confidence) are set, but no rule is associated with these fields, so we have excluded that case as the cause of failure.

All other fields properly arrive to BASES tables, only the two mentioned fields (ScarsandMarks and SuppressAllSMS) are not being updated. Customer has reviewed the fields and confirm they are all in the related objects, have compiled and made the Deploy in both languages SRF files. Customer has also checked that there is no more than one field in the IO associated with it 'External Name', but even so the problem persists.

WHERE IT HAPPENED:
-------------------------------
The issue happens in customer's QA environment.

STEPS TO REPRODUCE:
---------------------------------
The behaviour occurs as follows:

1. Send in a message to UCM for the 'PersonService' web service with the operation 'Upsert', where the message includes these 2 fields 'ScarsandMarks' and 'SuppressAllSMS' with values, for example:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://xmlns.oracle.com/apps/mdm/customer" xmlns:swip="http://www.siebel.com/xml/SwiPersonIO">
<soapenv:Header>
<UsernameToken xmlns="http://siebel.com/webservices">OSB</UsernameToken>
<PasswordText xmlns="http://siebel.com/webservices">OSB</PasswordText>
<SessionType xmlns="http://siebel.com/webservices">None</SessionType>
</soapenv:Header>
<soapenv:Body>
<cus:updatePerson_Input>
<cus:Process_spcInstance_spcId>?</cus:Process_spcInstance_spcId>
<cus:Object_spcId>?</cus:Object_spcId>
<cus:RealtimePubSub>?</cus:RealtimePubSub>
<cus:Siebel_spcOperation_spcObject_spcId>?</cus:Siebel_spcOperation_spcObject_spcId>
<cus:_sblesc_lstValue_grt>?</cus:_sblesc_lstValue_grt>
<swip:ListOfSwiPersonIO ExternalSystemId="CRM">
<swip:Contact Operation="Upsert" Searchspec="">
<swip:Id>1-17JYWB</swip:Id>
<swip:Updated>03/03/2016 10:00:52</swip:Updated>
<swip:Alias>ANGELINO</swip:Alias>
<swip:Assistant>CRM</swip:Assistant>
...
...
<swip:ScarsandMarks>CICATRIZ EN LA PIERNA6</swip:ScarsandMarks>
<swip:SuppressAllSMS>Y</swip:SuppressAllSMS>
...
...
</swip:Contact>
</swip:ListOfSwiPersonIO>
<cus:Error_spcCode>?</cus:Error_spcCode>
<cus:Error_spcMessage>?</cus:Error_spcMessage>
</cus:updatePerson_Input>
</soapenv:Body>
</soapenv:Envelope>

2. The message arrives into Siebel UCM and matches with an existing record, so an update is done to the existing record with these incoming values.

3. All other fields in the message above are updated to the record successfully.

4. However, these 2 fields 'ScarsandMarks' and 'SuppressAllSMS' did not get updated with the value from the incoming message, they remain the same value as before.

EXPECTED BEHAVIOR:
-------------------------------
The expected behaviour is that the base table record should be updated with the new values for these 2 fields 'ScarsandMarks' and 'SuppressAllSMS' coming in from existing message.

WHAT IS NOT WORKING/ACTUAL RESULTS:
-------------------------------------
The actual result is that the 2 fields' value for 'ScarsandMarks' and 'SuppressAllSMS' are not getting populated into the existing UCM base table record.

LOSS OF FUNCTIONALITY / BUSINESS IMPACT:
--------------------------------------------
Due to the field not being populated with the incoming data, this is leading to data loss.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms