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?

È stato utile?

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