Thanks to Kit Baum
Although I do not really understand the solution, my problem was not that the returned local r(lg) did not contain all the contents it was supposed to hold, but that my code afterwards to display the contents of r(lg) was wrong.
After my programme had completed, to tried to display the contents of the returned macro r(lg), I wrongly coded:
di r(lg) /* and that only displayed the first 244 characters
whereas using Kit Baums code:
di "`r(lg)'"
the complete contents of r(lg) is displayed.
Thanks again.
Kim
-----Oprindelig meddelelse-----
Fra: [email protected] [mailto:[email protected]] P� vegne af Kit Baum
Sendt: 22. november 2007 22:24
Til: [email protected]
Emne: st: re: how do I get more than 244 characters...
program drop _all
program klm, rclass
version 10
forv i=1/100 {
local cr "`cr' locum ipsem `i'"
}
return local cer "`cr'"
end
klm
local test "`r(cer)'"
local len: length local test
di "`len'"
works fine for me, returns 1492 (Stata 10.0/MP2, Mac OS X)
Kit Baum, Boston College Economics and DIW Berlin
http://ideas.repec.org/e/pba1.html
An Introduction to Modern Econometrics Using Stata:
http://www.stata-press.com/books/imeus.html
______________________________________________________________
In the Stata 10 Programming manual, under 'return' it says:
Be careful with this syntax: do not code
return local name = `mymacro'
because that will copy just the first 244 characters of `mymacro'. Instead,
code
return local name `"`mymacro'"'
I have tried either way, but I am not able to copy more than 244 characters
into my returned local macro.
Am I doing something wrong, or is there a workaround this limitation? (I am using Stata/SE 10 for Windows).
A part of my code is given below. ___________________________________________________________________________
*! 1.0.0 KLM 18 Nov 2007
program define longgraph, rclass
version 10
...
my code
...
twoway `cr'
return local lg `"`cr'"'
end ____________________________________________________________________________
The �cr' is build up through a series of foreach loops, and at the end of
the loops, `cr' could contain more than 1000 characters.
Regards Kim
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/