Abap 使用LET从itab填充范围表

Abap 使用LET从itab填充范围表,abap,Abap,我找到了填充范围表的代码(源代码已脱机): 但不是这样做: ( low = '1' ) ( low = '2' ) ... DEFINE range. lr_vkorg = VALUE lr_range_t( BASE lr_vkorg ( sign = 'I' option = 'EQ' low = &1 ) ). END-OF-DEFINITION. 我想用内部表的值填充它['1','2',…] 有人知道怎么做吗 更新:根据答案,我是这样做的: 数据: lt_itab类型字符串

我找到了填充范围表的代码(源代码已脱机):

但不是这样做:

( low = '1' )
( low = '2' )
...
DEFINE range.
 lr_vkorg = VALUE lr_range_t( BASE lr_vkorg ( sign = 'I' option = 'EQ' low = &1 ) ).
END-OF-DEFINITION.
我想用内部表的值填充它
['1','2',…]

有人知道怎么做吗

更新:根据答案,我是这样做的:

数据:
lt_itab类型字符串表,
lt\u范围\u itab类型字符串的范围
.
将“1”附加到lt_itab。
将“2”附加到lt_itab。
将“3”附加到lt_itab。
将“4”附加到lt_itab。
lt_range_itab=值#(
在itab中校
(符号='I'
选项='EQ'
低=)
).

您可以使用声明的结构声明宏,如下所示:

( low = '1' )
( low = '2' )
...
DEFINE range.
 lr_vkorg = VALUE lr_range_t( BASE lr_vkorg ( sign = 'I' option = 'EQ' low = &1 ) ).
END-OF-DEFINITION.
然后用这一行填充您的范围:

range: '1100', '1200', '1300', '1400', '1500', '1600'.
如果我们谈论itab的填充范围,请使用以下语句:

lr_vkorg = VALUE #( FOR ls_vkorg IN gt_vkorg
                  ( sign = 'I'
                    option = 'EQ'
                    low = ls_vkorg-vkorg )
                  ).

一个范围总是由低-高、一个符号和一个运算符组成。。。我认为范围无法解决您试图做的任何事情。@zYrEx我试图用尽可能少的代码从内部表填充范围表。好的。从我的角度看,这并不清楚。“['1','2',…]”是一种结构吗?只是看起来像一个数组,或者你的内部表是如何构造的?不是你的问题,而是你发现的代码包含了无用的语句;正在删除让。。。IN是一个有效的语法:
lr\u vkorg=VALUE lr\u range\t(sign='I'option='EQ'(low='1100')(low='1200')…。
但是当我使用itab时,我不再需要顶部的
(sign='I'option='EQ'low=&1)
,对吗?我可以改为只做vkorg的数据lr\u vkorg类型范围吗?
我可以改为只做vkorg的数据lr\u vkorg类型范围吗?
不,你不能。宏和itab是两种不同的情况,宏仅从文字填充。在这两种情况下,您都需要声明。
lr_vkorg = VALUE # ( sign   = 'I'  option = 'EQ' ( low = '1100' ) ( low = '1200' )
             ( low = '1300' ) ( low = '1400' )   ( low = '1500' ) ).