2016-04-19 147 views
0

爲了實現我的smartform,我應該在結構中聲明一個表。我試過,但它不工作:ABAP:如何在結構中聲明表

TYPES: t_qase2 TYPE TABLE OF qase. 

TYPES: 
BEGIN OF ty_itab. 
    pruefer type qase-pruefer. 
    zeiterstl type qase-zeiterstl. 
* ......(other fields) 
    ty_qase2 type t_qase2. 
    INCLUDE STRUCTURE s_f800komp. 
TYPES END OF ty_itab. 
+0

爲了包括表作爲結構的一部分,表格必須完全指定,包括密鑰。 實際上,建議使用WITH EMPTY鍵代替WITH DEFAULT鍵,但我不確定EMPTY關鍵字可用的補丁級別。兩者都可以工作,但是如果你不想定義一個關鍵的EMPTY更準確。 – Esti

回答

1

要聲明一個表的結構,你乾脆放棄與非唯一鍵的表型的領域之一:

TYPES: myTableType TYPE TABLE OF string WITH NON-UNIQUE DEFAULT KEY. 

TYPES: BEGIN OF ty_itab, 
    pruefer type qase-pruefer, 
    zeiterstl type qase-zeiterstl, 
    myTable type myTableType, "Table is here 
    ty_qase2 type t_qase2. 
    INCLUDE STRUCTURE s_f800komp. 
TYPES: END OF ty_itab. 

還要注意的用點結束每一行。在這種情況下,你必須使用,

1

除了由以前的應答者提出的變種,有表聲明的變體內部結構,明確的方式:

TYPES: BEGIN OF ty_itab, 
    pruefer TYPE qase-pruefer, 
    zeiterstl TYPE qase-zeiterstl, 
    myTable TYPE TABLE OF string WITH NON-UNIQUE DEFAULT KEY, 
    ty_qase2 TYPE t_qase2. 
    INCLUDE STRUCTURE s_f800komp. 
TYPES: END OF ty_itab.