IDENTIFICATION DIVISION. PROGRAM-ID. CLIENT14. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT FIC-MACLI ASSIGN RANDOM FICHERO ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC RECORD KEY IS CODIGO ALTERNATE RECORD KEY IS COD-ALFA FILE STATUS ST-MACLI. * SELECT IMPRESORA ASSIGN PRINT "PRINTER". DATA DIVISION. FILE SECTION. FD FIC-MACLI LABEL RECORD IS STANDARD. 01 MACLI-REG. 03 CODIGO PIC X(9). 03 COD-ALFA. 05 INDICE PIC X. 05 COD PIC X(9). 03 TRATO PIC X(8). 03 NIF PIC X(12). 03 NOMBRE PIC X(40). 03 CALLE PIC X(40). 03 CIUDAD1 PIC X(40). 03 CIUDAD2 PIC X(40). 03 CIUDAD3 PIC X(40). 03 DESCUENTOS PIC X(20). 03 BANCO PIC X(40). 03 TELEFONOS PIC X(40). 03 MES1 PIC 9(12). 03 ACTIVIDAD PIC XXX. FD IMPRESORA. 01 LINEA PIC X(132). WORKING-STORAGE SECTION. 01 FICHERO. 03 FILLER PIC X(5) VALUE "MACLI". 03 NRO-FIC PIC 999. 01 ST-MACLI PIC XX. 01 TEXTO PIC X(80) VALUE ALL "=". 01 CLAVE PIC 9. 01 AUX-CODIGO. 03 FILLER PIC XXX. 03 AUX-GRUPO PIC XX. 01 CONTADOR PIC 99. 01 GRUPO PIC 99. 01 TABLA. 03 NIF-LIN PIC X(16). 03 FILLER PIC X(11). 03 COD-LIN PIC ZZZ.ZZ.ZZZZ. 01 LINEA1. 03 FILLER PIC X(6) VALUE SPACES. 03 TRATO-LIN PIC X(9). 03 ESPACIO1 PIC X(42). 03 ESPACIO2 PIC X(40). 01 LINEA2. 03 FILLER PIC X(6) VALUE SPACES. 03 FILLER PIC X(91) VALUE ALL "". 01 TECLAS PIC 99. 88 TECLA-F1 VALUE 01. 88 TECLA-F2 VALUE 02. 88 TECLA-F3 VALUE 03. 88 TECLA-F4 VALUE 04. 88 TECLA-F5 VALUE 05. 88 TECLA-F6 VALUE 06. 88 TECLA-F7 VALUE 07. 88 TECLA-F8 VALUE 08. 88 TECLA-F9 VALUE 09. 88 TECLA-F10 VALUE 10. 88 TECLA-ESC VALUE 27. 88 TECLA-RETORNO VALUE 13. PROCEDURE DIVISION. UNICA SECTION. PANTALLA-INICIAL. DISPLAY "CLIENTES LISTADO POR ORDEN ALFABETICO Y POR - "GRUPOS FICHERO:" LINE 1 ERASE EOS LOW. DISPLAY TEXTO LINE 2 LOW. DISPLAY "ENTER = NUMERO FICHERO" LINE 22 POSITION 56 LOW. DISPLAY "ESC = FIN DE PROGRAMA" LINE 23 POSITION 58 LOW. A1. ACCEPT NRO-FIC TAB NO BEEP LINE 1 POSITION 77 ON EXCEPTION TECLAS GO A2. A2. IF TECLA-RETORNO DISPLAY NRO-FIC LINE 1 POSITION 77 GO TO A3. IF TECLA-ESC GO TO SALIDA. GO TO A1. A3. DISPLAY "GRUPO A LISTAR:" LINE 4 ERASE EOS LOW. ACCEPT GRUPO TAB NO BEEP LINE 4 POSITION 17. DISPLAY " CORRECTO ?" LINE 20 POSITION 60 ERASE EOS LOW. DISPLAY "F1 = SI" LINE 22 POSITION 62 LOW. DISPLAY "F2 = NO" LINE 23 POSITION 62 LOW. A4. ACCEPT CLAVE TAB NO BEEP OFF LINE 20 ON EXCEPTION TECLAS GO TO A5. A5. IF TECLA-F1 GO TO A6. IF TECLA-F2 GO TO PANTALLA-INICIAL. GO TO A4. A6. OPEN I-O FIC-MACLI. OPEN OUTPUT IMPRESORA. MOVE 0 TO CONTADOR. DISPLAY " " LINE 20 ERASE EOS. MOVE " " TO COD-ALFA. START FIC-MACLI KEY IS > COD-ALFA. A7. READ FIC-MACLI NEXT RECORD AT END GO TO EXPULSAR-PAGINA. MOVE CODIGO TO AUX-CODIGO. IF AUX-GRUPO NOT = GRUPO GO TO A7. MOVE TRATO TO TRATO-LIN. MOVE NOMBRE TO ESPACIO1. MOVE NIF TO NIF-LIN. MOVE CODIGO TO COD-LIN. MOVE TABLA TO ESPACIO2. WRITE LINEA FROM LINEA1 BEFORE ADVANCING 1 LINE. MOVE SPACES TO TRATO-LIN ESPACIO2. MOVE CALLE TO ESPACIO1. WRITE LINEA FROM LINEA1 BEFORE ADVANCING 1 LINE. MOVE ACTIVIDAD TO TRATO-LIN. MOVE CIUDAD1 TO ESPACIO1. MOVE DESCUENTOS TO ESPACIO2. WRITE LINEA FROM LINEA1 BEFORE ADVANCING 1 LINE. MOVE SPACES TO TRATO-LIN. MOVE CIUDAD2 TO ESPACIO1. MOVE BANCO TO ESPACIO2. WRITE LINEA FROM LINEA1 BEFORE ADVANCING 1 LINE. MOVE CIUDAD3 TO ESPACIO1. MOVE TELEFONOS TO ESPACIO2. WRITE LINEA FROM LINEA1 BEFORE ADVANCING 1 LINE. WRITE LINEA FROM LINEA2 BEFORE ADVANCING 1 LINE. ADD 1 TO CONTADOR. IF CONTADOR = 10 PERFORM EXPULSAR-PAGINA. GO TO A7. EXPULSAR-PAGINA. IF CONTADOR > 0 MOVE 0 TO CONTADOR WRITE LINEA FROM " " BEFORE ADVANCING PAGE. CERRAR-FICHEROS. CLOSE FIC-MACLI IMPRESORA GO TO PANTALLA-INICIAL. SALIDA. EXIT PROGRAM. STOP RUN.