如何将 abap 中的 SELECT 循环更改为字段符号



我有这样的代码:

i_mahn is a itab.
Data: gt_mahn type table of i_mahn,
gs_result type i_mahn.
LOOP AT gt_mahn into gs_result
SELECT * FROM mhnd
INTO gs_mhnd
WHERE laufd EQ gs_result-laufd
AND   laufi EQ gs_result-laufi
AND   cpdky EQ gs_result-cpdky
MOVE-CORRESPONDING gs_mhnd TO gs_result.
ENDSELECT.
ENDLOOP.

我想将其更改为带有字段符号的循环,但是如何更改?我知道字段符号仅包含信息所在的位置,但在这种情况下我不知道如何将字段符号与选择一起使用......

field-symbols: <gs_mahn> like line of gt_mahn
LOOP AT gt_mahn appending <gs_mahn>
SELECT * FROM mhnd
INTO ???
WHERE laufd EQ <gs_mahn>-laufd
AND   laufi EQ <gs_mahn>-laufi
AND   cpdky EQ <gs_mahn>-cpdky
MOVE-CORRESPONDING ??? TO ???.
ENDSELECT.
ENDLOOP.
field-symbols: <gs_mahn> like line of gt_mahn.
LOOP AT gt_mahn ASSIGNING <gs_mahn>.
SELECT * FROM mhnd INTO gt_mahn
WHERE laufd EQ <gs_mahn>-laufd
AND   laufi EQ <gs_mahn>-laufi
AND   cpdky EQ <gs_mahn>-cpdky
MOVE-CORRESPONDING <gs_mahn> TO <whatever>.
ENDSELECT.
ENDLOOP.

我真的不知道你在做什么,但是在我的示例中,您可以看到如何使用字段符号...谷歌可能也很容易知道这一点......https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abenfield-symbol_inline.htm

最新更新