LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (March 2000, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Thu, 16 Mar 2000 18:17:42 +0100
Reply-To:     peter.crawford@DB.COM
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Peter Crawford <peter.crawford@DB.COM>
Subject:      CALL SYMPUT
Comments: To: lmi@lsol.tm.fr
Content-type: text/plain; charset=us-ascii

It is normal because, even though you are pushing data into the macro environment, it is coming from an expression in a data step. Such expressions deliver no more than 200 bytes in v6. So, your call symput("var",col1||col2||col3); puts only the first 200 bytes of the concatenation into the macro variable VAR. That's normal .

The normal behaviour of character variable concatenation is to respect the whole length of the character variables. If there are trailing blanks in col1 or col2 that you wish removed, then you must code to do that To eliminate those trailing blanks and preserve a blank between each contributing variable call symput("var",trim(col1)||' '||trim(col2)||' '||col3);

That's normal !

Datum: 16.03.2000 17:29 An: SAS-L@listserv.uga.edu

Betreff: CALL SYMPUT Nachrichtentext:

I try this :

data _null_; set tmac; call symput("var",col1||col2||col3); run;

length of col1 is 200 length of col2 is 200 length of col3 is 200

But macro VAR contains only the value of col1. Is it normal ?


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