‎2008 Nov 21 5:55 AM
Hi Experts,
I have a problem with internal table memory. A select makes a huge increase in EXTENDED. Will we be able to increase the memory size allocated.
Allocated Used
Total memory allocated for the program : 3,973,952 3,317,952
Memory allocated for table T_DETAIL[] : 2,901,008 2,890,724 (Contains 6,000 Records)
For other tables : 44,312 34,807 (Normal)
Could please help me in solving this problem.
Thanx in advance,
Aishwarya.
‎2008 Nov 21 6:01 AM
‎2008 Nov 21 6:01 AM
‎2008 Nov 21 6:05 AM
Hi.,
This might be because of problem with internal memory availability. Check ur code, If u r not using any internal table i.e declared globally then use FREE statement to release the memory so that it can be used for ur itab.
FREE itabtemp. "itab temp is not being used further from this
point of time.
Reduce global declarations as far as possible.
Thanks,
Naveen.I
‎2008 Nov 21 6:12 AM
refer OSS Note 425207 for increasing ABAP memory settings. You may have to ask BASIS to increase this setting. But this is option after you have fine tuned ABAP for clearing unused tables etc.
increasing abap/buffersize should help.
‎2008 Nov 21 6:27 AM
Hi,
I can understand that we can refresh/free the internal tables which are not used afterwards. But the probleam am facing is like, the program am working is with GLOBAL INVOICE, i need to be very carefull. So apart from refreshing the tables is there any way to increase the size. Can we increase the memory size dynamically in program? Or this can be done only by BASIS?
Regards,
Aishwarya.
‎2008 Nov 21 6:30 AM
Hi,
Below is the query which increases the memory.
SELECT * INTO TABLE t_detail FROM ypst_fdsdmap
FOR ALL ENTRIES IN tl_vbap_tmp
WHERE vbeln = tl_vbap_tmp-vbeln.
‎2008 Nov 21 6:36 AM
Hello Aishwarya,
Before the SELECT did you check if "tl_vbap_tmp" IS NOT INITIAL ??
BR,
Suhas
‎2008 Nov 21 6:42 AM
‎2008 Nov 21 7:10 AM
Hi Aishwarya,
Memory allocated for table T_DETAIL[] : 2,901,008 2,890,724 (Contains 6,000 Records)
I think the memory allocated for each record is very large.
In the select statement, you have used *. Are all the fields from the table ypst_fdsdmap required? If not just change the structure of t_detail and select those fields which are required.
‎2008 Nov 21 6:45 AM
normally in prod systems, internal table can grow upto 500 mb, BASIS can increase it to 2 Gb.
in select you should not select *. before BASIS change any setting , somebody need to do detail analysys of code to make sure all the optimization is done. First thing anyone will catch is Select *.
‎2008 Nov 21 6:52 AM
Hi All,
Thank you all for your valuable suggestion. i will keep this thread open and will close this once the issue is solved and will update you the solution that resolved my problem.
Regards,
Aishwarya.