9Configuring Oracle Customer Hub (UCM) Privacy Management

About Oracle Customer Hub (UCM) Privacy Management

Oracle Customer Hub (UCM) Privacy Management provides an infrastructure that allows companies to implement privacy management solutions for their customer data. These solutions help companies to protect personal customer data and to comply with government privacy regulations.

Privacy vocabulary and sample rules included with Oracle Customer Hub (UCM) Privacy Management can be tailored to meet your organization's requirements. Oracle Customer Hub (UCM) Privacy Management comes preconfigured with a vocabulary and sample rules designed to meet the requirements of financial services companies doing business in the United States. It also includes concepts that are useful to businesses managing compliance with fair information practices including notice and choice as well as global accepted privacy principles such as use limitation (purpose), disclosure (recipients), data collection limitation (data categories), and others.

In particular, Oracle Customer Hub (UCM) Privacy Management business rules environment enables business analysts to model, test, and deploy rules that manage privacy information stored in Oracle Customer Hub (UCM) related to financial accounts and contacts.

Note: Use this chapter with Siebel Business Rules Administration Guide version 8.1.

Oracle Customer Hub (UCM) Privacy Management implementation requires the following components:

  • Oracle Customer Hub (UCM). It maintains the privacy preferences.

  • An embedded rules engine. It allows rules creation and processing. For background information on the rules engine, see Siebel Business Rules Administration Guide, version 8.1.

    About Privacy Management Features and Capabilities

    Oracle Customer Hub (UCM) Privacy Management solution consists of the following features and capabilities:

    • Privacy Data Model. Provides preconfigured, privacy-data definitions to capture the following customer data :sharing consent, solicitation choices, election to receive privacy notices, and other necessary data to generate compliance reports and revision history.

    • Privacy Views. Provide privacy data status and history views at the account, contact, financial account, and financial account contact level. The history views allow for compliance monitoring of updates to the customer's privacy preferences.

    • Financial Account Views. Support a single view of financial accounts. Financial accounts include a data synchronization business service, UCM FINCORP Account Source Data and History Service, which stores data (as integration object instances) into the database.

    • UCM Privacy Workflows. Administer privacy changes associated with contacts on a financial account. For more information on the privacy management workflows, see About Privacy Management Workflow Processes.

    • UCM Privacy Management Vocabulary. Provides preconfigured, privacy-rule building blocks, also known as privacy vocabularies, and a material set of sample privacy rules. The vocabulary has modeled privacy entities and attributes and is built in the context of various privacy regulations. The sample rules can be used to create custom rules that are specific to a company’s privacy policies.

    • Financial Account Integration Web Services. Provides Web services to interact with systems across the enterprise. These Web services are enhanced to include privacy integration objects to query, update, and insert customers' privacy data in Oracle Customer Hub (UCM).

      About Privacy Management Configuration

      Oracle Customer Hub (UCM) Privacy Management solution requires you verify any configurations you make to ensure the privacy features work in Oracle Customer Hub (UCM). Configurations are necessary for Oracle Customer Hub (UCM), Siebel Business Rules Developer, and integration technologies. For information on configuring Oracle Customer Hub (UCM) Privacy Management, see Process of Configuring Privacy Management.

        About Privacy Management Administration

        Oracle Customer Hub (UCM) Privacy Management is administered from the Oracle Customer Hub (UCM) user interface as well as Siebel Business Rules Developer, which is based on HaleyAuthority from Haley Systems, Inc. Privacy rule authoring and administration occur only in Siebel Business Rules Developer. For information on creating privacy rules, see Siebel Business Rules Administration Guide, version 8.1.

          Overview of Requirements for Privacy Management

          Before configuring Oracle Customer Hub (UCM) Privacy Management, make sure the following preliminary software requirements are met:

          • Oracle Customer Hub (UCM) must be installed.

          • Siebel Business Rules Developer must be installed.

            Note: Siebel Business Rules Developer is part of Siebel Tools installation. For more information, see Siebel Installation Guide for the operating system you are using.
          • Siebel Business Rules Developer is required for design time of privacy rules but is not required in run time.

          About Oracle Customer Hub (UCM) Rules Engine Helper

          • Oracle Customer Hub (UCM) Rules Engine Helper is a prebuilt helper business service for master data to help preparing input for the rules engine and processing output from the rules engine. To review specific details on business services, including user properties, methods, and method arguments, use Siebel Tools. For information on using Siebel Tools, see Using Siebel Tools on the Siebel Bookshelf.

          About Privacy Management Workflow Processes

          Oracle Customer Hub (UCM) Privacy Management consists of the following preconfigured Privacy workflow processes. For background information on workflow processes, see Siebel Business Process Framework: Workflow Guide.

          The following workflows and the corresponding sample privacy rules are provided to administer privacy changes associated with contacts on a financial account. Similar workflows and privacy rules can be created in Oracle Customer Hub (UCM) and Siebel Business Rules Developer. The workflows and privacy rules correspond to the privacy changes associated with prospects, consumers, companies, organizations, or households. Run-time events are used to trigger these workflows. The UCM Privacy Workflow processes are:

            About UCM Privacy Process Workflow

            This workflow process is invoked by run-time events through the business component user property Named Method and can be configured to support additional events. This workflow handles the following events:

            • Financial account type changes. The workflow is triggered, by way of run-time events, when a financial account type changes. For example, a car loan has changed from a consumer car loan to a business car loan because the car is now used as a company vehicle. Some privacy regulations mandate different compliance requirements for consumers than for businesses. The sample rules provide examples for both business financial accounts, whose opt-in data sharing is less restrictive, and consumer financial accounts where data sharing is more restrictive.

            • New financial account contact has been added. The workflow is triggered, by way of run-time events, typically during a financial account new booking process. In this process, a new financial account with contact information is submitted to Oracle Customer Hub (UCM) from an external system, such as a financial loan-origination system. The workflow calls the rules engine to set the initial privacy preference values for each contact and for the financial account to which the contact belongs. The workflow is also triggered if a new financial contact is added. The sample privacy rules written in Siebel Business Rules Developer determine the contact’s privacy preferences based on the entry in contact's Primary Garage Address State field. The default privacy preference values stored in the privacy rule must be changed, with the changes based on the privacy regulations and the company's data sharing practice.

            • Privacy setting for a financial account contact has been updated. The workflow is triggered, by way of run-time events, when a financial account contact’s privacy setting is changed.

            • Financial account contact status has been set to Inactive. The workflow is triggered, by way of run-time events, when a contact changes its status from Active to Inactive. When a contact’s status changes, its privacy sharing rights might change, too. The sample privacy rules provide the logic to set the updated, privacy-preference values for the inactive contact, as well as reevaluate the privacy status of the financial account with which the inactive contact is associated.

            • Financial account contact garage address has been changed. The workflow is triggered, by way of run-time events, when a contact on a financial account changes his or her address. The current U.S. privacy regulation allows states to pass their own privacy regulation and therefore different privacy rules and business logic might be applied depending on the state where the financial account belongs. For example, California Financial Information Privacy Act (also known as CA SB1) requires that financial institutions provide California-based residents with a special disclosure and allow a 45-day initial waiting period before sharing of data occurs. This initial waiting period might be different for other states. The sample Haley Privacy Knowledge Base provides examples of such logic.

              About UCM Privacy Process-Pending Expired

              Different states in the U.S. can mandate different initial waiting periods during which a Contact might elect to opt-in or opt-out of sharing his or her personal information. The workflow process can be invoked using a workflow process batch manager server component. It can be run in the background with a search specification to collect all the financial accounts where the pending period has expired. The duration of the pending period is specified as rules and is set in Oracle Customer Hub (UCM) when the financial account is created or updated. The pending period is preconfigured to 50 days. For information on how to run the workflow process batch manager server component, see Siebel System Administration Guide.

                About UCM Privacy Process-Reevaluate Privacy Batch

                This workflow process can be invoked using a workflow process manager server component. It is a self-looping workflow process which allows you to avoid query overhead in the workflow batch process manager. This workflow is triggered when there is a change to the privacy global settings, for example, some states' law changes the default privacy settings for sharing telemarketing data. The sample rules provide some basic logic to reevaluate telemarketing data sharing for the financial account and the contact. For background information on how to run workflow process manager server component, see Siebel System Administration Guide.

                  Process of Configuring Privacy Management

                  Perform the following tasks to configure Oracle Customer Hub (UCM) Privacy Management functionality. For more information on Oracle Customer Hub (UCM) Privacy Management, see About Oracle Customer Hub (UCM) Privacy Management.

                  1. Make sure UCM Privacy Workflow processes are available or deployed. For information on this task, see Deploying Privacy Management Workflow Processes.

                  2. Make sure all applicable user properties are set. For more information, see Setting Privacy-Related User Properties.

                    Deploying Privacy Management Workflow Processes

                    To deploy a workflow process, see the task in Siebel Business Process Framework: Workflow Guide. For background information on the UCM Privacy workflow processes, see About Privacy Management Workflow Processes.

                    This task is a step in Process of Configuring Privacy Management.

                      Setting Privacy-Related User Properties

                      This task is a step in Process of Configuring Privacy Management. Use this task to set privacy user properties.

                      To set privacy-related user properties

                        UCM FINCORP Account Contact Privacy

                        The following information lists the user properties that must be set for the UCM FINCORP Account Contact Privacy business component.

                        Table User Properties in the UCM FINCORP Account Contact Privacy Business Component

                        Name Value Comments

                        Named Method 1

                        "AccountContactPrivacyChanged", "INVOKESVC", "UCM FINCORP Account Contact Privacy", "Workflow Process Manager", "RunProcess", "'ProcessName'", "'UCM Privacy Process'", "'RowId'", "[Financial Account Id]", "'Module Names'", "'Input interpretation,Initialization,Reevaluate privacy,Core Privacy Rules,Generate Output'"

                        Invokes the privacy workflow process to reevaluate the privacy changes.

                        Named Method 2

                        "GetAddress", "INVOKE", "UCM FINCORP Account Contact Privacy", "RefreshRecord"

                        Updates the current record. It is mainly for the UI.

                        Named Method 3

                        "AccountContactPrivacyNew", "INVOKESVC", "UCM FINCORP Account Contact Privacy", "Workflow Process Manager", "RunProcess", "'ProcessName'", "'UCM Privacy Process'", "'RowId'", "[Financial Account Id]", "'Module Names'", "'Input interpretation,Initialization,Reevaluate privacy,New Financial Account_New Contact Event,Core Privacy Rules,Generate Output'"

                        Invokes the privacy workflow process when a new contact privacy has been created.

                        PEND Date Rollup Parent Buscomp Name

                        UCM FINCORP Account Privacy

                        The parent business component name for rolling up the pending end date.

                        PEND Date Rollup Parent Field Name

                        Financial Account Id

                        The parent business component field, which serves as the parent ID field in PEND end date field when rolling it up.

                        PEND End Required Fields 1

                        Nonaffiliate Flag

                        A mandatory field when rolling up the PEND end date. If this field is still set to PEND, the Pending status does not end. The Pending status ends only when all the mandatory fields are not set to PEND status.

                        PEND End Required Fields 2

                        Affiliate Flag

                        PEND End Required Fields 3

                        Channel Flag

                        PEND End Required Fields 4

                        Telemarketing Flag

                        PEND End Required Fields 5

                        Receive Annual Notice Flag

                          FINCORP Account

                          The following information lists the user properties that must be set for the FINCORP Account business component.

                          Table User Properties in the FINCORP Account Business Component

                          Name Value Comments

                          Named Method 1

                          "AccountTypeChanged", "INVOKESVC", "FINCORP Account", "Workflow Process Manager", "RunProcess", "'ProcessName'", "'UCM Privacy Process'", "'RowId'", "[Id]", "'Module Names'", "'Input interpretation,Initialization,Account Type Change Event,Core Privacy Rules,Generate Output'"

                          Invokes the privacy workflow process when the account type has been changed.

                            UCM FINCORP Account Contact Address

                            The following information lists the user properties that must be set for the UCM FINCORP Account Contact Address business component.

                            Table User Properties in the UCM FINCORP Account Contact Address Business Component

                            Name Value Comments

                            Named Method 1

                            "GetPrivacy", "INVOKE", "UCM FINCORP Account Contact Address", "RefreshRecord"

                            Updates the current record.

                              UCM FINCORP Account Contact Address Source Data and History

                              The following information lists the user properties that must be set for the UCM FINCORP Account Contact Address Source Data and History business component.

                              Table User Properties in the UCM FINCORP Account Contact Address Source Data and History Business Component

                              Name Value Comments

                              Named Method 1

                              "GetFinancialAccount", "INVOKE", "UCM FINCORP Account Contact Address Source Data and History", "RefreshRecord"

                              Updates the current record.

                              Named Method 2

                              "AccountContactAddressChanged", "INVOKESVC", "UCM FINCORP Account Contact Address Source Data and History", "Workflow Process Manager", "RunProcess", "'ProcessName'", "'UCM Privacy Process'", "'RowId'", "[Financial Account Id]", "'Module Names'", "'Input interpretation,Initialization,Consumer Address Change Event,Core Privacy Rules,Generate Output'"

                              Invokes the privacy workflow process when the garage address has been changed.

                                FINCORP Account Contact

                                The following information lists the user properties that must be set for the FINCORP Account Contact business component.

                                Table User Properties in the FINCORP Account Contact Business Component

                                Name Value Comments

                                Named Method 2

                                "ContactInactivated", "INVOKESVC", "FINCORP Account Contact", "Workflow Process Manager", "RunProcess", "'ProcessName'", "'UCM Privacy Process'", "'RowId'", "[Asset Id]", "'Module Names'", "'Contact Inactivated Event'"

                                Invokes the privacy workflow process when a financial account has been deactivated.

                                  Administering Privacy Management

                                  Data stewards or administrators can monitor the privacy options for Contacts, Accounts, and Financial Accounts in the Oracle Customer Hub (UCM) user interface. The primary administrative tasks of authoring privacy rules for Privacy Management are undertaken in Siebel Business Rules Developer. For more information, see Siebel Business Rules Administration Guide.

                                    Managing Privacy Data

                                    Oracle Customer Hub (UCM) Privacy Management provides preconfigured privacy tabs in Oracle Customer Hub (UCM) screens. From these tabs, administrators or data stewards can monitor the privacy elections and history of individual contacts, accounts, financial accounts, or financial account contacts. For example, they can see if a customer has opted out of a marketing campaign.

                                      Managing Privacy Rule Modules

                                      Oracle Customer Hub (UCM) provides seed privacy rule modules. Use the following task to display privacy rule modules.

                                      To display privacy rule modules

                                      • Navigate to Administration - Business Rules.

                                        The Business Rules Knowledge Base is displayed. A window enables you to choose the knowledge base, and the Rule Module list enables you to choose a rule module from the chosen knowledge base.

                                        Managing Privacy Run-Time Events

                                        Oracle Customer Hub (UCM) privacy workflow process can be triggered through run-time events. Run-time events in the business component level are used in privacy management to invoke a workflow process that communicates with the rules engine to get privacy settings. Run-time events do the condition checking for different business components (entities) and trigger the specified actions when the conditions are met.

                                        To view privacy-related run-time events

                                        1. Navigate to Administration - Runtime Events, and perform the following query:

                                          1. In the Object Field choose Business Component.

                                          2. In the Action Set Field, enter UCM*

                                          Run-Time Events for the Default Settings in Privacy Management

                                          The following tables provide details of the run-time events used in the default privacy management settings.

                                          The following information lists the Retrieve Initial Privacy Setting run-time events.

                                          Table Run-Time Events for the Retrieve Initial Privacy Setting

                                          Sequence Object Name Event Conditional Expression Action Set Name

                                          1

                                          UCM FINCORP Account Contact Privacy

                                          WriteRecordNew

                                          (GetProfileAttr('Haley Message') IS NULL OR GetProfileAttr('Haley Message')<>'Y')

                                          UCM Set FACPrivacyNew To Y And Refresh Record

                                          2

                                          UCM FINCORP Account Contact Privacy

                                          WriteRecordNew

                                          GetProfileAttr('FACPrivacyNew')='Y' AND [Address Id] IS NOT NULL

                                          UCM New Financial Account and Financial Account Contact

                                          The following table lists the initial privacy settings where the action set is “UCM Set FACPrivacyNew To Y And Refresh Record" with Actions.

                                          Table UCM Set FACPrivacyNew To Y And Refresh Record Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          Values are:

                                          • The profile attribute value is FACPrivacyNew.

                                          • The set operator value is Set.

                                          • The value field value is Y.

                                          UCM Refresh Record

                                          Invoke Method

                                          2

                                          The method name is GetAddress.

                                          The following table lists the initial privacy settings where the action set is “UCM New Financial Account and Financial Account Contact" with actions.

                                          Table UCM New Financial Account and Financial Account Contact Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          Values are:

                                          • The profile attribute value is FACPrivacyNew.

                                          • The set operator value is Set.

                                          • The value field value is N.

                                          UCM New Financial Account/Financial Account Contact

                                          Invoke Method

                                          2

                                          The method name is AccountContactPrivacyNew.

                                          Refresh

                                          Invoke Method

                                          3

                                          The method name is GetAddress.

                                          The following table lists the Reevaluate Privacy Setting, run-time event.

                                          Table Reevaluate Privacy Setting, Run-Time Event

                                          Sequence Object Name Event Conditional Expression Action Set Name

                                          1

                                          UCM FINCORP Account Contact Privacy

                                          WriteRecordUpdated

                                          GetProfileAttr('Haley Message') IS NULL OR GetProfileAttr('Haley Message')<>'Y

                                          UCM Update Financial Account Contact Privacy

                                          The following table lists reevaluate privacy setting, where the action set is “UCM Update Financial Account Contact Privacy" with actions.

                                          Table UCM Update Financial Account Contact Privacy Action Set

                                          Name Action Type Sequence Description

                                          UCM Update Financial Account Contact Privacy

                                          Invoke Method

                                          1

                                          The method name is AccountContactPrivacyChanged

                                          Refresh

                                          Invoke Method

                                          2

                                          The method name is GetAddress

                                          The following table lists the Update Account Type, Run-Time Event.

                                          Table Update Account Type, Run-Time Event

                                          Sequence Object Name Event Subevent Conditional Expression Action Set Name

                                          1

                                          FINCORP Account

                                          SetFieldValue

                                          Type

                                          (GetProfileAttr('Haley Message') IS NULL OR GetProfileAttr('Haley Message')<>'Y')

                                          UCM Set FinancialAccountTypeChanged To Y

                                          2

                                          FINCORP Account

                                          WriteRecordUpdated

                                          Not applicable

                                          GetProfileAttr('FinancialAccountTyp

                                          Changed')='Y

                                          UCM Update Financial Account Type

                                          1

                                          FINCORP Account

                                          WriteRecordNew

                                          Not applicable

                                          GetProfileAttr('FinancialAccountTyp

                                          Changed')='Y

                                          UCM Set FinancialAccountTypeChanged To N

                                          The run-time event on WriteRecordNew is used to suppress the Update Account Type action for a new financial account case.

                                          The following table lists Update Account Type, where the action set is “UCM Set FinancialAccountTypeChanged To Y" with actions.

                                          Table UCM Set Financial AccountTypeChanged To Y Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          Values are:

                                          • The profile attribute value is FinancialAccountTypChanged.

                                          • The set operator value is Set.

                                          • The value field value Y.

                                          The following table lists Update Account Type, where the action set is “UCM Update Financial Account Type" with actions.

                                          Table UCM Update Financial Account Type Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          Values are:

                                          • The profile attribute value is FinancialAccountTypChanged.

                                          • The set operator value is Set.

                                          • The value field value is N.

                                          UCM Update Financial Account Type

                                          Invoke Method

                                          2

                                          The method name is AccountTypeChanged.

                                          The following table lists Update Account Type, where the action set is “UCM Set FinancialAccountTypeChanged To N" with actions.

                                          Table UCM Set FinancialAccountTypeChanged To N Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          Profile Attribute= FinancialAccountTypChanged; Set Operator=Set; Value="N"

                                          The following table lists Address Change Update Privacy Setting, run-time event.

                                          Table Address Change Update Privacy Setting, Run-Time Event

                                          Sequence Object Name Event Subevent Conditional Expression Action Set Name

                                          1

                                          UCM FINCORP Account Contact Address

                                          SetFieldValue

                                          Personal Address Id

                                          [Address Type] = LookupValue ('FINS_CF_ADDR_USE_TYPE', 'Garage') AND ([Contact Privacy Mod Number]<1 OR [Contact Privacy Mod Number] IS NULL)

                                          UCM Set GarageAddressChanging To Y

                                          1

                                          UCM FINCORP Account Contact Address

                                          WriteRecordUpdated

                                          Not applicable

                                          (GetProfileAttr('Haley Message') IS NULL OR GetProfileAttr('Haley Message')<>'Y') AND GetProfileAttr('GarageAddressChanging')='Y

                                          UCM Refresh Record On FINCORP Account Contact Address

                                          2

                                          UCM FINCORP Account Contact Address

                                          WriteRecordUpdated

                                          Not applicable

                                          [Address Type] = LookupValue ('FINS_CF_ADDR_USE_TYPE', 'Garage') AND (GetProfileAttr('Haley Message') IS NULL OR GetProfileAttr('Haley Message')<>'Y') AND [Contact Privacy Mod Number]>0

                                          UCM Set GarageAddressChanged To Y

                                          1

                                          UCM FINCORP Account Contact Address Source Data and History

                                          WriteRecordNew

                                          Not applicable

                                          GetProfileAttr('GarageAddressChanged')='Y' AND [UCM Type Code] = LookupValue('UCM_SDH_TYPE_MLOV', 'History')

                                          UCM Update Financial Account Contact Address

                                          The following table lists Address Change Update Privacy Setting action set “UCM Set GarageAddressChanging To Y" with actions.

                                          Table UCM Set GarageAddressChanging To Y Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          • The profile attribute value is GarageAddressChanging

                                          • The set operator value is Set

                                          • The value field value is Y

                                          The following table lists Address Change Update Privacy Setting action set “UCM Refresh Record On FINCORP Account Contact Address" with actions.

                                          Table UCM Refresh Record On FINCORP Account Contact Address Action Set

                                          Name Action Type Sequence Description

                                          UCM Refresh Record

                                          Invoke Method

                                          1

                                          The method name is GetPrivacy

                                          The following table lists Address Change Update Privacy Setting action set “UCM Set GarageAddressChanged To Y" with actions.

                                          Table UCM Set GarageAddressChanged To Y Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          • The profile attribute is GarageAddressChanged

                                          • The set operator is Set

                                          • The value field value is Y.

                                          The following table lists Address Change Update Privacy Setting action set “UCM Update Financial Account Contact Address" with actions.

                                          Table UCM Update Financial Account Contact Address Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          • The profile attribute is GarageAddressChanged

                                          • The set operator is Set

                                          • The value field value is N.

                                          UCM Refresh Record

                                          Invoke Method

                                          2

                                          The method name is GetFinancialAccount.

                                          UCM Update Financial Account Contact Address

                                          Invoke Method

                                          3

                                          The method name is AccountContactAddressChanged.

                                          Sequence number 2 in the previous table is used to get the parent Financial Account Id and pass it to the workflow, so that it can query with this ID and construct the request message for the Rules Engine.

                                          The following table lists run-time event for the Retrieve Privacy Setting when a contact is deactivated.

                                          Table Retrieve Privacy Setting When Contact Is Deactivated, Run-Time Event

                                          Sequence Object Name Event Subevent Conditional Expression Action Set Name

                                          1

                                          FINCORP Account Contact

                                          SetFieldValue

                                          Status

                                          [Status] = LookupValue('CONTACT_STATUS', 'Inactive') AND (GetProfileAttr('Haley Message') IS NULL OR GetProfileAttr('Haley Message')<>'Y')

                                          UCM Set ContactInactivated To Y

                                          1

                                          FINCORP Account Contact

                                          WriteRecordUpdated

                                          Not applicable

                                          GetProfileAttr('ContactInactivated')='Y

                                          UCM Contact Inactivated

                                          The following table lists Retrieve Privacy Setting when contact is deactivated action set with “UCM Set ContactInactivated To Y" with actions.

                                          Table UCM Set ContactInactivated To Y Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          • The profile attribute value is ContactInactivated

                                          • The set operator value is Set

                                          • The value field value is Y

                                          The following table lists Retrieve Privacy Setting when contact is deactivated action wet “UCM Contact Inactivated" with actions.

                                          Table UCM Contact Inactivated Action Set

                                          Name Action Type Sequence Description

                                          UCM Set Profile Attribute

                                          Attribute Set

                                          1

                                          • The profile attribute value is ContactInactivated

                                          • The set operator value is Set

                                          • The value field value is N

                                          UCM Contact Inactivated

                                          Invoke Method

                                          2

                                          ContactInactivated

                                            About HaleyAuthority in Oracle Customer Hub (UCM) Privacy Management

                                            HaleyAuthority 5.2 enables users to develop new or customize existing business rules as well as the testing capabilities. It is integrated into Oracle Customer Hub (UCM) Privacy Management solution with two Siebel CRM plug-ins:

                                            • Object importer. The object importer enables you to select a subset of the Siebel object model and import it into HaleyAuthority to create concepts and relations.

                                            • Deployment wizard. The deployment wizard guides you when deploying a rule module and storing it in the run-time tables.

                                            At run time, requests are made to the business rule to evaluate a single financial account and its related entities (contacts, addresses, privacy data, and so on) and the business rule responds with the results of its evaluation.

                                            About the Business Rules Architecture in Oracle Customer Hub (UCM) Privacy Management

                                            Company business rules and policies are developed and tested within HaleyAuthority. The sample business rules are organized by privacy related events. You might implement your business-specific rules in separate modules as well as tailor the existing sample rules. The conceptual role model contains the vocabulary of the privacy rules. It includes the following: the concepts, entities and values, the dictionary, the relations between concepts, the phrasing of those relations, the definitions of tables, and the standard instances of the concepts and relations, such as state codes, cover letter, and privacy notice type codes, and so on.

                                            Privacy Vocabulary

                                            Oracle Customer Hub (UCM) Privacy Management solution business rules are developed using English language sentences. These sentences are made using concepts (nouns), relations between concepts, phrasing for those relations (verbs, adverbs, adjectives, prepositions and sentence fragments), and table type definitions that have been predefined in the sample knowledge base. These form the conceptual role model. This topic describes the key components of the conceptual role model that you use and customize. The sample knowledge base is named, Siebel_UCM_PrivacyMgmt.akb, and it is in the following directory:

                                            Tools/Rule/KnowledgeBase
                                            

                                            For more information on customization, see Customization Methods.

                                              About the Conceptual Role Model

                                              The sample conceptual role model included with Oracle Customer Hub (UCM) Privacy Management solution was developed using input from several sources:

                                              • Language used in privacy policies across various industries

                                              • Privacy vocabulary research summarized the W3C's Platform for Privacy Preferences (P3P) project

                                              • Terminology used by some U.S. financial services industry customers of Siebel CRM

                                              The conceptual role model is intended to cover a broad set of U.S. financial services requirements as well as be a starting point for privacy-policy management for other industries and geographical areas. You must modify the conceptual role model to support the mapping of additional elements from Oracle Customer Hub (UCM), to customize instances of communication message types.

                                                About Entities

                                                Entities are concepts that have attributes. In Oracle Customer Hub (UCM) Privacy Management solution, there are two types of entities:

                                                • Generated entities from Siebel Object Importer. They come directly from definitions in Siebel business components. The main generated entities are: FINCORP Account, FINCORP Account Contact, UCM FINCORP Account Contact Address, UCM FINCORP Account Contact Garage Address Source Data and History, UCM FINCORP Account Contact Privacy, and UCM FINCORP Account Privacy. For more information about these entities, see Siebel Business Rules Administration Guide, version 8.1.

                                                • Abstract entities. They are built on other entities or value concepts for convenience when using the Authority. The abstract entities in Oracle Customer Hub (UCM) Privacy Management solution include:

                                                  • Abstract entity-privacy flag. This abstract entity is a named collection of privacy attributes for which an option is selected. The default instances of privacy preferences reflect the standard elections for U.S. financial services companies: affiliate flag, telemarketing flag, nonaffiliate flag, and channel flag for dealer sharing. The privacy preferences can also be mapped to Platform for Privacy Preferences Project (P3P) privacy statements to maintain preferences that are consistent with P3P privacy policies.

                                                  • Abstract entity-privacy flag source. This abstract entity is a choice that indicates whether a privacy flag is allowed, denied, or pending, and whether the privacy flag was elected by default or by request based on customer direction. Typically, this entity has the following values: Opt in default, Opt in request, Opt out default, Opt out request, Pending default, and Pending request.

                                                  • Abstract entity-state code. This abstract entity indicates which state out of all the states that come with all the financial account contacts on the financial account is the most restrictive state for that financial account. Some states such as California, Puerto Rico, and Vermont increase the privacy regulatory requirements set by the Graham-Leach-Bliley Act (GLBA) or FCRA. They are listed as separate instances. The other states are listed as one generic instance. For any state code other than the fifty states or DC or Puerto Rico, this code is set to XX. Note that XX represents invalid states; that is, state codes that do not apply to the 50 U.S. states, DC, or Puerto Rico. This practice is common for managing U.S. state legislation and policy. For example, a customer can have one of the following practices:

                                                    • One state code corresponds to one state.

                                                    • One state code corresponds to all states under the same federal law such as GLBA law.

                                                  About Value Concepts

                                                  Value concepts are created by Siebel Object Importer, using field definitions of the Siebel object model business components. To simplify the handling of strings in tables, string instances generally have the same instance name and string value, by convention. For more information about Siebel Object Importer, see Siebel Business Rules Administration Guide.

                                                    Relations and Phrasings

                                                    Siebel Object Importer can create entity or value concepts, as well as establish the relations between these two and generate simple phrasings such as an entity has a value, and so on. Oracle Customer Hub (UCM) Privacy Management solution also contains a library of privacy-related complicated relations and phrasings.

                                                      Oracle Customer Hub (UCM) Privacy Tables

                                                      The following tables are used in Oracle Customer Hub (UCM) Privacy Management solution. The following table shows details of the Privacy Option with Source Ranking table.

                                                      Table Privacy Option with Source Ranking

                                                      Module Standard Phrasing to Retrieve Values Description

                                                      Privacy option with source hierarchy

                                                      A privacy flag source has a rank

                                                      This table maintains the relative priority of privacy flag sources when rolling up privacy elections to the financial account level. This table uses the entity, privacy flag source, and a manually created integer value concept, rank.

                                                      Note: An opt-out request must always be ranked number 1.

                                                      The following table shows details of the State Code Cover Letter Table and State Code Notice Type table.

                                                      Table State Code Cover Letter Table and State Code Notice Type

                                                      Module Standard Phrasing to Retrieve Values Description

                                                      CUST.1 Owner type tables

                                                      A state code with an owner type determines whether a cover letter or privacy notice is sent.

                                                      These tables store the cover letter and privacy notice type codes based on the state code and owner type, or communication message type.

                                                      The following table shows details of the Owner Type State Code Change Cover Letter Table.

                                                      Table Owner Type State Code Change Cover Letter Table

                                                      Module Standard Phrasing to Retrieve Values Description

                                                      CUST.2 Address changes the tables

                                                      A cover letter type is determined after a second state code changes from a first state code.

                                                      These tables store the cover letter type codes based on the original state code and the new state code. These tables are instances of the same table type. The correct table is selected by the applicability condition on the parent module based on the owner type.

                                                      The following table shows details of the State Restrictiveness Ranking Table.

                                                      Table State Restrictiveness Ranking Table

                                                      Module Standard Phrasing to Retrieve Values Description

                                                      U.S. country rules

                                                      A state has a rank.

                                                      This table ranks states by their restrictiveness and is used to determine which state must be the privacy state code for a financial account when there are multiple states that come with all the financial account contacts on the financial account.

                                                      The following table shows details of the Default Privacy for Privacy Flag table.

                                                      Table Default Privacy for Privacy Flag

                                                      Module Standard Phrasing to Retrieve Values Description

                                                      U.S. FS.1 Default privacy option tables.

                                                      A state determines a privacy flag.

                                                      These tables determine the default privacy flag options for each privacy flag based on the state code.

                                                        Modules with Privacy Rules

                                                        The top-level modules are grouped by privacy events and the type of rules in the module. In addition, the modules are separated by the order of evaluation because only top-level modules can have priorities. The following are the major modules:

                                                          Account Type Change Event Module

                                                          This module has a priority of six. It contains the rules that apply when a FINCORP account type is changed from Consumer to Business or conversely.

                                                            Consumer Address Change Event Module

                                                            This module has a priority of eight. It contains the rules that apply when a FINCORP account contact of a consumer type of FINCORP account moves to a new state. Certain Oracle submodules are applicable only when this causes a change to the privacy state code for the FINCORP account.

                                                              Contact Inactivated Event Module

                                                              This module has a priority of zero. It contains the rules that apply when a FINCORP account contact is deactivated from a FINCORP account. The sample rules specific to Contact Inactivated Event are included in the Oracle submodule, Customer Rules. The other Oracle submodules are a copy of the core modules including: Input interpretation, Initialization, Core Privacy Rules, Generate Output and Reevaluate privacy. This is because Contact Inactivated Event is for both active and inactive contacts. Whereas the other events are for active contacts only. These events cannot share the same core modules.

                                                                Core Privacy Rules Module

                                                                This module has a priority of five. It contains the core rules that apply generally to all the evaluation requests:

                                                                • CUST. Customer rules. This module contains customer-specific core rules. The sample rule is for the customers which are designated as consumers. This sample rule forces the channel partner sharing preference elections to be identical to the nonaffiliate sharing preference elections of all consumers outside of California who have a channel partner type of Brand X or Brand Y.

                                                                • U.S. FS. Evaluate core privacy rules. This module contains the core rules that generally apply to all U.S. Financial Services customers for any evaluation request.

                                                                • U.S. FS.1. Determine privacy state code. This module contains statements that set the privacy state code values for a business or consumer account and determine whether it has changed from a previous value.

                                                                • U.S. FS.2. Determine precedence of privacy options and sources. This module contains statements that use the privacy option with the source hierarchy to determine the roll up of privacy preferences to the financial account level.

                                                                • U.S. FS.3. Handle privacy notices and letters. This module contains the statements that determine whether a contact receives an annual notice and what cover letter and notice must be sent to the customer, except in the case where the contact has moved.

                                                                  Generate Output Module

                                                                  This module has a priority of zero. It contains the rules that perform an evaluation after the main body of business rules is used to set the values on the privacy record generated for Oracle Customer Hub (UCM). The sample rules set the value for a concept only when the concept value must be changed following the evaluation of the main business rules.

                                                                    Initialization Module

                                                                    This module has a priority of 10. It contains business rules, including the definitions and tables of the default values:

                                                                    • CUST. customer rules. This module contains initial business rules and table instances that are customer-specific. It includes table instances of the cover letter types and privacy notice types based on the privacy state code and owner type (communication message type) and the cover letter types based on the state address change and owner type.

                                                                    • Expired pending period. This module contains a business rule to determine that a pending period has expired.

                                                                    • Initial values. This module contains the initial business rules and table instances that are not country-specific or industry-specific. It includes the table instance establishing the hierarchy of the privacy option with the following sources: Opt In Request, Opt In Default, Pend, Opt Out Default, or Opt Out Request.

                                                                    • U.S. country rules. This module contains the initial business rules and table instances that apply to U.S. companies (for example, a rule establishing the most restrictive state for each contact). It includes a table instance ranking the restrictiveness of the U.S. states. It contains some examples. Refer to your company's consumer privacy best practices, and tailor these samples rules accordingly.

                                                                    • U.S. FS. Financial Services industry rules. This module contains the initial business rules and table instances that apply to U.S. financial services companies. These rules are most commonly managed in financial industries. However, depending on your company's asset and privacy policy, you might reuse these rules or tailor them to your needs.

                                                                      Note: The FINCORP business component corresponds to S_ASSET, which is the underlying Siebel schema. If you want to reuse these rules for your industry-specific business component, see Customization Methods.
                                                                    • U.S. FS.1. default privacy option tables. This submodule includes the tables of the default privacy options for each privacy flag. These tables are organized according to state code.

                                                                      Input Interpretation Module

                                                                      This module has a priority of 11. It contains the rules that interpret input data and determine the key privacy related facts:

                                                                      • Annual notice requirement

                                                                      • Contact delete

                                                                      • Determine state where the garage address is located

                                                                      • Determine primary FINCORP account contact

                                                                      • Privacy state code

                                                                        New Financial Account_New Contact Event Module

                                                                        This module has a priority of nine. It contains the rules that apply when a new FINCORP account or a FINCORP account contact is added.:

                                                                        • Determine new financial account or new financial account contact. This module contains the rules that decide on the event object type: whether it is for a new FINCORP account or for a new FINCORP account contact.

                                                                        • New contact. This module contains the rules that apply for a new FINCORP account contact case. Business and consumer types of FINCORP account have different privacy regulations, which are further specified in two separate submodules.

                                                                        • New financial account. This module contains the rules that apply for a new FINCORP account case.

                                                                          Pending Period Expired Event Module

                                                                          This module has a priority of zero. It contains the rules that apply when the pending period for the consumer type FINCORP account expires, such as setting the default privacy options for each privacy preference based on the privacy state code.

                                                                            Reevaluate Privacy Module

                                                                            This module has a priority of zero. It contains the statements that interpret and recognize the input privacy options with sources on FINCORP account contact privacy level. By executing rules in this module, all customer requested flag values are preserved and not limited only to OUT Requested.

                                                                              Customization Methods

                                                                                Guidelines for Customizing the Sample Knowledge Base

                                                                                This topic provides guidelines for customizing the sample knowledge base. The sample rules for Oracle Customer Hub (UCM) Privacy Management solution are intended to be a template for a customer-specific implementation of business policies. You can modify, simplify, translate, replace, or use them as a design model as dictated by customer needs. However, by following the guidelines on customizing the sample knowledge base, the process of integrating future releases of Oracle Customer Hub (UCM) Privacy Management solution can be simplified.

                                                                                • Insert rules into the existing CUST customer specific modules in the sample knowledge base whenever practical. The sample CUST modules contain rules and tables that either require customization for each customer or are intended to isolate customizations from the prepackaged solution. To the extent that these customizations involve rules specific to multiple jurisdictions, the jurisdiction prefix must be included in the modules.

                                                                                • Customize instances of rules in customer installations, such as owner type, FINCORP account type or customer type, and so on. If the instances are different, then the changes can be done in the knowledge base only. To the extent that further modifications to entities or relations in the conceptual role model are required, then these modifications must be done in the Siebel Repository and copied to the knowledge base, using Siebel Object Importer. Siebel Object Importer does not remove the old concepts and relations, because it is better to identify them using the version custom property or a comment.

                                                                                • Modify the standard sample rules when necessary. You must identify your own rules in the new customer-specific modules by adding an appropriate prefix. The modified or deleted sample rule can easily be retained for history as a draft rule by inserting unrecognized text at the beginning or by changing the effective date of the rule to be expired. In addition, using the custom version property provides an additional means of identifying your customization.

                                                                                  By following these guidelines, you can identify the customizations if a customer wants to integrate the features of future releases of the knowledge base.

                                                                                  Required Customizations

                                                                                  The following customizations are mandatory for any new installation of Oracle Customer Hub (UCM) Privacy Management solution:

                                                                                    CUST. Customer Rules

                                                                                    The sample knowledge base has sample rules in this module that force the channel flag to be identical to the nonaffiliate flag for consumers who are customers of Brand X or Brand Y and live outside of California. You must customize these conditions to meet your business policies for their channel flags or other criteria or else delete these statements.

                                                                                      Owner Types and Cover Letter Types

                                                                                      You must determine what owner types to use, if any. Oracle Customer Hub (UCM) has the Brand X and Brand Y as sample owner type values. If the customer has an owner, channel partner, or dealer and these affect the version of the cover letters or privacy notices, then you must make these changes:

                                                                                      • Modify the instances of the owner type based on the values used in Oracle Customer Hub (UCM).

                                                                                      • Edit the State Code Cover Letter Table and State Code Privacy Notice Table column headings to match the new owner types. Modify the table entries to reflect the customer's cover letter type codes and privacy notice type codes.

                                                                                      • Edit the Oracle submodule names and State Change Cover Letter Table instance names in CUST.2 Address changes tables to reflect the new owner types. Add additional modules and table instances as necessary if more than two communication message types are used. Edit the table entries to reflect the appropriate cover letter type codes for state changes for your company.

                                                                                      If you have only a single version of the cover letters or privacy notices (other than state-specific versions), then you must do the following:

                                                                                      • Add an instance to the concept owner type with name set to standard and value set to “standard," and delete the Brand X and Brand Y.

                                                                                      • Edit the State Code Cover Letter Table and State Code Privacy Notice Table column headings to have a single communication message type set to standard. Modify the table entries to reflect the customer's cover letter type codes and privacy notice type codes.

                                                                                      • Change the submodule name of CUST.2.1. Brand X tables to CUST.2.1. Standard tables, and change the name of the Brand X State Change Cover Letter Table instance to Standard State Change Cover Letter Table instance. Edit the table entries to reflect the appropriate cover letter type codes for state changes for your company.

                                                                                        Examples of Customizing the Sample Knowledge Base

                                                                                          Capturing Privacy Elections for a New Business Channel

                                                                                          You want to capture privacy elections for a new channel added to the business, for example, Insurance.

                                                                                          Adding a new privacy preference involves several changes to the business rules after the privacy preference is added in the Siebel table and Siebel Repository. Use the following task to capture privacy elections for a new business channel.

                                                                                          To capture privacy elections for a new business channel

                                                                                          1. Run the Siebel Object Importer to bring the change into the knowledge base conceptual role model.

                                                                                            New concepts and relations are generated automatically.

                                                                                          2. Add the instances for the privacy preference to the privacy preference concept Insurance.

                                                                                          3. Add a new table with the default privacy preference values for insurance, copying the format of the existing Default Privacy Option Tables.

                                                                                          4. Add the business rules for this new privacy preference.

                                                                                            Changing the Address for Privacy Preferences

                                                                                            You want to evaluate the privacy preferences based on the addresses other than Garage Address, for example, Permanent Address. In such a case, you must change the rules in both the Siebel CRM configuration and HaleyAuthority.

                                                                                            Note: If you do not require consistency in concept and entity naming, the required changes are minimal.

                                                                                            To change the address for privacy preferences (solution one)

                                                                                            1. In Oracle Customer Hub (UCM), add the LOV Permanent to the Address Type field for FINCOPR Account Contact Address.

                                                                                            2. Change the business component search specification, UCM FINCORP Account Contact Garage Address Source Data and History, from:

                                                                                              [Address Type] = 'Garage' AND [UCM Type Code] = 'History' AND [Parent Type] = 'Financial Account Contact' to: [Address Type] = 'Permanent' AND [UCM Type Code] = 'History' AND [Parent Type] = 'Financial Account Contact'

                                                                                            3. Modify the run-time event to look for changes in Permanent Address instead of Garage Address.

                                                                                            4. In HaleyAuthority, search for the word Address Type, replace Garage with Permanent in all the statements found, then deploy the changed modules.

                                                                                              Changing the Address for Privacy Preferences (Solution Two)

                                                                                              If you require consistency in the wording of concept rules and entity rules in Oracle Customer Hub (UCM) and HaleyAuthority, then perform the following procedure.

                                                                                              To change the address for privacy preferences (solution 2)

                                                                                              1. Make the changes specified in solution one.

                                                                                                For more information, see Changing the Address for Privacy Preferences.

                                                                                              2. Create a new business component.

                                                                                              3. Modify the business object and integration object definitions.

                                                                                              4. Modify the rules administration configuration.

                                                                                              5. Run Siebel Object Importer to bring the new concept and relations into HaleyAuthority.

                                                                                              6. Build the new rules, using the existing rules for garage address.

                                                                                              7. Create a new module to hold the new rules.

                                                                                                Implementing a New Company Policy to Be Compliant with OFAC

                                                                                                You pass a new company policy to be compliant with the Office of Foreign Assets (OFAC) list, and privacy rules must be created around OFAC. The existing field exists in both the Siebel Repository and Haley Conceptual model, so do not run Siebel Object Importer again.

                                                                                                Add a new submodule under the corresponding event module, and then add the relevant business logic.

                                                                                                  Modifying New State Default Privacy Options upon Pending Expiration

                                                                                                  You want the default privacy options to be set for each customer. The default privacy options are based on the privacy state code for each preference.

                                                                                                  Modify table entries in the Default Privacy Option Table in the U.S. FS.1 Default privacy option tables. The entries for additional state regulations can be added by inserting additional rows in this table.

                                                                                                    Modifying the State Restrictiveness Ranking Table

                                                                                                    You want to alter the ranking of states used to determine the privacy state code for the financial account.

                                                                                                    Modify the priority of the states in the State Restrictiveness Ranking Table in U.S. country rules or add additional states with priorities. If Puerto Rico has the same rank as another entry, Puerto Rico has a rule that makes it take precedence in the module, U.S. country rules.

                                                                                                      Using New Business Components in Oracle Customer Hub (UCM) to Reuse Modules or Rules in the Privacy Knowledge Base

                                                                                                      FINCORP is a standard business component and corresponds to S_ASSET. You want to reuse the rules related to the FINCORP account, but you must use your industry-specific business component based on S_ASSET.

                                                                                                      Make these modifications:

                                                                                                      • Run Siebel Object Importer to bring the new business components into knowledge base conceptual role model.

                                                                                                        New concepts and relations are generated automatically.

                                                                                                      • Change the rules that you want to reuse to use the concepts and relations that you just imported. Or, copy the original rules instead of changing them.

                                                                                                      • Reparse the rules.

                                                                                                        About Blank Privacy Source Data and History Records

                                                                                                        Blank privacy history records might be created in the database because external applications send financial account insert requests to Oracle Customer Hub (UCM). To evaluate financial account and financial account contact's privacy preferences, the external application is required to send a privacy record with the financial account and the financial account contact insert request. The source is captured in Oracle Customer Hub (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 to be a blank record.

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

                                                                                                        • S_PRIVACY is a separate table. Creating a financial account (FA) or financial account contact (FAC) does not automatically create a child privacy record.

                                                                                                        • There is no NewRecord action available in the core rules engine to call back Oracle Customer Hub (UCM) to create a new privacy record. A privacy record must be created before sending it to the rules engine even though it is a new Financial Account or Financial Account Contact event.

                                                                                                        For these reasons, a empty record exists in the base table and the SDH table. The base table empty record exists for a short period because the rules engine is triggered. However, empty records in the SDH table remain.

                                                                                                        If you want to remove these blank records, there are several possible solutions. You must evaluate the situation according to your deployment needs. Removing blank privacy SDH records might affect performance adversely.

                                                                                                        One solution is to write a script in the business service, UCM FINCORP Account Source Data and History Service. When the Insert method is called, check the values for some of the required fields in UCM FINCORP Account Privacy Source Data and History, UCM FINCORP Account Contact Privacy Source Data and History. If the values are empty, delete the record. Use the following task to add a script to a business service.

                                                                                                        To add a script to a business service

                                                                                                        1. In Siebel Tools, find the business service, UCM FINCORP Account Source Data and History Service.

                                                                                                        2. Right click, and choose Edit Server Script.

                                                                                                        3. In Service_InvokeMethod, add the following script in eScript:

                                                                                                          Program Language = JS

                                                                                                        4. Save and compile the changes.

                                                                                                          Example Code to Remove Blank Records

                                                                                                          The following script removes blank records.

                                                                                                          Note: You might 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();
                                                                                                                     }
                                                                                                                        }
                                                                                                                      }
                                                                                                                    }