2016-02-21 85 views
1

我已经声明了表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!我在哪里错了?

回答

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. 

如果您已经使用大小写转换漂亮的打印机启用,你可能会发现有更早。

+0

噢,谢谢。我将不得不启用漂亮的打印机来避免下次发生这种错误。 – AlexanderK