SAP TABLE表类型

SAP table 三种表类型区分

1、透明表(Transparent table)

   透明表(transparent table), 透明表是和DB层的物理表(physical table)一一对应的。这个表中的字段是与数据库里的字段一一对应,是最常用,最多的表。例如:Mara
2、池表/共享表(Pooled table)

  共享表 Pooled Table是一种逻辑表, 在数据库里的存储是存储到一个表中,存储是多对一的关系可能多个Pooled Table 存储到一个数据库表。
例如:A004物料表,A005客户/物料表


3、簇表/聚集表 (Cluster table)

聚集表 Cluster Table 和Pooled Table一样,存储也是多对一的关系,区别是Cluster Table存储关键字段(键),其中有一个字段存储了Cluster Table的其它字段。注意一点:Cluster Table除主键其它字段不能写其它表进行连接(join)。
例如:BSEG
T-Code:SE11,SE16

池表和簇表不是和DB层的物理表(physical table)对应的(比如,TBSL过帐码是一个池表,但是在DB层是找不到的)。


多个簇表组成一个表簇,多个池表组成一个表池,表簇和表池是DB层的一个物理表。

池表和簇表只能通过SAP自己的工具来直接访问。

1.What is transparent, cluster and pool table? where and when we use these tables?

透明表同时存在于dictionary 和database中, 且具有完全相同的结构,相同的数据与栏位。

Pooled table 是一种逻辑表,在定义它的同时必须要将其分配到 一个 table pool中去。而pooled table则是用来存储control data的。几个pooled table是可以被整合到一个table pool中的。这些pooled table的数据会于同一个database table 中更新。

簇表则是在定义的时候必须要分配到一个table cluster中去的。也是用来存储control data的。他们用来存储临时的数据和文本,例如文档。

2.What’s the major difference between standard tables, Pooled tables and Clustered tables?

透明表是用来直接存储数据的,也即物理的。你可以在系统以外用例如SQL语句来直接读取db的数据。

透明表是一对一的表,例如当你创建一个透明表的同时,完全相同的一个表将会被创建在DB中,主要用于存储交易数据。

而cluster和pooled表是不能从外部访问的,因为其数据都是被聚合和汇集到一个栏位中的。

原因之一是他们的数据于长度和构造上的不同。ABAP于数据库层面的操作亦受限。

但是pool和cluster表是多对一的关系表。这意味着很多的pool表可以被存储到一个table pool中。

所有的pool table于table pool中存储都是不需要foreign key的,但是cluster table是要的。而且这两种table都是用于存储应用数据的。

一个table pool可以包含10到1000个每个可以有10到100笔数据的小的pool table,而cluster table则只可以包含1到10个但超大的cluster table。

对于pool和cluster table,你既可以使用secondary index和select distinct,group,也可以使用native SQL语句。

Structure 是没有数据的table。它只在程式逻辑中需要它的那一刻装入数据。

而View只是一种看待table中内容的方式。它只是改变了table中数据的表现方式而已。你实际调用的仍然是下面的table。

SAP 簇表的使用

  比如前端接收的JSON数据直接存储到簇表中。

IF iv_relid = 'P7'.
    EXPORT lv_json TO DATABASE zthr0018(p7) ID zthr0018-srtfd.
  ELSEIF iv_relid = '01'.
    DELETE FROM zthr0018 WHERE relid = '01' AND srtfd = zthr0018-srtfd.
    EXPORT lv_json TO DATABASE zthr0018(01) ID zthr0018-srtfd.
  ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值