‎2008 Mar 11 1:10 PM
hi all,
can anyone please tell wat is pool and cluster tables in simple words,when we use pool table and cluster tables,and difference between them.
thanks®ards.
srinivas reddy
‎2008 Mar 11 1:14 PM
‎2008 Mar 11 1:17 PM
hi ,
Hi,
1. Table pool is used for storing large number of unrelated logical tables in one physical table. Table cluster is used for storing small number of related logical tables in one physical table.
2. Tables in a cluster must have a significant part of the key common, but tables in a table pool do not have that restriction.
3. One record of a table pool represent one record of any one of the pooled table whereas one record of table cluster represent data from one or more records of all cluster tables (If it fits in one page).
Cluster table contains large amount of data.
This cluster table in database is stored as the combination two or more small database tables.
For example BSEG is a cluster table..
You can find all the Fields of this table in different small tables BSIS, BSAS etc...
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
http://help.sap.com/saphelp_nw04/helpdata/en/81/415d363640933fe10000009b38f839/frameset.htm
some of the tables are placed in a pool means it had 1 to n correspondance exists. for every pool table there may be n no of tables.
regards,
venkat.
‎2008 Mar 11 1:29 PM
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 cominied in a table pool. The data of these pooled tables are then sorted 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 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.
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.
A structure is a table without data. It is only filled by program logic at the moment it is needed starting from tables.
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.
‎2008 Mar 11 1:37 PM
Hai Reddy,
Pooled and Cluster Tables
Table pools (pools) and table clusters (clusters) are special table types in the ABAP Dictionary. The data from several different tables can be stored together in a table pool or table cluster. Tables assigned to a table pool or table cluster are referred to as pooled tables or cluster tables.
A table pool or table cluster should be used exclusively for storing internal control information (screen sequences, program parameters, temporary data, continuous texts such as documentation). Data of commercial relevance is usually stored in transparent tables.
Table Pools
A table in the database in which all records from the pooled tables assigned to the table pool are stored corresponds to a table pool.
The definition of a pool consists essentially of two key fields (Tabname and Varkey) and a long argument field (Vardata). A pool has the following structure:
Field
Data type
Meaning
Tabname
CHAR(10)
Name of pooled table
Varkey
CHAR (n)
Contains the entries from all key fields of the pooled table record as a string, max. length for n is 110
Dataln
INT2(5)
Length of the string in Vardata
Vardata
RAW (n)
Contains the entries from all data fields of the pooled table record as a string, max. length n depends on the database system used
If a pooled table record is saved, it is stored in the table pool assigned. The name of the pooled table is written to the field Tabname. The contents of all key fields of the pooled table are written as a string to field Varkey and the contents of all data fields as a string to field Vardata. The length of the string stored in Vardata is entered in field Dataln by the database interface.
Due to the structure of a table pool, there are certain restrictions on the pooled tables assigned to it. The name of a pooled table may not exceed 10 characters. Since Varkey is a character field, all key fields of a pooled table must have character data types (for example, CHAR, NUMC, CLNT). The total length of all key fields or all data fields of a pooled table must not exceed the length of the Varkey or Vardata field of the assigned pool.
Table Clusters
Several logical data records from different cluster tables can be stored together in one physical record in a table cluster.
A cluster key consists of a series of freely definable key fields and a field (Pageno) for distinguishing continuation records. A cluster also contains a long field (Vardata) that contains the contents of the data fields of the cluster tables for this key. If the data does not fit into the long field, continuation records are created. Control information on the structure of the data string is still written at the beginning of the Vardata field. A table cluster has the following structure:
Field
Data type
Meaning
CLKEY1
*
First key field
CLKEY2
*
Second key field
...
...
...
CLKEYn
*
nth key field
Pageno
INT2(5)
Number of the continuation record
Timestamp
CHAR(14)
Time stamps
Pagelg
INT2(5)
Length of the string in Vardata
Vardata
RAW (n)
Contains the entries from the data fields of the assigned cluster tables as a string, max. length n depends on the database system used
The records of all cluster tables with the same key are stored under one key in the assigned table cluster. The values of the key fields are stored in the corresponding key fields of the table cluster. The values of all data fields of the assigned cluster tables are written as a string to the Vardata field of the table cluster. Besides the actual data values, the data string contains information on the structure of the data and which table it comes from. If the string exceeds the maximum length of the Vardata field, a continuation record is written with the same key values. The continuation records for a key are distinguished by their value in field Pageno. The actual length of the string in the Vardata field is stored in the Pagelg field by the database interface.
You need the structural information stored in the ABAP Dictionary to read the data from a pooled table or cluster table correctly. These tables can therefore only be processed using Open SQL with the cluster interface, and not with Native SQL directly in the database.
Regards.
Eshwar.