打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ABAP 使用Select Options代替Parameters
ABAP 使用Select Options代替Parameters
 
 

我们经常会遇到如下的需求,在页面的几个输入框中输入参数,然后在根据输入条件显示结果集列表。这是最常见的report形式。可是问题是,在使用parameters作为参数的时候,某一项的值没有输入,sql执行后的结果与我们期望的不相符,根源在于某一字段为空,查询条件就会去搜索这一字段为空的值,结果往往是没有符合条件的结果。
对应这种情况,可以采取多种方法解决,如使用range,或者使用动态sql语句。但是也可以使用select options 来代替parameters进行输入参数定义。因为select options定义出来的实际上是一个内表,在查询的时候使用IN,即使没有输入,查询语句会忽略这一项的匹配,而不会取数据库里找寻没有值或为空的记录匹配。这样的查询结果才是我们所需要的。
然而,select options 默认会产生两个输入框,这与parameters有些不同,不过没有关系,在定义select options的时候只需要加上一些特殊操作即可以只显示第一个输入框,这样在外观上与parameters就很相似了。
如: SELECT-OPTIONS: so_gjahr FOR bsik-gjahr NO INTERVALS . 这样在查询的时候就不能按照 '=' 来设置查询条件了,而应该应 'IN' 来设置这个条件,即:…… where bsik-gjahr IN so_gjahr ……。这样,即使so_gjahr即使没有输入也不会影响到最终查询的结果。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/own_delphi/archive/2009/11/10/4794252.aspx
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
ABAP入门----使用选择屏幕
javascript获取select的值全解
mysql的视图
FOR的参数/F与eol、skip
matlab词语含义
oracle 10g脱机备份命令
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服