Siebel Master Data Applications Reference for Industry Applications > Privacy Management Solution >

About Blank Privacy Source Data and History Records


Blank Privacy History records may be created in the database. This is because external applications send financial account insert requests to UCM. To evaluate financial account/financial account contact's privacy preferences, the external application is required to send in a privacy record along with the financial account/financial account contact insert request. The source is captured in the UCM transaction manager. If there is no privacy preference preselected, the privacy preferences in the source record are empty. This record in the source data and history (SDH) table is considered a "blank" record.

If you do not preselect privacy preferences before sending information to the rule engine, then the the blank record is captured as history. Even though there is no privacy preference in this history record, internally the record does have some other values, such as a foreign key to its parent record type. There are two reasons why this occurs:

  1. S_PRIVACY is a separate table. Creating a financial account (FA) or financial account contact (FAC) does not automatically create a child privacy record.
  2. There is no NewRecord action available in the core rule engine to callback Siebel UCM to create a new privacy record. A privacy record must be created before sending to the rule engine even though it is a new FA/FAC event.

Because of these reasons, a blank record exists in the base table and the SDH table. The base table blank record exists for a very short period of time, because the rule engine is triggered. However, blank records in the SDH remain. You may not want to see these records because they do not provide useful information in their privacy management solution.

If you want to remove these blank records, there are several possible solutions. You need to evaluate the situation according to your deployment needs. Be aware that there may ne a performance drawback to removing blank privacy SDH records.

A possible solution is to write a script in business Service UCM FINCORP Account Source Data and History Service. When the Insert method is called, check the values for some required fields in UCM FINCORP Account Privacy Source Data and History, UCM FINCOPR Account Contact Privacy Source Data and History. If the values are empty, delete the record.

To add a script to a business service

  1. In Siebel Tools, find business Service UCM FINCORP Account Source Data and History Service.
  2. Right click and chose Edit Sever Script.
  3. In Service_InvokeMethod, add the following script in eScript (Program Language = JS)
  4. Save and compile the changes.

Sample Script to Remove Blank Records

NOTE:  You may have different criteria for what constitutes a blank record. Modify the following script accordingly.

function Service_InvokeMethod (MethodName, Inputs, Outputs)
{
   if (MethodName == "Insert")
   {
      var oBusObj = TheApplication().GetBusObject("UCM FINCORP Account Source Data and History");
      var oBusCompFAP = oBusObj.GetBusComp("UCM FINCORP Account Privacy Source Data and History");
      var oBusCompFACP = oBusObj.GetBusComp("UCM FINCORP Account Contact Privacy Source Data and History");

      with (oBusCompFAP)
      {
         ClearToQuery();
            ActivateField("Affiliate Flag");
            ActivateField("Nonaffiliate Flag");
            ActivateField("Telemarketing Flag");
            ActivateField("Channel Flag");
            SetSearchSpec("Affiliate Flag", "IS NULL");
            SetSearchSpec("Nonaffiliate Flag", "IS NULL");
            SetSearchSpec("Telemarketing Flag", "IS NULL");
            SetSearchSpec("Channel Flag", "IS NULL");
            ExecuteQuery(ForwardBackward);
            while(FirstRecord())
            {
               DeleteRecord();
               NextSelected();
            }
         }

         with (oBusCompFACP)
         {
            ClearToQuery();
               ActivateField("Affiliate Flag");
               ActivateField("Nonaffiliate Flag");
               ActivateField("Telemarketing Flag");
               ActivateField("Channel Flag");
               SetSearchSpec("Affiliate Flag", "IS NULL");
               SetSearchSpec("Nonaffiliate Flag", "IS NULL");
               SetSearchSpec("Telemarketing Flag", "IS NULL");
               SetSearchSpec("Channel Flag", "IS NULL");
               ExecuteQuery(ForwardBackward);
               while(FirstRecord())
               {
                  DeleteRecord();
                  NextSelected();
               }
         }
      }
   }

Siebel Master Data Applications Reference for Industry Applications Copyright © 2007, Oracle. All rights reserved.