‎2006 Oct 06 9:48 PM
Dear All,
I have this problem with my program. The table BSIS has huge number of records and my program is giving me performance issues when I used FOR ALL ENTRIES for selecting from BSIS. The driver table in FOR ALL ENTRIES is gt_belnr (all document numbers). So, gt_belnr itself has huge records and hence it is adding up to performance. Whts the other alternative to this?
Thanks
‎2006 Oct 06 9:52 PM
Are you using index fields?
Are you using all the possible filters?
Is your for all entries table sort?
Have you delete any repeated field?
Greetings,
Blag.
‎2006 Oct 06 10:03 PM
I have used index fields,
used all possible filters also,
driver table is sorted and adjacent duplicates also deleted.
‎2006 Oct 07 1:13 AM
Hi ,
FOR ALL ENTRIES is a loop and should not be used when the data is huge as it will loop on database for every record.
Try selecting data using array fetch and then try to filter in the code. Sometimes selecting more data at one shot is useful compared to filtering data using FOR ALL ENTRIES.
Cheers
VJ
‎2006 Oct 07 5:13 PM
Your problem is that you are going against the wrong table. You only use BSIS if you know the GL account (it's the primary key for this table). If you know the company code and fiscal year, you have to go to BKPF and BSEG.
If you don't know the company code you can still go against BKPF and BSEG: there is a trick to using them in the select. See:
/people/rob.burbank/blog/2006/09/13/using-an-index-when-you-dont-have-all-of-the-fields
Rob
‎2006 Oct 07 5:21 PM
hi
wat are u trying to fetch from BSIS?
wat are u to holding in gt_belnr?
Cheers,
Abdul Hakim