赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 2082|回复: 0

[FICO] S4HANA CO凭证编号原理-转

[复制链接]
发表于 2018-12-20 16:08:43 | 显示全部楼层 |阅读模式

在S/4HANA系统里面,表COBK/COEP中的部分凭证编号变成了A00XXXXX00 之类带有字母的编号,而不同于以往ECC系统里面的纯数字编号。


这样设置的原因是什么?

为什么有些凭证编号还是数字编号?

这其中和以往ECC系统的区别是什么?



CO凭证编号原理"


本文中,将对以上几个问题进行阐释。如果能将上述问题都研究透彻,那么对于S/4 HANA系统和以往ECC系统在CO凭证管理方面的区别,都会比较了解了。同时,这也可以作为了解S/4HANA Finance的一个很好的切人点。


稍微了解过S/4HANA的朋友应该都知道,在S/4HANA系统里面,将FI凭证和CO凭证都整合在表ACDOCA里面了。


但是这里所说的CO凭证,指的仅仅是值类型等于4的CO凭证(COEP-WRTTP=4)。至于值类型不等于4的凭证,还和以往的ECC系统一样,没有变化。基于此,可以直接检查表COEP,查看值类型,如果数字编号凭证的值类型不等于4(COEP-WRTTP<>4),即该凭证为非实绩值(Actual Value)凭证,凭证管理方式和编号方式还和以往ECC系统一样,也就可以解释为什么尚且有数字编号的凭证了。


还有一部分凭证,值类型也等于4,比如在KB*1N过账的凭证(见下图),这一类型的CO凭证,也和以往的ECC系统一样,进行数字编号。这里就引出另外一个知识点: Prima Nota。 关于Prima Nota可以参照下面一句话:For classic(manual) CO posting, the Prima Nota is still written totable COEP. The corresponding journal entries are written to table ACDOCA. APrima Nota is written as well in cases, where "CO" is triggered viaBAPI interface (AWTYP <> AFRU. CATS) 。 这也就解释了剩下的数字凭证编号的由来。






介绍完上述两种CO凭证数字编号的情况,剩下的是非数字编号的情况。在介绍非数字编号的程序逻辑之前,需要对表COEP和表ACDOCA如何mapping进行一个简单的说明,前面提到,在COEP和ACDOCA统合之后,actualposting直接写到表ACDOCA里面了,同样的值如果再写到COEP里面,显然就是冗余浪费空间了。但是为什么我们依然可以通过COEP看到想要的所有数据,下图中就很明白的解释了这种数据获取逻辑:



凭证编号A00XXXXX00到底是怎么编出来的?为了更好的理解此问题,通过debug来看一下程序的逻辑。首先,程序会去查看numberrange object ACDOCA_AUX(可以在SNRO里面查看),ACDOCA_AUX通常都会是一个带buffering的编号对象。通过函数NUMBER_GET_NEXT得到一个12位数的数据编号,再通过方法CL_FINS_ACDOC_AUXILIARY_DOCNO =>transform_num12_to_char08 将得到的12位数字编号转换成带字母的8位编号,最后末尾00也就变成了A00XXXXX00。

最近访客

  • 蜡笔小猪
    2023-11-28
  • tjulcl
    2023-06-26
  • sweety
    2022-07-06
  • sapxf
    2022-01-21
  • 阿花
    2021-02-22




上一篇:SAP S/4HANA表结构之变-转
下一篇:为错误更正和暂记会计凭证创建编号范围间隔 (GLE_AWREF)
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-4-19 07:24 , Processed in 0.210430 second(s), 34 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表