All you need to know about Open Document (opendoc) Part 2

September 29, 2011 by: David Lai

I’ve been getting a lot of emails lately on how to setup opendocument (opendoc), so I’d like to post this tutorial on how to do so which works for Business Objects XI 3.1.

Unfortunately my previous tutorial at http://davidlai101.com/blog/2008/11/04/all-you-need-to-know-about-opendoc/ only works with Business Objects XI R2

Please note that the tutorial was taken from SAP BusinessObjects Dashboards 4.0 Cookbook so if you are interested in more useful Xcelsius recipes, be sure to purchase a copy 🙂

If you only need the Excel Template for setting up OpenDocument calls, you can download it here

If you are interested in getting detailed information on OpenDocument Parameters please download the official SAP OpenDocument documentation here

Otherwise continue reading for the Tutorial

Getting ready

A WEBI report with a prompt must be setup first.  In our example, the WEBI report will ask for a Region parameter.

You can download the example XLF source file from here

How to do it…

1.            Drag a Combo Box selector onto the canvas and bind the label values to the list of Regions on the Excel spreadsheet as shown below. Set Label as the Insertion Type and bind the Destination to the cell highlighted in yellow, which will be the input parameter passed to the opendoc call.

 

2.            Log into BI Launch Pad (Formerly Infoview), go to the location of where the Web Intelligence report is located. Right click and select properties.

3.            Copy the CUID

4.            On cell B14 shown below, an opendoc url is constructed. Paste the CUID from Step 3 onto Cell B23 highlighted in grey. Cell C23 equals the Selected Region cell C2 from Step 1.

5.            Drag a URL Button component onto the canvas from the Web Connectivity section of the Components window. In the URL Button properties change the Label text to Open WEBI report, and bind the URL to the opendoc url cell B14 from Step 2.

Comments

