01-29-2008 6:00 AM
Hello Everyone,
plz. tell me why is it not possible to use inner join on Pooled and Cluster tables?
01-29-2008 6:04 AM
01-29-2008 6:20 AM
Each field of cluster/pooled table behaves as tables which contains the no. of entries.So u cant use inner join in cluster and pooled tables.reward if useful.
01-29-2008 6:26 AM
As our friends have already explained, we can not join pooled and clustered tables, for example when dealing with BKPF and BSEG tables.
The general approach would be using FOR ALL ENTRIES:
codeselect bukrs belne gjahr .....
into table it_bkpf
from bkpf
where <cond>.
select belnr buzei dmbtr ....
into table it_bseg
for all entries in it_bkpf
from bseg
where bukrs = it_bkpf-bukrs
and belnr = it_bkpf-belnr
and gjahr = it_bkpf-gjahr
....[/code]
Kindly Reward Points If Found Usefull,
Cheers,
Chaitanya.
Kindly Reward Points If Found Usefull,
Cheers,
Chaitanya.
01-29-2008 6:59 AM
hi vishal
it is not possible to use the inner join on pooled and cluster tables because in pool table-------the 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.
but wen u comes to
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.
for example take BSEG table ,in that
BSEG itself is a table and BUZID is the field which stores the line item of A/c Document. Due to cluster table U can't join this table as inner join.that is the bseg table is clustering the fields when it is joining with other fields.so it will leads to errrors finally.
thats y we wont use those both.
reply me if u neeed more clarification
thanks
karthik
reward me if answer is helpfull
01-29-2008 9:07 AM
hi,
pooled tables:
These are logical tables, which must be assigned to a table pool when they are defined. Pooled tables can be used to store control data (such as screen sequences or program parameters).
cluster tables:
A table cluster combines several logical tables in the ABAP/4 Dictionary. Several logical rows from different cluster tables are brought together in a single physical record. The records from the cluster tables assigned to a cluster are thus stored in a single common table in the database.
reward if its useful
01-29-2008 9:10 AM
Transparent Table:
A physical table definition in the database for the table definition which is 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.
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.
See the documetation at:
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f083446011d189700000e8322d00/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/81/415d363640933fe10000009b38f839/frameset.htm