Hi
While I am executing the follwoing
SQLString1 and SQLString2 of length 1024
ADORecSet.Open('SELECT '+SQLString1+SQLString2+' FROM '+ FORMAT(SQLTableID),ADO);
It throws me the error
There is not sufficient space in C/AL stack memory to execute this task.
There are two many simultaneous activities, due to the way recursive function calls is used in the programs. The problem can be solved temporarly by shutting down some of the open activities(but the function still cannot be executed)
how can i rectifie this error.
Ajay
0
Comments
Thomas
I.E. Codeunit A calls Codeunit A, over, and over, and over again...
You should do some test by either restricting your query to a single record, I.E. WHERE keyname = 'xxx', or check over your report/codeunit/form and look for calls to itself, or another codeunit that will call the original.
I.E. Codeunit A calls Codeunit B which then calls Codeunit A.
No one loves you like the one who created you...
I am generating the sql string dynamically , instead of hardcoding it
i have two string with 1024 of length
if try to execute like this
ADORecSet.Open('SELECT '+SQLSTRING1+SQLSTRING2+ ' FROM '+FORMAT(SQLTABLEID),ADO).
I am getting stack overflow error.
Of course this is not the solution, but we get closer to the problem =P~
Thomas
Hi
Try a temporary variable text length 1024
tmp := 'SELECT '+SQLSTRING1;
tmp := tmp + SQLSTRING2;
tmp := tmp + ' FROM '+FORMAT(SQLTABLEID);
ADORecSet.Open(tmp ,ADO).
Matteo
its throwing the stack overflow error.
not with 1024 characters.