SAP_ABAP_双击跳转 / SUBMIT 程序 关键字使用

  WHEN '&IC1'.
      READ TABLE gt_output ASSIGNING FIELD-SYMBOL(<fs_jump>) INDEX rs_selfield-tabindex.
      IF sy-subrc = 0 .
        SUBMIT zmm020_m  WITH p_belnr = <fs_jump>-belnr WITH p_gjahr = <fs_jump>-gjahr WITH p_bukrs = <fs_jump>-bukrs AND RETURN.
      ENDIF.

 WHEN '&IC1'.
      READ TABLE gt_output ASSIGNING FIELD-SYMBOL(<fs_jump>) INDEX rs_selfield-tabindex.
      IF sy-subrc = 0 .
        SUBMIT zmm020_m  WITH p_belnr = <fs_jump>-belnr WITH p_gjahr = <fs_jump>-gjahr WITH p_bukrs = <fs_jump>-bukrs AND RETURN.
      ENDIF.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在您提供的 ABAP 代码中,数据翻倍的问题是由于在循环内部使用 COLLECT 语句导致的。每当 COLLECT 语句执行时,会将当前的 LS_MEBPC_O062 结构体添加到 RESULT_PACKAGE 内部表中,从而导致内部表中的数据翻倍。 要解决数据翻倍的问题,您可以使用一个临时的内部表来保存符合条件的结构体,然后在循环结束后将临时内部表的内容复制回 RESULT_PACKAGE 内部表。以下是修改后的代码示例: DATA: lt_temp TYPE TABLE OF ls_mebpc_o062. " 临时内部表 LOOP AT result_package INTO ls_mebpc_o062. IF ls_mebpc_o062-/BIC/M_HRKMBM <> '19' AND ls_mebpc_o062-/BIC/M_RYLX = '中方'. IF ls_mebpc_o062-/BIC/M_ZJ+0(1) = 'E'. ls_mebpc_o062-/BIC/M_ZL = 'JT2'. ELSE. ls_mebpc_o062-/BIC/M_ZL = 'JT1'. ENDIF. APPEND ls_mebpc_o062 TO lt_temp. " 将符合条件的结构体添加到临时内部表 ENDIF. ENDLOOP. CLEAR result_package. " 清空 RESULT_PACKAGE 内部表 LOOP AT lt_temp INTO ls_mebpc_o062. COLLECT ls_mebpc_o062 INTO result_package. " 将临时内部表的内容复制回 RESULT_PACKAGE 内部表 ENDLOOP. CLEAR ls_mebpc_o062. " 清空 LS_MEBPC_O062 结构体 CLEAR lt_temp. " 清空临时内部表 在修改后的代码中,我们引入了一个临时的内部表 lt_temp,用于存储符合条件的 LS_MEBPC_O062 结构体。在循环中,如果结构体满足条件,则将其添加到临时内部表中。然后,在循环结束后,将临时内部表的内容复制回 RESULT_PACKAGE 内部表。最后,使用 CLEAR 语句清空 LS_MEBPC_O062 结构体和临时内部表。 这样做可以避免数据翻倍的问题。希望这能帮助到您!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry谈企业数字化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值