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

ABAP hard code value into SELECT and field into another field

在 ABAP 中可以创建一个 select 并包含一个硬编码值并在任何字段中放置一个值。

在我的示例中,我必须根据 VKORG 用公司代码 BUKRS 填充一个范围,所以我必须像这样在 TVKO 上做一个 select:

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.

但是我有一个转储。

我知道一个更长的解决方案,手动填充一个 table 的 TVKO 并制作一个 LOOP 来填充范围,但我相信我们有一个解决方案可以在一个操作中做到这一点,比如在我的例子中。

谢谢专家。

其实很简单。只需删除 INTO CORRESPONDINGAS。只要值顺序正确,就没有问题:

SELECT 'I', 'EQ', bukrs
  FROM tvko
  INTO TABLE @lt_rtvko
 WHERE vkorg = @p_vkorg.

而且我认为您的范围声明中有错字。应该是:

DATA: lt_rtvko TYPE RANGE OF bukrs.