In reply to Brett.

Brett,

I think your specific example has a mistake in the SUBSTR function. You want:

/* start at position 6, not 8 */
call symput('cyr', substr("01Jan2013", 6, 2));

A complete "self contained" expression might be:

/../20%sysfunc(substr(&sysdate,6,2))_%sysfunc(month(%sysfunc(today())),z2.)

Which (today) yields:

/../2013_09