Ver Mensaje Individual
  #2
Antiguo 30 de julio de 2023, 14:56
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 02.09.2026 00:15
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

@Marengo97, eso es porque lees el registro con el valor de "LIBRO-ID" no existe y se sale.

Te adjunto código para leer todos de una mejor forma.

Modifica esta variable añadiendo un nuevo file status.

Código COBOL:
  1. *Codigos de error del archivo.
  2.        01 FS-REGISTRO-LIBROS PIC XX.
  3.            88 ESTA-REG         VALUE "00" "02".
  4.            88 N-ESTA-REG       VALUE "23".
  5.            88 F-NOEXISTE-REG   VALUE "35".
  6.            88  fin-reg value "10".

Y recorre el fichero de esta forma:

Código COBOL:
  1. VER-LIBROS.
  2.            PERFORM LIMPIAR-PANTALLA
  3.            PERFORM ABRIR-IO-ARCHIVO
  4.            IF F-NOEXISTE-REG THEN
  5.              PERFORM LIMPIAR-PANTALLA
  6.              DISPLAY "ERROR, NO EXISTE UN ARCHIVO DE REGISTROS" AT LINE 1
  7.                                                            COL 1
  8.                                                            
  9.              DISPLAY "PRESIONE ENTER PARA VOLVER AL MENU()" AT LINE 10
  10.                                                            COL 1
  11.              ACCEPT OPC AT LINE  11 COL 36
  12.            ELSE
  13.                PERFORM LIMPIAR-PANTALLA
  14.  
  15.                initialize libro-id
  16.                start reg-libros key is >= libro-id end-start
  17.                READ REG-LIBROS next record end-read
  18.  
  19.               PERFORM VARYING N FROM 1 BY 1 UNTIL fin-reg
  20.                     DISPLAY DATOS-LIBRO AT LINE N COL 1
  21.                     READ REG-LIBROS next record end-read
  22.              END-PERFORM
  23.              ADD 1 TO N
  24.              DISPLAY "PRESIONE ENTER PARA REGRESAR AL MENU" AT LINE N
  25.                                                           COL 1
  26.            ACCEPT OPC AT LINE 15
  27.            PERFORM CERRAR-ARCHIVO
  28.            END-IF.
  29.  

si tienes alguna duda hazmelo saber.
JCantero is offline   Responder Con Cita