SAP ABAP范围表中的实际高低意味着什么

时间:2015-08-08 09:57:28

标签: range sap abap

范围表包含高值和低值。它实际上用于什么和用于什么?

1 个答案:

答案 0 :(得分:3)

范围表可以在open sql查询中使用(使用IN子句)作为限制。您可以在查询结果中定义要包含或排除的多个范围。例如:

report ZZTEST.

types: 
  lt_kunrng type range of kunnr_d.

data:
  it_rnrng type standard table of lt_kunrng,
  wa_rnrng type lt_kunrng,
  it_kna1 type standard table of kna1.

START-OF-SELECTION.

move:
  'I' to  wa_rnrng-sign,
  'EQ' to wa_rnrng-option,
  '0001000000' to wa_rnrng-low,
  '0002999999' to wa_rnrng-high.
append wa_rnrng to it_rnrng.

move:
  'I' to  wa_rnrng-sign,
  'EQ' to wa_rnrng-option,
  '0003500000' to wa_rnrng-low,
append wa_rnrng to it_rnrng.

select * from kna1 into corresponding fields of table it_kna1
    where kna1~kunnr in it_rnrng.

此示例手动定义RANGE表,向其中添加两行,然后使用此范围表查询透明表KNA1。然后,内部表it_kna1应包含KNA1的所有KUNNR记录,其中KUNNR介于1000000和2999999之间,记录的SIGN 35000000记录。因此,您可以在单个范围表中组合多个范围。

字段OPTION包含' I'包含或' E'对于排除(意味着此行应包括或排除与定义的范围匹配的记录),字段HIGH定义比较器(' EQ'表示相等,' GT'表示更大而且,' GE'更大或相等等等)。字段LOWLOW包含实际范围。如果您只想查询单个值,则不必同时提供HIGHLOW,您只需提供字段SIGN(当然还有OPTION }和RANGE)。

在报表中定义SELECT-OPTION时,也会创建

REPORT ZZTEST. TABLES: kna1. DATA: it_kna1 type standard table of kna1. SELECT-OPTION: so_kndrng for kna1-kunnr. START-OF-SELECTION. select * from kna1 into corresponding fields of it_kna1 where kna1~kunnr in so_kndrng. 表。然后,用户可以使用选择屏幕来定义他们想要在报告中使用的范围。

typeof

有关范围表的更多信息,您还可以参考官方文档here