SORT - Steuerung des Sortierprogramms

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 NTSORT verwendet.

Angabe innerhalb der Session nein  

Anmerkungen:

  1. Mit den Schlüsselwort-Subparametern von SORT oder NTSORT können Sie verschiedene Optionen angeben, die die Handhabung des Sortierprogramms steuern, wenn ein SORT-Statement ausgeführt wird.
  2. Das zu verwendende Sortierprogramm kann entweder das Natural-interne Programm (Standard-Einstellung für alle Umgebungen) oder ein externes Sortierprogramm sein. Die Art der Sortierung ist abhängig von der Einstellung des Schlüsselwort-Subparameters EXT.

Dieses Dokument behandelt folgende Themen:


SORT-Parameter-Syntax

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.

NTSORT-Makro-Syntax

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.

Schlüsselwort-Subparameter

EXT | EXTEOJ | EXTNAME | EXTOPT | STORAGE | WRKSIZE

EXT - Verwendung eines externen Sortierprogramms

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, TSO und TIAM möglich.
OFF Das Natural-Sortierprogram wird verwendet.

Dies ist der Standardwert.

EXTEOJ - Maßnahme im Fehlerfall

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 - Name des externen Sortierprogramms

Dieser Subparameter gilt nicht unter BS2000.

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.

Anmerkung:
Dieser Subparameter gilt nicht unter BS2000.

EXTOPT - Zusätzliche Optionen für externes Sortierprogramm

EXTOPT=(value,value,...) gibt zusätzliche Optionen für das externe Sortierprogramm an.

Anmerkung:
Dieser Subparameter gilt nicht unter BS2000.

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. Je nach zugrunde liegendem Betriebssystem werden die Optionen an die folgenden Steueranweisungen angehängt:

z/OS: SORT-Steueranweisung
z/VSE: OPTION-Steueranweisung

EXTOPT-Beispiel:

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 - Typ des Speichermediums

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.

Hinweise zu SD-Dateien unter Com-plete/SMARTS

  • 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.

Hinweis zur Benutzung des Sortier-Buffer Pool

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 - Größe des vom Sortierprogramm benutzten Arbeitspuffers

WRKSIZE=value gibt die Größe des vom Sortierprogramm benutzten Arbeitspuffers an.

Wert Erklärung
0 oder

10 - 2097151

Größe des Arbeitspuffers (in KB).

Bei WRKSIZE=0 können keine Sortieroperationen durchgeführt werden.

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.

Beispiel für SORT-Parameter

Beispiel 1:

SORT=(EXT=OFF,WRKSIZE=1024)

Für die Sortierverarbeitung wird das Natural-interne Sortierprogramm und ein Arbeitspufferspeicher von 1 MB benutzt.

Beispiel 2:

SORT=(EXT=ON,EXTOPT='/EQUALS')

Für die Sortierverarbeitung wird ein externes Sortierprogramm mit einer Steueranweisung OPTION EQUALS benutzt.

Beispiele für NTSORT-Macros

         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.