Hi!
Not entirely sure what you want to do since your subject says concat a numeric "field" to a parameter value but down in your explanation, you say you want to concat a value to a numeric field.
Let's say that I have a parameter called "parm" coming from the stored process and I want to concat a number to it. Try this code and see if this is what you were thinking of.
[pre]
%let parm=WOMBAT;
proc sql;
create table work.testit as
select name, age, height,
"001"||"&parm" as alphawombat
from sashelp.class;
run;
quit;
proc print data=work.testit;
run;
[/pre]
it produces this (partial) output: [pre]
Obs Name Age Height alphawombat
1 Alfred 14 69.0 001WOMBAT
2 Alice 13 56.5 001WOMBAT
3 Barbara 13 65.3 001WOMBAT
4 Carol 14 62.8 001WOMBAT
5 Henry 14 63.5 001WOMBAT
6 James 12 57.3 001WOMBAT
[/pre]
or did you mean that you wanted to concat a number from a parm to a second parm to make a new macro variable???? In which case, concatenation works a bit differently. Consider that I still have a parameter whose value is WOMBAT and I have another parameter whose value is 001:
[pre]
** here I concatenate them in %LET stmts.;
** look in the LOG to see how they work;
** submit them in an EG code node after you submit the above code;
%let parm=WOMBAT;
%let num = 001;
%let macvar = &num&parm;
%let macvar2 = &parm.#
%put -------> concat macro vars;
%put macvar = &macvar;
%put macvar2 = &macvar2;
** now I want to use them in a where clause;
** Must have quotes around them when their usage in the where stmt;
** makes quotes necessary.;
options symbolgen mprint;
proc print data=testit;
where alphawombat in ("&macvar", "&macvar2");
run;
[/pre]
MPRINT and SYMBOLGEN are very useful options because they can help you debug what the macro processor is doing with macro variables when they're referenced in your code.
cynthia