在ABAP中可以进行选择并包含硬代码值并在任何字段中放置值。
在我的例子中,我必须根据VKORG填写公司代码BUKRS的范围,所以我必须在TVKO上做这样的选择:
DATA : lt_rtvko TYPE RANGE OF bukrs.
SELECT 'I' as sign 'EQ' as option bukrs as low
INTO CORRESPONDING FIELDS OF TABLE lt_rtvko
FROM tvko
WHERE vkorg EQ p_vkorg.
但我有转储。
我知道一个更长的解决方案,要手动填写TVKO表并制作一个LOOP来填充范围,但我相信我们有一个解决方案可以在一个操作中完成,就像在我的例子中一样。
谢谢,专家。
答案 0 :(得分:6)
实际上很容易。只需摆脱INTO CORRESPONDING
和AS
。只要价值订单正确,您就没有问题:
SELECT 'I', 'EQ', bukrs
FROM tvko
INTO TABLE @lt_rtvko
WHERE vkorg = @p_vkorg.
我认为你的范围声明中有拼写错误。应该是:
DATA: lt_rtvko TYPE RANGE OF bukrs.