cerca se la stringa da un PDS è presente in un altro PDS
Domanda
Ho un PDS (diciamo A) con Jobnamames (Superset). Ho un altro PDS (diciamo B) con il minor numero di jobnames (sottoinsieme).
Modo migliore per trovare un A-B in un altro file c usando jcl?
Soluzione
Prova a utilizzare Syncort joineys ,
Questo Esempio è praticamente
quello che ti serve.Il JCL sotto è un esempio specifico.AF1
è il file superset (A) contenente tutti i nomi di lavoro, AF2
è il sottoinsieme
file (B).SORTOUT
conterrà la differenza (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
/*
.
Se si esegue questo, SORTOUT
conterrà i seguenti dati:
J000002
J000005
J000006
J000007
J000009
J000012
.
Nota: dovrai refomat la scheda JOB
a qualunque sia la tua installazione.Il resto dovrebbe funzionare praticamente
come illustrato.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow