ABAP:循环在<itab> TO <wa>其中<cond>

koo*_*ies 3 sap abap loops where

循环使用一个表中的属性与另一个表相同的条件,我遇到了问题.为了更好地解释我将通过代码.不是很难,但我不明白我犯错的地方.

LOOP AT gt_spfli INTO wa_spfli.
  AT NEW carrid.
    WRITE:/ wa_spfli-carrid.
  ENDAT.
  LOOP AT gt_sflight INTO wa_sflight WHERE carrid EQ wa_sflight-carrid.
    WRITE:/ wa_sflight-carrid,
            wa_sflight-connid,
            wa_sflight-price.
  ENDLOOP.

  ULINE.
  ENDLOOP.
Run Code Online (Sandbox Code Playgroud)

对于spfli中的每个carrid,我想展示sflight包含的那些carrid.但它只写了wa_spfli-carrid.它永远不会第二次写.当我做调试时,我得到wa_sflight总是空的.(或永远不会到达它)gt_sflight和gt_spfli被填充,所以问题来自哪里?如果我删除"哪里carrid EQ wa_sflight-carrid"工作......但不是我想要在屏幕上显示.

其他信息(不知道它是否有用):gt_spfli和gt_sflight通过我自己制作的功能模块填充.

Tia*_*ida 7

在内部循环中,您希望将carrid与wa_spfli-carrid(来自外部循环)进行比较,而不是使用wa_sflight-carrid进行比较.