我以这种方式声明表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呈现!我错在哪里?
您已将名为 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.
如果您使用的是启用了外壳转换的漂亮打印机,您可能会更早发现这一点。