ABAP RANGE 及 SELECTION-OPTION 功能

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