ループスルーaに問題があります。これは、あるテーブルの属性が他のテーブルの属性と同じであるという条件を使用しています。より良い説明のために私はコードを過ぎて行きます。難しいことではありませんが、私はどこで間違いをするのか分かりません。私はSFLIGHTはそのCARRIDのために含まれているものを示したいSPFLI内のすべてのCARRIDのためにABAP:Loop At <itab> TO <wa><cond>
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.
。しかし、それはwa_spfli-carridだけを書いています。 2度目の書き込みはありません。私がデバッグをすると、wa_sflightは常に空になります。 (または決してそれに到達することはありません)gt_sflightとgt_spfliは、問題がどこから生じるのですか?私が "carrid EQ wa_sflight-carrid"が動作する場所を削除すれば、画面上に表示したいものではありません。
追加情報(役に立つかどうかわかりません):gt_spfliとgt_sflightは、自分で作成した汎用モジュールを通して生成されます。
この時点で、wa_sflightはまだ入力されていませんが、wa_spfliという値があります。 – tomdemuyt
ありがとうございます!愚かな間違い:)私は "カーリド"はspfliから来ると思ったので、私はsflightと比較する必要があります。 – kookies