SAS uses the DYNALLOC
system option to specify whether SAS or the host sort utility dynamically
allocates the sort work data sets. If you specify the NODYNALLOC option,
then SAS allocates the sort work data sets. If you specify the DYNALLOC
option, then the host sort utility allocates the data sets. NODYNALLOC
is the default setting for the DYNALLOC option.
When SAS allocates the
sort work data sets, you need to ensure that you have adequate space
allocated for your data sets. SAS attempts to allocate enough space
for each sort work data set. If adequate space is not available, SAS
issues a system error message.
The SORT= option specifies
the minimum size of all allocated sort work data sets. You can use
this option to ensure that you have enough allocated space to perform
several sorts, especially if one or more of the sorts requires more
space than the first sort. For example, you want SAS to allocate the
space for the following sorts:
SAS uses the following process to allocate the space
for each sort:
-
Allocate 20 cylinders
for the first sort.
-
Free the space that
it allocated for the previous sort because it needs more allocated
space to perform the next allocation.
-
Allocate 50 cylinders
for the second sort.
-
Reuse the allocated
space for the third sort.
-
Free the space that
it allocated for the previous sort because it needs more allocated
space to perform the next allocation.
-
Allocate 200 cylinders
to perform the fourth sort.
This process will work,
and you will not be aware that it is happening, but it is not efficient.
It is more efficient
to use the SORT= option to specify that SAS should allocate 200 cylinders
for the first sort so that SAS can reuse the same space for all of
the sorts. If you use the SORT= option, SAS does not have to free
the allocated space before it allocates more space for the next sort.