在SAP/ERP系统日常运维中,可能会遇到类似如下这样问题:在创建销售发票时候,系统报错提示如下,错误消息号:VF051。
针对上图问题,要找到这问题的原因,首先需要了解下销售收入相关科目确定的配置逻辑
销售收入相关科目确定的配置
事务码:VKOA
SAP系统收入相关科目确定逻辑
在一般情况下收入相关科目的确定可以通过"科目表+销售组织+客户科目分配组+物料科目分配组+账码"组合来确定,也就是上图001表中维护的,但是实际上不同公司或同一公司不同物料的收入相关科目确定的组合是不一样的,所以为了能够灵活满足这方面的业务需求,SAP系统是可以通过配置不同的表来解决的,比如上图表还有002、003、004等等,系统按表编号顺序进行查找对应的收入科目确定,如果001表没有查找到,就查002,以此类推,直到确定收入科目为止。
配置关键字段说明
AAGC:客户的科目分配组,维护在客户主数据中,创建销售订单时候会自动带入销售订单抬头(如下图)。
AAGM:物料的科目分配组,维护在物料主数据-销售视图2中,创建销售订单时候会自动带入销售订单行项目(如下图)。
帐码:用于区分是销售收入、折扣等
按上述自动确定销售收入科目的逻辑,我们可以知道客户科目分配组和物料科目分配组是由客户主数据和物料主数据带入到销售订单,再由销售订单带入到销售发票的。
另外需要注意如果物料主数据中没有维护,就不会自动默认带入到销售订单中,如果后续在物料主数据中补充定义后,己创建的销售订单中的值是不会因物料主数据中的改动而改变的,必须要手工修改之前已创建的销售订单,销售订单与销售发票的关联也是如此。
报错原因排查步骤
理解了收入相关科目确定的配置逻辑,类似这样的问题就可以迎刃而解了,具体可以按如下步骤快速找到原因。
步骤1:检查销售订单抬头和行项目的客户科目分配组和物料科目分配组有无维护值。
如果上图出现任何一值没有维护,同时收入科目的配置(VKOA)如果只有配置001表,那么就会出现上面报错信息。报错的原因找到了,只要将这两个值维护上即可。
但问题还没有彻底解决,还要解决为何销售订单这2个值没有维护上,根据上面的配置逻辑可以知道,销售订单中这2个值来自客户/物料主数据,所以还要按如下步骤检查下物料/客户主数据。
步骤2:检查物料主数据销售视图2的【物料科目分配组】有无维护(如下图)
如果上图红色框没有维护,需要维护上。
步骤3:检查客户主数据的【客户科目分配组】有无维护(如下图)
如果上图红色框没有维护,需要维护上。
预防再次发生此异常的解决方案
做SAP系统运维不能只是做"救火"的事,不然会把自己累死,"灭火"之后还要分析"火灾"产生的原因,如何防止再次发生,如果是人操作的问题,能否进行"防呆"等等。
比如上面的问题,从原因分析可以知道这问题根源在于物料和客户主数据的那两个字段缺失维护导致,那么就可以考虑是不是可以通过配置或增强来保证这两个字段必须输入,同时销售订单保存之前要对那两个字段进行检查,来防止人为修改。
往期文章荐读:
更多价值博文在微信公众号,欢迎关注!