字段 "str_mara" 未知,但有一个名称相似的字段 "it_mara"
The field "str_mara" is unknown, but there is a field with the similar name "it_mara"
我要显示玛拉的内容table。
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.
您也可以使用内联声明以更少的 ABAP 代码行来显示 mara table 的内容。
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.
类型只是一个静态定义,没有分配内存,因此不能单独使用。
您可以创建具有该类型的变量或使用内联声明来创建类似的变量。
选项 1:data ls_mara type str_mara.
选项 2:loop at lt_mara into data(ls_mara).
或者使用 Umar 的回答:)
顺便说一句,请务必检查您访问 mara 的 where 条件 table。
我要显示玛拉的内容table。
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.
您也可以使用内联声明以更少的 ABAP 代码行来显示 mara table 的内容。
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.
类型只是一个静态定义,没有分配内存,因此不能单独使用。
您可以创建具有该类型的变量或使用内联声明来创建类似的变量。
选项 1:
data ls_mara type str_mara.
选项 2:
loop at lt_mara into data(ls_mara).
或者使用 Umar 的回答:)
顺便说一句,请务必检查您访问 mara 的 where 条件 table。