Hola de nuevo gente,
Marqué la solución de
@Josber como solución porque en verdad fue quien hizo que me corriera el código, pero no funciona del todo bien. Es decir, a la hora de mostrar los registros del fichero hay 2 en concreto que no muestra, "se los salta" por así decirlo.
Adjunto el fichero "empleados_escritura.dat" que estoy usando:
Código:
1 jorge perez gonzalez 25 225019357calle prueba 2
02 jorge_javier vazquez 59 650298033estudios tele5
03 maria del carmen gomez del castillo 33 205369550avenidas de las rosas 34, 40 dcha
04 alvaro narvaez sikkenga 24 663059842urb. parque giralda
05 eva maria gomez gomez 56 556200498parque amatista
06 pepito grillo 100666 en tu cabeza
07 sdasd afsasdfdf 55 564684318sdaasdasd
08 antonio gomez jurado 29 569023558calle de los milagros 45
09 rodrigo guzman del campo 36 46582238 calle de ejemplo
10 Gerardo lopez alvarez 64 954025933calle de los descubrimientos 123
11 jorge moreno diaz 55 239651022avenida de las marquesinas, 45
12 ismael del campo gordillo 45 665239125glorieta del carmen sin perdon
14 alfonso parra gomez 56 569022146avenida de las infantas
55 antonella de la cruz jimenez 25 690258167calle de las parras marchitas 38 4a
56 juanito villaparra de los montes 56 690453002avenidas de las pi¤as 45a izq
57 jorge montado gutierrez 37 620453228camino de las hesperides 3
Y como he dejado el código del programa tras algunos retoques. Ok, sé que faltan puntos y end-XXX pero no estoy seguro de donde ponerlos sin que se me ponga todo en rojo:
Código COBOL:
program-id. BB_DD_2 as "lectura de la BB_DD_".
environment division.
configuration section.
input-output section.
file-control.
select optional empleados-archivo
assign to "f:\empleados_escritura.dat"
organization is line sequential.
data division.
file section.
fd empleados-archivo.
01 empleados-registro.
05 empleados-id pic x(6).
05 empleados-nombre pic x(25).
05 empleados-apellidos pic x(35).
05 empleados-edad pic x(3).
05 empleados-telefono pic x(9).
05 empleados-direccion pic x(35).
working-storage section.
01 FIN-DEL-ARCHIVO PIC X value "1".
01 MAXIMO-REGISTROS PIC 99 value zeroes.
01 siguiente PIC X.
procedure division.
empieza-programa.
move zeroes to MAXIMO-REGISTROS
open input empleados-archivo
perform lee-siguiente-registro
perform muestra-campos
perform lee-siguiente-registro
until fin-del-archivo = "0"
close empleados-archivo
stop run
.
muestra-campos.
if MAXIMO-REGISTROS = 5
perform siguiente-pagina
end-if
display "ID:" empleados-id
display "Nombre:" empleados-nombre
display "Apellidos:" empleados-apellidos
display "Edad:" empleados-edad
display "Telefono:" empleados-telefono
display "Direccion:" empleados-direccion
ADD 1 TO MAXIMO-REGISTROS
.
lee-siguiente-registro.
read empleados-archivo next record
at end
move "0" to FIN-DEL-ARCHIVO
display "*****FIN DEL FICHERO******"
not at end
perform muestra-campos
end-read
.
siguiente-pagina.
display
"Presiona ENTER para ver la siguiente pagina..."
accept siguiente
move zeroes to MAXIMO-REGISTROS
end program BB_DD_2.