20 Responses to “All you need to know about Open Document (opendoc) Part 2”
  1. Sirish Kumar says:

    Hi David,

    I’m trying to pass dates to a prompt with the between operator in web I report (BO 4). Tried using the below syntax but doesn’t work.
    Format :
    lsSStartDate=[DateTime(yyyy,mm,dd,hh,mm,ss)]&lsSEndDate=[DateTime(yyyy,mm,dd,hh,mm,ss)]

    Is sme thing wrong with the above format? Does the date function takes parameters in the format defined in database?

    • David Lai says:

      Hi Sirish,
      Sorry for the delayed reply.
      Anyhow it seems as though you need to put the actual database “datetime” operator. Unfortunately this isn’t really user friendly 🙁

      For example if you are using oracle then you would put
      lsSStartDate=to_date (’02 May 1997′, ‘DD MONTH YYYY’)

      Hope that helps
      David

  2. NJ says:

    Hi David..

    It is really a nice post.. I have a question.. from the Dashboard is it possible to open a webi report, Refresh it and save it as excel.. using open doc.. what I meant is the end result should be an excel file.. user just clicks a button on dashboard and gets the excel file. (everything else should be done automatically..)

    Thanks

    • David Lai says:

      Hi Nameesh,
      You will need to create an opendoc call from the Xcelsius dashboard.

      For example you can create an opendoc call and put the url in a “URL Component”
      That will then open up a WEBI with the formatted Excel output that you want to see.
      When the WEBI comes up you will then need to click “Save As” and then choose save to an Excel file.

      Unfortunately there’s no automatic way of clicking on a button in Xcelsius and automatically saving that to an Excel file.

      Centigon solutions does have a 3rd party plug-in that allows you to save data into a csv file, however you won’t be able to get the type of formatting you can achieve with WEBI.

      Hope that helps
      David

  3. Vrash says:

    Hello,

    Sorry to re-post in a very old thread but I dont find a solution to my problem.
    I have 2 webi reports – webiA and webiB.From webiA I have 5 prompts 3 of which are optional and 2 mandatory and am trying to open the WebiB.When i run the rport for a particular date, the webiB does not refresh for that date.Also i want to display the selected prompt value in the webiB report.

    I use the following syntax :

    https://localhost:8080/OpenDocument/opendoc/openDocument.jsp?iDocID=123&sType=wid&sRefresh=Y&sWindow=New&lsS“+ URLEncode(“Select Closing month”) + “=[Closing_date_value] &lsS”+ URLEncode(“Enter value(s) for Name:”) + “=[Name]

    The [Closing_date_value] has – userresponse(“Select closing date”) which takes the value selected by the user in the report – webiA.

    Please help me as I am stuck on this issue 🙁

    regards,
    Vrash

    • David Lai says:

      Hi Vrash,
      Make sure you pass in date as the correct format.

      In addition, user response is case sensitive. I see that you have small “c” instead of big “C” for “Closing”.

      Hope that helps.

      Regards
      David

  4. Vrash says:

    Hello David,

    Thanks for your quick reply.
    I have corrected the Text in the userresponse function but somehow my report does not work still 🙁 could you please suggest any other solution or reason for the issue ? I got to know from few internet posts that the hyperlinks donot work with cross-tab ? it that true ? I am indeed using a cross tab here !

    regards,
    Vrash

  5. raj says:

    Hi david,

    Thanks for the report bursting (Publication )tutorial and this, i have a small question regarding opendoc. Is it possible to pass opendoc from chart to new web I document. Somehow when I try to apply the Opendoc link on chart, it kind of doesn’t work and I am forced to use a cell or a table beside the chart to use the OpenDoc link.

  6. Aps says:

    Hi David,

    Thanks a lot for the step by step tutorial for linking of the webi report through xcelsius.
    It would be great if you could help me clear few doubts about it.

    1) Is there any way to use relative path for linking Dashboard with Webi report.

    2) I created a webi link from the Dashboard

    http://localhost:8080/OpenDocument/opendoc/openDocument.jsp?iDocID=Fu3zRFDirwAAHTcAAJDrHVwWAFBWgQAe&sIDType=CUID&sType=wid&sRefresh=Y&sWindow=Same&lsS

    At first it takes to the onfoview login page and ask for User Id and password, how will it work in case of SSO. How do i pass the User Id and password of the User who logs in as a SSO in the URL.

  7. MariJoseR says:

    Hi

    I have quite a serious problem with the parameters from the dashboard to report in detail.

    Yesterday we did a battery of tests, and with the year and month no problems.

    Not so when we tried to pass the company_code. The problem is that the values of the company code field are eg Roquette Freres (with a space in between) and do not understand why the BW query no accept space, so you do not pass the parameter and fails.

    That is, to BW does not like spaces.

    you know, as space in the url , it is a +, ie Roquette+Freres, or otherwise %20, I insist that the parameter in BW, not accept it.
    , you know why or how to do it?

    Help me please!!!!

  8. Rose Mary says:

    We have using BOXI 4.5 on Windows 7. Would you happen to know why the designer of the dashboard is able to open a Crystal report in pdf format using the opendoc url, but on other Window 7 PCs we are being asked to log on to OpenDoc. And then when we do using our
    BI Launchpad, we get the following error: Error: Bad port number in CMS name : null

    We have even used the same user ID and get the same results as stated above.

    Thank you.

  9. Lugh says:

    How do you pass session or token parameters? Those parameters get generated in javascript outside the dashboard. Thus, as far as I know, they can’t be referenced inside the dashboard. Is there another solution?

  10. Anwarul Yaseen says:

    Dear APS,
    To avoid BO login,token needs to be passed. Taken

    String sCMS = Radarmain.getBOCMSName();
    String sUserid = Radarmain.getBOUserName();
    String sPWD = Radarmain.getBOPassword();
    ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
    IEnterpriseSession enterpriseSession = null;
    enterpriseSession = sessionMgr.logon(sUserid,sPWD, sCMS, “secEnterprise”);
    String token = enterpriseSession.getLogonTokenMgr().createLogonToken(“”,120,100);
    String tokenEncode = URLEncoder.encode(token);

    This tokenEncode to be passed as &token=&tokenEncode in opendoc URL

    Thanks & Regards
    Anwar

    • Jose Roy says:

      Hi Anwar,

      Can you Please explain with an example?i have a requirement to login to webi report with out Login.I am struggling on this?

      Thanks,
      Jose Roy

  11. Chandan Ghimire says:

    HI David,

    My current dashboard has a URL button which was pointing to old report. Now I changed the CUID to point to New report and did the ‘Save to Platform’ to save it to CMS but its not saved properly. What am I missing? All I need to do is point the url to new report. Can you please give me details for saving and exporting the Xcelsius file to BI Platform?

    Thank you,
    Chandan

Leave a Reply


+ 1 = five