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?

¿Fue útil?

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
scroll top