1.SELECT-OPTIONS基本语法及定义
SELECT-OPTIONS通常用于参照一数据库字段来建立数据输入域,其定义对象命名长度不能超过8位,其产生的屏幕对象最大输入长度为18位,语法如下:
SELECT-OPTIONS <sel> FOR <f>.
[For Example]
SELECT-OPTIONS:DATA FOR SY-DATUM.
*运行界面如下:
SELECT-OPTIONS内表结构:
名称 | 参考值 | 描述 |
SIGN | I或者E | 输入类型,显示图标颜色会有所不同 |
OPTION | EQ,NE,CP,NP,GE,LT,LE,GT |
表示前后输入栏关系,EQ(等于),NE(不等于),CP(参考判断格式,如"ABC*"),NP(排除参考格式),LT(小于),LE(小于或者等于),GT(大于),GE(大于或者等于) |
LOW | 输入栏前字段 | |
HIGH | 输入栏后字段 |
2.SELECT-OPTIONS的语法扩展
(1)默认值的设定
...DEFAULT g:定义单一默认值。
...DEFAULT g...OPTION xxx ... SIGN s:定义含判断条件的单一默认值。
...DEFAULT g TO h:定义默认值的取值范围。
...DEFAULT g TO h ... OPTION op ... SIGN s:设置默认值的聚会范围及判断条件。
创建一个SELECT-OPTIONS屏幕,默认值前一位等于“1”,如下:
SELECT-OPTIONS:mymatnr FOR MARA-matnr DEFAULT '1*' OPTION CP SIGN E.
*运行界面如下:
(2)...MEMORY ID pid:将SELECT-OPTIONS分配参数名并存储在SAP内存,参数名长度不能超过三位。
(3)...NO-DISPLAY:将SELECT-OPTIONS设置为隐藏,不会在屏幕上输出。
(4)...LOWER CASE:输入值中不允许输入小写字符,否则会自动转换为大写。
(5)...OBLIGATORY:限制该SELECT-OPTIONS为必须输入的项目,执行中系统会提示。
(6)...NO-EXTENSION:限制该SELECT-OPTIONS只能输入一行数据,输入多行按钮(上图最右边按钮)被隐藏。
(7)...VISIBLE LENGTH vlen:定义所显示数据的长度。
Open SQL可以直接调用SELECT-OPTIONS中输入值作为参数。如下所示:
SELECT-OPTIONS:matnr FOR MARA-matnr OBLIGATORY NO INTERVALS.
SELECT SINGLE * INTO MARA FROM MARA WHERE MATNR IN matnr.
WRITE MARA-matnr.
*查询结果如下