When using the Upgrade Management Tool to import from an earlier version of BusinessObjects Enterprise, some objects and instances fail with the following error:
"Two destination property bags exist. Use the bag that is appropriate for your client's version number: SI_DESTINATION (version XI and earlier) and SI_DESTINATIONS (version XI Release 2 and later)."
- SAP Business Intelligence Platform 4.0
- Importing from any previous version of BusinessObjects Enterprise
- The affected objects and instances have been carried over from version XI R1 or earlier
Reproducing the Issue
- Identify report objects and instances which have existed in the system since version XI R1 or earlier.
- In SAP Business Intelligence Platform 4.0, use the Upgrade Management Tool to import those objects from an earlier version of Enterprise, either directly or via BIAR file.
- Affected objects and instances will report failures at the completion of the import, failing with the message, "Two destination property bags exist. Use the bag that is appropriate for your client's version number: SI_DESTINATION (version XI and earlier) and SI_DESTINATIONS (version XI Release 2 and later)."
- As referenced in the error, the affected objects and instances have duplicate properties which were safely ignored in previous versions of Enterprise.
- This issue can only be resolved by removing the SI_DESTINATION property in the source environment.
- A general description of the process to resolve this issue is:
- Identify affected reports which contain the extraneous SI_DESTINATION property
- Isolate the list of those report objects' CUIDs
- Plug the list of CUIDs into a script, which is used to target those objects and remove the offending SI_DESTINATION property
- The objects can then be migrated successfully using the Upgrade Management Tool
Here are specific steps you may follow:
- Ensure a complete backup of the environment is available, including system database and file stores and any other components.
- Find the Upgrade Management Tool CSV log in the SAP BI Logging directory. The file is named upgrademanagementtool*.csv, where the * represents a 17-digit date/time stamp.
- Open the CSV file in Microsoft Excel.
- Remove the first 17 rows, so that the new Row #1 contains the headers for the remainder of the content (Message timestamp, Message type, etc.)
- Right-click the Message Content column header cell and choose Filter > Filter by Selected Cell's value. Filter only the message of interest, "Two destination property bags exist..."
- Now that you've filtered the content, you have a list of the Object CUIDs of all affected objects and instances (column G). The next step is to turn this list into a comma-separated list for use in the script.
- Download and run the application TextPad*
- From Excel, highlight the column of CUIDs (minus the column header) and paste the list into TextPad
- Use Macros to format the text such that the CUIDs list look like this: 'CUID1','CUID2','CUID3'
- (note: Macros are NOT necessary, especially if you only have a few CUIDs to format. Manual is always an option, but this is more effective when hundreds or more CUIDs need to be specified.)
- Use the Macros menu to first Record then play the macros
- Macro 1 should go to the beginning of the line (Home key), type a single quote, go to the end of the line (End key), type another single quote, then hit the down arrow to go to the next line
- Macro 2 should go to the end of the line (End key), then hit the delete key once to pull the following line up. Essentially, it is meant to simply remove carriage returns.
- Run both macros, in order and starting at the top of the file, using the Multi-play option with the option selected to "Repeat to end of the file."
- Again, the final list should look like this: 'CUID1','CUID2','CUID3'
- Copy the formatted CUID list into the attached script file, delete-si_destination.txt, into the appropriate section on line 21.
- Ensure the line is formatted correctly, e.g. in ('CUID1','CUID2','CUID3')";
- Populate the correct Administrator password and CMS name on lines 14 and 15.
- Save and rename the script's extension to .jsp
- Drop the .jsp file into a deployed virtual directory on the application server, then call it by the appropriate URL
- For example, http://servername:8080/CmcApp/delete-si_destination.jsp
- The script will run automatically, without user input
- For matched objects which do not contain the SI_DESTINATION property, the script outputs a message stating so. Use this to confirm the script ran successfully. Run the script a second time and count the lines of output. If you targeted 200 objects, the second run should display 201 lines of output (the line stating it was run successfully + 200 individual messages about the property not being found).
note: Macros are useful when a large number of objects need to be targeted. For smaller batches, the list may be compiled manually.
note: It is possible to target objects on criteria other than SI_CUIDs. Simply modify the selection criteria on line 21 as needed. The recommendation to use CUIDs is generally ideal because it targets only the appropriate objects, and is a proven method in terms of both efficiency and efficacy.
KBA , BI-BIP-ADM , BI Servers, security, Crystal Reports in Launchpad , BI-BIP-CRS , SAP Crystal Server , Problem