BOBJ

Monday, June 18, 2012

OpenDoc URL's with SAP BI4.0




Overview

OpenDocument is functionality in BusinessObjects which enables URL reporting and linking documents. It processes incoming URL requests for documents in the Central Management Server (CMS) and delivers the correct document to the end user.
OpenDoc basically provides URL access to documents and avoid having them to navigate through a folder hierarchy.
Using OpenDoc you can link to the viewable objects like:
Ø  Crystal Reports
Ø  Web Intelligence documents (WebI)
Ø  Dashboards
Ø  Interactive Analysis documents
Ø  BI launch pad workspaces

Note: This document deals with linking of Webi documents.

OpenDocument Syntax

Basic URL

The OpenDoc syntax and its parameters allow you to construct URLs that link to viewable objects.

Server specific:
http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?< parameter1 >&< parameter2 >&...&< parameterN >
Note: Once the report is moved from one server to another i.e. Dev to QA to Production server. Administrator has to modify the OpenDoc URL to current server name & port.

Non-Server specific:
../../opendoc/openDocument.jsp?< parameter1 >&< parameter2 >&...&< parameterN >
Note: This syntax doesn’t require any modification.



URL syntax consideration

·         Ampersand (&) is used to join all the parameters
·         Server name and port refers to the BO Enterprise server name and port.
·         Parameter link cannot contain spaces or special characters. Replace the space with plus sign (+).  Eg. &sDocName=Sales+Report
·         All OpenDoc parameters and parameter values are case sensitive.
·         OpenDoc URL cannot exceed the maximum character limit. Therefore, know the browser character limit to ensure you URL will be within the limit.

 

Document Identifier Parameter

 Identifier Parameters are used to identify the target document by its ID, Name, Type and Instance.

Parameter Description
Parameter
Description
Mandatory
Code Sample
iDocID
Specifies the unique identifier of the viewable object.
Yes, but can be replaced by sDocName

iDocID= Aa6GrrM79cRAmaOSMGoadKI
sDocName
Specifies the name of the viewable object.
No
sDocName=Sales+in+2003
sIDType
Specifies the type of object identifier used.
If you pass in an InfoObject ID as a value to iDocID rather than CUID, you do not need to specify this parameter
sIDType=CUID
sInstance
Specifies the scheduled instance of the target document to open.
No
sInstance=Last; sInstance=User;
sInstance=Param;
sType
Specifies the type of the target document
No
sType=wid

Example:

http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=Aa6GrrM79cRAmaOSMGoadKI&sIDType=CUID&sInstance=Last
Or
http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=346&sInstance=Last


Input parameters

Input parameters are used to pass the parameter values to the target document.
  

Parameter
Description
Mandatory
Code Sample
lsC
Specifies a contextual prompt for Web Intelligence documents if there is an ambiguity during SQL generation.

No
openDocument.jsp?iDocID=346&sType=wid
&sRefresh=Y&lsC=Reservations
lsI
Specifies index or key value. This parameter must be associated with one of the parameters lsS, lsM or lsR.
No
lsMStore=e-Fashion New York Magnolia&lsIStore=2
lsM[NAME]
Specifies multiple values for a prompt.
No
lsMSelectState=[Alberta],[Washington]
lsR[NAME]
Specifies a range of values for a prompt.
No
lsRparamNumberR=[1..3]
lsS[NAME]
Specifies a value for a single prompt.
No
lsSparamCurrency=121
sRefresh
Indicates whether a database refresh should be forced when the target document is opened.
No
sRefresh=Y or sRefresh=N
sReportName
Specifies the report to open if the target document contains multiple reports.
No
sReportName=First+Report+Tab


Example:

http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?sDoc=IndexTest&sType=wid&lsMStore=[caption]&lsIStore=[index]&sRefresh=Y

http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=Aa6GrrM79cRAmaOSMGoadKI&sIDType=CUID&sRefresh=Y&lsMSelect+Cities=[Paris],[London]&sRefresh=Y

http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=Aa6GrrM79cRAmaOSMGoadKI&sIDType=CUID&sRefresh=Y&lsSSelect+Cities=[Paris]&sRefresh=Y

http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=Aa6GrrM79cRAmaOSMGoadKI&sIDType=CUID&sRefresh=Y&lsRparamNumberR=[1..3]&sRefresh=Y


Output parameters

Output parameters are used only if the report output is required in specific format or force to display any prompt values not specified in the URL.

Parameter
Description
Mandatory
Code Sample
NAII
Indicates whether to force the display of the prompt selection page.
No
NAII=Y (prompt values that are passed with lsS, lsM, or lsR in the URL are applied and not displayed in the "Prompts" dialog box)
noDocument
A value of true forced a report to open in design mode using the existing report template.
No
noDocument=true automatically forces a Web Intelligence report into design mode.
sViewer

Specifies the selected report viewer.
No
sViewer=html
sOutputFormat
Specifies the format in which to open the target document
No
sOutputFormat=H;
sOutputFormat=P
(H- HTML, P- PDF)
sWindow
Indicates whether the target report will open in the current browser instance or launch a new one
No
sWindow= Same;
sWindow= New

Example:

http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=Aa6GrrM79cRAmaOSMGoadKI&sIDType=CUID&lsSYear=FY1999&NAII=Y&sRefresh=Y

http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=Aa6GrrM79cRAmaOSMGoadKI&sIDType=CUID&sViewer=html

http://< server >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=6471&noDocument=true

