首页 > 代码库 > SAP ABAP编程 Ranges用法

SAP ABAP编程 Ranges用法

  在SAP中,有时候需要把单值的结构变成区间的结构,也就是类似SELECTION-OPTION的功能,SAP提供了RANGES来实现该功能.

(SAP 中SELECTION-OPTION 是个很强大的功能,在程序中也经常需要类似SELECTION-OPTION的功能,如果不画屏幕的话,SAP提供了RANGE来实现该功能)

实例如下:

DATAtable_t LIKE TABLE OF spfli,
      table_wa LIKE  spfli.
RANGES:g_ranges FOR spfli-carrid.

*"单值
*CLEAR G_ranges[].
*G_ranges-sign = ‘I‘.
*G_ranges-option = ‘EQ‘.
*G_ranges-low = ‘AA‘.
*APPEND G_ranges.

"区间
CLEAR g_ranges[].
g_ranges-sign ‘I‘.
g_ranges-option ‘BT‘.
g_ranges-low ‘AA‘.
g_ranges-high ‘HH‘.
APPEND g_ranges.

SELECT  FROM spfli  INTO TABLE table_t WHERE carrid IN g_ranges.
LOOP AT table_t INTO table_wa.
  WRITE :  / table_wa-carrid,table_wa-connid,table_wa-cityto.
ENDLOOP.


此时G_ranges就相当于SELECTION-OPTION定义的类型。
*选项介绍:
*1.SIGN  值为 I 和 E 。 I是包含, E是排除, 一般使用I。
*2.OPTION 如果HIGH 为空 ,为单值选择 。有 EQ、NE、GT、LE、LT等逻辑操作  对于*的  CP包含  NP是排除
                 如果HIGH 不为空 为区间选择 有BT,NB可选
*3.LOW     低值
*4.HIGH    高值


SAP ABAP编程 Ranges用法