SAP-MM 采购订单已开票,MIR7可以重复预制发票 - 增强控制

本文讨论了解决MIR7在处理已过账数据时的重复预制问题,通过检查系统配置、主数据和程序逻辑,发现需要在LMR1MF6S-endform前添加代码来避免过账数据的重复预制,以符合财务一个月对账一次的实际需求。
摘要由CSDN通过智能技术生成

比如:

1月开票的432pc,MIR7金额和数量不会带出

3月开票的568pc,MIR7预制时依旧能带出并生成预制凭证

检查了系统配置和主数据:

(1)基于收货的发票校验标识:供应商主数据/信息记录/采购订单,有勾选

(2)OMRDC-重复发票检查:有勾选

(3)OBA5-消息控制:状态是E

以上配置均无问题

间隔时间较近的能带出,远的不会带出,所以怀疑是否跟发票未清账有关,但是财务清账是需要付款才能清,而且并不是过账了当月就会付款了,所以系统里会存在很多供应商都有已过账,但还未付款未清账的情况,无法验证,且不符合业务实际,所以只能通过增强控制。

补充一点:MIRO和MIR7的区别

MIRO如果已经开票,金额和数量都会显示为空,但是会带出本月的未开票的数据,MIR7则不会带出本月未开票的数据

财务是一个月对账一次,本月对账上个月的收货数据,所以需要对MIR7作增强控制

直接在程序LMR1MF6S - endform 前面加一段代码

ENHANCEMENT-POINT MIR7_01 SPOTS ES_SAPLMR1M .    "MIR7已经过账的数据不能再重复预制            
  DATA: LS_YDRSEG LIKE LINE OF YDRSEG.
  DATA: LT_EKBE LIKE TABLE OF EKBE WITH HEADER LINE.
  DATA: L_QTY LIKE EKBE-MENGE.
  DATA: S_QTY LIKE EKBE-MENGE.

  CHECK RM08M-VORGANG = '1'.

  IF SY-TCODE = 'MIR7'.
    LOOP AT YDRSEG INTO LS_YDRSEG.
      CLEAR: LT_EKBE,L_QTY,S_QTY.
      REFRESH: LT_EKBE.

      SELECT *
        INTO CORRESPONDING FIELDS OF TABLE LT_EKBE
        FROM EKBE
        WHERE EBELN = LS_YDRSEG-EBELN
          AND EBELP = LS_YDRSEG-EBELP
*          AND BEWTP IN ('T','Q')     "Q - 已过账 ;T - 预制
          AND BEWTP = 'Q'
          AND LFGJA = LS_YDRSEG-LFGJA
          AND LFBNR = LS_YDRSEG-LFBNR
          AND LFPOS = LS_YDRSEG-LFPOS.
      IF LT_EKBE[] IS NOT INITIAL.
        LOOP AT LT_EKBE.
          IF LT_EKBE-SHKZG = 'S'.    "借方
            L_QTY = LT_EKBE-MENGE.
          ELSEIF LT_EKBE-SHKZG = 'H'.  "贷方
            L_QTY = 0 - LT_EKBE-MENGE.
          ENDIF.
            S_QTY = S_QTY + L_QTY.
        ENDLOOP.

        IF LS_YDRSEG-SHKZG = 'H'.
          LS_YDRSEG-WEMNG = 0 - LS_YDRSEG-WEMNG.    "退货订单
        ENDIF.

        LS_YDRSEG-MENGE = LS_YDRSEG-WEMNG - S_QTY.
        LS_YDRSEG-BPMNG = LS_YDRSEG-MENGE.

        IF LS_YDRSEG-MENGE <= 0.
          DELETE YDRSEG.
          CONTINUE.
        ELSE.
          MODIFY YDRSEG FROM LS_YDRSEG.
        ENDIF.
      ENDIF.
    ENDLOOP.
  ENDIF.

以上~~

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值