@dariodr,
A ver si con esto te vale y, sobre todo, te aclaras y lo entiendes
Código COBOL:
identification division.
program-id. venta-casa.
*
environment division.
input-output section.
file-control.
select empleados assign to "empleados.txt".
*
data division.
file section.
fd empleados.
01 reg-empleados.
03 nombre-empleado pic x(20).
03 idempleado pic 999.
03 casas-vendidas pic 99.
working-storage section.
01 fin-archivo pic x value 'n'.
*
01 L PIC 99 VALUE 0.
01 CAB.
03 PIC XX VALUE SPACES.
03 PIC X(20) VALUE "Nombre".
03 PIC X VALUE SPACES.
03 PIC X(03) VALUE "Id.".
03 PIC X VALUE SPACES.
03 PIC X(05) VALUE "Casas".
01 CUERPO.
03 PIC XX VALUE SPACES.
03 WNOM PIC X(20).
03 PIC X VALUE SPACES.
03 WID PIC 999 USAGE IS DISPLAY.
03 PIC X VALUE SPACES.
03 WCAS PIC 99 USAGE IS DISPLAY.
01 TECLA PIC X VALUE SPACES.
*
procedure division.
programa-principal.
perform abrir-archivo.
perform proceso.
perform cerrar-archivo.
perform fin-programa.
*
abrir-archivo.
open input empleados.
*
cerrar-archivo.
close empleados.
*
proceso.
INITIALIZE L CUERPO TECLA fin-archivo.
PERFORM IMP-CABECERA.
perform lee-datos until fin-archivo = 's'.
*
lee-datos.
read empleados NEXT RECORD
at end
move 's' to fin-archivo
not at end
perform muestra-datos
end-read.
*
fin-programa.
stop run.
*
muestra-datos.
MOVE nombre-empleado TO WNOM.
MOVE idempleado TO WID.
MOVE casas-vendidas TO WCAS.
DISPLAY CUERPO.
* display "Nombre de empleado: " nombre-empleado.
* display "ID del empleado: " idempleado.
* display "Cantidad de casas vendidas: " casas-vendidas.
display " ".
INITIALIZE CUERPO.
ADD 1 TO L.
IF L = 0
OR L > 23
DISPLAY "Pulse una tecla para continuar (F para terminar) ..."
WITH NO ADVANCING
ACCEPT TECLA
IF TECLA = "F" OR TECLA = "f"
MOVE "s" TO fin-archivo
ELSE
INITIALIZE fin-archivo TECLA CUERPO
PERFORM IMP-CABECERA
END-IF
END-IF.
*
IMP-CABECERA.
DISPLAY " " ERASE.
DISPLAY CAB.
MOVE 1 TO L.
Lo que hay escrito en mayúsculas, es lo que he añadido yo, solo tengo una duda y es que ...
igual no te funciona en ese compilador, esa instrucción, lo que hace es borrar la pantalla, pero no es "compatible" con todos los lenguajes COBOL, cada uno tiene su manera

, igual que no sé cuál es el equivalente a
LINE y
POSITION en el COBOL que tu usas, si lo supiera, podría hacerse más rápido y claro.
No lo he probado porque, obviamente, no tengo instalado ese compilador, pero supongo que funcionará sin errores, de lo contrario, dínoslo para solucionarlo.
Un salu2.-