赛跑网

 找回密码
 注册
查看: 21385|回复: 90

[FICO] 簇表BSEG和BSIS、BSAS、BSID、BSAD、BSIK、BSAK六个表的关系

  [复制链接]
发表于 2013-10-18 17:56:40 | 显示全部楼层 |阅读模式
本帖最后由 maowenlongx 于 2013-10-18 19:19 编辑

1.簇表BSEG和BSIS、BSAS、BSID、BSAD、BSIK、BSAK六个表的关系

    FI会计模块中输入一笔业务将会记一个财务凭证,SAP系统中将凭证信息分为抬头信息和明细信息两部分加以存储。

    其中抬头(Header)信息存储在透明表BKPF中,明细(行项目Items)信息存放在BSEG等簇表中。

    BSAS+BSIS+BSAK+BSIK+BSAD+BSID = BSEG

  CLEARED(已清项)  
OPENED(未清项)

BSAS总帐明细(总账)
BSIS总帐明细(总账)
==>ALL GL DOCUMENTS
BSAK应付明细(供应商)
BSIK应付明细(供应商)
==>ALL AP DOCUMENTS
BSAD应收明细(客户)
BSID应收明细(客户)
==>ALL AR DOCUMENTS

     簇表BSEG的主键字段(key)有以下五个项目。
       MANDT:集团(Client)
       BUKRS:公司代码 (Company code )
       BELNR:财务凭证编号(Accounting document number)
       GJAHR:会计年度(Fiscal Year )
       BUZEI:会计凭证中的行项目(Numberof Line Item Within Accounting Document )

    BSEG 使用BUKRS ( COMPANY CODE )、 BELNR ( DOCUMENT NO )、 GJAHR ( FISCAL YEAR )、BUZEI ( LINE ITEM ) 字段与其它表关联。
    原因代码因为是单独的存储方式,所以在其他表中不存在。
   
游客,如果您要查看本帖隐藏内容请回复

    如果总账科目启用了未清项管理,那么就会分BSIS和BSAS表存放,如果未启用未清项管理,则存放在BSIS表中。

    一张会计凭证的明细部分可以包含复数个行项目,这些复数个行项目在存入BSEG等簇表的同时,也会根据行项目的状态存入以上六个财务数据表中。

    一般情况下刚开始都是未清凭证,
        如果该行项目是与客户相关的,则被记录到BSID;
        如果该行项目是与供应商相关的,则被记录到BSIK;
        无论和客户相关还是和供应商相关,都是和总帐相关,所以同时也记录到BSIS。

    随后当这笔业务被清帐时,

        如果该行项目是与客户相关的,则相应的记录会从BSID转移到BSAD;
        如果该行项目是与供应商相关的,则相应的记录会从BSIK转移到BSAK;
        无论和客户相关还是和供应商相关,都是和总帐相关,所以同时相应的记录也会从BSIS转移到BSAS。
    一般情况下:
        预收帐款、应收帐款、其他应收款、应收汇票等科目既和客户相关,又和未清项管理的总帐科目相关;
        预付帐款、应付帐款、其他应付款、应付汇票等科目既和供应商相关,又和未清项管理的总帐科目相关;
        其他总帐科目一般不启用未清项管理,所以记录一般都放在BSIS中。
    除了上述6个会计凭证表外还有一个物料凭证表,因为凭证中有的时候还会出现与物料相关的行项目,但是与物料相关的行项目不需要作未清帐处理,所以只有一个物料凭证表相对应。
    BSIM: 第二级指数,商品凭证Secondary Index, Documents for Material
    这里有个概念需要注意:
        存入BSEG等簇表时是以binary save的形式将一张凭证的明细部分的所有行项目信息编辑成一个长文本,再存入表簇RFBLG中的VARDATA项目中。
        存入7个相应的透明表时则是根据上述行项目的性质,分别存入相应的透明表,表中每条记录只记载一条行项目信息。
    有了上述的知识,我们不难理解,
        使用T-code:FB03查看凭证的明细信息时,实际是读取BSEG等簇表的信息。
        使用T-code:FBL1N , FBL3N, FBL5N 分别查看供应商,总账,客户的未清和已清项信息时,实际上读取BSIK、BSAK等会计凭证表的信息。

2.簇表BSEG特点:

    BSEG本身是一个 Cluster Table(簇表),BSEG就是由上述的六大表的集成,当要读取”BSEG”Table时就等于去读取那六个表,这样你可以想像它读起来会就多慢。对於簇表或PoolTable,都是SAP系统本身在使用的,因此簇表本身是不存在资料库实体的,虽然是可以在ABAP使用,不过还是有一些限制:

    1)不能使用select distinct or group by语法
    2)不能使用Native SQL
    3)不能使用specify field names after the order by clause
    4)不能在建立次索引
    5)查询时一定要用KEY FIELD

3.其他簇表
    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 Segmen


最近访客

  • 嘻嘻哈哈
    2026-03-04
  • csz
    2024-07-10
  • Huahua
    2023-09-03
  • wx_16126
    2023-08-24
  • wx_91442
    2023-03-27
  • lileilei
    2023-02-17
  • study883
    2022-07-20
  • sapxf
    2022-01-19
  • 快乐小鱼
    2022-01-16
  • lcg629
    2021-04-23




上一篇:LSMW批处理过程中“Unable to write to fileX:\XXX.lsmw.read(无法写入)”的问题。
下一篇:如何限制SELECT_OPTIONS的各个选项卡
本楼点评(0) 收起
发表于 2013-10-18 18:44:52 | 显示全部楼层
看一看,不错。
本楼点评(0) 收起
发表于 2013-10-18 19:16:39 | 显示全部楼层
顶楼主!
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( 苏ICP备14021163号-4QQfsq

GMT+8, 2026-8-3 13:04 , Processed in 0.253955 second(s), 72 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

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