Application Development and Automation 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: 
Read only

performance problem in using bseg table

Former Member
0 Likes
1,906

Hi,

i am using bseg table in my report ,since it is a cluster table my report is running very slow,suggest some solution.

10 REPLIES 10
Read only

manuel_bassani
Contributor
0 Likes
1,205

Hi,

if you can, try to do selections on tables BSIK/BSAK, BSIS/BSAS, BSID/BSAD.

They are transparent tables regarding Open items and cleared items.

Otherwise you could use a logical DB. (In example Logical DB BRM)

Please remember to reward points for useful answers and to close the thread when your problem is solved.

Regards, Manuel

Read only

andreas_mann3
Active Contributor
0 Likes
1,205

Hi,

search in that forum - there're hundreds of postings reg. this topic

otherwise: which items do you want to select ?

regards Andreas

Read only

Former Member
0 Likes
1,205

Hello,

Yes a good idea to use LDB. Try using logical database BRM BRF or BKM as per your requirement.

Another way is to write a refined select queries and abap.

Regards,

Shekhar Kulkarni

Read only

0 Likes
1,205

Try to do SELECT-ENDSELECT rather than for all entries or nested loops. See the topics on this in the forum..There was an article on SDN by Rob Burbank called Performance of Nested Loops. Read this article

Read only

Former Member
0 Likes
1,205

when you use big tables, try to minimize the number of times u r fetching the datas from that table(application server) ..try to fetch the data at a time and put it in some internal tables(presentation server) and use these tables for further operations...

reward if useful......

Message was edited by: Ashok Kumar Prithiviraj

Message was edited by: Ashok Kumar Prithiviraj

Read only

Former Member
0 Likes
1,205

Hi manish

try using BSId/BSAD which is for customer sales(open items/close items)

BSIK/BSAK which is for vendor purchases(open/close items)

BSIS/BSAS which is for secondary index for G/L.

avoid using too many select statements. search using key columsn in the table. filter the data while retrieving it from the database. avoid complicated logic.

regards

kishore

Read only

Former Member
0 Likes
1,205

Hello Manish,

I saw that table structure. It has 321 fields. Well a big

table.

I suggest you the following points in your report...

1. In select query do not use *. Instead choose the field

names by specifying the field name explicitly.

2. You can also work on other tables that are found in the

Entry help/Check tab of bseg table in se11.

3. Do not directly update the database. Create an internal

table and do your operations and then update the table.

4. If possible create views.

The idea is to limit your database hit.

Hope it helps.

Regards,

Maheswaran.B

Read only

0 Likes
1,205

Hi,

This weblog will be very useful for you...

/people/rob.burbank/blog/2006/02/07/performance-of-nested-loops

Read only

Former Member
0 Likes
1,205

Hi,

Here are few things u can try

- if u use "CORRESPONDING FIELDS OF" remove it - put in the actual field assignment.

You can also change the where to use a select option or range to select .

These 2 things will improve the performance.

Other things you could do would be to provide more of the key fields

But all these things will not give you a drastic performence boost. The best way is to use extened check and sql trace to analyse the query and to come up with a better solution yourself. Try to break select into multiple select statmnts. You can refer to bkpf, bsid,bsad ( cleared items

/open items for customers ),bsak,bsik ( For vendors) and bsis,bsas ( for GLs).

Austin.

Message was edited by: Joseph Austin Prabhu Paulthas

Read only

Former Member
0 Likes
1,205

hi Manish,

Do not use Select * , use

select <f1> <f2> into table iatb from bseg

and in

where condition use only key fields like bukrs

if you fetch data from more than one table use

populate the fields of ont table into an itab1

and use..

select <f1>.. into table itab2

for all entries in itab1

..

this applies for all the tables

hope this helps you..

kindly reward points if this helps you..

also close this and reward points for helpful answers

regards

satesh