How to use OpenDocument with BEx variables
While the official OpenDocument guide
is a great resource and explains in detail how to use OpenDocument
syntax, We have not seen a good documentation explaining how to use
OpenDocument in conjunction with SAP BW BEx variables, and yes, there
are syntax differences depending on the different BEx variable types.
What is the OpenDocument interface?
The OpenDocument interface allows you to open reports that are saved in
the BI LaunchPad by using URL hyperlinks. You can take advantage of the
OpenDocument syntax and parameterize the report to be opened.
How to pass values to BEx variables in general?
As everything in SAP BW, there is always a Text and a Key for every
record in your report. The text is clearly not unique though, it depends
for example on the language of the user that is currently viewing the
report. On the other side most of the users are not very comfortable
seeing and working only with technical keys, you should always pass
both: Key and Text.
How do I construct an OpenDocument URL in general?
While you can construct your own URL manually by carefully reading the
manual, there is much fancier way: Use the hyperlink wizard! The
hyperlink wizard is available only in Web Intelligence Web Mode (DHTML),
it is not available in RIA mode (Java) nor in the Rich Client. You can
open the hyperlink wizard by right-clicking on a field > Linking >
Add Document Link:
After you select a target document in the hyperlink wizard, you will be
presented with all the prompts of the target report. In this example I
have a prompt (from a BEx variable) on a dimension object named
"Material", an example of a material is a material named "Ten" with key
"010". The following would be a correct way of passing a single material
by using the dimension objects in a table:
In the first box you should provide a Text (Dimension Object), and in
the second its corresponding key. In the screenshot above
"Z_SINGLE_OPT_TEXT" corresponds to the description of the BEx variable,
on the other side, the generated hyperlink will use the technical name
of the variable.
If you use the hyperlink wizard to pass a single value variable, you
will notice that the wizard will use two parameters lsS for the Text
and lsI for the key. If for example you click on a material "Ten" with
key "010" using a variable "Z_SINGLE_OPT" (technical name):
You will get a syntax like this:
"…lsSZ_SINGLE_OPT=Ten&lsIZ_SINGLE_OPT=010"
Notice that code is hard coded with the values for a better understanding, but of course you can use dimensions here.
How do I pass Multiple Single Values?
By separating individual values with a semicolon (;), you can pass multiple single values at a time. For example:
The corresponding syntax equates to:
"…&lsMZ_MSV_OPT=Ten;Fourty&lsIZ_MSV_OPT=010;040"
Notice that lsM is used to pass multiple single values.
How do I pass Ranges?
When passing ranges you must separate the minimum and maximum value with
two consecutive dots (..). The start and end of the range must have
square brackets that you have to create manually:
Generated syntax:
"…lsRZ_RANGE_OPT=[Ten..Thirty]&lsIZ_RANGE_OPT=[010..030]"
Notice that lsR will be used to pass ranges.
How do I pass nodes of a Hierarchy?
Passing a hierarchy node with standard text and key objects works fine
most of the times, however I use following syntax (according to note 1677950) to avoid potential issues: [Hierarchy].key
Generated syntax:
„…&lsSZ_HIER_OPT=Even&lsIZ_HIER_OPT=0HIER_NODE/EVEN"
How do I pass compounded objects?
In this case you need to make sure that the key that you are passing is not compounded (more Information in this blog post). You can achieve this by using formulas in the front-end e.g. "=right()" or by selecting the non-compounded key available since BI4 SP05:
By Victor Gabriel Saiz Castillo
No comments:
Post a Comment