@pAckmAn
In addition to the useful comments sent by others, consider appending the "open=defer" option to the SET statement. I suspect, that all the data sets you are concatenatiing have the same variables. If so (and only if so), then instead of SAS setting up a separate input buffer for each incoming data set (the default behavior), you can tell SAS to reuse the same buffer for each data set in turn. Saves a lot of memory, and probably some cpu time and clock time.
I.e. the SET command would look like
set
... list of data sets here ....
open=defer;
The tradeoff - you can't have a BY statement accompany the SET statement - because that would require SAS to "look ahead" to the next record (to determine last.by status) - which in turn would require more than one buffer.
... View more