在ranges表中,高和低的实际含义是什么



范围表包含一个高值和一个低值。它到底有什么用?

范围表可以在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应该包含KUNNR在1000000到2999999之间的所有KNA1记录和KUNNR在35000000之间的记录。因此,您可以在单个范围表中组合多个范围。

字段SIGN包含'I'表示包含或'E'表示排除(这意味着这一行应该包含或排除匹配定义范围的记录),字段OPTION定义比较器('EQ'表示等于,'GT'表示大于,'GE'表示大于或等于,等等)。HIGHLOW字段为实际范围。如果你只想查询一个值,你不需要同时提供LOWHIGH,你只需要提供字段LOW(当然还有SIGNOPTION)。

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

RANGE表。然后,用户可以使用选择屏幕来定义他们想要在报告中使用的范围。

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.

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

相关内容

  • 没有找到相关文章

最新更新