|
|||
|
Thanks for all the replies.
Dumping millions of macro variables into a macro variable table is a bad practice. I am just curious to know, besides memory problem, if there is a maximum number limited on creating macro vars; I did not find this on document. It seems that there is not. Thanks again. Tom |
|
|
||||
|
||||
|
|
|
|||
|
"Tom Smith" <tomquin99@GMAIL.COM> wrote in message news:200906231537.n5NAlGcK023801@malibu.cc.uga.edu ... > Thanks for all the replies. > > Dumping millions of macro variables into a macro variable table is a bad > practice. I am just curious to know, besides memory problem, if there is a > maximum number limited on creating macro vars; I did not find this on > document. It seems that there is not. > On my system (SAS 9.1 running on a Windows NET_SRV platform) the macro symbol table defaults to 4,194,304 bytes. So you can stuff macro variables into the memory allocated for the symbol table until you run out of room - there is no limit to the number of variables, but there is a limit to the amount of memory set aside to hold them. You can change the amount of memory allocated to the symbol table either up or down using the MSYMTABMAX option. The only limit on the amount of memory allocable is the largest integer the operating environment can represent. Whatever the value of the MSYMTABMAX option, once you run out of memory, any further macro variables are written to disk (if MSYMTABMAX = 0, then all macro variables are written to disk) as entries in the WORK.SAS0ST0 catalog. So, the maximum number of macro variables is partly machine dependent - how much memory is available, what is the largest integer the operating environment can represent, how much disk space is available - and partly macro variable dependent - the longer each macro variable (in terms of bytes), the fewer variables will fit into this total. |
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|