通过使用一个表中的属性与另一个表相同的条件,我在循环中遇到了问题。为了更好地解释,我将跳过代码。这不是什么困难的事情,但我不明白我在哪里犯了错误。
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-carid。它从来没有第二次写入。当我进行调试时,我发现wa_sflight总是空的。(或者永远不会得到它)gt_sflight和gt_spfli是填充的,那么问题从哪里来?如果我删除"哪里carrid EQ wa_sflight-carid"工作。。。但这不是我想要在屏幕上显示的。
附加信息(不知道是否有用):gt_spfli和gt_sflight是通过我自己制作的功能模块填充的。
在内部循环中,您希望将carrid与wa_spfli-carid(来自外部循环)进行比较,而不是与wa_sflight-carid进行比较。