Please explain WHAT you are trying to do?
Is the goal to create a file name of SALES12103.log from the separated pieces SALES, 12103, and .log ?
Then why not just DO that.
So let's start by initializing your input macro variables,
%let DIRNME=c:\downloads;
%let PNME=SALES ;
%let P1YYMM1=12103;
%let I=1;
Now we can use them to generate a new macro variable with the name you want. Let's call it LOGNAME.
%let logname=&DirNme.\LOGS;
%let logname=&logname\&pnme;
%let logname=&logname.&&p1yymm&i;
%let logname=&logname..log;
Results:
435 %put &=logname;
LOGNAME=c:\downloads\LOGS\SALES12103.log
Now just use that in your macro call.
%StrLog
(PName=%str(&PName )
,PrinttoName = &logname
,ClearLog=N
);
... View more