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, TSO, TIAM. |
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. |
Note:
This subparameter does not apply under BS2000/OSD.
EXTOPT=(value,value,...)
specifies additional options for the external sort program.
Note:
This subparameter does not apply under BS2000/OSD.
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 following control statements:
z/OS: | SORT control statement
|
z/VSE: | OPTION 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. |
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:
&&STsnnn
Where:
&& |
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, a SORT
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.
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 sufficient
WRKSIZE
.
If you want to use a sort buffer pool, define the
SORT
keyword subparameter STORAGE=BP
to
indicate that a sort buffer pool is to be used for any additional storage
beyond the defined WRKSIZE
.
Simultaneously, use the profile parameter BPI
or the parameter
macro NTBPI
to make a buffer pool of TYPE
=SORT
and NAME
=name
known to Natural, for example: BPI=(TYPE=SORT,NAME=XYZ)
. When a
name is specified with the BPI
keyword subparameter
NAME
, reference is made to a global sort buffer pool,
whereas a local sort buffer pool can be specified by NAME=' '
(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.