LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous (more recent) messageNext (less recent) messagePrevious (more recent) in topicNext (less recent) in topicPrevious (more recent) by same authorNext (less recent) by same authorPrevious page (July 1998, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
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; >


Back to: Top of message | Previous page | Main SAS-L page