Properly set prompts of Webi Documents based on BW connection
Environment
Products :
360Bind
360 WiiisdomOps for BusinessObject
360Cast
Freemium edition
Product Version: 2021.4 and higher
Operating System: All
SAP BusinessObjects versions:
4.2 SP3 and higher
4.2 SP0 and higher
BI 4.1 (all SPs), 4.2 SP0, 4.2SP1, and 4.2SP2 cannot use complex prompts!
Prompt configuration
With BW-based documents you can find 4 great types of prompts:
- Single/Multiple-value prompts with "match" operator
- Prompts with a configurable operator (=, !=, >=, in, not in...)
- Range prompts
- Prompts accepting multiple ranges or multiple configurable values
Single/Multiple-value prompts with pre-defined operator
This is the default type of prompt. Just enter the human-readable value and 360WebPlatform will render it.
Prompt with a configurable operator (=, !=, >=, in, not in...)
Some BW prompts accept to be populated with a configurable operator. On BI LaunchPad, it is materialized with a dropdown with the list of operators:
- = : dimension must be equal to the prompted value
- != : dimension must be different from the prompted value
- > : dimension must be strictly greater than the prompted value
- >= : dimension must be greater than or equal to the prompted value
- < : dimension must be strictly lower than the prompted value
- <= : dimension must be lower than or equal to the prompted value
- [] : dimension must be between the prompted inclusive lower and inclusive upper bound
- ![] : dimension must not be between the prompted inclusive lower bound and inclusive upper bound
Starting from 2021.4, 360WebPlatform implemented the support of = and [] operators. To support other prompts please open an enhancement request.
To use the = operator, enter = before the value.
To use the [] operator, use a minus (-) between the bounds.
Examples:
- =2017 : must match 2017
- 2010-2019 : must be between 2010 and 2019
If you do not use this syntax, you will face one of those errors:
- Task ending in error with "ArrayIndexOutOfBoundsException" printed in the task logs
- Task ending in warning with a warning message on Phase 1: "Instance failed to be scheduled for {DocumentName}({document id}): String index out of range: -1"
- Task ending in warning with a warning on Phase 2: "com.crystaldecisions.sdk.properties.internal.SDKPropertyBag (loaded by sun.misc.Launcher$AppClassLoader@{Some number}) cannot be cast to java.lang.String"
Range prompts
A range prompt is composed of two values separated by a minus (-).
If the lower bound is optional, you can just start the value with -.
If the upper bound is optional, you can just end the value with -.
Just putting - is not valid.
Examples:
- 2010-2019 : from 2010 to 2019
- -2019 : until 2019
- 2010- : from 2010
Prompts accepting multiple ranges or multiple configurable values
To give a value to such a prompt, you just need to apply the previous paragraphs and separate the entries with a semicolon ";".
Examples:
- 2010-2015;=2018;2020-2022 : From 2010 to 2015, 2018 and from 2020 to 2022.
- =2018;=2020 : 2018 and 2020
Using 360WebPlatform placeholders
Even if some prompts need some syntax to be properly populated, you can always use 360WebPlatform placeholders to dynamically compute values to use at runtime.
Examples: Given that we are on June 14th 2022, and that we are configuring a prompt with customizable operator:
- =%D(yyyy) : will be equivalent to =2022
- %D(MM.yyyy,-1M)-%D(MM.yyyy) : will be equivalent to 05.2022-06.2022
- %D(MM/dd/yyyy,-1M,fdom)-%D(MM/dd/yyyy,-1M,ldom) : will be equivalent to 05/01/2022-05/31/2022
Last updated over 2 years ago