目录
1. SAP FICO主要表关系图解
2、BSEG表的数据组成
数据关系:
BSAS+BSIS+BSAK+BSIK+BSAD+BSID = BSEG
存入BSEG等簇表时是以binary save的形式将一张凭证的明细部分的所有行项目信息编辑成一个长文本,再存入表簇RFBLG中的vardata项目中。
存入相应的透明表时则是根据上述行项目的性质,分别存入相应的透明表,表中每条记录只记载一条行项目信息。
3、六个表说明
cleared已清帐 | opened未清帐 | |
BSAS | BSIS | ==>all GL documents |
BSAK | BSIK | ==>all AP documents |
BSAD | BSID | ==>all AR documents |
==>all GL documents
BSIS:总帐明细(未清帐)总账
会计核算:用于总帐科目的第二个索引(未清帐)
Accounting: Secondary Index for G/L Accounts
BSAS:总帐明细(已清帐)总账
会计核算:总帐科目的第二个索引(已结算项目)(已清帐)
Accounting: Secondary index for G/L accounts(cleared items)
==>all AR documents
BSID:应收明细(未清帐)客户
会计核算:客户的第二次索引(未清帐)
Accounting: Secondary index for customers
BSAD:应收明细(已清帐)客户
会计核算:客户的第二个索引(已结算项目)(已清帐)
Accounting: Secondary index for customers (cleared items)
==>all AP documents
BSIK:应付明细(未清帐)供应商
会计核算:供应商的第二次索引(未清帐)
Accounting: Secondary index for vendors
BSAK:应付明细(已清帐)供应商
会计核算:供应商的第二个索引(已结算项目)(已清帐)
Accounting: Secondary index for vendors (cleared items)
4、表关系
该簇表BSEG主要通过以上五个主键字段与以下六个主要的财务透明表相关联。
簇表BSEG的主键字段(key)有以下五个项目。
MANDT:集团(Client)
BUKRS:公司代码 ( Company code )
BELNR:财务凭证编号 (Accounting document number)
GJAHR:会计年度( Fiscal Year )
BUZEI:会计凭证中的行项目(Number of Line Item Within Accounting Document )
FI会计模块中输入一笔业务将会记一个财务凭证,SAP系统中将凭证信息分为抬头信息和明细信息两部分加以存储。其中抬头(Header)信息存储在透明表BKPF中,明细(行项目Items)信息存放在BSEG等簇表中。
BKPF:会计核算凭证标题
Accounting Document Header
BSEG:会计核算凭证段
Accounting Document Segment
BSEG本身是一个簇表 (Cluster Table),它隶属于表簇(Cluster Table)RFBLG,同时隶属于表簇RFBLG的簇表还有:
BSEC:一次性帐户数据凭证段
One-Time Account Data Document Segment
BSED:汇票字段凭证段
Bill of Exchange Fields Document Segment
BSES:凭证控制数据
Document Control Data
BSET:税收数据凭证段
Tax Data Document Segment
BKPF 是财务凭证抬头,BSEG 是财务凭证行项目。在财务凭证记账的时候,数据被插入 BKPF 和 BSEG,如果有必要,数据同时插入以上六张表中的一个未清表。
从财务凭证的清账管理流程理解6张表的数据流转关系:
一张会计凭证的明细部分可以包含复数个行项目,这些复数个行项目在存入BSEG等簇表的同时,也会根据行项目的状态存入以下六个财务数据表中。
一般情况下刚开始都是未清凭证,
如果该行项目是与客户相关的,则被记录到BSID;
如果该行项目是与供应商相关的,则被记录到BSIK;
无论和客户相关还是和供应商相关,都是和总帐相关,所以同时也记录到BSIS。
随后当这笔业务被清帐时,
如果该行项目是与客户相关的,则相应的记录会从BSID转移到BSAD;
如果该行项目是与客户相关的,则相应的记录会从BSIK转移到BSAK;
无论和客户相关还是和供应商相关,都是和总帐相关,所以同时相应的记录也会从BSIS转移到BSAS。
一般情况下:
预收帐款、应收帐款、其他应收款、应收汇票等科目既和客户相关,又和未清项管理的总帐科目相关;
预付帐款、应付帐款、其他应付款、应付汇票等科目既和供应商相关,又和未清项管理的总帐科目相关;
其他总帐科目一般不启用未清项管理,所以记录一般都放在BSIS中。
做清帐的时候,数据从六张表中的一个未清表删除,同时插入对应的已清表。一般情况下一笔业务产生的凭证都是未清的,那么:如果该业务行是客户相关的,则被记录到BSID;如果该业务行是供应商相关的,则被记录到BSIK;无论和客户相关还是和供应商相关,都是和总帐相关,所以也会有记录到BSIS;但是如果这笔业务被清帐了,则相应的记录会从BSI*转移到BSA*
一般情况下:应收账款、预收账款、其他应收款、应收汇票等科目既和客户相关,又和未清项管理的GL总帐科目相关;应付账款、预付账款、其他应付款、应付汇票等科目既和供应商相关,又和未清项管理的GL总帐科目相关;
其他总帐科目一般不启用未清项管理,所以记录一般都放在BSIS中。
科目是否启用未清项管理,在科目主数据FS00控制数据中勾选配置:
5、BSEG特点
BSEG本身是一个 Cluster Table(簇表),BSEG就是由上述的六大表的集成,当要读取”BSEG”Table时就等于去读取那六个表,这样你可以想像它读起来会就多慢。对於簇表或Pool Table,都是SAP系统本身在使用的,因此簇表本身是不存在资料库实体的(非物理表),虽然是可以在ABAP使用,不过还是有一些限制:
- 不能使用select distinct or group by语法
- 不能使用Native SQL
- 不能使用specify field names after the order by clause
- 不能在建立次索引
- 查询时一定要用KEY FIELD
PS:在簇表里抽取数据效率很低,可以按照不同的科目,在其他六张表取对象数据!!!!!
除了上述6个会计凭证表外还有一个物料凭证表,因为凭证中有的时候还会出现与物料相关的行项目,但是与物料相关的行项目不需要作未清帐处理,所以只有一个物料凭证表相对应。
BSIM物料凭证表:
第二级指数,商品凭证
Secondary Index,
Documents for Material
这里有个概念需要注意:
存入BSEG等簇表时是以binary save的形式将一张凭证的明细部分的所有行项目信息编辑成一个长文本,再存入表簇RFBLG中的vardata项目中。
存入7个相应的透明表时则是根据上述行项目的性质,分别存入相应的透明表,表中每条记录只记载一条行项目信息。
有了上述的知识,我们不难理解,
使用T-code:FB03查看凭证的明细信息时,实际是读取BSEG等簇表的信息。
使用T-code:FBL1N , FBL3N, FBL5N 分别查看供应商,总账,客户的未清和已清项信息时,实际上读取BSIK、BSAK等会计凭证表的信息。