Ver Mensaje Individual
  #1
Antiguo 1 de diciembre de 2021, 18:37
DestinedBroken
Forero Junior
Última Actividad 16.02.2022 11:57
Posts Posts: 28
Likes enviados Enviados: 16
Likes recibidos Recibidos: 4
Predeterminado No se imprime la base de datos
0 Inactivo Inactivo

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:
  1.        program-id. BB_DD_2 as "lectura de la BB_DD_".
  2.  
  3.        environment division.
  4.        configuration section.
  5.        input-output section.
  6.        file-control.
  7.        select optional empleados-archivo
  8.            assign to "f:\empleados_escritura.dat"
  9.            organization is line sequential.
  10.  
  11.        data division.
  12.        file section.
  13.        fd empleados-archivo.
  14.        01 empleados-registro.
  15.          05 empleados-id pic x(9).
  16.          05 empleados-nombre pic x(25).
  17.          05 empleados-apellidos pic x(25).
  18.          05 empleados-edad pic x(3).
  19.          05 empleados-telefono pic x(9).
  20.          05 empleados-direccion pic x(35).
  21.  
  22.        working-storage section.
  23.  
  24.        01 FIN-DEL-ARCHIVO PIC X value "1".
  25.        01 MAXIMO-REGISTROS PIC 99 value zeroes.
  26.        01 siguiente PIC X.
  27.  
  28.        procedure division.
  29.        empieza-programa.
  30.            open input empleados-archivo
  31.            perform lee-siguiente-registro
  32.            perform muestra-campos
  33.            perform lee-siguiente-registro
  34.              until fin-del-archivo = "0"
  35.            close empleados-archivo
  36.            stop run
  37.            .
  38.  
  39.        muestra-campos.
  40.            if MAXIMO-REGISTROS = 10
  41.                perform siguiente-pagina
  42.            end-if
  43.            display "ID:" empleados-id
  44.            display "Nombre:" empleados-nombre
  45.            display "Apellidos:" empleados-apellidos
  46.            display "Edad:" empleados-edad
  47.            display "Telefono:" empleados-telefono
  48.            display "Direccion:" empleados-direccion
  49.            
  50.            ADD 1 TO MAXIMO-REGISTROS
  51.            .
  52.  
  53.        lee-siguiente-registro.
  54.            read empleados-archivo next record
  55.                at end
  56.                    move "0" to FIN-DEL-ARCHIVO
  57.            .
  58.        siguiente-pagina.
  59.            display
  60.              "Presiona cualquier tecla para ver la siguiente pagina..."
  61.            accept siguiente
  62.            move zeroes to MAXIMO-REGISTROS
  63.  
  64.        end program BB_DD_2.
DestinedBroken is offline   Responder Con Cita