The ALPHABET clause assigns names (alphabet names) in a collating sequence.
The alphabet names defined here are enabled when specified in the PROGRAM COLLATING SEQUENCE clause or SORT/MERGE statement.
000010 @OPTIONS MAIN 000020*---------------------------------------------------------------------- 000030* In this sample, the ALPHABET clause is used to sort a character 000035* string in an arbitrary collating sequence. 000040*---------------------------------------------------------------------- 000050 IDENTIFICATION DIVISION. 000060 PROGRAM-ID. SAMPLE. 000070 ENVIRONMENT DIVISION. 000080 CONFIGURATION SECTION. 000090*---------------------------------------------------------------------- 000100* Normally, the collating sequence of ASCII is 000110* numeric characters < upper-case letters < lower-case letters. 000112* However, 000115* lower-case letters < upper-case letters < numeric 000117* is declared as the original alphabet name. 000120*---------------------------------------------------------------------- 000130 SPECIAL-NAMES. 000140 ALPHABET ORG-SEQ IS "a" THRU "z" 000150 "A" THRU "Z" 000160 "0" THRU "9". 000170*---------------------------------------------------------------------- 000180 INPUT-OUTPUT SECTION. 000190 FILE-CONTROL. 000200 SELECT SORT-FILE ASSIGN TO SORT-WORK. 000210 DATA DIVISION. 000220 FILE SECTION. 000230 SD SORT-FILE. 000240 01 SORT-REC. 000250 02 SORT-DATA PIC X(10). 000260 PROCEDURE DIVISION. 000270 DISPLAY "** The input character string is sorted. **". 000280*---------------------------------------------------------------------- 000290* The character string is sorted using the original collating sequence. 000300*---------------------------------------------------------------------- 000310 SORT SORT-FILE ON ASCENDING KEY SORT-DATA 000320 COLLATING SEQUENCE IS ORG-SEQ 000330 INPUT PROCEDURE IS IN-PROC 000340 OUTPUT PROCEDURE IS OUT-PROC. 000350*---------------------------------------------------------------------- 000360 IN-PROC. 000370 DISPLAY "Please input the data (Enter space to end) >> " WITH NO 000375 ADVANCING. 000380 ACCEPT SORT-DATA FROM CONSOLE. 000390 IF SORT-DATA NOT = SPACE THEN RELEASE SORT-REC 000400 GO TO IN-PROC. 000410 DISPLAY "----------". 000420 OUT-PROC. 000430 RETURN SORT-FILE AT END GO TO P-EXIT. 000440 DISPLAY SORT-DATA. 000450 GO TO OUT-PROC. 000460 P-EXIT. 000470 EXIT PROGRAM. 000480 END PROGRAM SAMPLE.