Tuesday, 17 February 2015

UCM Survivorship Rules On Custom Extension Columns(X_) of Base Tables


Here is the process to do:

1. Add a new column(X_TEST) to the table S_CONTACT(or any base table).
2. Added the field in the respective BC and IO.
3. Compile objects in to srf.
4. Now restart the siebel server and log in to application.
5. UCM>SurvivorshipRules>Attributegroup>
For the field name picklist without any join "Test"(extension field) will be visible.
6. Now create a Survivorship rule as per your business requirement.
Eg: Attribute group contains: First Name, Last Name and Test
Contact Default: Recent
and in the Attribute group Comparison Rule:History

7. Now using "Person Service" webservice create person operation, insert a record with the following details:

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/>
<soapenv:Body>
<cus:createPerson_Input>
<cus:RealtimePubSub>False</cus:RealtimePubSub>
<cus:_sblesc_lstValue_grt></cus:_sblesc_lstValue_grt>
<swip:ListOfSwiPersonIO ExternalSystemId="ExtSys1">
<swip:Contact operation="Insert" searchspec="" status="">
<swip:Id>1-123</swip:Id> 
<swip:FirstName>X_Recent</swip:FirstName>
<swip:LastName>1stTime</swip:LastName>
<swip:Test>ExtensionColumn</swip:Test>
<swip:EmailAddress>abc@abc.com</swip:EmailAddress> 
</swip:Contact>
</swip:ListOfSwiPersonIO>
<cus:Error_spcCode>?</cus:Error_spcCode>
<cus:Error_spcMessage>?</cus:Error_spcMessage>
</cus:createPerson_Input>
</soapenv:Body>
</soapenv:Envelope>


8. Now modified the message and inserted as below:

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/>
<soapenv:Body>
<cus:createPerson_Input>
<cus:RealtimePubSub>False</cus:RealtimePubSub>
<cus:_sblesc_lstValue_grt></cus:_sblesc_lstValue_grt>
<swip:ListOfSwiPersonIO ExternalSystemId="ExtSys1">
<swip:Contact operation="Insert" searchspec="" status="">
<swip:Id>1-123</swip:Id> 
<swip:FirstName>X1_Recent123</swip:FirstName>
<swip:LastName>1stTime</swip:LastName>
<swip:Test>ExtensionColumn123</swip:Test>
<swip:EmailAddress>abc@def.com</swip:EmailAddress> 
</swip:Contact>
</swip:ListOfSwiPersonIO>
<cus:Error_spcCode>?</cus:Error_spcCode>
<cus:Error_spcMessage>?</cus:Error_spcMessage>
</cus:createPerson_Input>
</soapenv:Body>
</soapenv:Envelope>

9. As per survivorship rules even though first name and extension column are modified they are not disturbed in the base table whereas Email Address is changed to the recent one since email address is not present in the attribute group.

10. Hence it is confirmed that survivorship rules will execute on extension columns as well. 

                                                                                                                                               (Its is only for education /knowledge purpose)

4 comments:

  1. i have same issue but can you please clarify more on :

    1. Add a new column(X_TEST) to the table S_ORG_EXT_X(or any base table).

    What is the respective IO and BC ????
    Can you please clarify what IOs and BCs????
    is it SDH Table like UCM Account Source and Data History bc and io

    Many Thanks to your Guide and Advice.

    ReplyDelete
  2. how about adding respective column in SDH table? Is it required? If not how the field value will be evaluated?

    ReplyDelete