Skip to Content

This utility is developed to fetch the report details from the SAP Business Intelligence Repository.

This will give you the report name, it’s type(Web Intelligence/ Crystal Report/ Desktop Intelligence) and its unabridged folder path.

I have included the required JAR files in the utility so you can use it directly by executing the command given below.

The output will be generated in an excel file and this file will be saved at the same location from where you will run it.

Generated excel file will have three columns i.e. Report Name, Report Type and it’s folder path.

Output of below file would be in the format Report Name, Report Type and Folder Path.

DownloadFile

DownloadFile-V4

Output Of V4 File would be in the format Report Name, Report ID, Report CUID, Report Type, and  Folder Path.

In order to run this utility, following command needs to be executed from the command prompt.

Command:

java.exe -jar FolderDetails.jar SAPBISeverIPAddress AdminUserID Password FolderID

Points to note for running the above command:

1. Replace the keyword SAPBIServerIPAddress with the IP address of your SAP Business Intelligence Server.
2. Replace the AdminUserID keyword with the administrator user ID.
3. Replace the Password keyword with the password of administrator user ID.
4. This utility will work only with Enterprise authentication since it is hard coded in the source code.
5. Replace FolderID with the required SI_ID of the parent folder. E.g. 23 is the SI_ID of the public folder so if we use this SI_ID in the command then it will generate the excel file for all of the reports present under Public Folder.
6. I have compiled this utility using JAVA 8 so please ensure you have it installed on the system from where you will run it.

E.g. java.exe -jar FolderDetails.jar SAPBISeverIPAddress AdminUserID Password 23

Sample Generated File:

I have tested this utility with SAP Business Objects 3.1, 4.1 and 4.2 versions and it worked as expected. Please use it and let know whether it works for you all or not.

Regards,
Swapnil Yavalkar

To report this post you need to login first.

16 Comments

