Agenda Data Governance Manager Business Drivers

1 Oracle Customer Hub 8.2 - Data Governance Manager Ora...
Author: Anne Cummings
0 downloads 4 Views

1 Oracle Customer Hub 8.2 - Data Governance Manager Oracle MDM Product Management

2 Agenda Data Governance Manager Business DriversData Governance Manager Capabilities Architecture and Software Requirements DGM Services DGM Installation & Deployment Implementation Considerations Quick look as a agenda. In DGM we will talk about Business Objectives followed by DGM capabilities and finally Architecture and Configuration on this tool - 2 2

3 Data Standards and ModelingData Governance Communication Data Strategy Data Policies and Processes Data Standards and Modeling Data Governance is the organizing framework for establishing strategy, objectives and policy for effectively managing corporate data. It consists of the processes, policies, organization and technologies required to manage and ensure the availability, usability, integrity, consistency, audit ability and security of your data. You’ve probably seen loads of definitions of DG. Data Governance is really where people and technology meet, where IT organizations and the lines of business find their commonality around data. It is the over-arching framework, strategy, objectives and policy that ensure that data is available, usable, consistent, auditable, secure and has a high degree of integrity. A Data Governance Program consists of the inter-workings of strategy, standards, policies and communication.

4 Why is Data Governance Important?Systems today are more challenging to manage Siloed projects lack view of the overall picture Traditional projects lack data management focus Data quality issues are hidden, persistent Data should not be an IT concern alone Data is a valuable Corporate Asset Data governance ensures the right people are involved in setting data standards, usage and integration across projects, subject areas and lines of business IT systems more challenging to manage today, we have more data, more integration points, new customer demands & regulations can drive IT organizations to develop even more data siloes, and therefore create even more integration points. Because data can move across the organization, many times in a highly uncontrolled manner, a data quality issue that is created in one location frequently is propagated across the enterprise. Most projects tend to be initiated on a department by department basis, without the visibility into that element which is consistent across projects, i.e. data, and how changes to the data could impact other parts of the organization. Data should not be solely an IT concern: It is directly linked to health of the business ; Need both committed business and IT to ensure success. As I said in the previous slide, data governance is where business and IT meet, and ensures the right people are involved in stetting standards, usage and integration across projects, subject areas and lines of business

5 Data Governance BenefitsIncreased Productivity Improved Compliance Increased Data auditability and transparency Reduced Costs Improved Customer Satisfaction Improved Employee Satisfaction Organizational Alignment Improved Trust and confidence in data 5

6 Data Governance & Master Data ManagementAn MDM initiative is an important component of a Data Governance strategy What is the relationship between the two? A Data Governance strategy is a critical component of an MDM initiative. Align business and IT to address problems that cause data inconsistencies Define data ownership and policies Define decision rights, escalation processes Establish processes for data quality Establish mechanisms to monitor and measure the effectiveness of the program An MDM initiative is an important component of a Data Governance strategy. MDM implements a single view of enterprise-wide data and acts as a focal point of implementing many of the governance processes Facilitates auditing, Monitoring Makes it easier to comply with legal requirements A Master Data Management initiative is the technical foundation of a Data Governance program You can’t do MDM without Data Governance

7 Comprehensive Data Governance Program ComponentsVision and Mission Alignment with Corporate Objectives Operating Model Implementation Plan Training and Awareness Mass – Wiki or Intranet Individual Updates Pertinent, specific and timely Maintain interest and commitment Flexibility to change Open and common standards End to End Data security / lineage Data Discovery, Cleanse, Match, Maintain Metadata Management Reporting Integration Standardized methods and data definitions Controls Metadata Management This represents an overall framework for Data Governance. This DG framework is developed in partnership with company First San Francisco Partners . DG comprehensive program explain the importance of corporate Communication, Corporate Strategy, Policies and Processes, Organizational Structures, Performance Monitoring and Technology to privde end to end governance solution to companies. I’m going to focus on the Technology and a key component of the Technology , and how Technology can facilitate organizational alignment. Arbiters and Escalation points Stakeholders Roles and Responsibilities Data Stewards Decision Rights Accountability and Ownership Statistics and Analysis Tracking of progress Monitoring of issues Continuous Improvement Score-carding

8 Data Governance Technology RequirementsDefine, Communicate & Enforce Easily Operate hub Define enterprise master data Define and view data policies Data accountability Escalation process Administer hub Execute day-to-day hub operations (Consolidate, Cleanse, Share & Master) Perform data steward tasks, such as merge/unmerge Fix data issues Monitor hub operations Fix import errors and resubmit corrected data Proactively watch & repair data Tune data quality rules Analyze hub DQ metrics Track sources of bad data Monitor hub transaction load

9 Agenda Data Governance Manager Business DriversData Governance Manager Capabilities Architecture and Software Requirements DGM Services DGM Installation & Deployment Implementation Considerations Quick look as a agenda. In DGM we will talk about Business Objectives followed by DGM capabilities and finally Architecture and Configuration on this tool - 9 9

10 Oracle Customer Hub 8.2 The Solution ComponentsApplication Integration Architecture Siebel EBS SAP JDE Custom MDM Aware Apps Hyperion Data Relationship Management for Customer Hub Data Governance Manager MDM Analytics Source Systems Customer Hub 8.2 Oracle Data Quality New © 2009 Oracle Corporation

11 DGM Home

12 DGM Master Help Monitor Customer Hub transactional activity on mastered entities (Account and Contacts) with respect to time Ability to graphically report on New or Modified Person/Organization records Capability to get into details of records reported in the current query

13 DGM Consolidate Act as a import workbench and can start new batch with few mouse clicks Ability to monitor batch activity with respect to time. Help see details of individual batch to find out number of records, source , date, about the batch Reports on number new or existing customer imported in particular batch Fix records reported in exception report for batch

14 DGM Cleanse Help track bad sources of data for Person and Organization objects Report percentage and details of non complaint data records based on source systems and base tables Able to change on the fly metric definition of completeness and run it on Staging tables and Base tables Graphically list systems that need immediate attention of Data Sterward

15 DGM Share Report on real time activity of hub for Updated, Merge and UnMerged records with respect to time

16 DGM Govern Access to Data Steward Work QueueDefine data metadata and glossary Dashboard to access rule definition screens and access data remediation tools such as Data Watch and Repair

17 Agenda Data Governance Manager Business DriversData Governance Manager Capabilities Architecture and Software Requirements DGM Services DGM Installation & Deployment Implementation Considerations Quick look as a agenda. In DGM we will talk about Business Objectives followed by DGM capabilities and finally Architecture and Configuration on this tool - 17 17

18 ADF (DGM Web Application) Java Proxy Data ControlDGM - Architecture Weblogic Siebel UCM ADF (DGM Web Application) JSF Web Page Controller Data Model Java Proxy Data Control DVT Java data Proxy Rich Facelet EAI Master Consolidate Share Govern Cleanse Web Service DGM (Data Governance Manger) tool is an ADF/ J developer based application which invokes the corresponding UCM web services. Java data proxy services interact with the Hub through web services. In the initial phase UCM would leverage the core Siebel Web service infrastructure to expose its workflows and business services as Web services. The Siebel Web service framework exposes the admin views where we can configure both Inbound and Outbound web services. It also gives the feature to generate the WSDL for an inbound web service. Thus, the corresponding business services and workflows developed in generating and executing the reports for master, consolidate, govern and share, along with analytical reports for completeness and timeliness on the UCM mastered and operational data are made available as web services. In the initial phase of DGM user authentication is performed directly from UCM database. Each Web service will be modified to return total number of records and result set sorted by the requested column. All the paging functions and subsequent sorting are done within the DGM application using ADF java data proxy services.

