Loops 环路At<;itab>;至<;wa>;何处<;康德>;找不到线条

Loops 环路At<;itab>;至<;wa>;何处<;康德>;找不到线条,loops,where-clause,abap,internal-tables,Loops,Where Clause,Abap,Internal Tables,我在使用一个表中的属性与另一个表中的属性相同的条件时遇到了循环问题。为了更好地解释,我将跳过代码。这并不难,但我不明白我在哪里犯了错误 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-

我在使用一个表中的属性与另一个表中的属性相同的条件时遇到了循环问题。为了更好地解释,我将跳过代码。这并不难,但我不明白我在哪里犯了错误

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.
对于spfli中的每个carrid,我想展示sflight为该carrid包含的内容。但它只写wa_spfli-carrid。它永远不会再写了。当我进行调试时,我发现wa_sflight总是空的。(或者永远都不知道)gt_sflight和gt_spfli是填充的,那么问题从何而来?如果我删除“carrid EQ wa_sflight-carrid”的作用。。。但这不是我想在屏幕上显示的


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

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

正确,此时您尚未填充wa_sflight,但你确实有wa_spfli的价值观。谢谢!愚蠢的错误:)我认为“carrid”来自spfli,因此我需要它与sflight进行比较。