Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

tables

Former Member
0 Kudos

Can any one tell me difference between cluster, transparent and pool tables, where we can use these tables exactly

6 REPLIES 6

anversha_s
Active Contributor
0 Kudos

hi,

The following are the table types used in SAP :

<b>I. Transparent tables</b> (BKPF, VBAK, VBAP, KNA1, COEP)

Allows secondary indexes (SE11->Display Table->Indexes)

Can be buffered (SE11->Display Table->technical settings) Heavily updated tables should not be buffered.

<b>II. Pool Tables</b> (match codes, look up tables)

Should be accessed via primary key or

Should be buffered (SE11->Display Table->technical settings)

No secondary indexes

Select * is Ok because all columns retrieved anyway

<b>III. Cluster Tables</b> (BSEG,BSEC)

Should be accessed via primary key - very fast retrieval otherwise very slow

No secondary indexes

Select * is Ok because all columns retrieved anyway. Performing an operation on multiple rows is more efficient than single row operations. Therefore you still want to select into an internal table. If many rows are being selected into the internal table, you might still like to retrieve specific columns to cut down on the memory required.

Statistical SQL functions (SUM, AVG, MIN, MAX, etc) not supported

Can not be buffered

IV. Buffered Tables (includes both Transparent & Pool Tables)

While buffering database tables in program memory (SELECT into internal table) is generally a good idea for performance, it is not always necessary. Some tables are already buffered in memory. These are mostly configuration tables. If a table is already buffered, then a select statement against it is very fast. To determine if a table is buffered, choose the 'technical settings' soft button from the data dictionary display of a table (SE12). Pool tables should all be buffered.

rgds

anver

if helped mark points

anversha_s
Active Contributor
0 Kudos

hi srikanth,

More at this link.

<b>http://help.sap.com/saphelp_erp2004/helpdata/en/81/415d363640933fe10000009b38f839/frameset.htm</b>

regrds,

anver.

if helped mark points

Former Member
0 Kudos

Hi namburi,

1. The MAIN difference for usage purpose is,

that we can read transparent table directly

by using select statement,

and we will get the proper data, as we require.

2. BUT

3.POOL and CLUSTER table,

store data in some SPECIAL/ENCODED format,

so for cluster we generally use

some standard FM

or use import/export.

regards,

amit m.

Former Member
0 Kudos

Hi,

The transparent table by defination exists in one to one relation between Data Dictionary and the Database. This is not the case with cluster and pooled tables.

Hope this helps.

Former Member
0 Kudos

Hi,

transparent table: inner join is possible on

this tables and contain user specific data.

we can define secondary index

cluster,pooled table: can't be joined and contains

data related to system

example:when customer related data is changed

change information is sored in cdhdr,cdpos

cluster table.

cluster tables should be accessed using full key

else performance will be poor.

check below link

http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/21eb13446011d189700000e8322d00/frameset.htm

http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/21ec17446011d189700000e8322d00/frameset.htm

Regards

amole

Former Member
0 Kudos

Hi

HI

The following are the table types used in SAP :

I. Transparent tables (BKPF, VBAK, VBAP, KNA1, COEP)

Allows secondary indexes (SE11->Display Table->Indexes)

Can be buffered (SE11->Display Table->technical settings) Heavily updated tables should not be buffered.

II. Pool Tables (match codes, look up tables)

Should be accessed via primary key or

Should be buffered (SE11->Display Table->technical settings)

No secondary indexes

Select * is Ok because all columns retrieved anyway

III. Cluster Tables (BSEG,BSEC)

Should be accessed via primary key - very fast retrieval otherwise very slow

No secondary indexes

Select * is Ok because all columns retrieved anyway. Performing an operation on multiple rows is more efficient than single row operations. Therefore you still want to select into an internal table. If many rows are being selected into the internal table, you might still like to retrieve specific columns to cut down on the memory required.

Statistical SQL functions (SUM, AVG, MIN, MAX, etc) not supported

Can not be buffered

IV. Buffered Tables (includes both Transparent & Pool Tables)

While buffering database tables in program memory (SELECT into internal table) is generally a good idea for performance, it is not always necessary. Some tables are already buffered in memory. These are mostly configuration tables. If a table is already buffered, then a select statement against it is very fast. To determine if a table is buffered, choose the 'technical settings' soft button from the data dictionary display of a table (SE12). Pool tables should all be buffered.

Hope this helps u,

Regds,

Seema.