排除被冲销的物料凭证

在MSEG取物料凭证的时候,很多时候需要排除已经被冲销的凭证和冲销凭证,比如有一个PO收货凭证5000004086,冲销后产生了凭证5000004087。这个时候,用户认为冲销错了,需要将5000004087继续冲销掉,产生凭证5000004154

所以,针对此类来回冲销凭证的情况,如果要排除这些无效凭证,可以使用下面的程序:

  "非冲销/被冲销凭证
  DATA:BEGIN OF lt_nrev OCCURS 0,
         mblnr LIKE mseg-mblnr,
         mjahr LIKE mseg-mjahr,
         zeile LIKE mseg-zeile,
       END OF lt_nrev.
 
 SELECT-OPTIONS: s_ebeln FOR ekpo-ebeln.
 
 "根据采购订单获取有效的凭证(排除已冲销和被冲销的成对凭证)
    CLEAR:lt_nrev[].
    SELECT mblnr mjahr  zeile INTO TABLE lt_nrev
      FROM matdoc
      WHERE ebeln IN s_ebeln
      AND cancelled = ''
      AND cancellation_type IN ( '','1' )
      AND  NOT EXISTS ( SELECT * FROM m_mbmps
                         WHERE m_mbmps~sjahr = matdoc~mjahr AND
                               m_mbmps~smbln = matdoc~mblnr AND
                               m_mbmps~smblp = matdoc~zeile ).  

以上子查询语句足够满足大部分情况下的使用。

关键表:M_MBMPS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值