IDENTIFICATION DIVISION. PROGRAM-ID. LEER-CLIENTES. REMARKS. EJEMPLO DE LECTURA DE UN ARCHIVO DE CLIENTES INDEXADOS. Se desea leer un archivo en disco seg£n el siguiente dise¤o. ARCHIVO DE CLIENTES. NUMERO DE CLIENTE 5 N. RAZON SOCIAL 30 AN. DIRECCION. CALLE 30 AN. NUMERO 5 N. LOCALIDAD 30 AN. CODIGO. PROVINCIA 1 N (VALORES POSIBLES 1 A 5). ZONA DE VENTA 2 N (VALORES POSIBLES 1 A 12). VENDEDOR 2 N (VALORES POSIBLES 1 A 15). SALDO 10 N (8 ENTEROS 2 DECIMALES PUEDE TOMAR VALORES NEGATIVOS). Organizaci¢n: Indexado claves = n£mero de cliente (clave principal), raz¢n social (puede tener valores duplicados) y c¢digo (puede tener valores duplicados). ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. PC. OBJECT-COMPUTER. PC. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT CLIENTES ASSIGN TO RANDOM "CLIENTES.DAT" ORGANIZATION IS INDEXED ACCESS IS DYNAMIC RECORD KEY IS NRO-CLIENTE ALTERNATE RECORD KEY IS RAZON-SOCIAL WITH DUPLICATES ALTERNATE RECORD KEY IS CODIGO. DATA DIVISION. FILE SECTION. FD CLIENTES. 01 REG-CLIENTES. 03 NRO-CLIENTE. 05 NRO-CLI PIC 9(5). 03 RAZON-SOCIAL PIC X(30). 03 DIRECCION. 05 CALLE PIC X(30). 05 NRO PIC 9(5). 03 LOCALIDAD PIC X(30). 03 CODIGO. 05 PROVINCIA PIC 9. 05 ZONA-VENTA PIC 9(2). 05 VENDEDOR PIC 9(2). 03 SALDO PIC S9(8)V9(2). WORKING-STORAGE SECTION. 01 AUXILIAR. 03 AUX-NRO-CLIENTE. 05 AUX-NRO-CLI PIC 9(5). 03 AUX-RAZON-SOCIAL PIC X(30). 03 AUX-DIRECCION. 05 AUX-CALLE PIC X(30). 05 AUX-NRO PIC 9(5). 03 AUX-LOCALIDAD PIC X(30). 03 AUX-CODIGO. 05 AUX-PROVINCIA PIC 9. 05 AUX-ZONA-VENTA PIC 9(2). 05 AUX-VENDEDOR PIC 9(2). 03 AUX-SALDO PIC S9(8)V9(2). 77 OPCION PIC A. 77 SENIAL-1 PIC A VALUE "N". 77 SENIAL-2 PIC A VALUE "N". 77 SENIAL-3 PIC A VALUE "N". PROCEDURE DIVISION. COMIENZO. OPEN INPUT CLIENTES. DISPLAY " " ERASE. DISPLAY "LECTURA DE ARCHIVO CLIENTES" LINE 4 POSITION 27 CONTROL "FCOLOR = RED, BCOLOR = BLUE". PERFORM UNTIL SENIAL-1 = "S" MOVE SPACES TO AUXILIAR DISPLAY "INGRESE NRO CLIENTE (FIN = 0):" LINE 8 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY AUX-NRO-CLI LINE 8 POSITION 36 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" ACCEPT AUX-NRO-CLI LINE 8 POSITION 36 TAB CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" END-ACCEPT IF AUX-NRO-CLI = 99999 CLOSE CLIENTES DISPLAY " " ERASE CONTROL "FCOLOR = WHITE, BCOLOR = BLACK" STOP RUN END-IF DISPLAY " " LINE 12 POSITION 10 ERASE EOL MOVE AUX-NRO-CLI TO NRO-CLIENTE READ CLIENTES INTO AUXILIAR INVALID KEY DISPLAY " " LINE 12 POSITION 1 ERASE EOL CONTROL "FCOLOR = WHITE, BCOLOR = BLACK" DISPLAY "ERROR CLIENTE INEXISTENTE" LINE 12 POSITION 12 CONTROL "FCOLOR = WHITE, BCOLOR = RED" NOT INVALID KEY PERFORM MUESTRA END-READ END-PERFORM. MUESTRA. DISPLAY " " LINE 9 POSITION 1 ERASE EOS CONTROL "FCOLOR = WHITE, BCOLOR = BLACK". DISPLAY "RAZON SOCIAL:" LINE 10 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY "CALLE:" LINE 11 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY "NUMERO:" LINE 12 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY "LOCALIDAD:" LINE 13 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY "PROVINCIA (1 A 5):" LINE 14 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY "ZONA DE VENTA (1 A 12):" LINE 15 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY "VENDEDOR (1 A 15):" LINE 16 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY "SALDO:" LINE 17 POSITION 5 CONTROL "FCOLOR = BLUE, BCOLOR = WHITE" DISPLAY AUX-RAZON-SOCIAL LINE 10 POSITION 36 CONTROL "FCOLOR = BLACK, BCOLOR = WHITE" DISPLAY AUX-CALLE LINE 11 POSITION 36 CONTROL "FCOLOR = BLACK, BCOLOR = WHITE" DISPLAY AUX-NRO LINE 12 POSITION 36 CONTROL "FCOLOR = BLACK, BCOLOR = WHITE" DISPLAY AUX-LOCALIDAD LINE 13 POSITION 36 CONTROL "FCOLOR = BLACK, BCOLOR = WHITE" DISPLAY AUX-PROVINCIA LINE 14 POSITION 36 CONTROL "FCOLOR = BLACK, BCOLOR = WHITE" DISPLAY AUX-ZONA-VENTA LINE 15 POSITION 36 CONTROL "FCOLOR = BLACK, BCOLOR = WHITE" DISPLAY AUX-VENDEDOR LINE 16 POSITION 36 CONTROL "FCOLOR = BLACK, BCOLOR = WHITE" DISPLAY AUX-SALDO LINE 17 POSITION 36 CONTROL "FCOLOR = BLACK, BCOLOR = WHITE" MOVE SPACE TO OPCION. DISPLAY "Oprima una tecla para Continuar" LINE 20 POSITION 10 CONTROL "FCOLOR = WHITE, BCOLOR = RED". ACCEPT OPCION LINE 20 POSITION 43 TAB END-ACCEPT. DISPLAY " " LINE 9 POSITION 1 ERASE EOS CONTROL "FCOLOR = WHITE, BCOLOR = BLACK".