IDENTIFICATION DIVISION. PROGRAM-ID. COMPAC. ENVIRONMENT DIVISION. SPECIAL-NAMES. CONSOLE IS TTY. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT IN-FILE, ASSIGN TO DSK, RECORDING MODE ASCII. SELECT OUT-FILE, ASSIGN TO DSK, FILE-LIMITS ARE 0 THRU 1000, ACCESS RANDOM, ACTUAL KEY IS BASE. DATA DIVISION. FILE SECTION. FD IN-FILE, LABEL RECORDS ARE STANDARD, VALUE OF ID IS IN-ID. 01 I-BUF. 02 I-CHAR, OCCURS 120 TIMES, PIC X. FD OUTT-FILE, VALUE OF ID IS OUT-ID, BLOCK CONTAINS 1 RECORDS. 01 OUT-BUF. 02 OUT-CHR, OCCURS 760 TIMES, PIC X. WORKING-STORAGE SECTION. 01 IN-ID. 02 IN-LTR, PIC X, VALUE "A". 02 IN-NME, PIC X(5). 02 IN-EXT, PIC X(3), VALUE "DIC". 01 OUT-ID. 02 OUT-LTR, PIX X, VALUE "A". 02 OUT-NME, PIC X(5). 02 OUT-EXT, PIC X(3), VALUE "DIC". 77 BASE, PIC 9(5). 77 BASE2, PIC 9(5). 77 IN-PT, PIC 9(5). PROCEDURE DIVISION. INIT-PAR. DISPLAY "COMPAC.CBL" DISPLAY "IN-FILE NAME". ACCEPT IN-NME. DISPLAY "OUT-FILE NAME". ACCEPT OUT-NME. ALPH-LOOP. DISPLAY "LETTER". ACCEPT IN-LTR. MOVE IN-LTR TO OUT-LTR. OPEN INPUT IN-FILE, OUTPUT OUT-FILE. LOOP. PERFORM GET-CHAR. PERFORM PUT-CHAT. GO TO LOOP. GETCHAR. ADD 1 TO IN-PT. IF IN-PT > 120 OR IN-BUF = SPACES, MOVE 1 TO IN-PT, READ IN-FILE; AT END, MOVE 1 TO DONE-FLG. PUT-CHAR. MOVE I-CHAR (IN-PT) TO OUT-CHR (OUT-PT).