WebADI - 参数的使用

* 本文仅供交流分享,不作为专业指导

最近研究了一下WEBADI文档下载的参数,由于网上这块资料较少,所以专意分享下我的笔记。

  • 准备

集成器:BHSC_EMP_ADI

表值集:BHSC_DEPT_LOV(值:dname,标识:deptno)

供下载内容的视图:BHSC_EMP_V

  • 参数的创建过程

路径:桌面集成管理器/定义参数

1、如图选择应用,要和集成器保持一致

2、在这个页面,点击放大镜的话是查找已有的参数列表,带出信息以修改的,我们这一步骤是新建参数列表,故直接填写信息即可

在定义集成器的上传模板时,系统实际上也会创建一个对应的参数列表,代码一般为XXX_UPL,所以下载的参数列表建议保持一致,命名为XXX_DPL,本例取名为BHSC_EMP_ADI_DPL

3、保存后可在下面增加参数(点绿色加号),这个参数又分为两层结构Parameter和Definition,Parameter是参数列表的元素,但它相当于是一个壳子,它并不定义比如值列表、显示格式等信息,这些具体的信息是在Definition里定义。可以理解为Definition是实际的参数,但它是独立的,也是可供共享的,最终它将使用在哪个WEBADI的下载页面,这要看谁的参数列表里引用了它。

至于创建两者的顺序,孰先孰后都是可以的,本例先创建Definition

4、系统为集成器加载模板创建的Definition一般名为XXX_UPL1/2/3,所以我们也可照顾这个传统取名为“参数列表名1/2/3”,本例取名BHSC_EMP_ADI_DPL1

Source填写WEBADI:Download,Category选择Data,这俩不知道都是干啥的

Data Type根据实际情况选择

Default Required -- 是否必需

Default Visible -- 是否显示

Default User Modifiable -- 是否允许用户更改

Validation Type可以选择快速代码、值集等,本例选择值集,相应的Validation Value就填写值集名

Maximum Size和Display Size受值集限制,不能超过其最大长度

Display Type有List Box、Check Box、Text Field等选项,根据实际情况酌选,本例选择下拉列表

Prompt Left/Above是参数显示在页面的标题

点击保存,将转回到定义Parameter界面

5、点击放大镜,将上一步创建的Definition信息带出来,这里的Name可改可不改,这个Name将在后面SQL中使用,本例稍作调整,以明示Parameter和Definition的不同

6、自动返回到参数列表界面,点击保存,便创建好了一个参数,如果还想要更多参数,再点击绿色加号继续创建即可。

  • WebADI使用参数

路径:桌面集成管理器/管理集成器

更新WEBADI,到第三步骤“内容”-->创建内容(SQL查询)

本例SQL语句为

SELECT t.empno,
       t.ename,
       t.job,
       t.mgr,
       t.hiredate,
       t.sal,
       t.comm,
       t.deptno,
       t.row_id,
       t.mgr_name,
       t.dname,
       t.hiredate_str
  FROM bhsc_emp_v t
 WHERE t.deptno = nvl($PARAM$.P_DEPTNO, t.deptno)

其中,$PARAM$.P_DEPTNO就是取参数的值,这里使用参数列表里定义的参数名

接下来选择前面创建的参数列表到内容上,这样内容的参数就设置好了,后面定义映射等常规操作此处不作赘述。

  • 效果展示

  •  非必需参数问题

开发过程中我发现,尽管参数定义为非必需的,但对于值列表的情况,页面上总会默认选择第一个值,且列表中并没有空白选项,也不能删除参数的值,这将导致非必需参数也变成了必需的。

如果在值集的视图里UNION ALL一行空值,那么页面上就可以选择到空选项了,但如果参数为空值又将报错“验证失败”,我猜测系统会用所选的参数值代入到值集中去检查,而空值不能通过等号比较。我想出的解决办法是,加的这行空值,应当具有一个别致的非空标识,例如dname是NULL,但deptno是-9999,这样内容的SQL语句中将不是用NVL处理,而是观察$PARAM$.P_DEPTNO是否为-9999。

这个解决方法只是将计就计,是否能从参数本身的设置上解决,尚不得知,请大家指教。


参考链接: 
WebADI_案例实施06_创建SQL Query Content结合参数选择(案例)icon-default.png?t=N176https://www.cnblogs.com/eastsea/archive/2012/12/06/4793134.html

WebADI_配置设定08_设定参数WebADI Parameters List(案例)icon-default.png?t=N176https://www.cnblogs.com/eastsea/p/4767857.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值