Die folgende Beschreibung ist sowohl für den Dateien- als auch für den Tabellensort gültig.
Zur Festlegung des Zeichensatzes für alphanumerische Sortierschlüssel wird ein SORT-Sonderregister SORT-CCSN („Coded Character Set Name“) definiert. Es wird in COBOL-Programmen, die eine SORT-Anweisung enthalten, zur Verfügung gestellt und durch den Compiler implizit mit PIC X(8) beschrieben. Dieses SORT-Sonderregister ist vor Aufruf der SORT-Anweisung mit dem Namen des gewählten Zeichensatzes zu versorgen (z.B. MOVE "EDF041" TO SORT-CCSN).
Soll für eine nachfolgende SORT-Anweisung diese Option nicht gelten, so muss der Wert des neuen SORT-Sonderregisters SORT-CCSN vor der Ausführung dieser SORT-Anweisung mit Leerzeichen gefüllt werden (z. B. MOVE SPACES TO SORT-CCSN).
Die Angaben zur Sortierfolge gelten in folgender Reihenfolge:
Angabe der SORT COLLATING SEQUENCE in der SORT-Anweisung bzw. PROGRAM COLLATING SEQUENCE im Programm
Wert im SORT-Sonderregister SORT-CCSN
COMOPT SORT-EBCDIC-DIN bzw. SDF-Option SORTING-ORDER
Beispiel 12-10
SORT mit erweiterten Zeichensätzen (XHCS)
IDENTIFICATION DIVISION. PROGRAM-ID. SORTIERX. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT EINGABE ASSIGN TO "EINGABE". SELECT AUSGABE ASSIGN TO "AUSGABE". SELECT SORTIER ASSIGN TO "SORTWK". DATA DIVISION. FILE SECTION. FD EINGABE LABEL RECORD STANDARD. 01 ESATZ. 02 E0 PIC X. 02 NAME PIC X(30). 02 VORNAME PIC X(30). 02 ORT PIC X(30). FD AUSGABE LABEL RECORD STANDARD. 01 ASATZ 02 A0 PIC X. 02 NAME PIC X(30). 02 VORNAME PIC X(30). 02 ORT PIC X(30). SD SORTIER LABEL RECORD STANDARD. 01 SSATZ. 02 S0 PIC X. 02 NAME PIC X(30). 02 VORNAME PIC X(30). 02 ORT PIC X(30). PROCEDURE DIVISION. P1 SECTION. SORTIEREN. MOVE "EDF03IRV" TO SORT-CCSN. (1) SORT SORTIER ASCENDING NAME VORNAME ORT USING EINGABE GIVING AUSGABE. STOP RUN.
(1) versorgt das SORT-Sonderregister SORT-CCSN mit dem Namen des „Extended character Code Set“; dieser Code Set wird benutzt, um die Sortierfolge festzulegen.