Traspaso fichero sef04x a sef04 con diferentes claves y datos.
Código COBOL:
select sef04x assign to random, nombre-sef04x
organization indexed
access mode dynamic
record key is sef04x-clave
alternate record key is sef04x-documento
with duplicates
alternate record key is sef04x-usuario with duplicates
alternate record key is sef04x-fecha with duplicates
file status is fs-sef04x.
select sef04 assign to random, nombre-sef04
organization indexed
access mode dynamic
record key is sef04-clave
alternate record key is sef04-documento
with duplicates
alternate record key is sef04-usuario with duplicates
alternate record key is sef04-fecha with duplicates
alternate record key is sef04-exp with duplicates
alternate record key is sef04-futuro with duplicates
file status is fs-sef04.
Código COBOL:
traspasa-fichero.
open input sef04x
if fs-sef04x not = '00'
move 'sef04x' to f-nombre
move fs-sef04 to f-error
move 'abrir ' to f-que
perform sacar-error
go acabamos
end-if.
perform open-o-sef04
perform close-sef04
perform open-io-sef04
if fs-sef04 not = '00'
move 'sef04' to f-nombre
move fs-sef04 to f-error
move 'abrir ' to f-que
perform sacar-error
go acabamos
end-if
initialize reg-sef04x
start sef04x key >= sef04x-clave end-start
read sef04x next record end-read
perform until fin-sef04x
move reg-sef04x to reg-sef04
**** mover todos los campos de la fd
initialize sef04-exp sef04-futuro
write reg-sef04 end-write
read sef04x next record end-read
end-perform.
close sef04x.
close sef04.