I was mistaken in asserting that DCLEN produced an incorrect result.
Consider

&A      SETA     DCLEN('''''')
        MNOTE  *,'&A'

This will show that &A has value 1, as noted in the original posting.

The reason is that (1) the enclosing apostrophes of the argument string are
removed and (2) the interior apostrophes are paired before presentation to
DCLEN, so (3) its true argument is just a pair of apostrophes.  When that
pair substituted into a C-type DC statement, that pair will result in a
single byte, hence (4) the length 1.

John Ehrman

Reply via email to