Hola comunidad,
Al igual que introducir registros en una base de datos, he decidido crear un programa que me los imprima. Veo todo correcto, pero no entiendo por qué no se me imprimen bien.
He probado el Debug y por lo que puedo ver, los atributos de los registros "están corruptos" en el sentido de que no muestra correctamente los campos para cada valor. Como se puede ver a continuación, los valores aparecen cortados:
Con otra base de datos pruebo y pasa más de lo mismo:
Adjunto código:
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(9).
05 empleados-nombre pic x(25).
05 empleados-apellidos pic x(25).
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.
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 = 10
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
.
siguiente-pagina.
display
"Presiona cualquier tecla para ver la siguiente pagina..."
accept siguiente
move zeroes to MAXIMO-REGISTROS
end program BB_DD_2.