一方のテーブルの属性がもう一方のテーブルと同じであるという条件を使用して、ループスルーに問題があります。よりよく説明するために、私はコードを過ぎます。難しいことではありませんが、どこを間違えたのかわかりません。
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について、そのcarridに含まれるsflightを表示したいと思います。ただし、wa_spfli-carridのみを書き込みます。2回目の書き込みにはなりません。デバッグを行うと、wa_sflightが常に空になっていることがわかります。(または決してそれに到達しません)gt_sflightとgt_spfliが設定されているので、問題はどこから発生しますか?「carridEQwa_sflight-carrid」が機能する場所を削除すると...しかし、画面に表示したいものではありません。
追加情報(有用かどうかはわかりません):gt_spfliおよびgt_sflightは、自分で作成した汎用モジュールを介して入力されます。