SAP 中SELECTION-OPTION 是个很强大的功能,在程序中也经常需要类似SELECTION-OPTION的功能,如果不画屏幕的话,SAP提供了RANGE来实现该功能,下面是一段简单例子代码。
RANGES:s_belnr FOR bseg-belnr.
DATA: lw LIKE LINE OF s_belnr.
"单值
CLEAR lw.
lw-sign = 'I'.
lw-option = 'EQ'.
lw-low = 'BB'.
APPEND lw TO s_belnr.
"区间
CLEAR lw.
lw-sign = 'I'.
lw-option = 'BT'.
lw-low = 'BB'.
lw-high = 'CC'.
APPEND lw TO s_belnr.
*选项介绍:
*1.SIGN 值为I和E I包含 E是排除 一般使用I
*2.OPTION 如果HIGH 为空 为单值选择 有 EQ、NE、GT、LE、LT等逻辑操作 对于*的 CP包含 NP是排除
* 如果HIGH 不为空 为区间选择 有BT,NB可选
*3.LOW 低值
*4.HIGH 高值
SELECT-OPTIONS用法:
... [OBLIGATORY|NO-DISPLAY] 必输|不显示用于SUBMIT
[VISIBLE LENGTH vlen] 指定显示长度
[NO-EXTENSION] 不显示多值选择按钮
[NO INTERVALS] 不显示字段的HIGH条件
[MODIF ID modid] ... . 用于修改屏幕(系统表SCREEN)
DEFAULT g 设置初始值
DEFAULT g... OPTION op... SIGN s... OPTION:EQ等于 BT区间值 NB区间值除外 GE大于等于 LE小于等于 GT大于 LT小于 NE不等于 SIGN:I包含 E不包含
MEMORY ID pid 分配内存参数
MATCHCODE OBJECT mobj 在mobj中输入Search Help名会生成Possible Entry
MODIF ID modid 指定screen-group有,用于分组控制画面属性
NO-DISPLAY 隐藏,不显示在画面上
LOWER CASE 区分大小写,默认自动转大写
OBLIGATORY 指定必输字段
NO-EXTENSION 删除复选框按钮
NO INTERVALS 删除HIGH值
VISIBLE LENGTH vlen 字段显示长度
NO DATABASE SELECTION LDB选项,在一般报表中无任何功能
VALUE-REQUEST LDB中追加F4 VALUE HELP
HELP-REQUEST 与VALUE-REQUEST相似,生成字段HELP