Dieser Natural-Profilparameter dient zur Steuerung des Sortierprogramms bei SORT-Statements. Es entspricht dem Makro
NTSORT im
Natural-Parametermodul.
| Mögliche Werte | Siehe SORT Parameter-Syntax und Schlüsselwort-Subparameter. | |
|---|---|---|
| Standard-Einstellung | Siehe Schlüsselwort-Subparameter. | |
| Dynamische Angabe | ja |
Dieser Parameter kann nur dynamisch angegeben werden. Im Natural-Parametermodul wird
stattdessen das Makro |
| Angabe innerhalb der Session | nein | |
Anmerkungen:
SORT oder
NTSORT können Sie verschiedene Optionen angeben, die die
Handhabung des Sortierprogramms steuern, wenn ein SORT-Statement ausgeführt wird.
EXT.
Dieses Dokument behandelt folgende Themen:
Der Profilparameter SORT wird wie folgt angegeben:
| SORT=(keyword-subparameter=value,keyword-subparameter=value,...) |
Namen und Werte der Schlüsselwort-Subparameter siehe Schlüsselwort-Subparameter.
Das Makro NTSORT wird wie folgt angegeben:
NTSORT EXT=value, *
EXTEOJ=value, *
EXTNAME=value, *
EXTOPT=value,value,..., *
STORAGE=value, *
WRKSIZE=value
Namen und Werte der Schlüsselwort-Subparameter siehe Schlüsselwort-Subparameter.
EXT | EXTEOJ | EXTNAME | EXTOPT | STORAGE | WRKSIZE
EXT=value gibt an, ob ein externes
Sortierprogramm verwendet werden soll oder nicht.
| Wert | Erklärung |
|---|---|
ON |
Ein externes Sortierprogramm wird verwendet. Dies ist nur in Batch-Modus-Umgebungen einschließlich IMS/BMP und TSO möglich. |
OFF |
Das Natural-Sortierprogram wird verwendet.
Dies ist der Standardwert. |
EXTEOJ=value gibt die Maßnahme an, die
durchgeführt werden soll, wenn bei der Ausführung des externen Sortierprogramms ein
Fehler festgestellt wird.
| Wert | Erklärung |
|---|---|
ON |
Falls ein Fehler festgestellt wird, wird die
SORT-Verarbeitung beendet. Die Einstellung ON
erfordert, dass das verwendete Sortierprogramm in der Lage ist, einen Return
Code 16 von den beiden SORT-Exit-Routinen E15 und
E35 festzustellen.
|
OFF |
Falls ein Fehler festgestellt wird, hält Natural weitere
Aufrufe an das Sortierprogramm zurück und ignoriert jeden Datensatz, der an die
SORT-Exit-Routine E35 übergeben wird. Dies ist die
Standard-Einstellung.
|
EXTNAME=value gibt den Namen (1 bis 8 Zeichen)
des zu verwendenden externen Sortierprogramms an. Der Standard-Name ist
SORT.
| Wert | Erklärung |
|---|---|
| 1 bis 8 Zeichen. | Name des externen Sortierprogramms. |
SORT |
Dies ist der Standardwert. |
EXTOPT=(value,value,...)
gibt zusätzliche Optionen für das externe Sortierprogramm an.
Natural generiert die nötigen Feld- und Format-Parameter und übergibt sie an das
externe Sortierprogramm. Mit EXTOPT können Sie zusätzliche
Parameter angeben, die an das externe Sortierprogramm übergeben werden sollen. Sie
können nur Parameter angeben, die Bestandteil der Steueranweisungssyntax Ihres externen
Sortierprogramms sind.
Sie können bis zu zwei Optionszeichenketten angeben, die mit einem Schrägstrich (/)
abgegrenzt werden. Die erste Optionszeichenkette wird an die
SORT-Steueranweisung angehängt, die zweite Optionszeichenkette wird
verwendet, um eine OPTION-Steueranweisung zu erstellen. Sie können die
Optionszeichenkette vor bzw. nach dem Schrägstrich weglassen. Wenn Sie die
Optionszeichenkette nach dem Schrägstrich weglassen, wird überhaupt keine
OPTION-Steueranweisung erzeugt.
Sie müssen die gesamte Optionszeichenkette in Hochkommas ('...') stellen. Aus Kompatibilitätsgründen besteht immer noch die Möglichkeit, die Optionszeichenkette stattdessen in Klammern zu setzen.
Aus Kompatibilitätsgründen wird eine einzelne Zeichenkette ohne voran- oder
nachgestellten Schrägstrich abweichend behandelt. Bei z/OS werden die Optionen an die
SORT-Steueranweisung angehängt:
Die zusätzlichen Parameter können wie folgt angegeben werden:
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 gibt den Typ des Speichermediums
an, das vom Natural-internen Sortierprogramm benutzt werden soll.
| Wert | Erklärung |
|---|---|
MAIN |
Nur der verbleibende WRKSIZE-Speicher
wird benutzt; es steht kein sonstiger Zwischenspeicher zur Verfügung.
Dies ist der Standardwert. |
BP |
Der Sortier-Buffer Pool wird als Zwischenspeicher benutzt. Siehe Hinweise weiter unten. |
SD |
SD-Dateien werden als Zwischenspeicher benutzt. Dieser Wert wird nur unter Com-plete berücksichtigt. |
SMARTS |
Das SMARTS Portable File System wird benutzt. |
Anmerkung
Generell versucht das SORT-Statement zunächst, den restlichen Speicher
in der WRKSIZE zu benutzen. Falls dieser Speicher für die Anzahl
der Datensätze nicht ausreicht, versucht das SORT-Statement zusätzlich
Zwischenspeicher für die Verarbeitung der Datensätze zu benutzen.
Die für die Sortierverarbeitung benutzten SD-Dateien werden alles temporäre SD-Dateien für eine Stack-Ebene zugeordnet. Die Namenssyntax der Sortier-SD-Dateien lautet daher wie folgt:
&&STsnnn
Dabei ist:
| Syntax-Element | Beschreibung |
|---|---|
&& |
Indikator für eine temporäre SD-Datei. |
ST |
Standard-Präfix der für die Sortierverarbeitung benutzten Sortier-SD-Datei. |
s |
Stack-Ebene. |
nnn |
Folgenummer innerhalb eines einzelnen Sortierlaufs. |
SMARTS-Arbeitsdateien befinden sich im SMARTS Portable File System. Der Pfad
muss mit der SMARTS-Umgebungsvariablen $NAT_WORK_ROOT
angegeben werden. Für eine zur Sortierverarbeitung benutzte SMARTS-Arbeitsdatei
wird ein spezielles Verzeichnis mit dem Namen SORT hinzugefügt, und
für jeden Benutzer wird ein getrenntes, mit der Benutzerkennung benanntes
Verzeichnis angelegt. Das resultierende Verzeichnis ist dann
$NAT_WORK_ROOT/SORT/userid. Der Name
der zur Sortierverarbeitung benutzten Arbeitsdatei entspricht dem Namen der
temporären SD-Datei unter Com-plete.
Die Verwendung eines Sortier-Buffer Pool ist nur dann sinnvoll, wenn Sie den
WRKSIZE-Wert
nicht mehr weiter vergrößern können, um die Sortierdatensätze zu speichern. Dies gilt
typischerweise für Online-Umgebungen, in denen die Speicher-Thread-Größe begrenzt ist.
In allen anderen Fällen brauchen Sie nur einen ausreichend großen
WRKSIZE-Wert anzugeben.
Wenn Sie einen Sortier-Buffer Pool benutzen wollen, setzen Sie den
Schlüsselwort-Subparameter STORAGE=BP, um anzugeben, dass ein
Sortier-Buffer Pool als zusätzlicher Speicher zu dem mit WRKSIZE definierten Puffer
benutzt werden soll. Außerdem müssen Sie mit dem Profilparameter BPI bzw. dem Makro
NTBPI einen Buffer Pool vom Typ TYPE=SORT mit
dem NAME=name in
Natural anmelden. Beispiel: BPI=(TYPE=SORT,NAME=XYZ). Wenn mit dem
Subparameter NAME des Profilparameters
BPI ein Name angegeben wird, dann bezieht sich diese Angabe
auf einen globalen Sortier-Buffer Pool; ein lokaler Sortier-Buffer Pool kann dagegen
mit NAME=' ' (leer) angegeben werden.
WRKSIZE=value gibt die Größe des vom
Sortierprogramm benutzten Arbeitspuffers an.
| Wert | Erklärung |
|---|---|
0 oder
|
Größe des Arbeitspuffers (in KB).
Bei
|
10 |
Dies ist der Standardwert. |
Anmerkung
Der mit WRKSIZE angegebene Arbeitspuffer dient zur Aufnahme
interner Sortiersteuerdaten. Der restliche Speicher wird benutzt, um die Datensätze zu
sammeln und zu sortieren. Die Größe der Sortiersteuerdaten ist von verschiedenen
Faktoren abhängig (WRKSIZE selbst, Datensatzlänge, Anzahl der
Sortierschlüssel, deren Größe und Format) und kann daher nicht formelhaft berechnet
werden.
SORT=(EXT=OFF,WRKSIZE=1024)
Für die Sortierverarbeitung wird das Natural-interne Sortierprogramm und ein Arbeitspufferspeicher von 1 MB benutzt.
SORT=(EXT=ON,EXTOPT='/EQUALS')
Für die Sortierverarbeitung wird ein externes Sortierprogramm mit einer Steueranweisung
OPTION EQUALS benutzt.
NTSORT EXT=OFF, *
WRKSIZE=1024
NTSORT EXT=ON, *
EXTOPT='/EQUALS'
Im ersten Beispiel wird für die Sortierverarbeitung das Natural-interne Sortierprogramm
und ein Arbeitspufferspeicher von 1 MB benutzt. Im zweiten Beispiel wird für die
Sortierverarbeitung ein externes Sortierprogramm mit einer Steueranweisung
OPTION EQUALS benutzt.