SAP ABAP-MIGO 预留过账替换移动类型的解决方案

这篇博客探讨了在SAP系统中,如何根据生产订单或内部订单的状态动态调整移动类型,以及如何通过增强代码实现这一过程。具体涉及在预留数据生成时确定移动类型,并在特定业务场景下(如MIGO A07发货-R09预留)临时更改移动类型,以影响记账科目。文中提供了一段增强代码示例,用于在特定条件下更新移动类型,从而影响记账行为。
摘要由CSDN通过智能技术生成

业务情景:
       生产订单或内部订单,在某些情况下,发料时采用不同移动类型记账,记账科目也会发生变化。比如根据订单不同的状态进而确定移动类型。

       通常,在生成预留数据时,移动类型也确定了。那么要实现临时改变移动类型,可通过增强来处理。

增强代码:

SE37->DBMMIMRKPFRESBF01->FORM prefetch.

*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 1  ZZ_MIGO_MOVETYPE_CTRL.    "active version
  FIELD-SYMBOLS <FS> TYPE GODYNPRO.
  DATA C_FIELD(18) TYPE C VALUE '(SAPLMIGO)GODYNPRO'.
  ASSIGN (C_FIELD) TO <FS>.
  DATA:W_RESB TYPE RESB,
       V_BWART TYPE RESB-BWART,
       V_KOSTV TYPE COAS-KOSTV.

  IF SY-SUBRC EQ 0 AND <FS> IS ASSIGNED.
*    针对:MIGO A07 发货- R09预留的处理
    IF <FS>-RESERVATION_NUMBER IS NOT INITIAL AND SY-TCODE EQ 'MIGO' AND <FS>-ACTION EQ 'A07' AND <FS>-REFDOC EQ 'R09'.
       LOOP AT t_resbkey INTO ls_key.
         SELECT SINGLE * INTO CORRESPONDING FIELDS OF W_RESB FROM RESB WHERE RSNUM = LS_KEY-RSNUM AND RSPOS = LS_KEY-RSPOS.
         IF SY-SUBRC EQ 0 AND W_RESB-AUFNR IS NOT INITIAL AND W_RESB-WERKS = '0000'
           AND ( W_RESB-BWART EQ 'ZX1' OR W_RESB-BWART EQ 'ZX2' OR W_RESB-BWART EQ 'ZY1' OR W_RESB-BWART EQ 'ZY2' ).
           V_BWART = W_RESB-BWART.
           CALL FUNCTION 'ZXWMS_AEAP_BWART_REPLACE'
             EXPORTING
               IM_PRODOC  = W_RESB-AUFNR
             IMPORTING
               EX_BWART   = V_BWART
               EX_KOSTV   = V_KOSTV.
           IF V_BWART NE W_RESB-BWART.
             UPDATE RESB SET BWART = V_BWART WHERE RSNUM = LS_KEY-RSNUM AND RSPOS = LS_KEY-RSPOS.
           ENDIF.
         ENDIF.
       ENDLOOP.
       IF t_resbkey[] IS NOT INITIAL.
         WAIT UP TO 1 SECONDS.
       ENDIF.
    ENDIF.
  ENDIF.
ENDENHANCEMENT.
*$*$-End:   (1)---------------------------------------------------------------------------------$*$*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IGOR-MA

您的鼓励将激励我更大的动力前行

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

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

打赏作者

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

抵扣说明:

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

余额充值