Date: Mon, 7 Aug 2000 19:53:30 +0200
Reply-To: Lex Jansen <l.jansen@LEX-JANSEN.DEMON.NL>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Lex Jansen <l.jansen@LEX-JANSEN.DEMON.NL>
Subject: Re: V8 array definitions
From SAS online DOC V8:
Do not prefix the name of a macro language element with SYS because the SAS
System reserves the SYS prefix for the names of macro language elements
supplied with SAS software.
Do not prefix macro variables names with SYS, AF or DMS, to avoid macro name
conflicts.
--
Regards,
Lex Jansen
"Fehd, Ronald J." <rjf2@CDC.GOV> wrote in message
news:9D17D648E4EBD311AD45009027D0DF93178AF0@mcdc-atl-64.cdc.gov...
> > From: Abakah Nori (crm1nxa) [mailto:crm1nxa@UPS.COM]
> > My program works perfectly well in SAS v6.09 but I get this
> > error when I run the same program on SAS v8.
> > Here is part of the log:
> > 3 %MACRO SETUP1;
> > 4 %PUT SYSPARM= &SYSPARM;
> > 5 %IF &SYSPARM=WW %THEN %DO;
> > 6 %LET SYST = ('AL' 'BR' 'DL' 'EC' 'GR' 'HO' 'VN');
> > 7 %LET SYS = 'AL','BR','DL','EC','GR','HO','VN' ;
> > 8 %END; %ELSE
> > ......
> > 15 %IF &SYSPARM=DD %THEN %DO;
> >
> > 16 %LET SYST = ('DV' 'DT');
> > 17 %LET SYS = 'DV','DT' ;
> > 18 %END;
> >
> > 19 %MEND SETUP1;
> >
> > 127 DATA _NULL_;
> > 128 LENGTH SYS $ 4;
> > 129 ARRAY SYSTEMS{*} _CHARACTER_ "&SYST";
> > ________
> > ________
> > ________
> > 22 200
> > 22 200
> > 22 200
> > WARNING: Apparent symbolic reference SYST not resolved.
> > ERROR 22-322: Syntax error, expecting one of the following: a
> > name, (, ;,
> > _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_.
>
> put this statement:
> %GLOBAL SYS SYST;
> inside your macro.
>
> If that doesn't work, then use different macro names.
>
> I believe you ought to check the list of macro reserved words.
> SAS may have all tokens/words beginning with the prefix 'SYS' reserved.
>
> Ron Fehd the macro maven CDC Atlanta GA USA RJF2@cdc.gov
> archives: http://www.listserv.uga.edu/archives/sas-l.html
|