BSEG 和其他六个表关系
BSEG和其他六个表关系
BSEG里两个字段SAKNR(总账科目),HKONT(总账账目)的区别
HKONT里放的是凭证真实的总帐科目,SAKNR放的是供应商或客户的统驭科目.
如果某凭证行项目不是统驭科目,则SAKNR是空的,如果你输入正常的统驭科目凭证,这两个字段是相同的,
但当你输入特殊总帐凭证时,SAKNR里存的是统驭科目,HKONT放的是特殊总帐科目
BSAS+BSIS+BSAK+BSIK+BSAD+BSID = BSEG
BSAS │ BSIS ==>all GL documents 总账
BSAK │ BSIK ==>all AP documents 供应商
BSAD │ BSID ==>all AR documents 客户
BSEG 是财务凭证行项目。在财务凭证记账的时候,数据被插入BKPF 和BSEG,如果有必要,
数据同时插入以上六张表中的一个未清表。
做清帐的时候,数据从六张表中的一个未清表删除,同时插入对应的已清表。
BSEG 使用BUKRS ( Company code ),BELNR ( Document No ),GJAHR ( Fiscal Year ),
BUZEI ( Line Item )字段与其它表关联.
BSAD:应收明细(已清帐)
BSID:应收明细(未清帐)
BSAS:总帐明细(已清帐)
BSIS:总帐明细(未清帐)
BSAK:应付明细(已清帐)
BSIK:应付明细(未清帐)
BSEG主要通过“凭证号”,“会计年度”,“行号”和这六张表关联
一般情况下一笔业务产生的凭证都是未清的,那么:
如果该业务行是客户相关的,则被记录到BSID;
如果该业务行是供应商相关的,则被记录到BSIK;
无论和客户相关还是和供应商相关,都是和总帐相关,所以也会有记录到BSIS;
但是如果这笔业务被清帐了,则相应的记录会从BSIS转移到BSAS
一般情况下:应收账款、预收账款、其他应收款、应收汇票等科目既和客户相关,又和未清
项管理的总帐科目相关;
应付账款、预付账款、其他应付款、应付汇票等科目既和供应商相关,又和未清项管理的总帐科目相关;
其他总帐科目一般不启用未清项管理,所以记录一般都放在BSIS中。
BSEG本身是一个Cluster Table(簇表),
BSEG就是由上述的六大表的集成,当要读取”BSEG”Table时就等于去读取那六个表,
速度很慢,而且对操作有相应的限制。
对於簇表或Pool Table,都是SAP系统本身在使用的,因此簇表本身是不存在资料库实体的,
虽然是可以在ABAP使用,不过还是有一些限制:
1.
不能使用select distinct or group by语法
2.不能使用Native SQL
3.不能使用specify field names after the order by clause
4.不能在建立次索引
5.查询时一定要用KEY FIELD