About Cross Database Comparison
Cross Database Comparison (CDC) is a tool in SAP Solution Manager. You use this application to compare data sources with a complex structure or hierarchy. You can also do this across different systems. By doing so, you check whether the data in the source and target systems is consistent, for example, whether updates in the source system have been correctly replicated to the target system. Examples of complex data sources are sales orders with several billing items or a customer master record containing multiple addresses, partner roles, and bank details.
Even though the data sources must contain the same data logically, they can have different values once they have been forwarded to a different system, for example from an ERP system to a CRM system.
You can:
Model the data you want to compare
Compare data at any time or schedule regular comparisons
Display the results in an overview containing all the relevant details
This is a generic application, which means that you can use it to check the data consistency in both ABAP and non-ABAP systems. To do so CDC provides multiple access paths to the data which are called source types.
Customers often ask the following questions:
- How can I check data between different SAP or Non-SAP systems for consistency?
- How can I proceed if I face an inconsistency that cannot be detected by standard consistency check tools, but I do not want to write additional coding for each of the required checks?
From those questions, the following requirements for Cross Database Comparison can be derived:
- Data in different systems including Non-SAP systems or XML files needs to be checked for consistency
- Typical use cases include ad-hoc or regular end-to-end comparison of master or transactional data exchanged between multiple systems including non-ABAP systems
What can you do with Cross Database Comparison?
You create comparison data models in the SAP Solution Manager system. In a data model, you specify which data from which data sources (SAP/Non-SAP systems) you want to compare and create filters. The data extractors provided in the managed systems, extract the required data and save it either centrally on a file server and later used by comparison run or directly used for comparison run in the Solution Manager system.
You create comparison definitions. A comparison definitions contains a data model. In a comparison definitions, you specify which specific systems are to be compared using which filter settings.
You create comparison groups. A comparison group contains several comparison definitions which are grouped logically and started and stopped together during the comparison run.
You schedule comparison runs. By doing so, you specify when and how often you compare the relevant data sources.
You display the comparison results. By doing so, you can see where the inconsistencies are in the data sources. You can display the results of the comparison in Business Process Monitoring and in the BPO dashboard as well. To do so, configure the relevant settings in Customizing for Business Process Monitoring and for the BPO dashboard.
What does CDC Provide | |
---|---|
General Features |
|
Solution Manager 7.2 | |
SP12 |
|
SP10 |
|
SP09 |
|
SP08 |
|
SP07 |
|
SP06 |
|
SP05 |
|
SP04 |
|
SP03 |
|
SP01 |
|
Solution Manager 7.1 | |
SP14 |
|
SP12 |
|
SP10 |
|
SP5 |
|
Correct Version of Software Components
In order to set up CDC, you require having a Solution Manager 7.2 with the most current Service Pack. Also it is highly recommended to have the latest ST-PI and ST-A/PI addons installed on the managed ABAP systems.
The newest releases and latest versions are always available via the SAP Service Marketplace by using the URL http://service.sap.com/swdc.
For the latest information regarding software requirements (Support Packages and SAP Notes) please refer to SAP Note 521820.
ST (SAP Solution Manager) provides the CDC application and certain advanced features are only available in newer Support Packages. Also, in order to proactively fix known issues, we recommend to install the collective SAP Notes listed below.
- Please find your SP level within the list, and install all SAP Notes for this level and all levels listed above. This way you are sure that all known fixes are applied proactively.
ST-A/PI (on SAP Solution Manager) needs to be considered only in such cases, where you would want to integrate CDC comparison results into BPMon (Business Process Monitoring) for an automated alerting and notification.
ST-PI (on each ABAP source system) needs to be considered in cases, where you would want to use the generic ABAP extractor function module instead of generating specific ABAP extractor function modules for each data model.
Notes Required | |
---|---|
Solution Manager | |
SP12 | 2979855 - Advance Corrections CDC SM 7.2 ST720 delivered with SP13 |
SP11 | 2922898 - Advance Corrections CDC SM 7.2 ST720 delivered with SP12 2962185 - Cross Database Comparison: Trying to start group leads to Internal Server Error |
SP10 | n/a |
SP09 | 2786066 - Advance Corrections CDC SM 7.2 ST720 delivered with SP10 |
SP08 | 2725800 - Advance Corrections CDC SM 7.2 ST720 delivered with SP09 2646825 - Correction CDC Usage Reporting 2739510 - CDC 7.2: New conversion routine for Oracle default date |
SP07 | 2610756 - Advance Corrections CDC SM 7.2 ST720 delivered with SP08 |
SP06 | 2518091 - Advance Corrections CDC SM 7.2 ST720 delivered with SP07 2777967 - CDC 7.2: Block extraction fails for Source type OData when using keys on which no relative filters can be applied |
SP05 | 2438807 - Advance Corrections CDC SM 7.2 ST720 delivered with SP06 2608272 - CDC: Incorrect query generation when using multiple blocks in the OData Source type |
SP04 | 2396468 - Advance Corrections CDC SM 7.2 ST720 delivered with SP05 2474498 - Downport for CDC Reporting API |
SP03 | 2321224 - Advance Corrections CDC SM 7.2 ST720 delivered with SP04 |
General Notes (ST-PI and ST-A/PI) | |
ST-PI
| 2643766 - CDC Generic Extractor: WHERE clause for expert filters generated without table name 2602099 - CDC Generic Extractor: Expert filters with only one filter 2635751 - CDC: Syntax error in where clause for table names with special characters for expert filters in source type ADBC 2570281 - CDC generic extractor: Expert filter with one set 2601343 - CDC: Expert filters with only one filter 2493939 - CDC Generic Extractor: Wrong WHERE clause generation for Expert Filters with multiple values 2305841 - CDC Generic Extractor: New features for Aggregates & Aggr.Filters 2425486 - CDC: Enable views for IDC source type 2198113 - CDC: Generic extractor fails to extract objects with initial key value 2187045 - CDC generic extractor: error extracting data from view 2183824 - CDC generic extractor: invalid SQL statement because of truncated column name 2083332 - CDC generic extractor: error when joining multiple tables to the same table |
ST-A/PI
| 2768684 - Cross Database Comparison: Lower case schema names not considered 2316675 - CDC Data Collector Performance Issues 2333929 - CDC / BPMon nonABAP: Support quoted IDs for dot and colon in table/view names 2317307 - Incorrect monitoring values 2266779 - /SSA/ENA terminates unexpectedly because of CX_SY_DYN_CALL_ILLEGAL_TYPE and keyfigures not displayed because CL_DSWP_CDC_RESULT method not found |
Service Activation
In order to run the CDC WebDynpro application inside your browser, you have to activate the corresponding services per transaction SICF (right-click on service name and choose Activate Service):
- WDA_DSWP_CDC_MAIN is mandatory for the main application
- WD_DSWP_CDC_ACF if you want to compare XML files from your local PC
- WDA_DSWP_CDC_GENERATION if you want to use mass generation of comparisons
- WDA_DSWP_CDC_GROUP_M if you want to use comparison groups
To use the Cross Database comparison tool in solution manager, certain roles and authorizations are required. This is to prevent misuse of sensitive data and to only allow certain functionality to be accessible by certain users. Below is a simple CDC workflow and authorization chart.
Following different types of authorization are required to be able to create and run CDC comparison in solution manager:
General Authorizations
Several authorization objects control the access to the different features of the Cross Database Comparison. To access and work with the Comparisons the following authorizations are needed:
Data Model Maintenance | Comparison Maintenance | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Authorization object SM_CDC_OBJ | Authorization Object SM_CDC_INS | ||||||||||||||||||||||||||||||
Restriction to specific Data Model names via authorization field CDC_OBJ_N
| Restriction to specific Comparison names via authorization field CDC_INST
|
Others
Authorization object SM_CDC_OBJ | Authorization Object S_DBCON | ||||||||
---|---|---|---|---|---|---|---|---|---|
To trigger the Extractor Function Module Generation in the managed system
| Extraction from remote database (ADBC connection)
|
Template Roles
SAP_CDC_OBJECT_MODELER *
For developing Data Models: The Object Modeler can create/change/delete the data modeling and generation, but is not allowed to create a runnable comparison instance of it
SAP_CDC_INSTANCE_CREATOR *
For creating/developing Comparisons: The Instance Creator can display and use an existing data model in order to create/change/delete comparisons, but cannot change the data model itself
SAP_CDC_INSTANCE_EXECUTER
The Instance Executer can execute and reorganize the comparison run, but can neither output the result, nor change the comparison and its data model
SAP_CDC_INSTANCE_ANALYZER
The Instance Analyzer can output the result (business data), but cannot execute the run himself, nor change the comparison and its data model
A user typically has a combination of the two roles SAP_CDC_OBJECT_MODELER and SAP_CDC_INSTANCE_CREATOR
Source Type and Special authorizations
These are authorizations depending on the used Source Types (access techniques to the source systems), Business Process Monitoring and SLT. Some may be needed on SAP Solution Manager itself and some may be needed on the individual source system
The following authorizations are needed to generate extractor function modules in the managed system:
During definition of Data Models
On SAP Solution Manager
- Read RFC Connection to managed development system (with background user), for dictionary access
- Trusted RFC Connection to managed development system (with dialog user), for extractor generation
On managed system
- Authorization object S_DEVELOP (to create new function modules)
- Authorization object S_RFCACL (to use the trusted connection)
- Authorization object S_RFC (to execute function modules remotely)
- Function group SEUF for function module RS_FUNCTIONMODULE_INSERT
- Function group SUNI for function modules FUNCTION_EXISTS and RS_FUNCTION_POOL_INSERT
- Function group OXT_GENERIC_SERVICES for function module OXT_CHECK_DEVCLASS
- Function group SDTB for function module DD_TABL_GET
- Function group SDTX for function module RFC_READ_TABLE
- Function group SRFC for function module RFC_PING
Available as template role SAP_CDC_EXTRACTOR_GENERATOR
During execution of Comparison Runs
On SAP Solution Manager
- Read RFC Connection to managed system, for data extraction (typically from the production system)
On managed system
Authorization object S_TCODE for transaction SE16
Authorization object S_TABU_DIS (for the table groups to be extracted)
S_TABU_NAM is also supported
For details on these two authorization objects see SAP Note 1434284
- You need to maintain all table groups/names manually according to your data models!
- Authorization object S_RFC for the generated extractor function modules
- The function group is typically in Z namespace
Available as template role SAP_CDC_DATA_READER
(Using a generic extractor function module and IDC)
During definition of Data Models
On SAP Solution Manager
Read RFC Connection to managed system, for dictionary access
On managed system
Authorization object S_RFC (to execute function modules remotely)
- Function group SUNI for function modules FUNCTION_EXISTS and FUNCTION_IMPORT_INTERFACE
- Function group SDTB for function module DD_TABL_GET
- Function group SDTX for function module RFC_READ_TABLE
- Function group SRFC for function module RFC_PING
Available as template role SAP_CDC_DATA_READER
During execution of Comparison Runs
On SAP Solution Manager
Read RFC Connection to managed system, for data extraction (typically from the production system)
On managed system
- Authorization object S_TCODE for transaction SE16
- Authorization object S_TABU_DIS (for the table groups to be extracted)
- S_TABU_NAM is supported
- For details on these two authorization objects see SAP Note 1434284
- You need to maintain all table groups/names manually according to your data models!
- Authorization object S_RFC for the generic extractor function modules /SDF/DCC_CDC_GENERIC_EXTRACTOR and /SDF/DCC_CDC_IDC_GEN_EXTRACTOR
- Delivered by add-on ST-PI 2008_1_700 SP08 (SAPKITLRD8)
- or as manual down-port with SAP Note 1819794
Available as template role SAP_CDC_DATA_READER
(using a remote database connection)
On SAP Solution Manager
Authorization object S_DBCON
- DBA_DBHOST Name of the DBCON entry for the remote database in transaction DBACOCKPIT
- DBA_DBSID (not used)
- DBA_DBUSER (not used)
- ACTVT Activity 71
There is an authorization check on the SAP ABAP stack for the remote database access, based on the authorization object S_DBCON. The user running the CDC data modelling or CDC comparison run needs an authorization that has the name of the DBCON connection as “Server Name” and allowance for Activity 71 ("Analyze"). The rest of the fields can have wildcard '*'. The “Database Name” and “Database User” have no meaning in this context, as the technical connection parameters and the login credentials are already defined in the corresponding DBCON entry.
On the remote database, the DB login user needs to have read-only access in the application schema for all tables used in the CDC data model, as well as the data dictionary (catalogue).
For data model creation (design time):
- BAPI_CUBE_GETLIST
- BAPI_MDPROVIDER_GET_DIMENSIONS
- BAPI_MDPROVIDER_GET_MEASURES
To run comparisons:
- RSR_MDX_BXML_GET_INFO
- RSR_MDX_BXML_GET_DATA
During background execution of the BPMon data collector
On SAP Solution Manager (from BPMon point-of-view, Solution Manager is a managed system here)
The background user that is used for the BPMon data collection (e.g. SM_BPMO) needs display-only authorization for the Comparison, which are maintained as filter parameter in the BPMon Setup. It is recommended to assign template role SAP_CDC_INSTANCE_ANALYZER .
During the call of the detail info feature in BPMon alert list to navigate to CDC UI
On SAP Solution Manager (from BPMon point-of-view, Solution Manager is a managed system here)
The dialog user that is calling the detail info CDC UI needs display-only authorization for the Comparisons and special authorization to view the detailed result data (ACTVT 35 = Output). It is recommended to assign template role SAP_CDC_INSTANCE_ANALYZER
The BPMon Framework does it own standard checks before allowing detail info calls using Authorization object SM_BPM_DET, which is included in standard role SAP_MANAGED_BPOANA_DIS
Whitelist to access files on an application server of the Solution Manager
If you want to compare data stored in files on an application server of the Solution Manager, for security reasons it is required that you define from where the CDC application is allowed to read data.
CDC is using the logical file name CDC_DATA_FILE defined in transaction FILE. This logical file name is shipped and refers to the logical file path CDC_FILE_PATH:
The logical path CDC_FILE_PATH is also shipped, but not yet assigned to physical paths. Assign one or more physical paths from where the CDC application is allowed to read data.
Procedure
- Start transaction FILE to maintain logical file path definitions.
- Mark logical file path “CDC_FILE_PATH” and choose Assignment of Physical Paths to Logical Path in the dialog structure.
- Enter one or multiple physical paths from where the DC application is allowed to read data.
The example above shows the assignment of the physical path “/tmp” for a Unix compatible system. The physical path names must contain the placeholder “<FILENAME>”. Please note that there might be a different syntax for other systems like “\tmp\<FILENAME>” for Windows systems. The assignment means that the CDC application is allowed to read files stored in the “/tmp” path of application servers of the Solution Manager. If you are trying to compare files from other physical paths, the CDC application will run into error “Validation of file path and name failed” (DSWP_CDC822). It is also possible to assign further physical paths.
Please refer to the documentation of transaction FILE for more information about logical file and path name definition and the assignment of physical paths.
Integration between SLT (LT Replication Server) and CDC
RFC User for the direction SLT to Solution Manager (to execute expert functions)
On SAP Solution Manager
- Authorization object S_RFC (to execute function modules remotely)
- Function group DSWP_CDC_APP for all function modules DSWP_CDC_GET*
- CDC display authorizations (based on authorization objects SM_CDC_OBJ and SM_CDC_INS)
- It is recommended to assign template role SAP_CDC_INSTANCE_ANALYZER.