ABAP硬编码值进入SELECT和字段进入另一个字段

shm*_*lki 2 sql sap abap

在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.
Run Code Online (Sandbox Code Playgroud)

但我有一个转储.

我知道更长的解决方案,要手动填写TVKO表并制作一个LOOP来填充范围,但我相信我们有一个解决方案,可以在我的例子中进行一次操作.

谢谢,专家.

小智 6

这实际上非常简单.只是摆脱INTO CORRESPONDINGAS.只要价值订单正确,您就没有问题:

SELECT 'I', 'EQ', bukrs
  FROM tvko
  INTO TABLE @lt_rtvko
 WHERE vkorg = @p_vkorg.
Run Code Online (Sandbox Code Playgroud)

我认为你的范围声明中有拼写错误.应该:

DATA: lt_rtvko TYPE RANGE OF bukrs.
Run Code Online (Sandbox Code Playgroud)