marchu escribió:Buen día, para el apareo de archivos, se puede utilizar pasos SORT en el job sin necesidad de hacer un cobol.
Para esto requeris:
- 2 pasos SORT para ordenar los 2 archivos planos a comparar, por campos (claves) comunes.
- 1 paso SORT combinando las cláusulas de SYSIN: "JOINKEYS" + "JOIN UNPAIRED".
El ejemplo, es para verificar que si hay 2 registros iguales en FILE1 y FILE2 lo descarte, sino se cumple se genera en el FILE3.
//PASO1 EXEC PGM=SORT
...
//SORTJNF1 DD DISP=SHR,DSN=FILE1
//SORTJNF2 DD DISP=SHR,DSN=FILE2
//SORTOUT DD DSN=FILE3,DCB=(LRECL=...)
---
//SYSIN DD *
JOINKEYS FILE=F1,FIELDS=(5,29,A)
JOINKEYS FILE=F2,FIELDS=(5,29,A)
JOIN UNPAIRED,F1,ONLY
SORT FIELDS=COPY
END
Hola a todos, gracias por su tiempo.
Quiero hacer un pareo de dos archivos y que los que no pareen se escriban en un tercer archivo.
El archivo 1 es de longitud 10, con una lista de nombres de copybooks (longitud de 8 caracteres), ordenados ascendentemente. (700 reg)
El archivo 2 idem al 1, pero con mayor cantidad de copys. (1000 reg).
Como salida necesito los registros del file 2 que no pareen con los del file 1.
Estoy siguiendo el código de Marchu, sin embargo me sale error.
//PASO040 EXEC PGM=SORT,COND=(0,NE)
//SYSOUT DD SYSOUT=*
//SORTJNF1 DD DISP=SHR,DSN=COPYS.USED
//SORTJNF2 DD DISP=SHR,DSN=COPYS.TOT
//SORTOUT DD DSN=COPYS.UTIL,DISP=(NEW,CATLG),
// UNIT=,SPACE=(CYL,(1,1),RLSE),
// DCB=(DSORG=PS,RECFM=FB,LRECL=10,BLKSIZE=0)
//SYSIN DD *
JOINKEYS FILE=F1,FIELDS=(1,8,A)
JOINKEYS FILE=F2,FIELDS=(1,8,A)
JOIN UNPAIRED,F1,ONLY
SORT FIELDS=COPY
El error que me sale es : RC 16 en el paso del jcl.
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 14:38
JOINKEYS FILE=F1,FIELDS=(1,8,A)
$
ICE005A 0 STATEMENT DEFINER ERROR
JOINKEYS FILE=F2,FIELDS=(1,8,A)
$
ICE005A 0 STATEMENT DEFINER ERROR
JOIN UNPAIRED,F1,ONLY
$
ICE005A 0 STATEMENT DEFINER ERROR
SORT FIELDS=COPY
ICE056A 0 SORTIN NOT DEFINED
ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E7-K24705
ICE052I 3 END OF DFSORT