cancel
Showing results for 
Search instead for 
Did you mean: 

SAP BI Platform CMS extracts

zjaffary
Explorer
0 Kudos

Hello,

I need help with extracting data from the CMS database. Specifically, I am looking to get information on all Connections, Documents, Schedules, Universes, and Users to generate reports. I have tried using the Query Builder, but I found it less user-friendly. I came across \SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\Samples\BI on BI, but I couldn't find any documentation on how to use the information in it.

Can you please provide me with some useful information? I would like to know how to utilize the JAVA SDK or the BIONBI Connection (BI platform CMS system database.cns) and Universe (BI platform CMS system database.unx). Additionally, do you have any sample Webi reports on top of this UNX?

Thank you.

Accepted Solutions (0)

Answers (1)

Answers (1)

DellSC
Active Contributor
0 Kudos

There are a couple of third-party tools that will pull this information for you.  APOS and Wiisdom (formerly GB&Smith) have tools for this.

It's also not too difficult to get this information using the Java SDK - I wrote a program that does this for all sorts of info from the CMS database and spits the data out as .csv files.  The thing to remember when querying the CMS database through the SDK is that, by default, queries will only return 1000 records.  If you don't have that many reports and instances, then that's not something to worry about.  If you do, then you'll need to either set a high limit on the number of rows using "Top N" syntax in the query or you'll need to write code to "page" the query results.

I can't share most of my code because it is copywritten by my employer.  However, here are some things to think about:

1.  I create separate classes for various things.  This encapsulates the code so that I can re-use it in any program where I need to access BOBJ from code. For example, I have separate classes that:

    A. Handle authentication and logins.  This logs a user in and then instantiates the iEnterpriseSesssion and iInfoStore that are needed for querying.  (See the BOEHelper code attached.)

    B.  Handle CMS queries.  (See the QueryHelper code attached.) This class has a bunch of methods that query for:
          - All properties of an object based on the object's SI_ID value.  The parameters to this method are the SI_ID and the table (CI_INFOOBJECTS, CI_SYSTEMOBJECTS, CI_APPOBJECTS).
          - The ID and name of all objects with a specified SI_PARENTID.
          - Run a specified query for a single result set.
          - Run a specified query for a paged result set.

    C. A separate class for each object "kind" that I query for.  These all inherit from a base class that gets the security for the object.  Within each of the sub-classes, I cast an iInfoObject from the query results to whatever kind of object it is and get the kind-specific properties for the object.

I've attached the code for logons and working with queries to get you started.

-Dell