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