OpenDocument – An Introduction to a Powerful Tool

If you are not yet using the OpenDocument function in your reports you might want learn a bit more about it and see if it could not meet some of your current business requirements, or better yet allow you to amaze your business partners by giving them something they didn’t yet know that they needed!

What is OpenDocument

OpenDocument is simply the ability to open a “document” (a.k.a. report, usually) directly; without having to locate the report and even without having to submit any parameters to the report (optional). A properly constructed OpenDocument URL can be placed on an page that can serve up a URL/link and then users can click on it and be taken directly to the report that the URL specifies.

Major Capabilities of OpenDocument

The OpenDocument function provides a few excellent capabilities:

  • Abstraction: users don’t even need to know the report name. They could be given a URL on a web page, email, Word Document, etc. which says “Click Me to Access Your Important Report
  • Simplicity/Efficiency: users are spared navigating to a report and selecting predictable parameters each time (static or dynamic, your web coding skills are your only limits)
  • Linking Reports Together: create summary and detail reports that allow for in-depth drilling on specific data or create other interesting and useful relationships between reports

Additional Information about Business Objects’ Open Document Function

BO XI introduced OpenDocument, replacing the “viewrpt.cwr” command in previous versions of the Business Objects Enterprise. OpenDoc accepts many optional parameters allowing various customizations, such as display format, parameter values, and refresh flags.

A Simple Example of an OpenDocument URL

The following is an example of a very simple OpenDocument URL using a .NET web server:

http://myserver/businessobjects/enterprise115/infoview/scripts/
opendocument.aspx?sDoc=My%20Favorite%20Report

Cautionary Note #1: Please note that OpenDocument calls use URLs and therefore they are bound to the special character limitations of all URLs. That is to say that spaces and certain other characters are not permitted. Spaces can be replaced by “%20“; however, Business Objects Web Intelligence also has a native function called “URLEncode()” that can resolve any necessary special character formatting.

Cautionary Note #2: In Business Objects XIR2 it is entirely possible to have two documents with the same name and therefore this simple example should be received in this context. The OpenDocument function supports many parameters that will allow you to pin-point your desired document and in our next article on this topic we will show you how to do this gracefully and With maximum portability across any environment.

Cautionary Note #3:
The URL for OpenDocument varies much between XI R2, XI 3.x, and BI 4.x. This means that if you are migrating from XI 3.1 to BI 4.0 you may have to change any OpenDocument URLs embedded in reports and if you have any external OpenDocument URLs you must update those.

Basic OpenDocument URL Parameter Syntax

OpenDocument can be customized to your needs through many different parameters. It is important to learn each of these and use them precisely as documented.

iDocID and sIDType
When used together these parameters can help you specify a precise document using the document’s CUID. The trouble with this is that proper document promotion techniques must be used to retain CUID parity/consistency across all environments. An example of using these is as follows:
http://myserver/businessobjects/enterprise115/infoview/scripts/
opendocument.aspx?iDocID=Aa6GrrM79sdf2334OSMGoadKI&sIDType=CUID

lsS[NAME]
This parameter allows you to specify a single value for a single prompt. “[NAME]” is the exact text of the prompt. For example:
http://myserver/businessobjects/enterprise115/infoview/scripts/
opendocument.aspx?sDoc=My%20Favorite%20Report&lsSSelect+Country=Germany

lsM[NAME]
This parameter allows you to specify multiple values for a prompt. “[NAME]” is the exact text of the prompt. For example:
http://myserver/businessobjects/enterprise115/infoview/scripts/
opendocument.aspx?sDoc=My%20Favorite%20Report&lsMSelect+Cities=[Paris],[London]

sRefresh
This parameter allows you to specify if the document should be forced to refresh its data from the database. Valid values for this prompt as “Y” and “N”. In order for this prompt to work all prompt parameters must have submitted values. For example:
http://myserver/businessobjects/enterprise115/infoview/scripts/
opendocument.aspx?sDoc=My%20Favorite%20Report&sRefresh=Y

