Introduction
Comparing RPD is a very necessary and useful process in RPD
development. It is good to consider doing it in the following use cases.
- You have a customized RPD and want to find out the differences between the customized RPD and the OOTB RPD.
- You did some customization on the RPD and want to check if the customization is done as expected.
- The administrator wants to check the differences in the later RPD with the older RPDs.
- You want to upgrade your RPD and you are not sure if there are any upgrade issues from one release to anther release. You can compare the RPDs for the two releases to catch issues before upgrading.
There are many more cases to compare RPDs. This blog describes
how to compare the RPDs.
There are two ways to compare RPDs, one is to use the
compare utility and another is to use the compare dialogue in the admin tool.
You can choose either way to compare your RPDs. Here are the
comparison of the two methods and some tips.
- RPD compare utility is executed by the command line, so it doesn’t need the admin tool open.
- RPD compare dialogue can be directly used in admin tool.
- When two local RPDs are compared, especially when they require different OBIEE versions, RPD compare utility is recommended.
- When modifications are performed in the RPD with admin tool and it is to be compared with benchmark RPDs(for example, the original RPD), RPD compare dialogue is recommended. See the details in the next sessions.
Compare RPDs with Utility
There are utilities used for rpd comparison in OBIEE. You
can call the utilities with a few commands in the command prompt of Windows. Here
lists the steps to compare RPDs with this option.
Step 1 - Choose your OBIEE version
Use the later version of OBIEE to
do the comparison if you compare the two releases, and the two releases need
different versions of OBIEE.
For example, there are two releases, let’s say release 1 and release 2. release 2 uses the later version of OBIEE. To compare the two releases, you need to use the OBIEE version for release 2.
For example, there are two releases, let’s say release 1 and release 2. release 2 uses the later version of OBIEE. To compare the two releases, you need to use the OBIEE version for release 2.
Step 2 – Check out the subset of RPDs
It is recommended to check out the
subset of RPDs that you want to compare with the projects you are interested
in. Comparing the entire RPDs will be very inefficient and time-consuming.
Step 3 – Equalize the RPDs
Before comparing the RPDs, you
should equalize the RPDs first with equalizerpds utility. The equalizerpds utility will equalize the Upgrade ID of objects in two
separate repositories. If objects have the same Upgrade ID, they are considered
to be the same object. The utility compares Upgrade IDs from the first
repository (typically the original repository) with Upgrade IDs from the second
repository (typically the modified repository). Then, the utility equalizes the
Upgrade IDs of objects with the same name, using the Upgrade ID from the
original repository.
equalizerpds.exe can be found
under <ORA_HOME>\Oracle_BI1\bifoundation\server\bin.
· Syntax
The equalizerpds utility takes the
following parameters:
equalizerpds [-B
original_repository_password] -C original_repository_name
[-E modified_repository_password] -F
modified_repository_name [-J rename_map_file]
[-O output_repository_name] [-Y equalStringSet]
· Explanation
Original and modified repository – Use the base repository as the
‘original’ repository and use repository you want to compare as ‘modified’
repository.
For example, if you want to
compare release 1 and release 2 RPDs to find out upgrading issues to upgrade
from release 1 to release 2, put release 1 RPD as the original and release 2
RPD as the modified repository.
rename_map_file
When you equalize objects, you can
lose track of object renames because legitimate object renames become different
objects. In other words, intentional renames you did in the repository might be
changed to different Upgrade IDs, so subsequent merges erroneously treat the
renamed object as a new object. To avoid this situation, enter the before and
after names of intentionally renamed objects in a rename map file that you then
pass to the utility. The equalizerpds utility uses the information in the file
to ensure that the original IDs are used in the renamed current objects.
rename_map_file is a text file containing a
list of objects that were renamed and that you want to equalize. The format is
a tab-separated file with the following columns:
TypeName Name1 Name2
For example, logical column "Core"."Dim - Customer"."Address4" is re-named as "Core"."Dim - Customer"."Address 4" from Release 1 to Release 2. The file can be written as
Logical Column "Core"."Dim - Customer"."Address4" "Core"."Dim - Customer"."Address 4"
Tip: How to find out the TypeName value?
Query your object with Query Repository tool in the admin tool, and you will find the TypeName value in the result.
1. Open the admin tool. Go to Tools->Query Repository
2. In the popup dialogue, query your object.
3. You will find the Type value in the result.
You can put this file in any
folder in your machine, and give the absolute path in rename_map_file parameter. See the example
below.
· An equalization command example
equalizerpds -B pwd123
-C C:\rpdcomparison\release1\release1.rpd -E pwd123 -F C:\rpdcomparison\release2\release2.rpd
-J C:\rpdcomparison\rename-map-file.txt
-O C:\rpdcomparison\release2\equalizedrpd.rpd
Step 4 – Compare the RPDs
Now you can compare the RPDs with the
comparerpd utility. comparerpd.exe can be found under
<ORA_HOME>\Oracle_BI1\bifoundation\server\bin.
· Syntax
The comparerpd utility takes the
following parameters:
comparerpd [-P modified_rpd_password] -C
modified_rpd_pathname
[-W original_rpd_password] -G
original_rpd_pathname {-O output_csv_file_name |
-D output_patch_file_name | -M
output_mds_xml_directory_name} -E -8
· Explanation
Original and modified repository –
Use the base repository as the ‘original’ repository and use repository you
want to compare as ‘modified’ repository. The ‘modified’ repository should be
the equalized RPD got from step 3.
-O output_csv_file_name is the name and
location of a csv file where you want to store the repository object comparison
output.
-D output_patch_file_name is the name and
location of an XML patch file where you want to store the differences between
the two repositories.
-M output_mds_xml_directory_name is the
top-level directory where you want to store diff information in MDS XML format.
Note: You can specify an output CSV file using
-O, an XML patch file using -D, or an MDS XML directory tree using -M. You
cannot specify more than one output type at the same time.
· A comparison command example
comparerpd -P pwd123 -C
C:\rpdcomparison\release2\equalizedrpd.rpd -W pwd123 -G C:\rpdcomparison\release1\release1.rpd
-O C:\rpdcomparison\results.csv
Compare RPDs with Compare Dialogue
In this session, I will describe how to compare RPDs with the compare
dialogue. The compare dialogue must be used with admin tool opened.
Compare the MUD RPD Before and After the Modification
· Open
your fixed MUD RPD.
· Go to
‘File’->‘Multiuser’->’Compare with Original’.
It will compare the current modified rpd with the local copy of the original
rpd.
Compare the local RPDs
You can also use compare dialogue to do the
comparison for the local RPDs.
Note: It is recommended to use the compare utility
to compare the local RPDs. Remember to extract the subset of RPDs before
comparing. Comparing the entire RPDs will be time-consuming.
· Open your local RPD, let’s say RPD1 with admin
tool. This RPD is the base RPD in your comparison.
· Go to ‘File’->’Compare’.
· Select the repository or XML file in the popup
compare dialogue.
· Enter the password for the repository which you
want to compare to, let’s say RPD2. RPD2 will be the modified repository.
· The compare dialogue will open the RPD2,
equalize RPD2, then compare the RPD2 with RPD1, and finally show the results.
· You can see what the object looks like in RPD1
and RPD2 by clicking ‘View 1’ and ‘Edit 2’.
View 1 – the object in
RPD1
Edit 2 – the object in
RPD2
· Save the diff file as .CSV file in your local
machine.
In summary, RPD comparison is a good tool for RPD development. Using it appropriately will build more confidence for your RPD modification, fix and upgrade. It makes the RPD development more smooth and less error-prone if adding RPD comparison as a necessary process.
No comments:
Post a Comment