2. S/4HANA核心数据模型
S/4HANA 的财务业务一体化,并不是把 FI 与 CO 简单拼在一起,而是把过去分散在多张汇总表、多个子分类账中的数据结构,重构为以统一日记账(Universal Journal,表 ACDOCA)为单一事实来源的模型。理解这一模型,关键不是记住表名,而是看清六类核心对象之间的“谁引用谁、谁汇总谁、谁约束谁”。
一、统一日记账:唯一的记账事实层
在经典 ECC 中,总账余额存在 GLT0,成本要素存在 COEP,资产折旧存在 ANLC,物料分类账存在 MLIT,同一笔业务被拆成多行、写入多张表,对账困难。S/4HANA 把这些行项目合并进 ACDOCA:一行记录同时携带会计科目、成本要素、成本中心、利润中心、功能范围、段、内部订单、WBS、资产、物料、数量、金额、币种等字段。也就是说,ACDOCA 既是总账的行项目表,也是管理会计、资产会计、物料分类账的行项目表。
ACDOCA 的关键字段可以按“四组”理解:
- 凭证标识组:RLDNR(分类账)、RBUKRS(公司代码)、GJAHR(会计年度)、BELNR(凭证号)、DOCLN(行号)——这五个字段构成行项目唯一键。
- 科目与对象组:RACCT(总账科目)、KOSTL(成本中心)、PRCTR(利润中心)、SEGMENT(段)、AUFNR(订单)、PS_POSID(WBS)、ANLN1(资产)。
- 金额与数量组:HSL(本位币金额)、WSL(集团货币)、KSL(第二本位币)、MENGE(数量)、MEINS(单位)。
- 来源与状态组:AWTYP(来源业务类型,如 BKPF、MKPF、VBRK)、AWKEY(来源单据键)、BSTAT(凭证状态)、TIMESTAMP。
其中 AWTYP + AWKEY 是“财务追溯业务”的钩子:从任意一行 ACDOCA 出发,都能反查到采购订单、物料凭证、发票或生产订单。这正是业务一体化在数据层面的落点。
二、会计凭证:ACDOCA 的抬头与行项目
ACDOCA 存的是行项目,凭证抬头仍保留在 BKPF 中,行项目文本、税码等补充信息在 BSEG 中。三者的关系是:BKPF 1 : N BSEG,BKPF 1 : N ACDOCA,且 ACDOCA 与 BSEG 通过 RLDNR/RBUKRS/GJAHR/BELNR/BUZEI 关联。因此“会计凭证”在 S/4HANA 中是一个跨表概念:抬头管控制信息(凭证类型、过账日期、参考号、公司代码),行项目管金额与科目,ACDOCA 管可分析维度。
凭证类型(如 SA 总账、KR 供应商发票、DR 客户发票、KZ 供应商付款、WE 收货、RV 开票)决定了号码范围、字段状态和过账码,是业务事件进入财务的“入口分类”。
三、总账、业务伙伴、物料主数据与财务主数据
总账科目主数据(SKA1 科目表级 / SKB1 公司代码级)决定科目是否统驭、是否只能自动记账、是否按成本要素管理。业务伙伴(BP)是 S/4HANA 中客户与供应商的统一入口,通过角色(FLCU00 客户财务、FLVN00 供应商财务等)挂接公司代码视图,并映射到旧的 KNA1/LFA1。物料主数据(MARA 通用、MARC 工厂、MBEW 评估、MARD 库存)中的评估类( Valuation Class)与移动类型一起,决定收货、发票时自动生成的会计科目。
财务主数据还包括成本中心、利润中心、功能范围、内部订单、WBS、资产主数据等,它们不是“科目”,而是 ACDOCA 行项目上的分析维度。业务伙伴和物料主数据则属于“业务对象”,它们通过配置表(如 OBYC 自动记账、VKOA 收入科目确定)与财务科目建立映射。
四、六类对象的关系全景
下面这张图把六类对象放在同一张关系网中:业务伙伴与物料主数据是业务事件的参与者与标的,会计凭证是事件的财务表达,ACDOCA 是行项目的统一存储,总账科目与财务主数据是行项目上的分类维度,最终汇总为报表与余额。
五、从一笔采购到一张报表:数据如何流动
以“采购收货 + 发票校验”为例,可以看清各对象的协作方式。假设采购订单 4500000123 采购原材料 100 件,单价 10 元,工厂 1000,供应商 BP 为 100234。
- 收货(MIGO,移动类型 101):系统读取物料主数据 MBEW 中的评估类(如 3000),通过 OBYC 的 BSX 事务键确定库存科目 140000,通过 WRX 确定 GR/IR 科目 210000。生成物料凭证 4900000456,同时写入 ACDOCA:借 140000 库存 1000 元,贷 210000 GR/IR 1000 元,AWTYP=MKPF,AWKEY=4900000456。
- 发票校验(MIRO):输入采购订单与供应商 BP,系统读取 BP 的公司代码视图确定统驭科目 220000,通过 WRX 冲销 GR/IR。生成会计凭证 5100000789,ACDOCA 中借 210000 GR/IR 1000 元、借 222100 进项税 130 元,贷 220000 应付账款 1130 元,AWTYP=MKPF 或 RSEG,AWKEY 指向发票。
- 付款(F110):借 220000 应付账款,贷 100200 银行存款,ACDOCA 中记录清账关系与现金流方向。
整个过程结束后,查询 FS10N 科目余额时,系统直接从 ACDOCA 聚合,不再依赖 GLT0;查询成本中心费用时,同样从 ACDOCA 按 KOSTL 聚合,不再依赖 COEP。这就是“一套数据、多个视图”的含义。
六、建模时必须守住的四条关系
| 关系 | 约束内容 | 检查方式 |
|---|---|---|
| BP ↔ 统驭科目 | 客户/供应商的公司代码视图必须绑定统驭科目,且该科目在 SKB1 中标记为统驭科目 | BP 事务码角色页签;FS00 科目“统驭科目”标识 |
| 物料 ↔ 评估类 ↔ 科目 | MBEW 评估类 + 移动类型,经 OBYC 映射到库存、GR/IR、差异科目 | MM03 会计视图 1;OBYC 事务键 BSX/WRX/PRD |
| 凭证 ↔ ACDOCA | 每张过账凭证必须在 ACDOCA 生成行项目,借贷平衡,分类账 RLDNR 一致 | FB03 凭证流;SE16H 查 ACDOCA 按 BELNR |
| 行项目 ↔ 分析维度 | 成本中心、利润中心、段等维度必须来自有效主数据,且与科目属性兼容 | KS03 / KE53 主数据状态;ACDOCA 字段非空校验 |