Ver Mensaje Individual
  #2
Antiguo 22 de abril de 2021, 23:53
IDENTIFICATION DIVISION
JCantero
 Novato Senior
ENVIRONMENT DIVISION
Avatar de JCantero
DATA DIVISION
junio 2016
Albacete
55 años
23.06.2021 04:27
PROCEDURE DIVISION
Posts: 181
Enviado: 53
Recibido: 120
Soluiones: 8
Reputación: 18
JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road
Predeterminado

Para el ejemplo que has puesto si no he entendido mal, no hace falta un sort

La fd del fichero entrada:

Código COBOL:
  1.            01 reg-entrada.
  2.                02 id-e pic xx.
  3.        * suponiendo que n = 40
  4.                02 datos-e pic x(40).
  5.                02 cadena1-e pic x(10).

La fd del fichero salida:
Código COBOL:
  1.            01 reg-salida.
  2.                02 id-s pic xx.
  3.        * suponiendo que n = 40
  4.                02 datos-s pic x(40).
  5.                02 cadena1-s pic x(10).
  6.                02 cadena2-s pic x(10).

La variable de working cadena tendria el ultimo leido
y fs- entrada file status del fichero entrada

Código COBOL:
  1.            01  cadena pic x(10).
  2.            02 fs-entrada            pic xx.
  3.               88 esta-entrada             value '00' '02'.
  4.               88 n-esta-entrada           value '23'.
  5.               88 fin-entrada              value '46'  '10'.
  6.               88 bloqueado-entrada        value '99' '90'.
  7.               88 f-bloqueado-entrada      value '38' '93'.
  8.               88 f-noexiste-entrada       value '35'.

Y ya un bucle para leer el fichero entrada hasta el final

Código COBOL:
  1.                   open input entrada
  2.                   open output salida
  3.                   initialize reg-entrada
  4.                   move '0000000000' to cadena
  5.                   read entrada next record  end-read
  6.                   perform until fin-entrada
  7.                       initialize reg-salida
  8.                       move reg-entrada to reg-salida
  9.                       if id-e = '01' then
  10.                            move cadena1-e to cadena
  11.                       end-if
  12.                       move cadena to cadena2-s
  13.                       write reg-salida end-write
  14.                       initialize reg-entrada
  15.                       read entrada next record  end-read
  16.                   end-perform.
  17.                   close entrada salida.
  18.        

Esto es salvo error u omision, Pero eso seria la idea
JCantero no ha iniciado sesión   Responder Con Cita