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)

Monday, 9 February 2015

EDQ Sequence Generator Processors


As per the requirement, I need to generate the Sequence in EDQ.

The following is the processor, which will generate the sequence.  

"Add Message Id "

Saturday, 7 February 2015

OCH (Siebel UCM) - OEDQ Real-Time Matching Process

- In real time, when a new record(driving record) come to UCM, Siebel calls EDQ web services to      generate cluster keys for the new record
- EDQ generate the cluster keys and its send back to Siebel
- Siebel stores these new keys and then looks up all records that share any key with the driving record- Once Siebel find a matching key, it submits driving and candidate records to the matching service
- Driver record and all candidate records are send back to EDQ, to be ranked by Match score
- Siebel then pop-up the Matching record with the match score and user can select 'pick' or 'ignore' to commit the record.
Cluster keys are stored in S_DQ_xxx_KEY tables; 


Accounts: S_DQ_ORG_KEY
Contact:    S_DQ_CON_KEY 

Prospects:  S_DQ_PRSP_KEY

Saturday, 27 December 2014

Monitor-OEDQ-Webservice-with-Siebel

Monitor Oracle Enterprise Data Quality (OEDQ) web service when connected with Siebel instance. 

The post will explain, how to visualize the data running through EDQ process:

Here we have two options:

1. Based on process:

 a). Temporary: cancel real-time process from the Director application user     
      interface and select the match processor, the rules hit, data in and data out etc.,related output tabs can view on results browser.

 b). Permanent: we can used writer processor to write output of match processor.


2. EDQ Web service Tester:

   Launchpad -> web Service Tester, by using this we can easily identify the whether the web service is            working as expected or not (for more details please refer the Oracle documentation).

Thursday, 20 November 2014

OEDQ Overview Presentation

Please go through the following link which will give the brief idea on Oracle Enterprise Data Quality overview for quick understanding.

OEDQ Presentation

Thanks

Sunday, 5 October 2014

Guided Merge Functionality in Oracle Customer Hub (Siebel UCM)



The following steps are required to enable guided merge functionality in Oracle Customer Hub (Siebel UCM):

·          The following Workflow to be called from “Guided Merge” button and modify as follows:

o    Name:   UCM Process Merge Request

o    Change following Process properties:

§   EnablePubub : True (default string : False)

§   EnableSE: True (default string:  False)

o    Activate the workflow from client



·          Client: Enable Merge Tasks

o    Navigate to Administration – Business Process–>Task Deployment.

o    Click the Active Tasks tab, then in the Name field, query for UCM*



·          Enable and publish as follows for task based UI screen to perform Guided Merge:

o    Navigate to Administration – Business Process–>Task Deployment.

o    Click the Active Tasks tab, then in the Name field, query for UCM*.

§   UCM Merge Account Request Task

§   UCM Merge Account Task

§   UCM Merge Contact Request Task

§   UCM Merge Contact Task   and restart the server



·          Add Responsibility for accessing “Guided Merge”  features



·          Invoke “Guided Merge”  button :

o    Go to “Existing Duplicates” tab from “Admin-UCM” screen

o    Query and click on duplicate record.

o    Click on “Guided Merge” button will appears in below applet

o    Guided Merge popup applet will be display and do the necessary changes and proceed to next applet

o    Click on submit button



·          Adding new fields to “Guided Merge”

The following changes are required to add new fields in following IC’s at respective IO’s

o    Account:

§   IO: UCMAccountTaskUIMerge ;  IC: Account

§   IO: UCMAccountMerge;  IC: Account

o    Contact:

§   IO: UCMContactTaskUIMerge; IC: Contact

§   IO: UCMContactMerge; IC: Contact



·          Deploy IO’s as follows:

o    Tools > Integration Object

o    Right Click > Deploy to Runtime Database



·          Limitations:

o    Guided Merge functionality supports only for Account and Contact entities only and not support for child entities.




Tuesday, 23 September 2014

Oracle Enterprise Data Quality – About Profilers


Oracle Enterprise Data Quality – About Profiler:

·          The profilers are intended purely to analyze data
·          They are used to quickly understand the data
·          They are used to help find the issues in provided data
·          Profilers  do not 'check' data for business rules
·          Profilers  do not have output filters like ‘valid’ or ‘invalid’ records

The following are some of the different Profilers:

1.     Quickstats Profiler: It is used to analyze overall data i.e. analyze high-level completeness, duplication, and value frequency across many attributes, and highlights possible issues.  Input as ‘any’ data type

2.     Character Profiler: it is used to analyze a number of attributes and counts of the instances of each character. Input as ‘strings’ data type only

3.     Contained Attributes Profiler: it is used to analyze records to find pairs of attributes where one attribute value commonly contains another. Input as ‘any’ data type

4.     Data Types Profiler: it is used to analyze attribute values for their data type e.g String, Number or Date - and assesses data type consistency.  Input as ‘any’ data type

5.     Date Profiler: it is used to analyze a Date attribute for date distribution by day of week, day of month, day of year, month and year.  Input as ‘Date’ data type only

6.  Equal Attributes Profiler:  it is used to analyze records to find pairs of attributes that commonly have the same values.  Input as ‘any’ data type

7.     Frequency Profiler: it is used to analyze value frequency across many attributes.  Input as ‘any’ data type

8.     Length Profiler:  it is used to analyze a number of attributes and measures the length of values by number of characters.  Input as ‘any’ data type

9.     Max/Min Profiler: it is used to find minimum and maximum values e.g:  longest, shortest, lowest and highest.  Input as ‘any’ data type

10.  Number Profiler:  it is used to analyze a Number attribute for number distribution across user-defined bands.  Input as ‘Number data type only

11.  Patterns Profiler: it is used to analyze character patterns, and pattern frequency, across many attributes.  Input as ‘any’ data type

12.  Record Completeness Profiler:  it is used to analyze records for their completeness across many attributes.  Input as ‘any’ data type

13.  Record Duplication Profiler:  it is used to analyze records for duplicates across many attributes.  Input as ‘any’ data type

                 14. RegEx Patterns Profiler:  it is used to analyze a number of attributes for values 
                      that match a list of regular expressions.

Monday, 15 September 2014

Siebel dedicated Client – Host Name



The following post will explain to resolve the following error and normally this will come when we try to open dedicated client:

Error message:   “Requested Server could not be found” or  “Your requested host ‘server name’ could not be resolved by DNS Server”

Solution: Modify the parameter in CFG file:

Under [Siebel] section

a). EnableFQDN = FLASE (by default its set to TRUE, so it will pick the computer name and display in     browser as target address.  If set to FALSE, it will display localhost in browser as target address)

b). Internet explorer > Tools > Internet options > connections tab > LAN settings > Bypass proxy server for local addresses set to TRUE.

FQDN: Fully Qualified Domain Name