Date: Tue, 14 Jul 1998 08:22:50 +0200
Reply-To: "Becker, Eckhard [IAW-04]" <EBecker@VHV.DE>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: "Becker, Eckhard [IAW-04]" <EBecker@VHV.DE>
Subject: Re: Concatinating macro variables
Content-Type: text/plain
The prob. is that the concatinating is done in a datastep. The call
symput-arguments ar character and char can only be up to 200 bytes long, so
your datastep works all right but the second arg of symput is allways
truncated to 200 byte although a macrovar can contain up to 32kByte (Sorry,
no solution for now, maybe writing a large let-statement in an external
file)
> ----------
> The goal of this data step is to create a
> longish macro variable which contains the
> names of the variables in another data set
> separated by a blank. There are 58
> numeric variables in the data set. The
> macro variable always stops with just 23
> variable names concatenated together. The
> log shows no error messages.
> data _null_;
> set vcol(keep=type name
> where=(type='num')) end=last;
> nm=name;
> substr(nm,1,2)='NM';
> if _n_=1 then do;
> call symput('num_v',trim(nm));
> end;
> else do;
> call
> symput('num_v',trim(trim(symget('num_v'))||'
> '||trim(nm)));
> end;
> run;
>
|