Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 

在执行后勤发票校验(MIRO)时,MM发票凭证生成的同时,系统会生成相应的后续会计凭证。在实际应用中,我们发现很多用户会遇到发票凭证丢失,或者其会计凭证丢失的问题。出现此类问题的票据通常无法被冲销,从而给用户的月结年结及财务审计带来严重的影响。总的来说,此类问题可以归结为3种情况。下面依次为大家介绍各种情况的产生原因、解决及预防措施。

1. 发票凭证和相应的会计凭证都已经生成,但是两个凭证之间的关联失效。

在此情况下,如果用MIR4去查看发票凭证,然后点击后续凭证按钮,系统会提示相应的会计凭证不存在(错误消息RW011)。但是用FB03却可以查看该会计凭证。

其主要原因是在用户系统升级后,需要将旧系统中的数据导入到新系统。在进行客户端复制(client copy)时,由于没有正确设定逻辑系统名称(logic system name),使被导入数据的逻辑系统名称与当前系统不符(我们可以对比RBKP-LOGSYS和T000-LOGSYS是否一致)。从而导致发票凭证与相应会计凭证的关联丢失。
通常我们可以使用事务代码BDLS去修改逻辑系统名称来解决这个问题,或者用户可以自定义一个report去修改RBKP-LOGSYS的值,使其与当前系统逻辑系统名称一致。关于自定义report,可以参考如下代码示例:

这里有以下几个SAP notes作为参考。

  • Note 781498  MIR4: Missing follow-on documents
  • Note 28958 Link to follow-on documents is lost
  • Note 446294 CC INFO: Logical system name and client copy

关于另外的2种情况,发票凭证生成但会计凭证没有生成,或者反之发票凭证没有生成而会计凭证生成了。根据以往经验,在SAP标准系统中,即没有任何客户自定义程序被使用的环境,是不会发生这样的问题。而造成这2种情况发生的主要原因基本类似,都是由于在发票校验处理中被调用的User-Exit、BAdI以及OPEN-FI中,在用户自定义程序中使用的代码不当,比如使用了COMMIT WORK或ROLL BACK命令,导致在更新处理进程产生异常时,无法保证数据的一致性,造成只有发票凭证或会计凭证的数据库表格被更新。关于为什么不能在自定义程序中使用这样命令,在这里我就不做详细解释了。推荐大家参考SAP官方Note 743744 MIRO/MR1M: FI follow-on documents or MM documents missing。另外,给大家分享一篇博文 【#MM 物料凭证没有产生相应的会计凭证, 为什么呢? 怎么预防。】,在这篇文章中对用户自定义程序中使用COMMIT WORK或ROLL BACK命令而产生的MM/FI数据不一致,进行了非常详细的说明。

那么如何预防这样的问题发生,SAP在Note743744给用户提供一个报警功能,通过SNOTE将该功能安装到系统后,一旦系统检测到用户自定义的COMMIT WORK或是ROLLBACK 的命令,系统会报错,从而避免数据不整合的发生。同时,用户可以根据报警信息(Dump)找到出现问题的自定义代码。

接下来,主要给大家介绍一下对于这2种情况,如何修复已产生问题的票据。

2.发票凭证生成但会计凭证没有生成。

这里推荐使用一个report ZREPMIR7来修改出现问题的发票凭证。大家可以通过SAP Note 382797 MIRO: Analysis and repair for missing follow-up documents来安装这个report,同时在这个Note里还介绍了report的使用方法供大家参考。

3.发票凭证没有生成而会计凭证生成。

首先推荐安装SAP Note 628468 MIRO: Incomplete MM documents 中提供的report Z_FIND_MISS_MM_EXT,在执行这个report后,我们可以找到所有丢失发票凭证的会计凭证。注意这个report只提供查找功能,并没有修复功能,由于这种情况下比较复杂,需要SAP来做进一步分析后才能给出具体的修复方案。所以遇到这种情况,建议大家在模块FI-GL-GL-X下向SAP提交一个问题。