As Lew as already tried to explain, it is like doing the following:

* ... your code

do MyProcWithTheQuery

?_tally

* ... your code

RETURN
*
FUNCTION MyProcWithTheQuery
local m.macro
m.macro = 'select CNT(*),' + m.fldstr +;
            " DISTINCT FROM (m.InTbl) WHERE desthop > 0 and not INLIST('out'," 
+;
            m.fldstr + ' ) GROUP BY ' + m.fldstr + ' INTO array Rarray'
&macro
ENDFUNC

The scope of Rarray will default to local, local to MyProcWithTheQuery.
This is true also for simple memvar not only array.

Unless you declare and define the variable before calling MyProcWithTheQuery 
(or EXECSCRIPT)
like in my first reply.

HTH
Gianni

On Fri, 30 Nov 2007 20:36:44 -0500, Joe Yoder <[EMAIL PROTECTED]> wrote:

>Thanks Gianni and Lew,
>
>I guess that's one reason to use Execscript instead of macro 
>substitution.  I was trying to figure out if there were any advantages 
>beyond the elegance of a one liner.  
>
>I went back to the help but didn't find anything to indicate that an 
>array created there would not be accessible in the following code.  Is 
>there a clue I am missing or am I just supposed to know??
>
>TIA - Joe
>
>On Friday, November 30, 2007  7:03 PM, Lew wrote:
>>
>>Date: Fri, 30 Nov 2007 19:03:26 -0500
>>From: Lew
>>To: [EMAIL PROTECTED]
>>cc:
>>Subject: RE: Execscript glitch?
>>
>>Your array will have been created as a local memvar within the script, so it 
>>won't be around when the script
>>finishes. Play around with the parameters idea then
>>local myarray[1]
>>execscript(cScript,@MyArray)
>>HTH
>>
>>-----Original Message-----
>>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joe Yoder
>>Sent: Friday, November 30, 2007 6:39 PM
>>To: [email protected]
>>Subject: Execscript glitch?
>>
>>I just coded an SQL select statement using execscript and found it won't 
>>create an array.  If I substitute
>>"cursor" for "array" all is well.  _Tally after code execution reports the 
>>correct value so the SQL apparently
>>runs but does not create the array.  When I use macro substitution the array 
>>is created as expected.  Does
>>someone have an explanation for this behavior?
>>
>> TIA - Joe
>>
>>Here is the code:
>>?EXECSCRIPT('select CNT(*),' + m.fldstr +;
>>            " DISTINCT FROM (m.InTbl) WHERE desthop > 0 and not 
>> INLIST('out'," +;
>>            m.fldstr + ' ) GROUP BY ' + m.fldstr + ' INTO array Rarray')
>>
>>?_tally


_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/[EMAIL PROTECTED]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to