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: 

database tables

Former Member
0 Kudos

<b>hi

cleraly tell me the diff betn transparent, pooled n cluster tables.

one ex for each.

thanku</b>

4 REPLIES 4

Former Member
0 Kudos

SAP Table Types

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.

Albert

Former Member
0 Kudos

<b>Transparent Table</b> : Exists with the same structure both in dictionary as well as in database exactly with the same data and fields.

<b>Pooled Table</b> : Pooled tables are logical tables that must be assigned to a table pool when they are defined. Pooled tables are used to store control data. Several pooled tables can be cominied in a table pool. The data of these pooled tables are then sorted in a common table in the database.

<b>Cluster Table</b> : Cluster tables are logical tables that must be assigned to a table cluster when they are defined. Cluster tables can be used to strore control data. They can also be used to store temporary data or texts, such as documentation.

A transparent table is a table that stores data directly. You can read these tables directly on the database from outside SAP with for instance an SQL statement.

<b>Difference:</b>

Transparent table is a one to one relation table i.e. when you create one transparent table then exactly same table will create in data base and if is basically used to store transaction data.

A clustered and a pooled table cannot be read from outside SAP because certain data are clustered and pooled in one field.

One of the possible reasons is for instance that their content can be variable in length and build up. Database manipulations in Abap are limited as well.

But pool and cluster table is a many to one relationship table. This means many pool table store in a database table which is know as table pool.

All the pool table stored table in table pool does not need to have any foreign key relationship but in the case of cluster table it is must. And pool and cluster table is basically use to store application data.

Table pool can contain 10 to 1000 small pool table which has 10 to 100 records. But cluster table can contain very big but few (1 to 10) cluster table.

For pool and cluster table you can create secondary index and you can use select distinct, group for pool and cluster table. You can use native SQL statement for pool and cluster table.

Example : Transparent table : MARA, MARC..

Example : Pool table : MDTC

Example : Cluster table :BSEG

Regards,

Maha

Former Member
0 Kudos

Hi,

Transparent table:

Tables can be defined independently of the database in the ABAP Dictionary. The fields of the table are defined together with their (database-independent) data types and lengths.

A table definition in the ABAP Dictionary has the following components:

Table fields: The field names and the data types of the fields contained in the table are defined here.

Foreign keys: The foreign keys define the relationships between this table and other tables.

Technical settings: The technical settings define how the table is created on the database.

Indexes: Indexes can be defined for the table to speed up data selection from the table.

There are three categories of database tables in the ABAP Dictionary.

A physical table definition is created in the database for the table definition stored in the ABAP Dictionary for transparent tables when the table is activated. The table definition is translated from the ABAP Dictionary to a definition of the particular database.

On the other hand, pooled tables and cluster tables are not created in the database. The data of these tables is stored in the corresponding table pool or table cluster. It is not necessary to create indexes and technical settings for pooled and cluster tables.

Pooled table

Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated pooled tables are stored.

Cluster table

Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database.

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.

Transparent table - many to many

pooled - many to one

cluster table - many to one

poolled and cluster table both are logical tables

Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated pooled tables are stored.

A001,A004,A005,A006,A007,A009,A010,A012,A015,A016,A017,A018,A019,A021,A022,

Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database.

AUAA,AUAB,AUAO,AUAS,AUAT,AUAV,AUAW,AUAY,BSEC,BSED,BSEG,BSES,BSET,CDPOS

Refer link: http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm

Former Member
0 Kudos

The Different Types of Data Dictionary Tables are:

Transparent Tables:

It is used to store application data such as Master and Transactional Data. We always create Transparent Tables. There is a one to one relationship i.e for the table in DDIC another table with thhe same structure and the same name and the same fields will be created in the Original Data base.

Pooled Tables :

It is used exclusively for storing internal control information (Screen sequences, program parameters, temporary data, continuous texts such as documentation). The data from several different pooled tables can be stored together in a table pool. This is Many to One relationship i.e. for amany pooled tables in DDIC only one Data base table will be created in the Database.

Cluster Table:

It is used exclusively for storing internal control information (Screen sequences, program parameters, temporary data, continuous texts such as documentation). The data from several different cluster tables can be stored together in a table cluster. This is Many to One relationship. i.e. for many cluster tables in DDIC only one Database table will be created in the Database. All the Tables in the Cluster Tables should have common Primary Key.

Rewards if useful.