环境:BIEE 11.1.1.7...
背景:
最近项目需要多个场景跳转导航到同一个明细,中间涉及很多业务逻辑转换,如果根据多个场景建立多个明细,则后期维护比较麻烦,故采用多个场景导航到一张明细,然后利用BIEE原生功能的导航连接调用web脚本的功能,调用JS函数,然后在JS函数里面完成业务逻辑判定和目标URL的参数传递工作。
先说规则,然后奉上栗子:
URL传递规则:
- 列公式用col*定义,例如col1=“列公式”
- 变量用var*定义,例如:var1=dashboard.variables[变量名]
- 定义其对应的值用val*,值需要用双引号括起来,例如var1=“值”
- 上面的*从1开始,若跳号,则从跳号开始无效。例如col1=。。。&val1=。。。&var2=。。。&val2=。。。等
- 同一个参数若传递多值则用+号连接各值,例如val1=“值1”+“值2”
- 同一个参数若被赋值多次,则后者覆盖前者
- 介于等同于多值传参,但只接收2个值,超过2个的其它值被抛弃,且默认转换为SQL的符号转换为IN,建议通过定义2个变量实现其传值。
- 表示变量用dashboard.variables['变量名']
- 请求变量、会话变量用requestVariables['变量名']
- |、“、&、[、] 需要URL转码
- URL传递前需要拼接 &Action=Navigate
例子:
&Action=Navigate&var1=requestVariables['sv_currentyear']&val1="2019"
url&Action=Navigate&col1="org"."region"&val1="china"&var2=requestVariables['office']&val2="beijing"&col3="org"."rep.office"&val3="changchun"+"chongqing"