19 DGM Architecture (Contd..)Web logic J2EE application server where application can be deployed and provide service. The one and only ADF fully compatible application server. ADF A framework to simplify and accelerate implementing J2EE web application. JDeveloper IDE for developing ADF application. Support full lifecycle of development from design to deploy. Drag and drop data binding, visual UI design, declarative development.

20 DGM Architecture (Contd..)View Layer Rich Facelet Lots of components for drag and drop, fast development. DVT (Data Visualization Components) Significant graphical capability for displaying and analyzing data Controller (Task Flow) Visual and declarative way to define navigation between pages.

21 DGM Architecture (Contd..)Model Layer Web Service Proxy Wizard available for quick generation of proxy to access DGM web service. Java Bean Data Controller Wrap and expose data from DGM web service to view layer.

22 DGM Architecture (Contd..)Design - Web Services

23 Software RequirementsDGM Installer available on Metalink Following is the software required for DGM Software name Version Description JDK 1.6 and above Providing runtime for java application. Weblogic 10gR3 and above Java application server. ADF Oracle framework for java application. Jdeveloper 11g R1 IDE for compile and deploy java application. ANT 1.6 A Java-based build tool. Note: Weblogic is licensed as restrictedd use along with Customer Hub base license. DGM ADF based Application supports Enu and Chs language Siebel Sales – BI Publisher Integration Functional TOI - 23

24 Agenda Data Governance Manager Business DriversData Governance Manager Capabilities Architecture and Software Requirements DGM Services DGM Installation & Deployment Implementation Considerations Quick look as a agenda. In DGM we will talk about Business Objectives followed by DGM capabilities and finally Architecture and Configuration on this tool - 24 24

25 DGM Services Siebel UCM 8.2 Web Services for DGM MasterServicegetMasterEntitiesCount getMasterOrganizationDetails getMasterPersonDetails ConsolidateService getBatchProcessReport getSpecificBatchReport getCompletedRecordsBatchReport getOrgRejectRecordsDetailReport getPerRejectRecordsDetailReport updateOrgBatchRejectedRecords updatePerBatchRejectedRecords ConsolidateListImportService obtainTemplateList submitNewImport CleanseCompletenessService getHubCompleteComplianceInfo getHubOrgIncompleteDetail getHubPerIncompleteDetail getSourceCompleteComplianceInfo  getSrcOrgIncompleteDetail getSrcPerIncompleteDetail  25

26 DGM Services Siebel UCM 8.2 Web Services for DGM ShareServicegetShareInfo SystemsRegistrationService getSystemsRegistrationInfo GovernService getOrganizationSuspectRecords getPersonSuspectRecords removePendingRecord submitMergeRequestOrganizationRecord submitMergeRequestPersonRecord   26

