In reply to KSharp.

That is correct. Without %QSYSFUNC the statement would like the following:

%let x=%scan(August 18, 2014,3);
%put &x ;

In this case the 2014 would represent the 'n' argument and the 3 would represent the 'charlist'.

%QSYSFUNC allows those commas to be treated as text rather than as an argument seperator.

This is the correct syntax:

%let x=%scan(%qsysfunc(date(),worddate.),3);
%put &x ;