Ver Mensaje Individual
  #1
Antiguo 21 de octubre de 2016, 10:44
theezraak
Forero Junior
Última Actividad 09.12.2019 11:12
Posts Posts: 6
Likes enviados Enviados: 3
Likes recibidos Recibidos: 1
Tabla Pasar CSV a texto plano
1 Inactivo Inactivo

Buenos días, tengo un ejercicio de practica, y tengo que pasar de CSV a texto planto, con ciertos requisitos (2 campos ordenados en ascendente).
Y me da 1 error mi programa que es al abrir el fichero, pero no sé que más hacer.
Agradecería que alguien me lo explicara, un saludo.

Os dejo aquí el programita:
Código COBOL:
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. CJ4.
  3.        ENVIRONMENT DIVISION.
  4.        CONFIGURATION SECTION.
  5.        SPECIAL-NAMES.
  6.             DECIMAL-POINT IS COMMA.
  7.        INPUT-OUTPUT SECTION.
  8.        FILE-CONTROL.
  9.             SELECT FICH1 ASSIGN TO 'APELLIDOS.csv'
  10.             ORGANIZATION IS LINE SEQUENTIAL
  11.             ACCESS MODE IS SEQUENTIAL.
  12.             SELECT FICH2 ASSIGN TO 'FICH2.DAT'
  13.             ORGANIZATION IS LINE SEQUENTIAL.
  14.             SELECT SORT-WORK ASSIGN TO SORTWORK.
  15.        DATA DIVISION.
  16.        FILE SECTION.
  17.  
  18.        FD   FICH1
  19.             RECORD CONTAINS 38 CHARACTERS.
  20.  
  21.        01 DATOS.
  22.            05 IDENTIFICADOR        PIC 9(07).
  23.            05 FILLER               PIC X.
  24.            05 APELLIDO             PIC X(20).
  25.            05 FILLER               PIC X.
  26.            05 REGION               PIC X(09).
  27.  
  28.        FD   FICH2
  29.             RECORD CONTAINS 38 CHARACTERS.
  30.  
  31.        01 DATOS-2.
  32.            05 IDENTIFICADOR-2      PIC 9(07).
  33.            05 FILLER               PIC X.
  34.            05 APELLIDO-2           PIC X(20).
  35.            05 FILLER               PIC X.
  36.            05 REGION-2             PIC X(09).
  37.  
  38.        SD  SORT-WORK
  39.             RECORD CONTAINS  38 CHARACTERS.
  40.  
  41.        01  SORT-WORK-RECORD.
  42.  
  43.            05 SW-APELLIDO          PIC 9(07).
  44.            05 FILLER               PIC X.
  45.            05 SW-REGION            PIC X(09).
  46.            05 FILLER               PIC X(21).
  47.  
  48.  
  49.        WORKING-STORAGE SECTION.
  50.        01   LINEA.
  51.            02   LIDEN              PIC 9(07)BB.
  52.            02   LAPELL             PIC X(20)BB.
  53.            02   LREG               PIC X(09).
  54.        01   OP                     PIC X.
  55.  
  56.        PROCEDURE DIVISION.
  57.        MAIN-PROCEDURE.
  58.  
  59.            PERFORM INICIALIZAR-FICHEROS
  60.            SORT SORT-WORK
  61.            ON ASCENDING KEY APELLIDO
  62.            ON ASCENDING KEY REGION
  63.            INPUT PROCEDURE CARGAR
  64.            OUTPUT PROCEDURE SALIDA
  65.                .
  66.      *----------------------------------------------------------------*
  67.        INICIALIZAR-FICHEROS.
  68.            OPEN INPUT  FICH1
  69.            OPEN OUTPUT FICH2
  70.                .
  71.        INICIALIZAR-FICHEROS-FIN.
  72.            EXIT.
  73.      *----------------------------------------------------------------*
  74.        CARGAR.
  75.            OPEN INPUT FICH1
  76.            PERFORM LEER
  77.            PERFORM FIN-FICH
  78.                .
  79.        CARGAR-FIN.
  80.            EXIT.
  81.      *----------------------------------------------------------------*
  82.        LEER.
  83.                READ FICH1 NEXT RECORD AT END GO FIN-FICH.
  84.                MOVE APELLIDO TO SW-APELLIDO.
  85.                MOVE REGION   TO SW-REGION.
  86.                RELEASE SORT-WORK-RECORD.
  87.        LEER-FIN.
  88.            EXIT.
  89.      *----------------------------------------------------------------*
  90.        FIN-FICH.
  91.            CLOSE FICH1.
  92.        FIN-FICH-FIN.
  93.            EXIT.
  94.      *----------------------------------------------------------------*
  95.        SALIDA.
  96.            PERFORM INICIAR-SALIDA.
  97.            PERFORM FIN-SALIDA.
  98.        SALIDA-FIN.
  99.            EXIT.
  100.      *----------------------------------------------------------------*
  101.        INICIAR-SALIDA.
  102.            RETURN SORT-WORK AT END GO FIN-SALIDA.
  103.            MOVE SW-APELLIDO TO APELLIDO-2.
  104.            MOVE SW-REGION   TO REGION-2.
  105.            DISPLAY LINEA LINE 20.
  106.            ACCEPT OP LINE 21.
  107.            GO INICIAR-SALIDA.
  108.        INICIAR-SALIDA-FIN.
  109.            EXIT.
  110.      
  111.       *----------------------------------------------------------------*  
  112.        FIN-SALIDA.
  113.            EXIT.
  114.        FIN-SALIDA-FIN.
  115.            EXIT.
  116.      *----------------------------------------------------------------*
  117.             CLOSE FICH1.
  118.             CLOSE FICH2.
  119.  
  120.             STOP RUN.
  121.        END PROGRAM CJ4.
theezraak is offline   Responder Con Cita