‎2008 Sep 09 12:08 PM
HI
when I try to execute the following select query .
select * from vbap into table it_vbap where vbeln = p_vbeln
or vgbel = p_vbeln
or vbeln = j_3avbfae-vbelv
or vgbel = j_3avbfae-vbelv
or vbeln = p_vgbel
or vgbel = p_vgbel.
the system throwing up dump with the following message
'Memory low : leave the transaction before taking break'
please make me know the issue.
thanks
jaya prasanna kumar
‎2008 Sep 09 12:11 PM
well with your OR criterias there are probabaly a LOT of records matching those.
Probably more than you can handle in an itab.
‎2008 Sep 09 12:12 PM
That message comes when you're in debug after a dump - it's telling you that memory is low, so you should get out of debug asap, so that the memory can be cleaned up. What's the actual message in the dump?
Chance are that the dump is also telling you your are out of memory. You're selecting more data than the system can handle.
matt
‎2008 Sep 09 12:12 PM
The issue is that your internal table is exceeding the memory limit.
In the dump it will showing how much memory space is alloted to the internal table.
Basis people will be alloted some memory space to the internal table and your internal table is exceeding that limit.
so try to divide the data while passing the data into the internal table while using select statement.
‎2008 Sep 09 12:13 PM
Hi Jaya,
This dump might be because of insufficient free memory available. Check with ur basis team as well.
Also i can see toomany OR conditions in ur select. Its a good idea to use range here instead of too many OR conditions. Also select only the required fields instead of SELECT * which consumes lots of memory.
Thanks,
Vinod.
‎2008 Sep 09 1:45 PM
Hi,
in your select query try into corresponding fields of table it_vbap instead of table table it_vbap.
if it does not work try out with AND in where condition instead of OR.
this may be becoz of that due to OR condition there are values more than the limit of youe internal table.
Rajesh Kumar