2016-03-06 25 views
0
REPORT zbc400_figure157. 

TYPES: BEGIN OF t_conn, 
    cityfrom TYPE spfli-cityfrom, 
    cityto TYPE spfli-cityto, 
    carrid TYPE spfli-carrid, 
    connid TYPE spfli-connid, 
    END OF t_conn. 

DATA: 
conn_list LIKE STANDARD TABLE OF t_conn, 
startline LIKE sy-tabix, 

BEGIN OF wa_travel, 
    dest TYPE spfli-cityto, 
    cofl_list LIKE conn_list, 
END OF wa_travel, 
     travel_list LIKE SORTED TABLE OF wa_travel WITH UNIQUE KEY dest. 

FIELD-SYMBOLS: 
       <fs_conn> TYPE t_conn, 
       <fs_conn_int> TYPE t_conn, 
       <fs_travel> TYPE wa_travel. 

PARAMETERS pa_start TYPE spfli-cityfrom DEFAULT 'FRANKFURT'. 

SELECT carrid cityfrom cityto 
    FROM spfli 
    INTO CORRESPONDING FIELDS OF TABLE conn_list. 
SORT conn_list BY cityfrom cityto ASCENDING AS TEXT. 

** build up nested table. 

LOOP AT conn_list ASSIGNING <fs_conn> WHERE cityfrom = pa_start. 
    CLEAR wa_travel. 
    wa_travel-dest = <fs_conn>-cityto. 

    READ TABLE conn_list 
     WITH KEY cityfrom = wa_travel-dest 
     TRANSPORTING NO FIELDS 
     BINARY SEARCH. 
    startline = sy-tabix. 

    LOOP AT conn_list ASSIGNING <fs_conn_int> 
     FROM startline. 

    IF <fs_conn_int>-cityfrom <> wa_travel-dest. 
     EXIT. 
    ENDIF. 

    APPEND <fs_conn_int> TO wa_travel-cofl_list. 
    ENDLOOP. 

    SORT wa_travel-cofl_list BY cityto carrid ASCENDING AS TEXT. 
    INSERT wa_travel INTO TABLE travel_list. 
ENDLOOP. 
Error: Field "T_CONN" is unknown. It is neither in one of the specified tables nor defined by a "DATA" statement . . . . . . . . . . 

我們聲明的內表COFL_LIST與corrosponding工作區域外部表TRAVEL_LIST。內部表CONN_LIST緩衝所有航班連接並對其進行分類。有什麼不對下面的ABAP代碼

該程序使用3個表,內部表,外部表和一個內部表。

我在做節目的變化所建議的LPK:

conn_list TYPE STANDARD TABLE OF t_conn, 

然而,現在的問題是在行:

FIELD-SYMBOLS: 
       <fs_conn> TYPE t_conn, 
       <fs_conn_int> TYPE t_conn, 
       <fs_travel> TYPE wa_travel. 

錯誤:鍵入 「WA_TRAVEL」 是未知的。 在程序中,wa_travel變量已經定義在它的BEGIN OF wa_travel和END OF wa_travel塊中。爲什麼系統無法檢測到這個問題?

+0

只是爲了您的信息:打開一個新的問題,而不是增加一個新的最後 – 2016-04-02 22:51:33

回答

0

的聲明是不正確的......

FIELD符號: TYPE t_conn, TYPE t_conn, TYPE wa_travel。

應該

FIELD符號: TYPE t_conn, TYPE t_conn, LIKE wa_travel。

您需要檢查在前面的回答中提供的鏈接...或者你可以使用來自Help Portal以下的TYPE & LIKE

6

此行是錯誤的:

conn_list LIKE STANDARD TABLE OF t_conn,

T_CONN是一種類型,因此你必須使用TYPE而不是LIKE

你可以找到關於差異的解釋here