Environment

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
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