一、统一日记账的表
1. ACDOCA里有的,BSEG里不一定有
以下的一些凭证行项目,都是只在ACDOCA表里面存在,而在BSEG表里不存在的(你可以通过BKPF表的BSTAT字段的凭证状态U来识别):
-
资产折旧过账
-
特定账套(Ledger)过账
-
外币评估过账
-
CO内部凭证
2. 年末结转数字存储在ACDOCA的Period 000中
ACDOCA把上一年度的结转数放在Period 000中,这样便于计算YTD(year-to-date)数字,你不需要回去找上一年度末的数字。
3. ACDOCA的体量比BSEG大很多
ACDOCA表中的行项目数量可能会非常大,因为评分拆分,所有的行项目都被拆分到了最小的维度,再考虑到多个账套的存在,凭证行项目数量还要翻倍。
所以,从长期业务运行的角度,数据库大小和磁盘大小都需要提前考虑好。
4. 已归档的数据会在BKPF/BSEG中被删除,但在ACDOCA中依然存在
当你在财务模块中做数据归档时,对应数据会被从BKPF/BSEG表中删除。
然而,在ACDOCA表中,数据不会立刻被删除,而是添加一条反向的凭证到ACDOCA表里,让汇总余额为0。
要实际上删除ACDOCA中的数据,必须要执行Compression Run。
Compression Run是一个数据压缩的过程,它用汇总数据来替代明细数据。它的数据颗粒度就跟年末余额结转的颗粒度一致,对于余额不产生影响。
5. 对于同样的维度,BSEG和ACDOCA可能有差异
对于同一条记录的同一个字段,你可能会发现在BSEG和ACDOCA中的值可能会不一样。
例如,你可以在Entry View上,通过替代(Substitution)来修改Assignment字段(ZUONR)的值,但是它不一定会被拷贝到ACDOCA表里面。拷贝到ACDOCA是由BAdI BADI_FINS_ACDOC_BSEG_FIELDS控制的,所以当你在系统中做替代时,需要关注一下。
6. Coding Block中的自定义字段 - 集成到ACDOCA
当你在Coding Block中添加自定义字段的时候,自定义字段也会被增加到ACDOCA中。
但是,在各种凭证输入的场景中,这些自定义字段是如何被使用的,将取决于具体的定义。你在Table FINSC_ACDOC_FCT中,能看到这些自定义字段的各种属性。例如,自定义字段在以下各种流程的使用都是可以具体定义的:
-
在损益类科目的年末结转中
-
在资产负债类科目的年末结转中
-
在科目余额中
-
在科目报表中
-
在科目余额评估时
-
在对FI凭证做修改时
-
在科目分摊时
-
在汇总层级定义时