buscar si la cadena de un pds está presente en otro pds
Pregunta
Tengo un pds (digamos A) que tiene nombres de trabajo (superconjunto).Tengo otro pds (digamos B) que tiene una menor cantidad de nombres de trabajos (subconjunto).
¿La mejor manera de encontrar un A-B en otro archivo C usando JCL?
Solución
Intenta usar JOINKEYS SYNCORT, este ejemplo es más o menos lo que necesitas.El JCL siguiente es un ejemplo específico. AF1
es el archivo Superset (A) que contiene todos los nombres de los trabajos, AF2
es el archivo de subconjunto (b). SORTOUT
contendrá la diferencia (A-B).
//MYJOB JOB Whatever your job card needs
//AMINUSB EXEC PGM=SYNCSORT,PARM='INCORE=OFF'
//AF1 DD * Superset file 'A'
J000001
J000002
J000003
J000004
J000005
J000006
J000007
J000008
J000009
J000010
J000011
J000012
/*
//BF2 DD * Subset file 'B'
J000001
J000003
J000004
J000008
J000010
J000011
/*
//SORTOUT DD SYSOUT=* 'A' - 'B'
//*
//SORTMSG DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//CEEDUMP DD SYSOUT=*
//STATOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS FILE=F1,FIELDS=(1,7,A)
JOINKEYS FILE=F2,FIELDS=(1,7,A)
JOIN UNPAIRED,F1,ONLY
REFORMAT FIELDS=(F1:1,7)
OPTION COPY
END
/*
Si ejecutas esto, SORTOUT
contendrá los siguientes datos:
J000002
J000005
J000006
J000007
J000009
J000012
Nota:Tendrás que reformatear el JOB
tarjeta a lo que requiera su instalación.El resto debería funcionar más o menos como se ilustra.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow