2007 Aug 29 1:54 PM
hi all,
what is cluster table and why it is used for?
thanks for help.
regards,
vikas
2007 Aug 29 2:01 PM
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.
"Major difference betwen Standard tables,Pooled tables and Cluster Tables?
1.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.
2.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.
3.A clustered and a pooled table cannot be read from outside SAP because certain data are clustered and pooled in one field.
4.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.
5.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.
6.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.
7.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.
8.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.
9.A structure is a table without data. It is only filled by program logic at the moment it is needed starting from tables.
10.A View is a way of looking at the contents of tables. It only contains the combination of the tables at the basis and the way the data needs to be represented. You actually call directly upon the underlying tables.
'The table which store information about Structures and Tables are as follows:
DD02L - table properties
DD02T - table texts
DD03L - field properties
DD03T - field texts
Creating cluster/pool tables:
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f0b7446011d189700000e8322d00/content.htm
creating transparent tables
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eb6e446011d189700000e8322d00/frameset.htm
regards,
srinivas
*reward for useful answers*</b>
2007 Aug 29 2:01 PM
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.
"Major difference betwen Standard tables,Pooled tables and Cluster Tables?
1.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.
2.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.
3.A clustered and a pooled table cannot be read from outside SAP because certain data are clustered and pooled in one field.
4.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.
5.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.
6.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.
7.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.
8.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.
9.A structure is a table without data. It is only filled by program logic at the moment it is needed starting from tables.
10.A View is a way of looking at the contents of tables. It only contains the combination of the tables at the basis and the way the data needs to be represented. You actually call directly upon the underlying tables.
'The table which store information about Structures and Tables are as follows:
DD02L - table properties
DD02T - table texts
DD03L - field properties
DD03T - field texts
Creating cluster/pool tables:
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f0b7446011d189700000e8322d00/content.htm
creating transparent tables
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eb6e446011d189700000e8322d00/frameset.htm
regards,
srinivas
*reward for useful answers*</b>
2007 Aug 29 2:02 PM
Hi
Cluster tables: Several tables linked by a common key may sometimes be combined by the data dictionary and made to exist on the database schema as a single table.
Occasionally, several tables may be linked by a common key. The ABAP/4 Data Dictionary can also combine these tables into a single table. Each data set of the real table within the database contains a key and in a single data field, several data sets of the subsequent table for this key.
As mentioned above, these table types require special data handling, therefore they are not transparent tables.
reward if useful
2007 Sep 05 1:02 PM
There are 3 special SAP tables: Transparent Table,Pooled Table and Cluster Table.
Transparent Table : Exists with the same structure both in dictionary as well as in database exactly with the same data and fields.
Pooled Table : 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 combined in a table pool. The data of these pooled tables are then stored in a common table in the database.
Cluster Table : Cluster tables are logical tables that must be assigned to a table cluster, when they are defined. Cluster tables can be used to store control data. They can also be used to store temporary data or texts, such as documentation.
The major difference between Standard tables, Pooled tables and Clusterd Tables:
A transparent table is a table that stores data directly. You can read these tables directly on the database from outside SAP, for instance an SQL statement.
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 it 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, that their content can be variable in length. Database manipulations in Abap are limited as well.
But pool and cluster table is a many to one relationship table. This means many pool tables store in a database table which is known as table pool.
All the pool table stored 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 used 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.
The idea of Cluster table is that you can store functionally dependent data which is divided among different tables in one database table.
Advantage and Disadvantage of Pool and Cluster tables:
Advantage : Data is stored in compressed form in database.This reduces memory space and network load.
Disadvantage : Can access data only through open SQL and cannot create an index.
Reward if useful.
2007 Sep 05 1:26 PM