#MM 物料凭证没有产生相应的会计凭证, 为什么呢? 怎么预防。

在物料凭证过账(入出库处理,物料转储处理)时,如果产生了相应借贷金额的变化,系统会自动产生相应的会计凭证。

有许多用户发现系统中有时会出现物料凭证产生了会计凭证没有产生,或者是相反会计凭证产生了物料凭证却丢失了的现象。在物料分类总帐被启用的情况下,系统会报错C+048,相关物料的入出库移动因为此错误而不能进行。由此会对业务产生巨大影响,如重要物料不能移动,月结年结不能做之类。更甚者由此产生的MM和FI之间的巨大差异会成为审计的焦点。

 

在此对于此现象产生的可能原因,以及如何避免此现象发生的注意事项进行了如下的总结。

 

  • 在物料凭证过账中经常被使用到的User-exit以及BAdI
    • 物料凭证丢失相应的财务凭证
    • 财务凭证丢失相应的物料凭证
    • 检查机制
  • SAP notes

 

在物料凭证过账中经常被使用到的User-exit以及BAdI

物料凭证过账中,有很多需求是进行企业内部自定义的一些过账前的检查,BAdI MB_DOCUMENT_BADI
(method MB_DOCUMENT_BEFORE_UPDATE)和User-exit  EXIT_SAPLMBMB_001(include ZXMBCU01 
/ enhancement component MB_CF001)是经常被使用到的。如果在这些用户出口中写入了不恰当的代码,
就会造成表题中所描述的现象。下面给出了一些不恰当的代码示例:

 

  • COMMIT WORK
  • FROM MEMORY
  • Remote Function Call (CALL FUNCTION .. DESTINATION)
  • Own updates on the document or stock tables (for example, an update on the table MBEW, MARD, MSEG)
  • Unlocking data (for example, by DEQUEUE_ALL)
  • ROLLBACK WORK
  • MESSAGE TYPE ‘A’
  • Calling a dialog box (POPUP_TO_CONFIRM, for example)

摘选自SAP note 92550

 

  • 物料凭证丢失相应的财务凭证

        这里引入一个SAP LUW的概念。LUW是Unit Logical Unit of Work的缩写,通常有Database LUWs
        和SAP LUWs的区别。 通俗的理解就是SAP为了在多个对话屏幕之间保证数据一致性
       (只有保存操作成功一个事务代码才算完成),在Database LUW的基础上所进行的一种设计。
        而SAP LUW的技术手段之一就是使用CALL FUNCTION… IN UPDATE TASK将所有要更新的
        内容封装并登记起来,由COMMIT WORK触发一并在更新进程(update work process)上执行。
        ABAPHELP文档中有更为详细的的介绍与解释。

 

        BAdI MB_DOCUMENT_BADI就是在起到这样作用的Function Module MB_UPDATE_TASK
        后被调用到的,因此如果在此BAdI implementation中写入COMMIT WORK这样的命令,
        将直接破坏SAP LUW的构成。

        2-9-2015 5-36-17 PM.png

        因为在此时物料凭证相关的更新任务已经被登记到系统中,等待COMMIT WORK从而写入数据表,
        而会计凭证相关的更新任务还没有被系统登记。 如在BAdI 中写入COMMIT WORK,那一旦在会计
        更新处理中出现了异常,SAP LUW将不能完整地ROLL BACK。

        物料凭证方:

          Call function ‘A’ in update task.

          Call function ‘B’ in update task.

       
        BAdI  MB_DOCUMENT_BADI (method MB_DOCUMENT_BEFORE_UPDATE)
        写入COMMIT WORK -> 物料凭证的更新被触发,数据表MKPF/MSEG会被更新。

      

        会计凭证方:

        Call function ‘C’ in update task.

        Call function ‘D’ in update task. 
         ->假设在此阶段发生了更新异常,系统将只能ROLL BACK到前次COMMIT WORK后的状态,
            由此产生了会计凭证未更新而物料凭证被更新的情况

 

        仍然有用户会有问题,为什么这个问题不是一直发生,以前不都用得好好的?因为此现象只在FI这边
        更新异常出错,
整个事务代码不能完整地 ROLLBACK 时才会发生。 可能因为后台配置的改变或者是
        系统在运用中数据的改变(number range 重复了之类)而产生了FI更新的错误,
