For the record, my explanation needs some improvement: 
Stata sees $ and would be prepared for a macro name
following. But no legal macro name follows, so the 
$ is treated as a literal character, as are the 
characters (S_DATE) following. 
Nick 
[email protected] 
Donald Spady
 
> Nick and Michael
>   I must blame this on poor eyesight and seeing what I 
> 'expected' to see.
> Thanks for the heads up and the explanation.
Nick Cox
 
> Michael's code specified curly braces { } in 
> 
> ${S_DATE} 
> 
> and he meant precisely what he wrote. 
> 
> In context, the braces make it clear to Stata precisely what
> is (and what is not) the name of the global macro whose
> contents you want to be inserted at that point. 
> 
> Common or garden parentheses ( ) have no such role 
> and just get taken literally in this context. Also, 
> ordinary algebra in which the choice between { } and ( )
> can just be a matter of taste or convenience is no 
> guide here, as they are not equivalent in Stata. 
> 
> Within 
> 
> $(S_DATE) 
> 
> Stata sees a $ and gears up for a global macro name 
> to follow -- but then the next thing (next token, in 
> Stataspeak) is a parenthesis, which cannot be part
> of a global macro name. The result is that you just get an empty 
> string inserted instead, which is naturally difficult
> to see there. (Be assured, it really is there. Or it
> really isn't there. Same thing in practice, and 
> consult the theologians or philosophers about the
> difference in principle.) 
> 
> So in this command line the substring 
> 
> (S_DATE)
> 
> will be taken literally and no macro subsitution will
> take place. The rest you know, I think. 
> 
> Nick 
> [email protected] 
> 
*
*   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/