http://< servername >:< port >/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=Aa6GrrM79cRAmaOSMGoadKI&sIDType=CUID&sRefresh=Y&lsRparamNumberR=[1..3]&sRefresh=Y&sWindow=New

Steps to create an OpenDoc URL

OpenDocument work with the web version of WebIntelligence (WebI) and it is not supported by client version. We can create OpenDoc URL in client version. But, to test the OpenDoc URL we need to export the reports to CMS.
OpenDoc URL can be created by two ways
·         Using Wizard
·         Custom Linking

Now let us create an OpenDoc link by passing parameters between two WebI reports.
Report 1: Sales report (summarized report).
I have Quarter, Month and Week fields in the report filter section & Store name, Year, Category and Sales Revenue in report layout.



Report 2: Details of sales report (the complete details of the Sales report) which has prompts to filter the report for the parameter value picked by OpenDoc URL from Report 1.




Linking Webi Documents using OpenDoc Wizard

Step 1: Logon into BI launch pad using your login credentials.

Step 2: Open your preferences and make sure you have below settings.

Step 3: Open the report (Design mode) in which you want to have the OpenDoc URL.
In this report, we have Quarter, Month and Week as report filters and Category, Year, Store name (Section) and Sales revenue as report objects.


Step 4: Right click on the Sales revenue measure in the report. Select “Linking -> Add Document link”.


Step 5: A new window will open. Click on browse and select the target document.

Step 6:  Select all prompts available in report 2 for OpenDoc URL. Click Ok.


Step 7: Check the option “Use complete URL path to create hyperlink”. Accept the message by clicking ‘Yes’.
You can also check the other available options as per your requirement.

Link to document instance: If this is checked, the OpenDoc URL is linked to the latest refreshed instance of the target report.

Target area within the document: If this is checked, the OpenDoc URL jumps to the specific report tab of the target report.


Step 8:  Choose “Select Object” for the document prompt values from the dropdown. I am using this, to filter the target report by picking the dimension values of the corresponding quantity and show the details in the target report.




Step 9: Click OK and check the report. You’ll be seen with “#Multivalue” error.



#Multivalue error:
Cause: In the report layout we have only 3 Dimensions and Sales Revenue is aggregated by those 3 dimensions whereas when we are linking the document to the target document we also did with Quarter, Month and Week.
By default, the wizard picks only single parameter value for the specified prompt i.e. it uses only lsS[NAME]. In this case, we need to have only those dimensions which are in the report layout to avoid this error or create a custom URL to pick multiple parameter values.
Note: Refer “Custom linking Webi documents” to write you own custom OpenDoc URL.

Step 10: Now, go to step 6 to select only the dimensions as prompts which are in the report layout and follow the same steps to complete the URL.



Click Ok and proceed to assign the dimension for the selected prompts.

Leave the rest of the prompts value as “Use document default” and click ok.

Note: In this case, the target document shows perfect data only when the source report is not filtered by any dimension.

Step 11: Finally, we have linked two Webi reports. Click on the Quantity value and the second report open up showing the details of the quantity.


8 comments:

  1. Hey Sunil..

    Its a nice document. We are in 4.1 Version. My requirement is I have 8 prompts 2 of them are single values and 6 of them are multiple values. Your document is good for 8 prompts with single value.

    Can you please provide me the link or step by step guide for prompts with multiple value please? or Syntax for the new version please?

    Thanks!

    ReplyDelete
  2. Hi Sunil,

    It's very informative document. I have a question on sInstance=Last. we are using BO4.1 SP1. I have created a webi report (report1)and am placing some report2's latest instance in the report1. but when I am using Opendoc link as you mentioned above, it's not opening latest instance if the latest instance is in PDF/Excel format. it's only opening when the instance is in webi format. Can you please help me how to resolve this?

    ReplyDelete
    Replies
    1. Hi Anonymous,

      It's bug in BO4.1 SP1. I tried all the possible ways to resolve that with out any success. Once I upgraded to SP4 Patch3, It's automatically resoloved.
      Another Issue am trying to fix is, If a report instance have same prompts but in different formats(Excel,PDF), I am using sInstance=Param and given the prmopts in the Open Doc Link, It's still opening which one is executed lately. If Excel Instance is the latest executed one, it is opening that only. it is not considering the PDF Instance at all as it is not the latest one. But the Users are different to different instances and they want to see the report instance in their format only. Could you please help me in resolving this?

      Delete
  3. Hi, I am trying to pass values for the prompts through opendoc URL in BI 4.1 SP2. But values are not getting passed and always returns no data to display. Please assist
    URL used:
    http:///BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=Ad4SX_FD6RdFg8sa1qbKOYk&sIDType=CUID&sType=wid&lsSEnter%20Eval%20Proc%20Id%3A=17331&lsSSchedule%20Report%3F=Yes

    ReplyDelete
  4. We offers a best online training for sap bi in usa, uk and globally eith profesionals@ http://folkstrain.com/sap-bi-online-training/

    ReplyDelete
  5. Folkstrain offers a best online training for sap bi in usa, uk and globally with professionals on you flexible timings@ http://folkstrain.com/sap-bi-online-training/

    ReplyDelete
  6. Folkstrain offers a best online training for sap bi in usa, uk and globally with professionals on you flexible timings@ http://folkstrain.com/sap-bi-online-training/

    ReplyDelete
  7. Cool and I have a nifty present: Whole Home Renovation Cost split level house kitchen remodel

    ReplyDelete