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.

<< content with personal information was removed by moderator >>

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.

25 Comments

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

  1. Former Member

    Hello Swapnil

    Download link is missing.

    I’m very interest to try this tool, so please provide this link ASAP! ūüėČ

    Have a nice weekend.

    Guillaume

    (0) 
    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) 
  2. Former Member

    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. Former Member

         

        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) 
  3. 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

    << content with personal information was removed by moderator >>

    @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) 
  4. Former Member

    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) 
  5. 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. Former Member

      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) 
  6. 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) 
    1. Swapnil Yavalkar Post author

      Hi,

      Can you share the libraries of your BI Server version so that I can compile my code and provide it to you?

      Regards,
      Swapnil Yavalkar

      (0) 
  7. Former Member

    Hi Swapnil,

     

    The utility works great in my Dev and Stage environments. But I have 2 problems :

     

    1. It doesn’t list the reports in subfolders
    2. In my Production the utility fails with CMS operation timed out after 9 minutes even for a folder which has a single report.

    Also if last modified column can also be added to the script, then it will be a very big help.

    Much Thanks for a easy setup to get the folder path!!

    (0) 
    1. Swapnil Yavalkar Post author

      Hi,

       

      Followings are answers to your queries.

      1. It doesn’t list the reports in subfolders [Swapnil Y] This is true because it takes folder id as an argument and checks the reports available in that folder only. You are want the reverse of this utility. If we search for the type of WEBI reports then it will fetch the folder details of all reports. I will let you know once I develop such utility for you.
      2. In my Production the utility fails with CMS operation timed out after 9 minutes even for a folder which has a single report. [Swapnil Y] Check for the network issues in your network or run this utility directly on your BO Server. Dont worry it wont have any impact on your BO Server.

      Regards,

      Swapnil Yavalkar

      (0) 
  8. Former Member

    Exactly¬† what I’m after. I want to try it in Pre Prod env before I run on Production but don’t have Java 8 installed in pre prod. Anyone run in Prod directly and had any issues?

    (0) 
  9. Former Member

    Hi Swapnil

    I’m getting the error Server Not Found or Server maybe Down error and its timing out. I can however login to the server and know its active. Any idea why this could be happening?

    I’m trying to retrieve path for some 300 Live Reports and this would be very useful if I can.

    (0) 
    1. Swapnil Yavalkar Post author

      Hi,

      It does not matter how many reports you are pulling from the server.   Error Server Not Found or Server maybe Down error and its timing out, it means that the system from where you are running this utility is not able to communicate with your BO Server perhaps because of Network issue/Security.

       

      Try to use this utility on BO Server itself or make a host file entry of BO Server on the system from where you are running it.

       

      Regards,

      Swapnil

      (0) 
  10. Tom Du

     

    Hi Swapnil,

    Could you please provide an¬†alternate¬†download link again for this helpful utility? This is what I’ve been looking for but somehow the link in your original post is disabled.

    Thanks,

    Tom

     

    (0) 
  11. Mynyna Chau

    Dear Swapnil,
    as a moderator, I have removed content and files that include personal data. For security reasons and the protection of personal data, please don’t share closed and downloadable zip-files. Thanks and best, Mynyna (SAP Community moderator)

    (0) 

Leave a Reply