Hi.Patrick is right.
To avoid to overwrite F8,you need to change the code a little bit to retain the changed value of F8.
[pre]
%let mvar1= rahim1 ramu1 sham1;
%let mvar= rahim ramu sham;
%let val=3;
data testing22;
rahim="good";
ramu="cool";
sham="fine";
rahim1="rahim";
ramu1="ramu";
sham1="akram";
a="from rahim";output;
a="from ramu";output;
a="from akram";output;
a="from aram";output;
a="from &sham";output;
a="from &sham;";output;
rahim="good";output;
ramu="cool";output;
sham="fine";output;
rahim1="rahim";output;
ramu1="ramu";output;
sham1="akram";output;
run;
options mprint;
%MACRO Q4;
data testing222;
set testing22;
F8=a;
%do i=1 %to &val;
%LET m=%SCAN("&mvar",&i," ") ;
%LET k=%SCAN("&mvar1",&i," ") ;
F8=TRANWRD(F8,&k,&m);
%end;
run;
%MEND;
%q4
[/pre]
Ksharp
... View more