‎2006 Feb 20 12:02 PM
Hi,
i am using bseg table in my report ,since it is a cluster table my report is running very slow,suggest some solution.
‎2006 Feb 20 12:05 PM
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
‎2006 Feb 20 12:08 PM
Hi,
search in that forum - there're hundreds of postings reg. this topic
otherwise: which items do you want to select ?
regards Andreas
‎2006 Feb 20 12:10 PM
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
‎2006 Feb 20 12:14 PM
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
‎2006 Feb 20 12:12 PM
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
‎2006 Feb 20 12:14 PM
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
‎2006 Feb 20 12:15 PM
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
‎2006 Feb 20 12:17 PM
Hi,
This weblog will be very useful for you...
/people/rob.burbank/blog/2006/02/07/performance-of-nested-loops
‎2006 Feb 20 12:18 PM
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
‎2006 Feb 20 12:21 PM
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