通过使用一个表中的属性与另一个表中的属性相同的条件,我遇到了循环问题。为了更好地解释,我将跳过代码。这不是什么难事,但我不知道我在哪里犯错。

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中的每一个香石竹,我都想显示该香石竹所含的杂物。但是它只写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进行比较。

07-25 22:11