WebADI - 参数的使用

news2024/10/2 16:21:47

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

最近研究了一下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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/352490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++学习笔记-提高编程-模板(哔站-黑马程序员c++教学视频)

目录 1、模板概念 2、模板特点 3、模板语法 3.1编程思想:泛型编程 3.2两种模板方法: 3.2.1 函数模板 3.2.2 类模板 1、模板概念 通用的模具,提高代码复用性 2、模板特点 不可以直接使用,只是一个框架;模板的…

JMeter 做接口性能测试,YYDS

简介 本文由xmeter君写给想了解性能测试和JMeter的小白,适合对这两者了解很少的同学们,如果已经有使用经验的请绕道,别浪费时间:-) 我们将介绍JMeter的使用场景,如何安装、运行JMeter,以及开始一个最最简单的测试。 …

房产|1月全国70城房价出炉!疫情放开后你关心的城市房价有何变化

2023年1月份,70个大中城市中新房销售价格环比上涨城市个数增加;一线城市新房销售价格环比同比转涨、二三线城市环比降势趋缓,二三线城市同比下降。 | 新房/二手房12月-1月环比上涨城市数量变化 70个大中城市中,新房环比上涨城市…

RBAC(Role-Based Access Control:基于角色的访问控制)

RBAC是什么 1、RBAC模型概述 RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但其实在20世纪70年代的多用户计算时期,这种思想就已经被提出来,直到20世…

控制层类上的注解、业务层的注入、URL映射、参数接收、返回数据及网页模板、RESTful

控制类的作用: 处理http的请求,从HTTP请求中获得信息,提取参数,并分发给不同的处理服务,处理之后封装成一个Model ,然后再把该Model返回给对应的View进行展示。 控制层类上的注解 Controller:…

科技爱好者周刊之爱好者记录

前言 平时浏览的内容杂七杂八,说好听一些叫做“内容丰富,涉猎甚广”,实际一些则是受到主流大环境的冲击加之自身的控制力尚且不足。 有过类似经历的人大多知道,碎片化的信息除了填充大脑的冗余空间,在短期时间内就会被…

AMBA低功耗接口规范(Low Power Interface Spec)

1.简介 AMBA提供的低功耗接口,用于实现power控制功能。目前AMBA里面包含2种低功耗接口: Q-Channel:实现简单的power控制,如上电,下电。 P-Channel:实现复杂的power控制,如全上电,半上…

今天面了个腾讯拿28K出来的,让我见识到了测试基础的天花板...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。 一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在10-20k,面试的人很多,但平均水平很让人失望。 看简历很多都是3年工作经验,但…

每天10个前端小知识 【Day 17】

前端面试基础知识题 1.使用原生js实现以下效果:点击容器内的图标,图标边框变成border:1px solid red,点击空白处重置 const box document.getElementById(box); function isIcon(target) { return target.className.includes(icon); } b…

【Unity VR开发】结合VRTK4.0:设置抓取时可交互对象的方向

语录: 取酒酿晚风,赠我一场空。 前言: 获取可交互对象的默认方法是将可交互对象的原点与交互器的原点对齐。此机制适用于基本抓取,但有时当您想要抓取某个对象时,您可能希望将可交互对象定向到特定位置并旋转到交互器…

【免费教程】SWAT模型及在面源污染中的应用与案例分析

SWATSWAT(Soil and Water Assessment Tool)是由美国农业部(USDA)的农业研究中心Jeff Arnold博士1994年开发的。模型开发的最初目的是为了预测在大流域复杂多变的土壤类型、土地利用方式和管理措施条件下,土地管理对水分…

mysql 按时间倒排序深翻页思考

背景深翻页,可以用id做为偏移量,但如果是uuid时,或需求是要按时间排序时,深翻页就是一个问题了。如果要按最后修改时间倒排序,把时间做索引是可以,但有可能时间是有重的,这样结果就可能不准确这…

【Deformable Convolution】可变形卷积记录

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 可变形卷积记录 1. 正文 预印版: Deformable Convolutional Networks v1 Deformable ConvNets v2: More Deformable, Better Results 发表版…

【郭东白架构课 模块一:生存法则】05|法则二:研发人员的人性需求是如何影响架构活动成败的?

你好,我是郭东白。上节课我们学习了马斯洛关于人性的理论,那么这节课我们就利用这个理论来看看我们在架构活动中应该注意些什么。 架构设计必须符合人性,而在架构活动中,与“人”相关的主要就是研发人员和目标用户。那么今天这节…

大数据全方位学习路线

大数据全方位学习路线 一、大数据处理流程 上图是一个简化的大数据处理流程图,大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。下面我们逐一对各个环节所需要的技术栈进行讲解: 1.1 数据收集 大数据处理的第一步是数据的收…

23- 条件随机场CRF (NLP算法) (算法)

CRF模型构建 : crf sklearn_crfsuite.CRF(c1 0.1,c2 0.1,max_iterations100,all_possible_transitionsTrue) crf.fit(X_train,y_train) 1、条件随机场CRF概述 将之前所有的观测作为未来预测的依据是不现实的,因为其复杂度会随着观测数量的增加而无限制地增长。因…

【C++提高编程】C++全栈体系(二十)

C提高编程 第三章 STL - 常用容器 二、vector容器 1. vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展&#xff1a…

小菜版考试系统——“C”

各位CSDN的uu们你们好呀,今天,小雅兰的内容是小菜版考试系统,最近一直在忙C语言课程设计的事,那么,就请uu们看看我的学习成果吧。 课程设计任务 摘要 题目分析 流程图 关键程序代码 程序运行结果 结论与心得 参…

JVM08 StringTable

StringTable String的基本特性 String:字符串,使用一对 ”” 引起来表示 String s1 “mogublog” ; // 字面量的定义方式String s2 new String(“moxi”); string声明为final的,不可被继承String实现了Serializable接口:表示字…

python 调用 dll 出现精度问题

问题:python 在调用dll 的时候出现了精度问题 总结:使用decimal库进行转换就可以正常传递。 ‘ 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 ’ 遇到的问题具体情况 dll 生成函数…