This Natural profile parameter is used to control the sort program used for the processing
of SORT
statements. It corresponds to
the NTSORT
macro in the Natural
parameter module.
Possible settings | For an explanation of the individual sort options, see SORT Parameter Syntax; for their possible settings, see Keyword Subparameters. | |
---|---|---|
Default setting | See Keyword Subparameters. | |
Dynamic specification | yes | This parameter can only be specified dynamically. In the Natural parameter
module, the macro NTSORT is used instead.
|
Specification within session | no |
Notes:
SORT
or
NTSORT
can be used to specify options that control the handling
of the sort program to be used when a SORT
statement is executed.
EXT
.
The following topics are covered below:
The SORT
parameter is specified as follows:
SORT=(keyword-subparameter=value,keyword-subparameter=value,...) |
For names and values of the keyword subparameters, see Keyword Subparameters.
The NTSORT
macro is specified as follows:
NTSORT EXT=value, * EXTEOJ=value, * EXTNAME=value, * EXTOPT=value,value,..., * STORAGE=value, * WRKSIZE=value
For names and values of the keyword subparameters, see Keyword Subparameters.
EXT
| EXTEOJ
| EXTNAME
| EXTOPT
| STORAGE
| WRKSIZE
EXT=value
specifies if an external sort program
is to be used or not.
Value | Explanation |
---|---|
ON |
An external sort program will be used. The use of an external sort program is possible only in batch environments, including IMS TM/BMP, and TSO. |
OFF |
The Natural sort program will be used.
This is the default value. |
Note:
We recommend that you set EXT=ON
if your environment supports the use
of an external sort program. This avoids the need to adapt WRKSIZE
to the amount of
data to be sorted.
EXTEOJ=value
specifies the action to be taken
if an error is detected during the execution of the external sort program.
Value | Explanation |
---|---|
ON |
If an error is detected, sort processing is terminated.
ON requires that the sort program used is able to detect a return
code of 16 from both the E15 and E35 sort exit
routines.
|
OFF |
If an error is detected, Natural withholds further calls to
the sort program and ignores each record as it is passed to the E35
sort exit routine (this is the default).
|
EXTNAME=value
specifies the name of the
external sort program to be used.
Value | Explanation |
---|---|
1 to 8 characters. | External sort program name. |
SORT |
This is the default value. |
EXTOPT=(value,value,...)
specifies additional options for the external sort program.
Natural generates the necessary field and format parameters and passes them to the
external sort program. With EXTOPT
, you can specify additional
parameters to be passed to the external sort program. You can only specify parameters
that are part of the control statement syntax of your external sort program.
You can specify up to two option strings which are delimited by a slash (/). The first
option string is appended to the SORT
control statement, the second option
string is used to build an OPTION
control statement. You may omit the
option string before or after the slash. If the option string after the slash is omitted
no OPTION
control statement is generated at all.
The whole option string must be enclosed in single quotes ('...'). For compatibility reasons, it is still possible to have the option string enclosed in brackets instead.
For compatibility reasons, a single option string without a leading or trailing slash
is handled differently. Depending on the underlying operating system, the options are
appended to the SORT
control statement.
The additional parameters can be specified as in the following example:
EXTOPT=(SIZE=E2000000,NOEQUALS,DYNALLOC=(3350,8)) EXTOPT='SIZE=E2000000,NOEQUALS,DYNALLOC=(3350,8)' EXTOPT='SIZE=E2000000,NOEQUALS,DYNALLOC=(3350,8)/NOCHECK' EXTOPT='/NOCHECK' EXTOPT='WORK=4/'
STORAGE=value
specifies the type of storage
medium to be used by Natural's internal sort program if there is not enough storage
available in the work pool (WRKSIZE
). If the number of records exceeds this
storage, the internal sort program tries to use intermediate storage to additionally
process records.
Value | Explanation |
---|---|
MAIN |
Only the remaining storage of WRKSIZE
is used, no other intermediate storage is available.
This is the default setting. |
BP |
The sort buffer pool is used as intermediate storage. |
SD |
SD files are used as intermediate storage. This value is evaluated under Com-plete only. |
SMARTS |
SMARTS portable file system is used. |
- SD Files under Com-plete/SMARTS
The SD files used for sort processing are allocated as temporary SD files. They are allocated for a stack level. This means, the name syntax of the temporary SD files is:
&&STsnnnWhere:
&&
Indicator for a temporary SD file ST
Standard prefix for the temporary SD file used for sort processing s
Stack level nnn
Sequence number within a single sort run SMARTS work files are located in the SMARTS Portable File System. The directory path must be specified with the SMARTS environment variable
$NAT_WORK_ROOT
. For a SMARTS work file used for sort processing, aSORT
directory is created with subdirectories for each user who performed a sort:$NAT_WORK_ROOT/SORT/userid
. The name of the work file used for sort processing corresponds to the name of the temporary SD file under Com-plete.- Usage of Sort Buffer Pool
The use of a sort buffer pool only makes sense if you cannot further increase the
WRKSIZE
to hold the sort records. This typically applies in online environments with a storage thread of limited size. In all other cases, you only need to specify a sufficientWRKSIZE
.If you want to use a sort buffer pool, define the
SORT
keyword subparameterSTORAGE=BP
to indicate that a sort buffer pool is to be used for any additional storage beyond the definedWRKSIZE
. Simultaneously, use the profile parameterBPI
or the parameter macroNTBPI
to make a buffer pool ofTYPE
=SORT
andNAME
=name
known to Natural, for example:BPI=(TYPE=SORT,NAME=XYZ)
. When a name is specified with theBPI
keyword subparameterNAME
, reference is made to a global sort buffer pool, whereas a local sort buffer pool can be specified byNAME=' '
(blank).
WRKSIZE=value
specifies the size of the work
buffer used by the sort program.
The work buffer specified by WRKSIZE
accommodates internal sort
control data. The remaining storage is used to collect and sort the records. The size of
the sort control data depends on various factors (the WRKSIZE
itself, the sort record length, the number of sort keys, their size and format) and can
therefore not be calculated in a formal way.
Value | Explanation |
---|---|
0 or 10 - 2097151
|
Size of work buffer (in KB).
|
10 |
This is the default value. |
Note:
SORT=(EXT=OFF,WRKSIZE=1024)
The internal Natural sort program and a work buffer of 1 MB are used for sort processing.
SORT=(EXT=ON,EXTOPT='/EQUALS')
An external sort program with an OPTION EQUALS
control statement is used
for sort processing.
NTSORT EXT=OFF, * WRKSIZE=1024 NTSORT EXT=ON, * EXTOPT='/EQUALS'
The first example defines an internal Natural sort program and a work buffer of 1 MB. The
second example defines an external sort program with an OPTION EQUALS
control
statement.