字段"str_mara"未知,但有一个字段具有相似的名称"it_mara"



我想显示玛拉表的内容。

types : begin of str_mara,
          matnr type mara-matnr,
          ernam type mara-ernam,
        end of str_mara.
data it_mara type table of str_mara .
select matnr ernam from mara into TABLE it_mara .
loop at it_mara into str_mara.
  write:/ str_mara-matnr , str_mara-ernam.
endloop.

好吧,没有变量名为 str_mara。只有一种名为 str_mara的类型。

只是使用字段符号循环循环。

LOOP AT it_mara ASSIGNING FIELD-SYMBOL(<str_mara>).
   WRITE: /, <str_mara>-matnr, <str_mara>-ernam.
ENDLOOP.

类型只是一个静态定义,没有内存分配,因此不能自行使用。

您可以使用该类型创建一个变量,也可以使用内联声明创建这样的变量。

  • 选项1: data ls_mara type str_mara.

  • 选项2:loop at lt_mara into data(ls_mara).

或与Umar的答案一起去:)

顺便说一句,请务必检查访问Mara表的条件。

您还可以使用内联声明显示ABAP代码行较少行的Mara表的内容。

SELECT matnr, ernam FROM mara INTO TABLE @DATA(lt_mara) .
LOOP AT lt_mara ASSIGNING FIELD-SYMBOL(<fs_mara>).
   WRITE: /, <fs_mara>-matnr, <fs_mara>-ernam.
ENDLOOP.

相关内容

  • 没有找到相关文章

最新更新