The PROGRAM COLLATING SEQUENCE clause is used to change the sequence of characters within a program. (Normally, the sequence conforms to the character sequence of ASCII.)
000010 @OPTIONS MAIN 000020*---------------------------------------------------------------------- 000030* The PROGRAM COLLATING SEQUENCE clause in this example, compares 000040* characters using the collating sequence of the EBCDIC character set. 000050*---------------------------------------------------------------------- 000060 IDENTIFICATION DIVISION. 000070 PROGRAM-ID SAMPLE. 000080 ENVIRONMENT DIVISION. 000090 CONFIGURATION SECTION. 000100*---------------------------------------------------------------------- 000110* The ALPHABET clause declares the alphabet name (EBCDIC-CODE) for 000115* EBCDIC. 000120* And the PROGRAM COLLATING SEQUENCE clause specifies the alphabet 000125* name. 000130*---------------------------------------------------------------------- 000140 OBJECT-COMPUTER. FM-V 000150 PROGRAM COLLATING SEQUENCE IS EBCDIC-CODE. 000160 SPECIAL-NAMES. 000170 ALPHABET EBCDIC-CODE IS EBCDIC. 000180*---------------------------------------------------------------------- 000190 DATA DIVISION. 000200 WORKING-STORAGE SECTION. 000210 01 DATA-1 PIC X(3). 000220 01 DATA-2 PIC X(3). 000230** 000240 PROCEDURE DIVISION. 000250 DISPLAY "PLEASE INPUT 3 CHARACTERS (DATA-1) >>" WITH NO 002555 ADVANCING. 000260 ACCEPT DATA-1. 000270 DISPLAY "PLEASE INPUT 3 CHARACTERS (DATA-2) >>" WITH NO 000275 ADVANCING. 000280 ACCEPT DATA-2. 000290** 000300 DISPLAY " ". 000310 DISPLAY "*** RESULT OF RELATION INPUT-DATA ***". 000320 EVALUATE TRUE 000330 WHEN DATA-1 = DATA-2 000340 DISPLAY DATA-1 " (DATA-1) = " DATA-2 " (DATA-2)" 000350 WHEN DATA-1 < DATA-2 000360 DISPLAY DATA-1 " (DATA-1) < " DATA-2 " (DATA-2)" 000370 WHEN DATA-1 > DATA-2 000380 DISPLAY DATA-1 " (DATA-1) > " DATA-2 " (DATA-2)" 000390 END-EVALUATE. 000400 END PROGRAM SAMPLE.