Range表可以把它当作一个特殊的内部表。里面的字段是固定的四个即SIGN,OPTION,LOW,HIGH。我们定义画面时用到SELECT-OPTIONS这个参数。其实他就给我们定义了Range表,大家可以DEBUG看一下里面的具体值。我们也可以在程序里自定义Range表。方法如下。
DATA R_MTART TYPE RANGE OF EKPO-MTART.
然后可以手动的往表里加值。如下:
DATA L_WA_R_FKDAT LIKE LINE OF R_FKDAT.
L_WA_R_FKDAT-SIGN = 'I'.
L_WA_R_FKDAT-OPTION = 'BT'.
L_WA_R_FKDAT-HIGH = SY-DATUM.
APPEND L_WA_R_FKDAT TO R_FKDAT.
上面就是定义了一个 ABAP里的Range表并给他加了数据,到时我们可以把他作为查询条件,放到SQL语句中。用IN R_FKDAT。我们来看看它里面的字段的意思。
1. SIGN:
I: 表筛选条件符合的资料
E: 表筛选条件不符合的资料
2. OPTION: 比较的条件符号
EQ(等于),NE(不等于),GT(大于),LE(小于),CP(包含),NP(不包含)
3. LOW: 最小值
4. HIGH: 最大值
关于RANGE表,大家还可以参看 SAP 报表机能之二屏幕定义 |