@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:
*Codigos de error del archivo.
01 FS-REGISTRO-LIBROS PIC XX.
88 ESTA-REG VALUE "00" "02".
88 N-ESTA-REG VALUE "23".
88 F-NOEXISTE-REG VALUE "35".
88 fin-reg value "10".
Y recorre el fichero de esta forma:
Código COBOL:
VER-LIBROS.
PERFORM LIMPIAR-PANTALLA
PERFORM ABRIR-IO-ARCHIVO
IF F-NOEXISTE-REG THEN
PERFORM LIMPIAR-PANTALLA
DISPLAY "ERROR, NO EXISTE UN ARCHIVO DE REGISTROS" AT LINE 1
COL 1
DISPLAY "PRESIONE ENTER PARA VOLVER AL MENU()" AT LINE 10
COL 1
ACCEPT OPC AT LINE 11 COL 36
ELSE
PERFORM LIMPIAR-PANTALLA
initialize libro-id
start reg-libros key is >= libro-id end-start
READ REG-LIBROS next record end-read
PERFORM VARYING N FROM 1 BY 1 UNTIL fin-reg
DISPLAY DATOS-LIBRO AT LINE N COL 1
READ REG-LIBROS next record end-read
END-PERFORM
ADD 1 TO N
DISPLAY "PRESIONE ENTER PARA REGRESAR AL MENU" AT LINE N
COL 1
ACCEPT OPC AT LINE 15
PERFORM CERRAR-ARCHIVO
END-IF.
si tienes alguna duda hazmelo saber.