cancel
Showing results for 
Search instead for 
Did you mean: 

BI SDK - How to compare reports before- and after- migration

former_member190457
Contributor
0 Kudos

Hi developers,

I was asked to develop an application which performs comparison of BI documents (mostly Webi).

The customer wants to run this tool to ensure that reports stay consistent across migrations and patchings.

Basically this is some kind of automated unit testing for reports.

My question is:

which Java BI SDK would you use to compare reports and check that they have the same output (provided they have same data sets)?

Thanks, regards

Vincenzo

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Vincenzo,

Here is answers:

which Java BI SDK would you use to compare reports and check that they have the same output (provided they have same data sets)?

SDK to be used is based on the report to be operated using SDK, here is a list of SDK based on the report you are dealing with:

Webi- Report Engine SDK (ReBean SDK)

Crystal: Enterprise SDK or RAS SDK

You can compare the datasets by executing the reports with same parameters across both the environments i.e. source & destination environment. It would be easier for you to implement if you can get the report output in PDF or Excel format and integrate some comparator tool to compare the outptuts for both the environments.

You can also get the CUID for reports across the environments and can compare them just to validate the report properties. CUID of an object does not changes across environments.

Also, you can get the count of objects in webi reports and can easily compare the numeric value to validate if objects are not missing in destination environment.

Data validation would be the only hectic task and can be done easily as explained in first point above.

You can get the list or count of universes for reports across environments and validate it.

In case the instances are also migrated, you can get the count of instances or schedules based on report across environments and validate it.

All the above tasks can be completed using SDK.

Hope it helps.

Regards,

Anchal

former_member190457
Contributor
0 Kudos

Hi Anchal,

your kind reply really provided a lot of insight.

Do you think there's any other option for comparing reports other than integrating an external tool?

I really can't think of how to compare the classic HTML output by API

Thanks again, regards

Vincenzo

Former Member
0 Kudos

Hi Vincenzo,

As per your statement about comparing the classic HTML output by API, I would say that is why I have suggested you to get the output of the webi report in excel of PDF format (you can export the report to any of the mentioned format using SDK) and pass it implicitly as arguments for an excel or PDF comparator tool that can compare it. There might be some other ways to validate the data in report using SDK but I am really short of ideas as if now.

However, I will definitely research more on it and will let you know in case I found some acceptable resolution using business objects specific SDK.

Regards,

Anchal

former_member190457
Contributor
0 Kudos

Thanks again for your help Anchal. I actually found out that the DBUnit library supports Excel spreadsheet comparison. Exporting Webi reports in Excel through the API creates binaries and files which can be fed to DBUnit for check.

I have a little doubt about SDK compatibility. I will develop the application using the sdk version from BI4 release and a given SP level. Will this application be able to interact with another BO server on different release (BI3) or patch level?

Thanks and regards

Vincenzo

Former Member
0 Kudos

Hi Vincenzo,

with BO XI 3.1 there were useful classes in ReSDK e RasSDK that allowed you to open a report (DocumentInstance) and get its internal structure in terms of variables, objects and dimensions (ReportDictionary,ReportStructure,SQLDataProvider). Now, they are no more implemented.     

Answers (1)

Answers (1)

alfons_gonzalez
Active Participant
0 Kudos

Hi Vincenzo,

We are planning to do exactly the same kind of SDK development that you mention. We aim use SDK Report API to export reports to Excel and compare them with existing previously to detect any change caused by patches/upgrades. Which Java API do you recommmend to use for Excel comparison?

Thanks for your feedback,

former_member190457
Contributor
0 Kudos

Hi Alfons,

I used Apache POI, which proved to be easy and reliable for my use case.

Hope you are successful with your project.

Regards

Vincenzo

Former Member
0 Kudos

Hi Vincenzo,

I was listening to some SAP webinar in which they explained "SAP planned to release a tool which can generate a webi report showing the differences before and after migration of the webi reports to new version of software, in order to ease the validation process in BI4.X  with no hassle. Is SDK's only the way to do the comparisons for validation of the reports ? As many of the BI customers have very less knowledge of implementing SDKs, is there any tool out there that is released by SAP to ease the validation process after migration of the reports, Please let me know that would be a great help.

Please guide the procedure and links for implementing the same using the SDK's as well.

Thanks