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.

*查询结果如下