You must be Logged on to comment or reply to a post.

    1. Swapnil Yavalkar Post author

      Hi Guillaume,

      Please note that this utility will work with only JAVA 8, since it was used to compile the program. Please do not use 23 as SI_ID since the utility will take long time for fetching all the reports.

      ~Swapnil Yavalkar

      (0) 
  1. David Riley

    Hi Swapnil,

    Nice work on this, I was able to get it to work no problem.¬† The download jar file was v2 “FolderDetails-v2.jar”¬†so wanted to mention that because all¬†the¬†instructions you provided were¬†for just¬†FolderDetails.jar.¬†¬†Not that renaming was an issue, just might¬†cause simple confusion for some.

    I do have some suggestions¬†about the output file naming¬†for improvement.¬†¬†Currently the output name is always “Details.xlsx”,¬†with multiple file path selection options along with clusters and several different servers it would be helpful if the file output could be¬†more specific to what was pulled.¬† For example,¬†include the SI_ID and IP address or even Folder Name and SIA that the information was taken from in the file names created.¬† Not sure there is a perfect solution but something to give the name more definition of values in the file so as to prevent the need to always rename.

    Good work!

    Regards,
    David

    (1) 
    1. Swapnil Yavalkar Post author

      Hi David,

      Thank you for the comments and suggestions.

      As requested,I have changed the JAR file name to  FolderDetails.jar in the main post.

      Regarding ths output file name suggestion, I will make these changes for you however would need some time to work on it.

      I will let you know once the filename specific JAR is available to download for you.

      Thanks once again. ūüôā

      ~Swapnil Yavalkar

       

      (0) 
      1. David Riley

         

        Hi again Swapnil,

        I just wanted to let you know tested the latest JAR file (V3) you have made available and think the changes are great.

        Thanks for your work on this.
        David

        (1) 
  2. Swapnil Yavalkar Post author

    Hi All,

    Based on David‚ÄĚs request and suggestion, I have developed a new version of this utility which will save the generated excel file with¬† the name as BOSERVERIP_FOLDERID.xlsx.

    In this file name, BOSERVERIP would be the BO server IP used in the command to run this utility and FOLDERID would be SI_ID used in the command. E.g. 10.10.10.254_23.xlsx

    You can download the new version at the below link.

    DownloadFile

    @David,

    I could not add more details to the file name as it was increasing the queries used in the source code and which would have had an impact on the performance of this utility.

    ~Swapnil Yavalkar
     

    (0) 
  3. santhosh k

    Thanks Swapnil for the brilliant work, downloaded and test, working perfectly.
    would it be possible for you to retrieve reports ID’s as well.

    Thanks
    Santhosh

    (1) 
  4. Sai Raja Mandala

    Hello Swapnil,

    Could you please help me here.

    I am getting the below error :

     

    Initiating CMS Connection…..
    com.crystaldecisions.sdk.exception.SDKServerException: The error message is unkn
    own. This is likely caused by version inconsistencies between components. Here i
    s the value that caused the problem: 42023 and the additional information: .

    cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.se
    agatesoftware.com/OCA/oca_abuse:3.2
    detail:The error message is unknown. This is likely caused by version inconsiste
    ncies between components. Here is the value that caused the problem: 42023 and t
    he additional information: .

    The server supplied the following details: OCA_Abuse exception 10503 at [.\sisec
    server_impl.cpp : 428] 42023 {}
    …FIPS mode does not support old APIs

     

    at com.crystaldecisions.sdk.exception.SDKServerException.map(SDKServerEx
    ception.java:107)
    at com.crystaldecisions.sdk.exception.SDKException.map(SDKException.java
    :196)
    at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLo
    gon(LogonService.java:719)
    at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogo
    n(LogonService.java:295)
    at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon
    (SecurityMgr.java:166)
    at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionM
    gr.java:425)
    at com.external.spy.common.utilities.folders.InitCmsExcelFolder.initCMSC
    onnection(InitCmsExcelFolder.java:60)
    at com.external.spy.folder.structure.details.FStructure.main(FStructure.
    java:27)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
    der.java:58)
    Caused by: com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:i
    mg.seagatesoftware.com/OCA/oca_abuse:3.2
    at com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuseHelper.
    read(oca_abuseHelper.java:106)
    at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAs._LogonEx4St
    ub.UserLogonEx4(_LogonEx4Stub.java:80)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.crystaldecisions.enterprise.ocaframework.ManagedService.invoke(Ma
    nagedService.java:425)
    at com.crystaldecisions.sdk.occa.security.internal._LogonEx4Proxy.UserLo
    gonEx4(_LogonEx4Proxy.java:222)
    at com.crystaldecisions.sdk.occa.security.internal.LogonService.doLogon(
    LogonService.java:347)
    at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLo
    gon(LogonService.java:693)
    … 10 more

     

    We are on 4.2 SP3 patch 5.

     

    Thanks,

    Raja

     

    (0) 
    1. Jason Westenskow

      I’m also having this error. Any luck in resolving? I’m on 4.2 SP4. My error is below:

       

      Initiating CMS Connection…..
      com.crystaldecisions.sdk.exception.SDKServerException: The error message is unknown. This is likely caused by version inconsistencies between components. Here is the value that caused the problem: 42023 and the additional information: .

      cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
      detail:The error message is unknown. This is likely caused by version inconsistencies between components. Here is the value that caused the problem: 42023 and the additional information: .

      The server supplied the following details: OCA_Abuse exception 10503 at [sisecserver_impl.cpp : 428] 42023 {}
      …FIPS mode does not support old APIs

       

      at com.crystaldecisions.sdk.exception.SDKServerException.map(SDKServerException.java:107)
      at com.crystaldecisions.sdk.exception.SDKException.map(SDKException.java:196)
      at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:719)
      at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:295)
      at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:166)
      at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:425)
      at com.external.spy.common.utilities.folders.InitCmsExcelFolder.initCMSConnection(InitCmsExcelFolder.java:58)
      at com.external.spy.folder.structure.details.FStructure.main(FStructure.java:26)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
      Caused by: com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
      at com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuseHelper.read(oca_abuseHelper.java:106)
      at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAs._LogonEx4Stub.UserLogonEx4(_LogonEx4Stub.java:80)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.crystaldecisions.enterprise.ocaframework.ManagedService.invoke(ManagedService.java:425)
      at com.crystaldecisions.sdk.occa.security.internal._LogonEx4Proxy.UserLogonEx4(_LogonEx4Proxy.java:222)
      at com.crystaldecisions.sdk.occa.security.internal.LogonService.doLogon(LogonService.java:347)
      at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:693)
      … 10 more

      (0) 
  5. Swapnil Yavalkar Post author

    Hi Sai and Jason,

    I have tested this jar file with SAP BI4.2 SP02 and it worked fine. It seems that the new libraries of SAP BI4.2 SP03 or SP04 would need to be added in the jar file. I will let you know once new file is created.

    ~Swapnil

     

     

    (0) 

Leave a Reply