我已经以这种方式声明了表gt_log_req,因为用户要求输入新字段zzname_create。以前它只使用标准的alv类型表,但是没有这样的字段,所以......
types: begin of ty_log_req,
include type zmms_stock_rep_log_alv,
ZZNAME_CREATE type resb-ZZNAME_CREATE,
end of ty_log_req.
DATA: gt_log_req TYPE TABLE OF ty_log_req.
......以及之后的
DELETE gt_log_req
WHERE dtres_reasid <> '000'.
但是这样我就遇到了dtres_reasid的“没有这样的字段”错误,但它出现在zmms_stock_rep_log_alv中!我哪里错了?
答案 0 :(得分:2)
您已在结构中添加了名为INCLUDE
的组件,因此字段名称为include-dtres_reasid
。我怀疑这是你的意图,但你在那里犯了一个常见的入门级错误:INCLUDE TYPE
/ INCLUDE STRUCTURE
是单独的指令,必须在与TYPES
指令相同的级别输入。因此,您需要以任意方式结束TYPES
语句INCLUDE
,并以新的TYPES
语句开头。
TYPES: BEGIN OF ty_log_req.
INCLUDE TYPE zmms_stock_rep_log_alv.
TYPES: zzname_Create TYPE resb-zzname_create,
END OF ty_log_req.
如果您使用了漂亮的打印机并启用了大小写转换,那么您可能早先发现了这一点。