ABAP-选择屏幕(二) SELECT-OPTIONS元素
语法及应用:
本篇重点是使用select-options替代parameters
语法
该语句会生成一个名为selcrit选择条件内表,具体请参数OPEN SQL章节中的 RANG条件内表
TABLES: mard. "声明一个表mard同名的工作区,便于选择屏幕定义屏幕字段。
SELECT-OPTIONS s_matnr FOR mard-matnr
OBLIGATORY "必输
"NO-DISPLAY "不显示
VISIBLE LENGTH 20 "显示长度
NO-EXTENSION "限制选择表为单行,元素输入后面不会出现多行输入按钮
NO INTERVALS "只会出现low值输入框
DEFAULT '80010001' TO '80019999' SIGN I OPTION BT "参考range
.
应用
- 输入ABAP程序默认值时,需要加上“=”
如果输入框中输入的值恰为ABAP程序中相应字段所对应的初始值时(如字符类型为空串,时间与数字类型为“0”串时),需要在第一个框前面选择操作符,否则程序将会忽略这个值的输入,即查询所有的
- 使用SELECT-OPTIONS替代PARAMETERS
使用SELECT-OPTIONS替代PARAMETERS好处是,当不输入值时,sql语句会查询所有的。如果是parameters,值为空就是查询为空(或0)的条目。这回导致我们取数时漏数。笔者以前都是通过拼接where条件的动态语句去分情况查询。而通过使用NO INTERVALS和NO-EXTENSION则可以使用SELECT-OPTIONS完美替代,外表看上去与PARAMETERS一样。
TABLES: marc.
SELECT-OPTIONS: s_werks FOR marc-werks NO INTERVALS NO-EXTENSION.
post SAP-Garson
原文链接:https://blog.csdn.net/u011176275/article/details/115670078文章来自于网络,如果侵犯了您的权益,请联系站长删除!