Study the Published Documentation


Business Objects has published documentation on OpenDocument. Most of it is accurate (I think, but I recall there were some issues with the examples). I suggest looking for the document “Viewing Reports and Documents using URLs” which may carry the file name “xi3-1_url_reporting_opendocument_en.pdf”. The basic syntax is generally the same across most versions of XI and BI (as far as I have noticed).

Enjoyed this post? Share it!

 

47 thoughts on “OpenDocument – An Introduction to a Powerful Tool

  1. If the ServerName for DEV/uat/prod is different – as it happpens in real life, how can you change this dynamically when report is pushed from Dev to uat to Prod. I know if these reports will be seen from Infoview, it can be done. My quesiton is from PDF perspective — how will this be possible if links are on PDF report?

  2. Hi Chris, great question. It seems I left an important point out of this article. If you do have different environments then one should always keep the OpenDocument URL relative, for example:
    For XI R2 (.NET): ../../scripts/openDocument.aspx&iDocID=AWimiw9StnAbcdefghijklmn
    or
    For XI 3.X (Java): ../../OpenDocument/openddoc/openDocument.jsp&iDocID=AWimiw9StnAbcdefghijklmn
    You will need to experiment with your system to be able to find out how many preceding “../” you will need. Also, to get insight into your systems OpenDocument URL it might help you to check out your systems OpenDocument, which can be viewed at your system’s settings for “Set Default Viewer URL“.

  3. Thanks for the reply.

    I Have a report which has a link using OpenDoc. If I use relative address, and save the report as a PDF, Will the relative address still work?

    I even tried creating a table with one column which has the server url. Somehow when I concatenate “<a href https://"+[Url]+"smbus……" the link works in modify mode. When I save report – even in Infoview it does not work. It just shows "https:///smbus…….".

    The key is that link should work from PDF file too.

    Would appreciate your insight if you have the answer or alternative. THANKS

  4. Hi Chris, I suspect that your URL in modify mode has more “sub-folders” in the path than does your URL in InfoView. The only way to handle this is to add more “../” to the relative path. The idea is that you want to dive to the root of the domain regardless of what your entry point is and “../” will get you deeper. Overkill on “../” won’t matter as long as the rest of your textual path begins with the first sub-folder of the OpenDocument URL following the domain. Please let us know if this helps you.

  5. So you are saying that if I save the report in PDF and click on the hyperlink which is on this report to open another doc from here, the relative path should work?

  6. Hi Chris, if your PDF is saved to repository and the you have a good link to it than OpenDocument will work for you. First get a full explicit URL that works and then work on making it relative.

  7. I have BusinessObjects XI 3.1 but I couldn’t access either of these two implementations of OpenDocument (.NET and Java)! I think the tool itself is not installed on my web server. Please guide me I really need to try this tool

    Thank you

  8. If you are not aware of which application you have installed on your web application server then I assume you are running with Tomcat (port 8080) which is included and deployed with the product installation. If so, then most likely the install package deployed all of the web applications. Are you sure that you do not have anything installed at http://servername:8080/OpenDocument/ ? You will not be able to do anything without submitting some valid parameters to the URL, but you should get an error other than 404 if the web application is installed. If it is not installed then you will need to review the web application install guide for your server. If everything is on the same server you might be able to get away with finding the “wdeploy” application and running it with the parameters “wdeploy* tomcat55 deployall”, where “wdeploy*” is either “wdeploy.sh” or “wdeploy.bat”.

  9. Hi Can you please provide the same url for the .net infoview for BO XI R3.1. I donot want hyperlink functionality of XI R3.1.
    Apart from that I need to know I can get document from sharepoint. We are able to open the folders in the sharepoint but once I am clicking on the report it goes to logon inside the Infoview(SSO is implemented for BO with AD).

  10. Hi Sudhakar, the URL and lots of useful documentation is provided in the BO document named “Viewing Reports and Documents using URLs” (also known as, “xi3-1_url_reporting_opendocument_en.pdf”). Here is what it says:
    http://:/OpenDocument/?&&...& The exact syntax of the parameter depends on your BusinessObjects Enterprise deployment:
    • For Java deployments, use openDocument.jsp in place of the
    parameter.
    • For .NET deployments , use opendocument.aspx in place of the
    parameter.

  11. Julian – I have a rather complex question about using openDoc fucntionality to bridge protal access to reports. We are implementing a portal access site that will provide the customers with the ability to input data (external) and then select a cache of reports (internal) from our repository. My goal is to create this cache of reports with a client id accepting prompt that will be popluated by the openDoc URL to limit the customer to only their data. Problem comes down to URL “spoofing”. In the browser and in the openDoc URL properties, an end user can limitlessly take shots at guessing ID’s of other customers. Do you know of any doco out there where this has been implemented? Is there a better way to securely use BO XI 3.0 to provide access externally yet not set up user accounts for all these customers? Thanks

  12. Hi George,
    So as I understand it you want to have as many user accounts as you have unique security profiles, so many users to 1 BO user account. And you want to authenticate in a user but you want to control which user account they get authenticated in as… If this is close, yes, I have seen a solution for this. It uses trusted authentication and a custom Java filter that would essentially detect your user through whatever method possible (SiteMinder for example) and then it would map your user to the user name that you want to use and then mas that user account to BO. It would require compiling the Java filter and listing it appropriately in your web.xml. This would really require more details than this, but this is the solution I see for you.
    Regards, Julian

  13. Hi James, Yes, it will work, but the user will have to provide a user name and password. Usually the CMS and authentication method will be hidden from them (unless you choose to expose it). This might not be so slick for some users, but it still should put them on the report that the link points to after they are authenticated.

  14. Hi. Does anyone know what value must be used with the sOutputFormat paramter in order to get an Excel file? ‘H’ works for HTML and ‘P’ works for PDF, but ‘E’ does not work for Excel as stated in documentation (in fact, PDF seems to result from anything other than ‘H’).

    Thanks in advance for any ideas and/or work-arounds. JC

  15. Sorry JC, my SAP BO document says the following only “E (Excel – Crystal Reports only)”. If you are trying to do this in WebI you are outta luck until maybe XI 3.1 SP4 or XI 4.0.

  16. Hi,

    In my application users are viewing the scheduled reports using open doc. after opening the report in a browser window they used to export the report in PDF/Word/Excel format. My question is can we remove the option of exporting report to Crsytal Report (.RPT file) from the export options in opendoc browser window? I dont want users to export reportin crystal format. they should be exporting report only in PDF/Word format.
    Thanks.. NS

  17. Hi Neeraj, I don’t think that you can stop that. In Business Objects Enterprise XI 3.1 you can stop Excel, CSV, and PDF independently for WebI. I am not so sure about Crystal Reports and the options for them.

  18. Hi chris, I found an odd thing with Infoview R3.1, while creating a webi report, I run the query and select save to my computer via PDF. I am running IE7 on a Vista, a second window tries to appear (flashes up) but i do not get the ability to save. I can of course save the report as a personal doc or public? Is this a permission prob on the vista or a defect on Infoview…

  19. Thanks for this article…very good info.

    I have successfully implemented the openDocument feature and everything is working properly. My issue is that the “Retrieving Data” window that appears when a document is loading in InfoView, does not show when I use an openDocument URL. Some of my reports are refreshing on open and can take several seconds, resulting in a white screen when accessed using OpenDocument and this has caused confusion with some users. Any idea how to show the “Retriving Data” window using an OpenDocument URL while a report is loading? Thanks.

  20. Hi JR, I am no aware of any method to show the window. I will play with this some and report back if I discover anything.

  21. Hi Julian,
    I appreciate the good work you have done here posting this article. I have bben reading the comments and came across a similar situation we are facing right now. We would like to display our users and clients their respective reports through infoview as we have existing folder level security enabled. So each client sees only his compsny name or id to view his reports. But its manually needed to create user accounts for all the clients and users within the clients which might range over 1000. I would be glad if you could suggest a turnaround solution for this.

  22. Hi Bharadwaj, I am really not sure what you are asking. If you set your security right users will see only want you want them to see. I think I need more information.

  23. Hi we are trying to access some BO reports from our portal using Opendocument functionality. when the user logs into the portal using his ldap account and when he tries to access the Bo report it opens the Infoview window and asks the user to enter the Username and password. we want this authentication to happen seemlessly. Means it should directly open the report without asking to login again. Could you please let me know how can i achieve this. The URL i am using is https://Server name/OpenDocument/opendoc/openDocument.jsp?sDocName=Report+Name. I would appreciate your suggestions on this.

  24. Hi Rajesh, I think that you may need to replicate the Single Sign-On setup that you currently have on InfoView to the OpenDocument application. OpenDocument does not access automatically the setup for InfoView.

  25. Hi Julian,

    We have requirement to send the bursted publication output to Dynamic recipients. We Cannot send the output file as an attachment because of our company policy and size limitations. So, We are looking for a method to securely distribute the Bursted reports to Non Business Objects Users.

    In one of the above posts you had mentioned about using a single BO user account and still having user level security to view reports.Could you Please explain in detail about the same. I have copied the mentioned post below.

    I would greatly appreciate your suggestions.

    “So as I understand it you want to have as many user accounts as you have unique security profiles, so many users to 1 BO user account. And you want to authenticate in a user but you want to control which user account they get authenticated in as… If this is close, yes, I have seen a solution for this. It uses trusted authentication and a custom Java filter that would essentially detect your user through whatever method possible (SiteMinder for example) and then it would map your user to the user name that you want to use and then mas that user account to BO. It would require compiling the Java filter and listing it appropriately in your web.xml. This would really require more details than this, but this is the solution I see for you.”

  26. Hi Siyamala, this will depend on your requirements, but I see two options for you:
    1) Create a single user account or multiple user accounts and have the schedule deliver to the user(s) BusinessObjects inbox. This retains all security settings to whatever you configure them to be.
    2) Send the file to a file share that has your security settings applied.

    The section you quoted is related to overcoming a BO instance with single sign-on enabled and mapping users to the same user account. Its a complicated solution that I won’t be able to explain here.

  27. Hi Julian, is it possible to display the InfoView folder view using OpenDocument by passing the ID of the folder on the URL? We had code to allow a user to go directly to a specific folder of theirs in InfoView prior to BOXI 3.1, but it no longer functions and I was wondering if OpenDocument might be a solution for us. So far I haven’t had any success with this though. Thanks.

  28. Hi Julien,
    I’ve a question regarding the sRefresh parameter used in the OpenDocument URL.
    For a Webi report having prompts, is it possible to directly go to the report without the prompt screen in case the sRefresh parameter is set to Y.For instance, if we use the below URL:
    http://a0002.au.mxxxc.com:8080/OpenDocument/opendoc/openDocument.jsp?iDocID=17284&hideRefresh=1&sRefresh=Y&token=ausyd23as07%3A6400%40124859JhyNUPN2vgkteabi124857JR6Wdh4HhRECxu4o
    &AccExecId=21145
    We are getting the prompt screen asking us to enter the prompt values.However, we want to directly open the .wid report without the prompt screen as we are already supplying the prompt values in the URL itself “&AccExecId=21145”.
    Could you please advise if this is feasible, and in case it is how can we achieve the same.
    Thanks,
    Jhelum

  29. When Logging into the Launch Pad with SAP security the User is given the option to define the System and the client. When we run an OpenDocument report the user is only given the option to supply a UserName and Password. Is there a way to set the open Doc Logon Screen in CMC so that the users see the Full Logon Options?

  30. Hi Jhelum, please review the additional details I just added to the article. You are not properly passing in the parameter when you use “&AccExecId=21145”.

  31. Hi Zarb, I don’t have much time to look into this now, but I think you may be able to set this int he “web.xml” file on the “OpenDocument” web application. Please compare your “web.xml” files for each and let us know if you find a solution in showing the CMS parameter.

  32. Hi Anil, I am not sure exactly what you mean by “link two reports”, but I can tell you that OpenDocument URLs can be embedded anywhere and they don’t care what the URL’s target document’s universe is. For example, you could have an “Employee Detail” report using an HR universe that has a hyper-linked OpenDocument URL that links to report/document for “Country Detail” that is based on a universe dedicated to geography.

  33. Hi Julian,
    I am using SAP Netviewr or say EP to display my webi reports. My report(say ‘abc’) contains link to other report say ‘pqr’. When i am logging to EP and open report abc and clicking on link pqr,it asks me for logon credentials.
    where as in infoview it does not asks for credentials,
    What could be problem?

    Regds,
    Chaitanya

  34. Hello Chaitanya, I suspect that single sign-on was enabled for your InfoView, but those settings were not replicated for OpenDocument. A complete SSO solution for BO would have SSO enabled for the InfoView and OpenDocument web applications. BTW, the CMC web application should not be configured with SSO; I am pretty sure it does not support it anyway.

  35. Is there a relative path opendoc URL that will work in both 3.1 and 4.0. If possible I’d like to update my 3.1 paths so that they will work seemlessly once we upgrade to 4.0.

  36. Hi Julian,
    We have a requirement of viewing BO webi (3.1) reports in Organisation’s internet site. Whether Opendocument function can be used to view those reports which has parameters by anyone (public viewing). Since there is no security issue of data and need to be viewed by public, we can not use login.

    Regards
    Tapas

  37. Hi Ian, I am so sorry that I missed your comment. To the best of my knowledge it may be possible to use the same relative path in XI 3.1 and BI 4.0. The paths of BI 4.0 are very different, everything is in the BOE web application, but look at this:

    Business Objects BI 4.0
    /BOE/OpenDocument/opendoc/openDocument.jsp
    /BOE/BI/

    Business Objects XI 3.1
    /OpenDocument/opendoc/openDocument.jsp
    /InfoViewApp/

    Relatively the paths of InfoView/BI and openDocument.jsp are the same, right? I would like to do some experiments with this, but right now free time is rare. Please share any of your findings.

  38. Hi Tapas, I believe that I have seen BO systems exposed on the Internet. I am not sure what kind of licensing or authentication you would need to have. For example, I wonder if you were licensed to use the Guest user, if this would permit any user to access the environment. If not, you would need to setup some kind of Single Sign-On method that would automatically authenticate web users. I would love to here if anyone has experience with this.

  39. Hi,
    I see it is possible to open a BI Workspace using the opendocument approach but when I do this it loses the frame (Site logo, home and documents tabs, Preferences and Applications links). Does anyone know how I can open a specific BI Workspace AND still have that frame?

    Thanks

  40. Thanks Julian for the wealth of information. The last post I see here is over a year ago so I don’t even know if this is still monitored, but here goes… My questions pertain to a BOXI R2 implementation and openDocument… I can pass a URL to launch the report, and I get stopped by Login. Is there a good document that explains exactly what I need to do to pass a login so the user doesn’t get stopped (i.e. create token, etc.). And the 2nd question regards licensing… can I pass a named user (i.e. ReportUser/password) to generate the report? I have 100+ users who will need to send a report request for ONE report with a different unique ID parameter passed as a prompt. I don’t want to have to buy enough additional concurrent user licenses to cover possibly ten users calling the report at the same time if I can avoid it. Also, do you know where to configure how quickly InfoView releases the license (prefer on window close). Thanks in advance… Randy

  41. Hey Randy, thanks for your comment/question. I really need to add some new posts, thanks for highlighting the need. 🙂

    IF there is a good document explaining the inner workings of OpenDocument I don’t know it.

    OpenDocument can be used by concurrent and/or named users. There is no limit there. As for releasing a concurrent user license registered during an OpenDocument call… I don’t honestly know, but I doubt it will be after window close.

Leave a comment

Your email address will not be published. Required fields are marked *