27 DGM Services UCM Data Governance Manager Business ServiceProvides interface and also the implementation for the handling of the requests from the ADF based Data Governance Application . 25 methods of this Business Service to address the categories of  1) Master, 2) Consolidate, 3) Share, 4) Cleanse and 5) Govern areas. MasterService getMasterEntitiesCount To obtain the number of mastered records of given Business Objects (Account, Contact) in given time frame getMasterOrganizationDetails To obtain the number of mastered records of Account in given time frame getMasterPersonDetails To obtain the number of mastered records of Contact in given time frame UCM Data Governance Manager Service is a business service that provides interface and also the implementation for the handling of the requests from the ADF based Data Governance Mini Application. The methods of this business service address the categories of Master, Consolidate, Share, Cleanse and Govern areas. These methods have been registered in the Siebel Web Service framework as Inbound web service operations for the following seven web services 1. MasterService 2. ConsolidateService 3.ConsolidateListImportService 4.ShareService 5.GovernService 6.CleanseCompletenessService  7.SystemsRegistrationService. MASTER getMasterEntitiesCount() – This method should be able to query number of mastered* Account and Contact records in given time frame. The input is given in the form of an Integration object where Object and SearchSpec are specified. Input Arguments – startDateTime, endDateTime, SiebelMessageInput (SwiRecordCountIO). Output Arguments – SiebelMessage (SwiRecordCountIOResult), errorMessage. Account Account 7050 *Master: - Object records that have been inserted, modified, deleted.(master) in the given time window. getMasterOrganizationDetails() – This method should be able to query details of mastered Account records in given time frame. I/P – startDateTime, endDateTime, StartRowNum, PageSize, SortSpec, SearchSpec, NewQuery. O/P – SiebelMessage (SwiOrgIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :11:52 07/08/ :05:27 NewAccount1_ SM Oracle Parkway_ SAN_ USA CA 903412 123456 getMasterPersonDetails() – This method should be able to query details mastered Contact records in given time frame. O/P – SiebelMessage (SwiPerIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :36:47 07/08/ :36:46 GOODNAME GOODNAME_ 12/29/ :00:00 222222 < Address>oracle.com CONSOLIDATE getBatchProcessReport () - This method obtains the Completed, In Progress and Pending batches from given time frame. This method should return the details (System, BatchID, Description etc.) of the Batch in the form of an Integration Object. The status of the batch is determined as given below. Batch State Pending All SDH records should be in Batch or Queued state. In Progress For batch having more than one SDH record we should have at least one record in Batch or Rejected or Cleansed. Completed SDH Records should be not in Batch, Queued or Rejected state. I/P – startDateTime, endDateTime. O/P – SiebelMessage (SwiBatchInfoIO), errorMessage. 88-48LRG2 Account Default System 2 Completed getSpecificBatchReport() – This method should return the countof Completed, Pending and Rejected records in a particular batch (matching with Batch ID). The records are classified as below. Batch Records State Pending SDH records in Batch/Queued state Rejected SDH records in Rejected or Incomplete state Completed SDH Records NOT in Rejected, Queued, Incomplete, or Batch state I/P – BatchID, Object. O/P – CompletedRecordsCount, PendingRecordsCount, RejectedRecordsCount, errorMessage. getCompletedRecordsBatchReport () – This method should return the number of Inserts or Updates that occurred as part of a completed batch job. The records are mastered as part of the batch job, a new field called Actual Operation stores the information of the operation that happens. Completed Batch Records State Insert SDH records with Actual Operation as Insert Update SDH records with Actual Operation as Update I/P – BatchID, Object. O/P – NumOfInserts, NumOfUpserts, errorMessage. getOrgRejectRecordsDetailReport () – This method should return the details of all Account records that got rejected rejected as part of a particular Batch. I/P – BatchID, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiBatchOrgIO), errorMessage, LastPage, NumOutputObjects. Incomplete 88-6HKF31 Reva 2131 GIT Inc. 88-6HIUH PARTYUID getPerRejectRecordsDetailReport () - This method should return the details of all Contact records that got rejected rejected as part of a particular Batch. O/P – SiebelMessage (SwiBatchPerIO), errorMessage, LastPage, NumOutputObjects. 88-5WZDL1 < Address/> No user key can be used for the Integration Component instance 'Contact'.(SBL-EAI-04397) Kim 213123 Levine 88-5WYNA updateOrgBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Account records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchOrgIO). O/P – errorMessage. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? updatePerBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Contact records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchPerIO). ? ? ? ? ? ? ? ? ? obtainTemplateList () - This method should fetch the details of all Import Mappings that are currently present in UCM List Import module. These mappings are then used to import records from text or xml files into UCM (Dependency on UCM List Import). I/P – O/P – SiebeMessage (SwiImportMapsIO), errorMessage. 88-48LRB Acc Mapping Account Account Name 1 N Location 2 Main Phone Number 3 submitNewImport () - This method should take in details for a List Import Job (like Import Mapping, FileStream, DataType etc.) and create and submit an Import Job (Dependency on UCM List Import). Job. I/P – ImportJobParams (UCMImportJob). NEWT Inc.,Reva,2131 Comma Delimiter , EBS 88-6J1J5 Import new records LIC AccImpo28 Account One time (manually) LIC Text File LIC SHARE getShareInfo () - This method should obtain the number of records that have been Modified, Merged and Unmerged (Account or Contact) in the given time frame. Only real-time operations are counted. I/P – startDateTime, endDateTime, Object. O/P – MergeRecCount, UnmergeRecCount, ModifiedCount, errorMessage. CLEANSE getHubCompleteComplianceInfo() - Query from base table records which (based on date) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO). ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? O/P – CompletenessPercentage, NumofInCompleteRecords, TotalRecords, errorMessage. getSourceCompleteComplianceInfo() - Query from SDH table records which (based on date and Source System) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO), SourceSystem. getSystemsRegistrationInfo () Query for systems registered in UCM. I/P – O/P – SiebelMessage (SwiSystemInfo), errorMessage. N SOAP CRM OnDemand CRM OnDemand qwwqas HTTP Default System Default System getHubOrgIncompleteDetail Query details of Hub Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgIO) . O/P – SiebelMessage (SwiOrgIO), LastPage, NumOutputObjects, errorMessage. 08/13/ :17:32 08/13/ :17:32 TESCO M CLAYTON SQUARE LIVERPOOL FL L1 1DP getHubPerIncompleteDetail Query details of Hub Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerIO) . O/P – SiebelMessage (SwiPerIO), LastPage, NumOutputObjects, errorMessage. 04/24/ :08:08 Sowjanya Ramakrishna < Address /> getSrcOrgIncompleteDetail Query details of Source Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgSDHIO), SourceSystem. O/P – SiebelMessage (SwiOrgSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDY0 Ebiz01 88-6HDXP Luke Mukund76 88-6HDY2 Source-Insert 88-6HDY0 getSrcPerIncompleteDetail Query details of Source Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerSDHIO), SourceSystem. O/P – SiebelMessage (SwiPerSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDZC Arwen Elendil 23BC2C2A-BBF D7-CB47A 88-6HDZC GOVERN getOrganizationSuspectRecords () Query all the account records marked Suspect in the base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiOrgDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-3UQLL UCM Account B San Jose Suspect 03/31/ :49:38 None No Match Row Id getPersonSuspectRecords () Query all the contact records marked Suspect in the base table. O/P – SiebelMessage (SwiPerDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-4N6IJ Contact Hames Daveson_cln Johns Jr. 05/21/ :56:01 Pending 88-2O07E Today Today_cln 82 88-4KRI6 kumba12 shanmu56_cln 88-4KRHP Kumba285 Shanmu911_cln removePendingRecord () Remove Pending Flag for the Account/Contact record marked as Suspect in the base table. I/P – ObjectName, Id, PendingStatus. O/P – Status, ErrorCode, ErrorMessage. submitMergeRequestPersonRecord () Submit Merge request for the Contact records in the base table. I/P – MasterId, MatchId O/P – ResponseMessage (UCMMergeRequestRs), ErrorCode, ErrorMessage. Your request is put in the queue. 88-6LE3S Pending Review SubmitMergeRequestOrganizationRecord () Submit Merge request for the Account records in the base table. 27 Siebel Sales MS Integration - Functional TOI - 27

28 Siebel Sales MS Integration - Functional TOI - 28DGM Services ConsolidateService getBatchProcessReport To obtain the batch details for batches run in the time frame getSpecificBatchReport To obtain record count of a particular batch along with the category of identify record status (completed, pending, rejected). getCompletedRecordsBatchReport To query records of a particular batch with completed status getOrgRejectRecordsDetailReport To query Account records of a particular batch with rejected status getPerRejectRecordsDetailReport To query Contact records of a particular batch with rejected status updateOrgBatchRejectedRecords To accept corrections in Account records marked as rejected in a batch updatePerBatchRejectedRecords To accept corrections in Contact records marked as rejected in a batch UCM Data Governance Manager Service is a business service that provides interface and also the implementation for the handling of the requests from the ADF based Data Governance Mini Application. The methods of this business service address the categories of Master, Consolidate, Share, Cleanse and Govern areas. These methods have been registered in the Siebel Web Service framework as Inbound web service operations for the following seven web services 1. MasterService 2. ConsolidateService 3.ConsolidateListImportService 4.ShareService 5.GovernService 6.CleanseCompletenessService  7.SystemsRegistrationService. MASTER getMasterEntitiesCount() – This method should be able to query number of mastered* Account and Contact records in given time frame. The input is given in the form of an Integration object where Object and SearchSpec are specified. Input Arguments – startDateTime, endDateTime, SiebelMessageInput (SwiRecordCountIO). Output Arguments – SiebelMessage (SwiRecordCountIOResult), errorMessage. Account Account 7050 *Master: - Object records that have been inserted, modified, deleted.(master) in the given time window. getMasterOrganizationDetails() – This method should be able to query details of mastered Account records in given time frame. I/P – startDateTime, endDateTime, StartRowNum, PageSize, SortSpec, SearchSpec, NewQuery. O/P – SiebelMessage (SwiOrgIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :11:52 07/08/ :05:27 NewAccount1_ SM Oracle Parkway_ SAN_ USA CA 903412 123456 getMasterPersonDetails() – This method should be able to query details mastered Contact records in given time frame. O/P – SiebelMessage (SwiPerIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :36:47 07/08/ :36:46 GOODNAME GOODNAME_ 12/29/ :00:00 222222 < Address>oracle.com CONSOLIDATE getBatchProcessReport () - This method obtains the Completed, In Progress and Pending batches from given time frame. This method should return the details (System, BatchID, Description etc.) of the Batch in the form of an Integration Object. The status of the batch is determined as given below. Batch State Pending All SDH records should be in Batch or Queued state. In Progress For batch having more than one SDH record we should have at least one record in Batch or Rejected or Cleansed. Completed SDH Records should be not in Batch, Queued or Rejected state. I/P – startDateTime, endDateTime. O/P – SiebelMessage (SwiBatchInfoIO), errorMessage. 88-48LRG2 Account Default System 2 Completed getSpecificBatchReport() – This method should return the countof Completed, Pending and Rejected records in a particular batch (matching with Batch ID). The records are classified as below. Batch Records State Pending SDH records in Batch/Queued state Rejected SDH records in Rejected or Incomplete state Completed SDH Records NOT in Rejected, Queued, Incomplete, or Batch state I/P – BatchID, Object. O/P – CompletedRecordsCount, PendingRecordsCount, RejectedRecordsCount, errorMessage. getCompletedRecordsBatchReport () – This method should return the number of Inserts or Updates that occurred as part of a completed batch job. The records are mastered as part of the batch job, a new field called Actual Operation stores the information of the operation that happens. Completed Batch Records State Insert SDH records with Actual Operation as Insert Update SDH records with Actual Operation as Update I/P – BatchID, Object. O/P – NumOfInserts, NumOfUpserts, errorMessage. getOrgRejectRecordsDetailReport () – This method should return the details of all Account records that got rejected rejected as part of a particular Batch. I/P – BatchID, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiBatchOrgIO), errorMessage, LastPage, NumOutputObjects. Incomplete 88-6HKF31 Reva 2131 GIT Inc. 88-6HIUH PARTYUID getPerRejectRecordsDetailReport () - This method should return the details of all Contact records that got rejected rejected as part of a particular Batch. O/P – SiebelMessage (SwiBatchPerIO), errorMessage, LastPage, NumOutputObjects. 88-5WZDL1 < Address/> No user key can be used for the Integration Component instance 'Contact'.(SBL-EAI-04397) Kim 213123 Levine 88-5WYNA updateOrgBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Account records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchOrgIO). O/P – errorMessage. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? updatePerBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Contact records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchPerIO). ? ? ? ? ? ? ? ? ? obtainTemplateList () - This method should fetch the details of all Import Mappings that are currently present in UCM List Import module. These mappings are then used to import records from text or xml files into UCM (Dependency on UCM List Import). I/P – O/P – SiebeMessage (SwiImportMapsIO), errorMessage. 88-48LRB Acc Mapping Account Account Name 1 N Location 2 Main Phone Number 3 submitNewImport () - This method should take in details for a List Import Job (like Import Mapping, FileStream, DataType etc.) and create and submit an Import Job (Dependency on UCM List Import). Job. I/P – ImportJobParams (UCMImportJob). NEWT Inc.,Reva,2131 Comma Delimiter , EBS 88-6J1J5 Import new records LIC AccImpo28 Account One time (manually) LIC Text File LIC SHARE getShareInfo () - This method should obtain the number of records that have been Modified, Merged and Unmerged (Account or Contact) in the given time frame. Only real-time operations are counted. I/P – startDateTime, endDateTime, Object. O/P – MergeRecCount, UnmergeRecCount, ModifiedCount, errorMessage. CLEANSE getHubCompleteComplianceInfo() - Query from base table records which (based on date) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO). ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? O/P – CompletenessPercentage, NumofInCompleteRecords, TotalRecords, errorMessage. getSourceCompleteComplianceInfo() - Query from SDH table records which (based on date and Source System) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO), SourceSystem. getSystemsRegistrationInfo () Query for systems registered in UCM. I/P – O/P – SiebelMessage (SwiSystemInfo), errorMessage. N SOAP CRM OnDemand CRM OnDemand qwwqas HTTP Default System Default System getHubOrgIncompleteDetail Query details of Hub Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgIO) . O/P – SiebelMessage (SwiOrgIO), LastPage, NumOutputObjects, errorMessage. 08/13/ :17:32 08/13/ :17:32 TESCO M CLAYTON SQUARE LIVERPOOL FL L1 1DP getHubPerIncompleteDetail Query details of Hub Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerIO) . O/P – SiebelMessage (SwiPerIO), LastPage, NumOutputObjects, errorMessage. 04/24/ :08:08 Sowjanya Ramakrishna < Address /> getSrcOrgIncompleteDetail Query details of Source Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgSDHIO), SourceSystem. O/P – SiebelMessage (SwiOrgSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDY0 Ebiz01 88-6HDXP Luke Mukund76 88-6HDY2 Source-Insert 88-6HDY0 getSrcPerIncompleteDetail Query details of Source Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerSDHIO), SourceSystem. O/P – SiebelMessage (SwiPerSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDZC Arwen Elendil 23BC2C2A-BBF D7-CB47A 88-6HDZC GOVERN getOrganizationSuspectRecords () Query all the account records marked Suspect in the base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiOrgDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-3UQLL UCM Account B San Jose Suspect 03/31/ :49:38 None No Match Row Id getPersonSuspectRecords () Query all the contact records marked Suspect in the base table. O/P – SiebelMessage (SwiPerDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-4N6IJ Contact Hames Daveson_cln Johns Jr. 05/21/ :56:01 Pending 88-2O07E Today Today_cln 82 88-4KRI6 kumba12 shanmu56_cln 88-4KRHP Kumba285 Shanmu911_cln removePendingRecord () Remove Pending Flag for the Account/Contact record marked as Suspect in the base table. I/P – ObjectName, Id, PendingStatus. O/P – Status, ErrorCode, ErrorMessage. submitMergeRequestPersonRecord () Submit Merge request for the Contact records in the base table. I/P – MasterId, MatchId O/P – ResponseMessage (UCMMergeRequestRs), ErrorCode, ErrorMessage. Your request is put in the queue. 88-6LE3S Pending Review SubmitMergeRequestOrganizationRecord () Submit Merge request for the Account records in the base table. 28 Siebel Sales MS Integration - Functional TOI - 28

29 Siebel Sales MS Integration - Functional TOI - 29DGM Services ConsolidateListImportService obtainTemplateList To obtain list of template file types which can be used for list import submitNewImport To submit a batch import job using a template file and a data file concurring with the template. CleanseCompletenessService getHubCompleteComplianceInfo To obtain completeness percentage for Account or Contact records in best version table. getHubOrgIncompleteDetail To obtain Account Incomplete records from best version table. getHubPerIncompleteDetail To obtain Person Incomplete records from best version table. UCM Data Governance Manager Service is a business service that provides interface and also the implementation for the handling of the requests from the ADF based Data Governance Mini Application. The methods of this business service address the categories of Master, Consolidate, Share, Cleanse and Govern areas. These methods have been registered in the Siebel Web Service framework as Inbound web service operations for the following seven web services 1. MasterService 2. ConsolidateService 3.ConsolidateListImportService 4.ShareService 5.GovernService 6.CleanseCompletenessService  7.SystemsRegistrationService. MASTER getMasterEntitiesCount() – This method should be able to query number of mastered* Account and Contact records in given time frame. The input is given in the form of an Integration object where Object and SearchSpec are specified. Input Arguments – startDateTime, endDateTime, SiebelMessageInput (SwiRecordCountIO). Output Arguments – SiebelMessage (SwiRecordCountIOResult), errorMessage. Account Account 7050 *Master: - Object records that have been inserted, modified, deleted.(master) in the given time window. getMasterOrganizationDetails() – This method should be able to query details of mastered Account records in given time frame. I/P – startDateTime, endDateTime, StartRowNum, PageSize, SortSpec, SearchSpec, NewQuery. O/P – SiebelMessage (SwiOrgIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :11:52 07/08/ :05:27 NewAccount1_ SM Oracle Parkway_ SAN_ USA CA 903412 123456 getMasterPersonDetails() – This method should be able to query details mastered Contact records in given time frame. O/P – SiebelMessage (SwiPerIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :36:47 07/08/ :36:46 GOODNAME GOODNAME_ 12/29/ :00:00 222222 < Address>oracle.com CONSOLIDATE getBatchProcessReport () - This method obtains the Completed, In Progress and Pending batches from given time frame. This method should return the details (System, BatchID, Description etc.) of the Batch in the form of an Integration Object. The status of the batch is determined as given below. Batch State Pending All SDH records should be in Batch or Queued state. In Progress For batch having more than one SDH record we should have at least one record in Batch or Rejected or Cleansed. Completed SDH Records should be not in Batch, Queued or Rejected state. I/P – startDateTime, endDateTime. O/P – SiebelMessage (SwiBatchInfoIO), errorMessage. 88-48LRG2 Account Default System 2 Completed getSpecificBatchReport() – This method should return the countof Completed, Pending and Rejected records in a particular batch (matching with Batch ID). The records are classified as below. Batch Records State Pending SDH records in Batch/Queued state Rejected SDH records in Rejected or Incomplete state Completed SDH Records NOT in Rejected, Queued, Incomplete, or Batch state I/P – BatchID, Object. O/P – CompletedRecordsCount, PendingRecordsCount, RejectedRecordsCount, errorMessage. getCompletedRecordsBatchReport () – This method should return the number of Inserts or Updates that occurred as part of a completed batch job. The records are mastered as part of the batch job, a new field called Actual Operation stores the information of the operation that happens. Completed Batch Records State Insert SDH records with Actual Operation as Insert Update SDH records with Actual Operation as Update I/P – BatchID, Object. O/P – NumOfInserts, NumOfUpserts, errorMessage. getOrgRejectRecordsDetailReport () – This method should return the details of all Account records that got rejected rejected as part of a particular Batch. I/P – BatchID, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiBatchOrgIO), errorMessage, LastPage, NumOutputObjects. Incomplete 88-6HKF31 Reva 2131 GIT Inc. 88-6HIUH PARTYUID getPerRejectRecordsDetailReport () - This method should return the details of all Contact records that got rejected rejected as part of a particular Batch. O/P – SiebelMessage (SwiBatchPerIO), errorMessage, LastPage, NumOutputObjects. 88-5WZDL1 < Address/> No user key can be used for the Integration Component instance 'Contact'.(SBL-EAI-04397) Kim 213123 Levine 88-5WYNA updateOrgBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Account records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchOrgIO). O/P – errorMessage. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? updatePerBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Contact records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchPerIO). ? ? ? ? ? ? ? ? ? obtainTemplateList () - This method should fetch the details of all Import Mappings that are currently present in UCM List Import module. These mappings are then used to import records from text or xml files into UCM (Dependency on UCM List Import). I/P – O/P – SiebeMessage (SwiImportMapsIO), errorMessage. 88-48LRB Acc Mapping Account Account Name 1 N Location 2 Main Phone Number 3 submitNewImport () - This method should take in details for a List Import Job (like Import Mapping, FileStream, DataType etc.) and create and submit an Import Job (Dependency on UCM List Import). Job. I/P – ImportJobParams (UCMImportJob). NEWT Inc.,Reva,2131 Comma Delimiter , EBS 88-6J1J5 Import new records LIC AccImpo28 Account One time (manually) LIC Text File LIC SHARE getShareInfo () - This method should obtain the number of records that have been Modified, Merged and Unmerged (Account or Contact) in the given time frame. Only real-time operations are counted. I/P – startDateTime, endDateTime, Object. O/P – MergeRecCount, UnmergeRecCount, ModifiedCount, errorMessage. CLEANSE getHubCompleteComplianceInfo() - Query from base table records which (based on date) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO). ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? O/P – CompletenessPercentage, NumofInCompleteRecords, TotalRecords, errorMessage. getSourceCompleteComplianceInfo() - Query from SDH table records which (based on date and Source System) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO), SourceSystem. getSystemsRegistrationInfo () Query for systems registered in UCM. I/P – O/P – SiebelMessage (SwiSystemInfo), errorMessage. N SOAP CRM OnDemand CRM OnDemand qwwqas HTTP Default System Default System getHubOrgIncompleteDetail Query details of Hub Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgIO) . O/P – SiebelMessage (SwiOrgIO), LastPage, NumOutputObjects, errorMessage. 08/13/ :17:32 08/13/ :17:32 TESCO M CLAYTON SQUARE LIVERPOOL FL L1 1DP getHubPerIncompleteDetail Query details of Hub Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerIO) . O/P – SiebelMessage (SwiPerIO), LastPage, NumOutputObjects, errorMessage. 04/24/ :08:08 Sowjanya Ramakrishna < Address /> getSrcOrgIncompleteDetail Query details of Source Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgSDHIO), SourceSystem. O/P – SiebelMessage (SwiOrgSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDY0 Ebiz01 88-6HDXP Luke Mukund76 88-6HDY2 Source-Insert 88-6HDY0 getSrcPerIncompleteDetail Query details of Source Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerSDHIO), SourceSystem. O/P – SiebelMessage (SwiPerSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDZC Arwen Elendil 23BC2C2A-BBF D7-CB47A 88-6HDZC GOVERN getOrganizationSuspectRecords () Query all the account records marked Suspect in the base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiOrgDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-3UQLL UCM Account B San Jose Suspect 03/31/ :49:38 None No Match Row Id getPersonSuspectRecords () Query all the contact records marked Suspect in the base table. O/P – SiebelMessage (SwiPerDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-4N6IJ Contact Hames Daveson_cln Johns Jr. 05/21/ :56:01 Pending 88-2O07E Today Today_cln 82 88-4KRI6 kumba12 shanmu56_cln 88-4KRHP Kumba285 Shanmu911_cln removePendingRecord () Remove Pending Flag for the Account/Contact record marked as Suspect in the base table. I/P – ObjectName, Id, PendingStatus. O/P – Status, ErrorCode, ErrorMessage. submitMergeRequestPersonRecord () Submit Merge request for the Contact records in the base table. I/P – MasterId, MatchId O/P – ResponseMessage (UCMMergeRequestRs), ErrorCode, ErrorMessage. Your request is put in the queue. 88-6LE3S Pending Review SubmitMergeRequestOrganizationRecord () Submit Merge request for the Account records in the base table. 29 Siebel Sales MS Integration - Functional TOI - 29

30 Siebel Sales MS Integration - Functional TOI - 30DGM Services CleanseCompletenessService getSourceCompleteComplianceInfo To obtain completeness percentage for Account or Contact records in SDH table for a given source system. getSrcOrgIncompleteDetail To obtain Account Incomplete records from SDH table for a particular source system. getSrcPerIncompleteDetail To obtain Person Incomplete records from SDH table for a particular source system. ShareService getShareInfo Get the number of real-time (modified, merged, unmerged) operations being performed SystemsRegistrationService getSystemsRegistrationInfo To obtain details of systems registered with Siebel Client (UCM). UCM Data Governance Manager Service is a business service that provides interface and also the implementation for the handling of the requests from the ADF based Data Governance Mini Application. The methods of this business service address the categories of Master, Consolidate, Share, Cleanse and Govern areas. These methods have been registered in the Siebel Web Service framework as Inbound web service operations for the following seven web services 1. MasterService 2. ConsolidateService 3.ConsolidateListImportService 4.ShareService 5.GovernService 6.CleanseCompletenessService  7.SystemsRegistrationService. MASTER getMasterEntitiesCount() – This method should be able to query number of mastered* Account and Contact records in given time frame. The input is given in the form of an Integration object where Object and SearchSpec are specified. Input Arguments – startDateTime, endDateTime, SiebelMessageInput (SwiRecordCountIO). Output Arguments – SiebelMessage (SwiRecordCountIOResult), errorMessage. Account Account 7050 *Master: - Object records that have been inserted, modified, deleted.(master) in the given time window. getMasterOrganizationDetails() – This method should be able to query details of mastered Account records in given time frame. I/P – startDateTime, endDateTime, StartRowNum, PageSize, SortSpec, SearchSpec, NewQuery. O/P – SiebelMessage (SwiOrgIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :11:52 07/08/ :05:27 NewAccount1_ SM Oracle Parkway_ SAN_ USA CA 903412 123456 getMasterPersonDetails() – This method should be able to query details mastered Contact records in given time frame. O/P – SiebelMessage (SwiPerIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :36:47 07/08/ :36:46 GOODNAME GOODNAME_ 12/29/ :00:00 222222 < Address>oracle.com CONSOLIDATE getBatchProcessReport () - This method obtains the Completed, In Progress and Pending batches from given time frame. This method should return the details (System, BatchID, Description etc.) of the Batch in the form of an Integration Object. The status of the batch is determined as given below. Batch State Pending All SDH records should be in Batch or Queued state. In Progress For batch having more than one SDH record we should have at least one record in Batch or Rejected or Cleansed. Completed SDH Records should be not in Batch, Queued or Rejected state. I/P – startDateTime, endDateTime. O/P – SiebelMessage (SwiBatchInfoIO), errorMessage. 88-48LRG2 Account Default System 2 Completed getSpecificBatchReport() – This method should return the countof Completed, Pending and Rejected records in a particular batch (matching with Batch ID). The records are classified as below. Batch Records State Pending SDH records in Batch/Queued state Rejected SDH records in Rejected or Incomplete state Completed SDH Records NOT in Rejected, Queued, Incomplete, or Batch state I/P – BatchID, Object. O/P – CompletedRecordsCount, PendingRecordsCount, RejectedRecordsCount, errorMessage. getCompletedRecordsBatchReport () – This method should return the number of Inserts or Updates that occurred as part of a completed batch job. The records are mastered as part of the batch job, a new field called Actual Operation stores the information of the operation that happens. Completed Batch Records State Insert SDH records with Actual Operation as Insert Update SDH records with Actual Operation as Update I/P – BatchID, Object. O/P – NumOfInserts, NumOfUpserts, errorMessage. getOrgRejectRecordsDetailReport () – This method should return the details of all Account records that got rejected rejected as part of a particular Batch. I/P – BatchID, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiBatchOrgIO), errorMessage, LastPage, NumOutputObjects. Incomplete 88-6HKF31 Reva 2131 GIT Inc. 88-6HIUH PARTYUID getPerRejectRecordsDetailReport () - This method should return the details of all Contact records that got rejected rejected as part of a particular Batch. O/P – SiebelMessage (SwiBatchPerIO), errorMessage, LastPage, NumOutputObjects. 88-5WZDL1 < Address/> No user key can be used for the Integration Component instance 'Contact'.(SBL-EAI-04397) Kim 213123 Levine 88-5WYNA updateOrgBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Account records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchOrgIO). O/P – errorMessage. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? updatePerBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Contact records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchPerIO). ? ? ? ? ? ? ? ? ? obtainTemplateList () - This method should fetch the details of all Import Mappings that are currently present in UCM List Import module. These mappings are then used to import records from text or xml files into UCM (Dependency on UCM List Import). I/P – O/P – SiebeMessage (SwiImportMapsIO), errorMessage. 88-48LRB Acc Mapping Account Account Name 1 N Location 2 Main Phone Number 3 submitNewImport () - This method should take in details for a List Import Job (like Import Mapping, FileStream, DataType etc.) and create and submit an Import Job (Dependency on UCM List Import). Job. I/P – ImportJobParams (UCMImportJob). NEWT Inc.,Reva,2131 Comma Delimiter , EBS 88-6J1J5 Import new records LIC AccImpo28 Account One time (manually) LIC Text File LIC SHARE getShareInfo () - This method should obtain the number of records that have been Modified, Merged and Unmerged (Account or Contact) in the given time frame. Only real-time operations are counted. I/P – startDateTime, endDateTime, Object. O/P – MergeRecCount, UnmergeRecCount, ModifiedCount, errorMessage. CLEANSE getHubCompleteComplianceInfo() - Query from base table records which (based on date) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO). ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? O/P – CompletenessPercentage, NumofInCompleteRecords, TotalRecords, errorMessage. getSourceCompleteComplianceInfo() - Query from SDH table records which (based on date and Source System) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO), SourceSystem. getSystemsRegistrationInfo () Query for systems registered in UCM. I/P – O/P – SiebelMessage (SwiSystemInfo), errorMessage. N SOAP CRM OnDemand CRM OnDemand qwwqas HTTP Default System Default System getHubOrgIncompleteDetail Query details of Hub Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgIO) . O/P – SiebelMessage (SwiOrgIO), LastPage, NumOutputObjects, errorMessage. 08/13/ :17:32 08/13/ :17:32 TESCO M CLAYTON SQUARE LIVERPOOL FL L1 1DP getHubPerIncompleteDetail Query details of Hub Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerIO) . O/P – SiebelMessage (SwiPerIO), LastPage, NumOutputObjects, errorMessage. 04/24/ :08:08 Sowjanya Ramakrishna < Address /> getSrcOrgIncompleteDetail Query details of Source Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgSDHIO), SourceSystem. O/P – SiebelMessage (SwiOrgSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDY0 Ebiz01 88-6HDXP Luke Mukund76 88-6HDY2 Source-Insert 88-6HDY0 getSrcPerIncompleteDetail Query details of Source Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerSDHIO), SourceSystem. O/P – SiebelMessage (SwiPerSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDZC Arwen Elendil 23BC2C2A-BBF D7-CB47A 88-6HDZC GOVERN getOrganizationSuspectRecords () Query all the account records marked Suspect in the base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiOrgDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-3UQLL UCM Account B San Jose Suspect 03/31/ :49:38 None No Match Row Id getPersonSuspectRecords () Query all the contact records marked Suspect in the base table. O/P – SiebelMessage (SwiPerDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-4N6IJ Contact Hames Daveson_cln Johns Jr. 05/21/ :56:01 Pending 88-2O07E Today Today_cln 82 88-4KRI6 kumba12 shanmu56_cln 88-4KRHP Kumba285 Shanmu911_cln removePendingRecord () Remove Pending Flag for the Account/Contact record marked as Suspect in the base table. I/P – ObjectName, Id, PendingStatus. O/P – Status, ErrorCode, ErrorMessage. submitMergeRequestPersonRecord () Submit Merge request for the Contact records in the base table. I/P – MasterId, MatchId O/P – ResponseMessage (UCMMergeRequestRs), ErrorCode, ErrorMessage. Your request is put in the queue. 88-6LE3S Pending Review SubmitMergeRequestOrganizationRecord () Submit Merge request for the Account records in the base table. 30 Siebel Sales MS Integration - Functional TOI - 30

31 Siebel Sales MS Integration - Functional TOI - 31DGM services GovernService getOrganizationSuspectRecords To obtain all Account records marked suspect in best version table. getPersonSuspectRecords To obtain all Contact records marked suspect in best version table. removePendingRecord To remove pending flag for given contact or account record marked as suspect. submitMergeRequestOrganizationRecord To accept an approved request to merge two Account records. submitMergeRequestPersonRecord UCM Data Governance Manager Service is a business service that provides interface and also the implementation for the handling of the requests from the ADF based Data Governance Mini Application. The methods of this business service address the categories of Master, Consolidate, Share, Cleanse and Govern areas. These methods have been registered in the Siebel Web Service framework as Inbound web service operations for the following seven web services 1. MasterService 2. ConsolidateService 3.ConsolidateListImportService 4.ShareService 5.GovernService 6.CleanseCompletenessService  7.SystemsRegistrationService. MASTER getMasterEntitiesCount() – This method should be able to query number of mastered* Account and Contact records in given time frame. The input is given in the form of an Integration object where Object and SearchSpec are specified. Input Arguments – startDateTime, endDateTime, SiebelMessageInput (SwiRecordCountIO). Output Arguments – SiebelMessage (SwiRecordCountIOResult), errorMessage. Account Account 7050 *Master: - Object records that have been inserted, modified, deleted.(master) in the given time window. getMasterOrganizationDetails() – This method should be able to query details of mastered Account records in given time frame. I/P – startDateTime, endDateTime, StartRowNum, PageSize, SortSpec, SearchSpec, NewQuery. O/P – SiebelMessage (SwiOrgIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :11:52 07/08/ :05:27 NewAccount1_ SM Oracle Parkway_ SAN_ USA CA 903412 123456 getMasterPersonDetails() – This method should be able to query details mastered Contact records in given time frame. O/P – SiebelMessage (SwiPerIO), errorMessage, LastPage, NumOutputObjects. 07/08/ :36:47 07/08/ :36:46 GOODNAME GOODNAME_ 12/29/ :00:00 222222 < Address>oracle.com CONSOLIDATE getBatchProcessReport () - This method obtains the Completed, In Progress and Pending batches from given time frame. This method should return the details (System, BatchID, Description etc.) of the Batch in the form of an Integration Object. The status of the batch is determined as given below. Batch State Pending All SDH records should be in Batch or Queued state. In Progress For batch having more than one SDH record we should have at least one record in Batch or Rejected or Cleansed. Completed SDH Records should be not in Batch, Queued or Rejected state. I/P – startDateTime, endDateTime. O/P – SiebelMessage (SwiBatchInfoIO), errorMessage. 88-48LRG2 Account Default System 2 Completed getSpecificBatchReport() – This method should return the countof Completed, Pending and Rejected records in a particular batch (matching with Batch ID). The records are classified as below. Batch Records State Pending SDH records in Batch/Queued state Rejected SDH records in Rejected or Incomplete state Completed SDH Records NOT in Rejected, Queued, Incomplete, or Batch state I/P – BatchID, Object. O/P – CompletedRecordsCount, PendingRecordsCount, RejectedRecordsCount, errorMessage. getCompletedRecordsBatchReport () – This method should return the number of Inserts or Updates that occurred as part of a completed batch job. The records are mastered as part of the batch job, a new field called Actual Operation stores the information of the operation that happens. Completed Batch Records State Insert SDH records with Actual Operation as Insert Update SDH records with Actual Operation as Update I/P – BatchID, Object. O/P – NumOfInserts, NumOfUpserts, errorMessage. getOrgRejectRecordsDetailReport () – This method should return the details of all Account records that got rejected rejected as part of a particular Batch. I/P – BatchID, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiBatchOrgIO), errorMessage, LastPage, NumOutputObjects. Incomplete 88-6HKF31 Reva 2131 GIT Inc. 88-6HIUH PARTYUID getPerRejectRecordsDetailReport () - This method should return the details of all Contact records that got rejected rejected as part of a particular Batch. O/P – SiebelMessage (SwiBatchPerIO), errorMessage, LastPage, NumOutputObjects. 88-5WZDL1 < Address/> No user key can be used for the Integration Component instance 'Contact'.(SBL-EAI-04397) Kim 213123 Levine 88-5WYNA updateOrgBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Account records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchOrgIO). O/P – errorMessage. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? updatePerBatchRejectedRecords () - This method should allow the user to submit changes to field values of rejected Contact records with corrected information and update the values in SDH table. It also sets the UCM Type Code to Queued or Batch so that these corrected records can be picked up in the next Batch process iteration. I/P – BatchID, SiebelMessage (SwiBatchPerIO). ? ? ? ? ? ? ? ? ? obtainTemplateList () - This method should fetch the details of all Import Mappings that are currently present in UCM List Import module. These mappings are then used to import records from text or xml files into UCM (Dependency on UCM List Import). I/P – O/P – SiebeMessage (SwiImportMapsIO), errorMessage. 88-48LRB Acc Mapping Account Account Name 1 N Location 2 Main Phone Number 3 submitNewImport () - This method should take in details for a List Import Job (like Import Mapping, FileStream, DataType etc.) and create and submit an Import Job (Dependency on UCM List Import). Job. I/P – ImportJobParams (UCMImportJob). NEWT Inc.,Reva,2131 Comma Delimiter , EBS 88-6J1J5 Import new records LIC AccImpo28 Account One time (manually) LIC Text File LIC SHARE getShareInfo () - This method should obtain the number of records that have been Modified, Merged and Unmerged (Account or Contact) in the given time frame. Only real-time operations are counted. I/P – startDateTime, endDateTime, Object. O/P – MergeRecCount, UnmergeRecCount, ModifiedCount, errorMessage. CLEANSE getHubCompleteComplianceInfo() - Query from base table records which (based on date) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO). ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? O/P – CompletenessPercentage, NumofInCompleteRecords, TotalRecords, errorMessage. getSourceCompleteComplianceInfo() - Query from SDH table records which (based on date and Source System) are found to be InComplete based on user specified criteria. Criteria are input using IOs. I/P – startDateTime, endDateTime, ObjectName, SiebelMessageOrgIp (SwiOrgIO), SiebelMessagePerIp (SwiPerIO), SourceSystem. getSystemsRegistrationInfo () Query for systems registered in UCM. I/P – O/P – SiebelMessage (SwiSystemInfo), errorMessage. N SOAP CRM OnDemand CRM OnDemand qwwqas HTTP Default System Default System getHubOrgIncompleteDetail Query details of Hub Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgIO) . O/P – SiebelMessage (SwiOrgIO), LastPage, NumOutputObjects, errorMessage. 08/13/ :17:32 08/13/ :17:32 TESCO M CLAYTON SQUARE LIVERPOOL FL L1 1DP getHubPerIncompleteDetail Query details of Hub Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerIO) . O/P – SiebelMessage (SwiPerIO), LastPage, NumOutputObjects, errorMessage. 04/24/ :08:08 Sowjanya Ramakrishna < Address /> getSrcOrgIncompleteDetail Query details of Source Incomplete records from Account base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiOrgSDHIO), SourceSystem. O/P – SiebelMessage (SwiOrgSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDY0 Ebiz01 88-6HDXP Luke Mukund76 88-6HDY2 Source-Insert 88-6HDY0 getSrcPerIncompleteDetail Query details of Source Incomplete records from Contact base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery, SiebelMessageIp (SwiPerSDHIO), SourceSystem. O/P – SiebelMessage (SwiPerSDHIO), LastPage, NumOutputObjects, errorMessage. 88-6HDZC Arwen Elendil 23BC2C2A-BBF D7-CB47A 88-6HDZC GOVERN getOrganizationSuspectRecords () Query all the account records marked Suspect in the base table. I/P – endDateTime, startDateTime, StartRowNum, PageSize, SortSpec, NewQuery. O/P – SiebelMessage (SwiOrgDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-3UQLL UCM Account B San Jose Suspect 03/31/ :49:38 None No Match Row Id getPersonSuspectRecords () Query all the contact records marked Suspect in the base table. O/P – SiebelMessage (SwiPerDeDupResultsIO), LastPage, NumOutputObjects, ErrorCode, ErrorMessage. 88-4N6IJ Contact Hames Daveson_cln Johns Jr. 05/21/ :56:01 Pending 88-2O07E Today Today_cln 82 88-4KRI6 kumba12 shanmu56_cln 88-4KRHP Kumba285 Shanmu911_cln removePendingRecord () Remove Pending Flag for the Account/Contact record marked as Suspect in the base table. I/P – ObjectName, Id, PendingStatus. O/P – Status, ErrorCode, ErrorMessage. submitMergeRequestPersonRecord () Submit Merge request for the Contact records in the base table. I/P – MasterId, MatchId O/P – ResponseMessage (UCMMergeRequestRs), ErrorCode, ErrorMessage. Your request is put in the queue. 88-6LE3S Pending Review SubmitMergeRequestOrganizationRecord () Submit Merge request for the Account records in the base table. 31 Siebel Sales MS Integration - Functional TOI - 31

32 DGM Services Integration ObjectsNew Integration Object name Description SwiOrgIO IO based on Account BC SwiPerIO IO based on Contact BC SwiBatchInfoIO XML based IO for batch details SwiBatchOrgIO IO based on Account SDH BC SwiBatchPerIO IO based on Contact SDH BC SwiRecordCountIO XML IO to support dynamic input for getMasterEntititesCount. SwiRecordCountIOResult XML IO to support dynamic output for getMasterEntititesCount. SwiSystemInfo IO based on CIF system BC to query details for systems registered UCM. SwiOrgDeDupResultsIO IO to query details for suspect Account records and duplicates. SwiPerDeDupResultsIO IO to query details for suspect Contact records and duplicates. SwiImportMapsIO IO to query details of Import Mappings from List Import.

33 DGM services Integration Objects (Contd.)New Integration Object name Description UCMImportJob IO to input details and create a List Import Job. SwiOrgSDHIO IO based on Account SDH BC. SwiPerSDHIO IO based on Contact SDH BC. Data Model Changes for Siebel UCM Existing Table: S_UCM_CONTACT* Column Name Column Type Req LOV_TYPE Comment IMP_BAT_UNIQUE_ REF Varchar N The batch Id should be generated by all the sources of batch load into SDH Table OPERATION_CD Varchar(30) Yes (Insert, Upsert, Update, Deleted) Stores the actual operation executed for the incoming requests. ERR_CODE Error Code for List Import ERR_MSG_TEXT Varchar(250) Err Description for List Import * - Similar Data Model change for Account SDH Table

34 Agenda Data Governance Manager Business DriversData Governance Manager Capabilities Architecture and Software Requirements DGM Services DGM Installation & Deployment Implementation Considerations Quick look as a agenda. In DGM we will talk about Business Objectives followed by DGM capabilities and finally Architecture and Configuration on this tool - 34 34

35 DGM Application Installation35

36 DGM Application Installation36

37 DGM Application Installation37

38 DGM Application InstallationThe configurations are kept in /build/deploy.properties. Siebel Server Configuration Specify the url for Siebel server login, eg. Siebel Server Hierarchy Management Configuration Specify the url for Hierarchy Management, eg. Update Endpoint Information Specify the endpoint info of DGM web service according to your enviroment. Eg. Note: The endpoint info will be kept in xml files, so escape ‘&’ to ‘&’. * URL for Siebel Hierarchy Mgmt Configuration 38

39 DGM Application InstallationDe-Install 39

40 DGM Application Deploy Properties* /build/deploy. properties. Entry Name Default Value Description dgm_web_service_end_p oint N/A This configuration MUST be changed to the endpoints of DGM web service siebel_login_url This configuration MUST be changed to the url used for login into Siebel. govern_hier_url The url of hierarchy explorer batch_preview_page_size 23 Specify how many records in a page when previewing imported batch. paginate_page_size paginate_cache_size This configuration will specify how many records will be displayed in a page. #Note: For now, please keep the paginate_page_size and paginate_cache_size having same setting. batch_job_size 1000 When importing batch file, this configuration will specify how many records will be sent in a single request. min_date_format min_date_value MM/dd/yyyy HH:mm:ss 09/13/ :00:00 When choosing the query criteria of “From” calendar selector, the oldest time users can specify. The configurations are kept in /build/deploy.properties. Siebel Server Configuration Specify the url for Siebel server login, eg. Siebel Server Hierarchy Management Configuration Specify the url for Hierarchy Management, eg. Update Endpoint Information Specify the endpoint info of DGM web service according to your enviroment. Eg. Note: The endpoint info will be kept in xml files, so escape ‘&’ to ‘&’. 40

41 DGM Application Launch & Source CodeLaunch DGM Open browser, and access the following url to visit DGM. e.g.. Note: Java script and Active Control should be permitted to display the page.   Source code The installer will extract DGM source code and install package to a directory In \src folder the MDMFront.jws can be opened in JDeveloper to make any source code changes 41

42 Agenda Data Governance Manager Business DriversData Governance Manager Capabilities Architecture and Software Requirements DGM Services DGM Installation & Deployment Implementation Considerations Quick look as a agenda. In DGM we will talk about Business Objectives followed by DGM capabilities and finally Architecture and Configuration on this tool - 42 42

43 How to Extend DGM ApplicationSkills needed for Extension Java Jdeveloper ADF Weblogic (basic understanding)

44 How to Extend DGM ApplicationModel Layer: Import wsdl, generate java web service proxy through the wsdl. We have the ComplianceService.wsdl, and generate java web service proxy. 2. Model Layer: Develop service class which will wrap the web service proxy, and expose the web service method to the view layer. We develop ComplianceService.java, which expose a getComplianceInfo method. 3. Model Layer: Generate Data Control through service class. Using JDeveloper to generate data control for ComplianceService.java. 4. View Layer: Create jspx page and corresponding java backing bean, pageDef.xml. 5. View Layer: Adjust layout of the page, drag and drop exposed method / resultset in the data control to the page. Drag and drop the getComplianceInfo from the data control to jspx page. 6. View Layer: Add these exposed method or attributes to pageDef.xml. Define getComplianceInfo in pageDef.xml. 7. View Layer: Add code in backing bean to invoke these methods.Develop a method in backing bean, which will look into the pageDef, and invoke web service to get compliance info eventually. 8. Deployment: Deploy EAR file in Web Logic Server

45 Implementation Considerations (Contd.)DGM Web Service errors ErrCode sent back as SOAP Faults shown on the DGM Application UI List of Errors - from DGM Web Services :Failed to find Integration Object name for Method . :Failed to find Required Parameter: for Method . : Invalid in Method . : No Found in Method . Log file on Siebel UCM In log folder under root directory look for EAIObjMgr_enu_XXXX_.log file Locate the error by searching for the following string “error DGM Webservices return ErrCodes which are shown on the DGM Application UI 45 Siebel Sales MS Integration - Functional TOI - 45

46 Implementation Considerations (Contd.)Guidelines, and Assumptions All the records in the batch expected to belong to single source system. One batch contains records from one object (Account or Contact) only. Time period selectable at every screen Time period selected at the login screen will be used as default time period for subsequent Refresh screen button at every screen Logout function almost on every page/screen Completeness criteria and participating attributes must be user configurable through a UI Pagination Every Detail records report includes Returns Batch size number of records Provide function to select time periods. For example Today, Last Month, Last Week, User selected, and All. Adjust and display ‘From date time’ and ‘To date time’ variables according to the time period selected . Adjust ‘ Time period’ to ‘User selected) if other then Today, Last Month, Last Week and All. 46 Siebel Sales MS Integration - Functional TOI - 46

47 Key Take Away DGM is targeted to address the technology requirements of Data Governance DGM is solution to address day to day operational and analytical need of Data Steward DGM helps do Define, Operate, Monitor, and Fix operation on top of Customer Hub DGM is J2EE based composite application connected via web services to Customer Hub DGM is not a separate sku on the pricelist, but licensed as part of base Customer Hub license

48 Resources Web logic ADF JDeveloper Fusion Developer’s Guide ADF JDeveloper Fusion Developer’s Guide Web User Interface Developer’s Guide New Tech pub / BookShelf Oracle Customer Hub (UCM) MDM Reference Version 8.2 ( , Quick Fix 3103)

49 49