2016-02-21 104 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