以下ABAP代码有什么问题

What is wrong with the following ABAP code

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 . . . . . . . . . .

我们声明了内部 table COFL_LIST 和外部 table TRAVEL_LIST 以及相应的工作区域。内部 table CONN_LIST 缓冲所有航班连接并对它们进行排序。

该程序使用 3 tables,内部 table,外部 table 和内部 table.

我按照 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 块中。为什么系统不能接受这个?

这一行是错误的:

conn_list LIKE STANDARD TABLE OF t_conn,

T_CONN 是一种类型,因此您必须使用 TYPE 而不是 LIKE

您可以找到关于差异的解释 here

声明不正确...

字段符号: 类型 t_conn, 类型 t_conn, 类型 wa_travel.

应该是

字段符号: 类型 t_conn, 类型 t_conn, 喜欢 wa_travel.

您需要检查上一个答案中提供的 link...或者您可以使用 Help Portal 中的以下内容