才会发生此现象。
        两次COMMIT WORK如果都成功的话,用户是观察不到此现象的。

     

 

  • 财务凭证丢失相应的物料凭证

        类似的,如果在BAdI或者User exit中写入了ROLL BACK的命令,那么

        物料凭证方:

          Call function ‘A’ in update task.

          Call function ‘B’ in update task.

       
        BAdI  MB_DOCUMENT_BADI (method MB_DOCUMENT_BEFORE_UPDATE)写入ROLLBACK
        -> 物料凭证的更新被取消

      

        会计凭证方:

        Call function ‘C’ in update task.

        Call function ‘D’ in update task.

 

        标准的COMMIT WORK被执行,却只有会计凭证将会得到更新

 

  • 检查机制
    因为此问题经常产生,而且一旦大批量发生的话修正非常繁琐,业务影响非常之大,SAP发行了Note 1776835
    一旦系统检测到非标准的COMMIT WORK或者是ROLLBACK 的命令,将丢出中断信息(dump)
    而终止整个事务代码的进行。在ST22 dump的详细信息中,用户可以看到非标准COMMIT WORK是
    在何处被执行的,从而修改代码,避免此类问题的发生。
    因此对于系统版本不够高的用户,推荐使用SNOTE将此Note导入系统中,以免发生
    丢失会计凭证的现象。总之用户的自开发应遵循SAP LUW,避免引起不必要的不整合的现象。

 

SAP notes

      

关于MMFI整合性问题,SAP有许多官方的Note进行说明与解释

 

  • Note 968812 MM-FI Differences caused by ROLLBACK or COMMIT
  • Note 92550  Stock inconsistency due to customer enhancement (exit, BAdI)
  • Note 1284654  Caution with implementations of the BAdI: MB_DOCUMENT_BADI
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: SAP MM物料管理)推广项目配置清单是指在推广SAP MM系统使用的过程中需要进行的配置工作的详细清单。配置清单通常包含以下内容: 1. 物料主数据配置:根据企业的需求,配置物料主数据的创建、维护和显示规则,确定物料的基本属性、计价方式、库存类型等。 2. 采购数据配置:配置采购订单、采购申请、采购合同等采购相关的数据,包括采购组织结构、采购组信息、采购凭证类型等。 3. 供应商数据配置:配置供应商主数据的创建、维护和显示规则,确定供应商的基本信息、付款条件、交货方式等。 4. 价格条件和折扣配置:配置物料的价格条件和折扣规则,包括价格条件记录、折扣组合等,以实现供应商评估、价格审批和价格比较等功能。 5. 库存管理配置:配置库存管理的规则和参数,包括库存控制、批次管理、质量管理等,以确保物料的安全存储和管理。 6. 仓库管理配置:配置仓库管理的规则和参数,包括仓库设置、储位管理、库存盘点等,以实现物料的有效入库和出库管理。 7. 采购策略配置:配置采购策略的规则和参数,包括最小订购量、最大订购量、采购组合规则等,以实现自动化的采购决策。 8. 采购报表和分析配置:配置相关的采购报表和分析工具,以便对采购活动进行监控和分析,评估供应商绩效和优化采购流程。 以上仅是SAP MM推广项目配置清单的一些基本内容,具体的配置清单还需要根据企业的具体需求和业务流程进行进一步的定制。这个配置清单能够帮助企业完善SAP MM系统,提高物料管理效率,降低成本,提升采购及库存管理的水平。 ### 回答2: SAP MM推广项目配置清单是指在推广项目中进行SAP MM模块的配置工作所需完成的清单。 首先,需要对SAP MM模块中的基本设置进行配置。这包括组织结构的定义,包括公司代码、采购组织、供应商和仓库。同时还要设置货币、价格控制以及运输条件等基本信息。 其次,需要进行物料主数据的配置。这包括物料类型、物料组、物料分类以及物料层次等的定义。还需要设置物料主数据的字段、视图以及权限控制。 接下来,需要进行采购流程的配置。这包括采购申请、采购订单和采购协议等的定义。还需要设置采购策略、价格确定和供应商评估等相关参数。 然后,需要配置库存管理。这包括仓库管理、库存类型、库存地点等的定义。还需要设置库存评估的方法、批次管理和序列号管理等相关参数。 另外,还需要配置采购结算和供应商管理。这包括采购发票、采购付款和供应商评估等的定义。还需要设置供应商分级、付款条件和折扣等相关参数。 最后,需要进行相关的系统配置和集成设置。这包括SAP MM模块与其他模块的集成配置,如与SAP SD模块、质量管理模块和财务会计模块等的集成。 总之,SAP MM推广项目配置清单是一个全面的任务清单,涵盖了SAP MM模块的各个方面的配置工作。通过逐项完成这些配置,可以确保系统能够满足企业的采购和物流管理需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ChampaignWolf

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

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

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

打赏作者

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

抵扣说明:

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

余额充值