ICETOOL example:
//TSOUSERX JOB ,'B96185',MSGCLASS=H,
// NOTIFY=&SYSUID,REGION=2M,
// CLASS=T
/*JOBPARM L=20
//TOOL EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN1) TO(OUT1)
COUNT FROM(COUNT1)
/*
//IN1 DD DSN=B96185.TEST.DATA,DISP=SHR
//OUT1 DD DSN=B96185.TEST.DATA1,DISP=SHR
//COUNT1 DD DSN=GKSYS.VEERU.SAMPO.REVERSE.SYSREC,DISP=SHR
// NOTIFY=&SYSUID,REGION=2M,
// CLASS=T
/*JOBPARM L=20
//TOOL EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN1) TO(OUT1)
COUNT FROM(COUNT1)
/*
//IN1 DD DSN=B96185.TEST.DATA,DISP=SHR
//OUT1 DD DSN=B96185.TEST.DATA1,DISP=SHR
//COUNT1 DD DSN=GKSYS.VEERU.SAMPO.REVERSE.SYSREC,DISP=SHR
2nd example:
//TSOUSERX JOB ,'B96185',MSGCLASS=H,
// NOTIFY=&SYSUID,REGION=2M,
// CLASS=T
/*JOBPARM L=20
//TOOL EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN1) TO(OUT1) USING(CTL1)
COPY FROM(IN1) TO(OUT2) USING(CTL2)
* COUNT FROM(COUNT1)
* SELECT FROM(IN1) TO(OUT1) ON(26,6,CH) ALLDUPS -
* DISCARD(UNIQUE)
/*
//IN1 DD DSN=B96185.TEST.DATA1,DISP=SHR
//OUT1 DD DSN=B96185.TEST.DATA,DISP=SHR
//OUT2 DD DSN=B96185.TEST.DATA2,DISP=SHR
//CTL1CNTL DD *
OMIT COND=(26,6,CH,EQ,C'xyz123')
/*
//CTL2CNTL DD *
INCLUDE COND=(26,6,CH,EQ,C'xyz123')
/*
//*COUNT1 DD DSN=GKSYS.VEERU.SAMPO.REVERSE.SYSREC,DISP=SHR
//*UNIQUE DD DSN=B96185.TEST.DISCARD,DISP=
using join keys:
//B96185ES JOB (D100),
// MSGCLASS=H,
// SCHENV=EGET0,
// CLASS=T,
// REGION=4M,
// NOTIFY=&SYSUID
//STEP01 EXEC PGM=SORT
//SORTJNF1 DD DSN=B96185.TEST.ACCOUNT,DISP=SHR
//SORTJNF2 DD DSN=B96185.TEST.RECORDS,DISP=SHR
//*SORTOUT DD DSN=B96185.TEST.EXTRACT,DISP=SHR
//SORTOUT DD DSN=B96185.TEST.DISCARD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS FILE=F1,FIELDS=(1,16,A)
JOINKEYS FILE=F2,FIELDS=(1,16,A)
JOIN UNPAIRED,F2,ONLY
REFORMAT FIELDS=(F2:1,150)
SORT FIELDS=COPY
/*
//TSOUSERX JOB ,'B96185',MSGCLASS=H,
// NOTIFY=&SYSUID,REGION=2M,
// CLASS=T
/*JOBPARM L=20
//TOOL EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN1) TO(OUT1) USING(CTL1)
COPY FROM(IN1) TO(OUT2) USING(CTL2)
* COUNT FROM(COUNT1)
* SELECT FROM(IN1) TO(OUT1) ON(26,6,CH) ALLDUPS -
* DISCARD(UNIQUE)
/*
//IN1 DD DSN=B96185.TEST.DATA1,DISP=SHR
//OUT1 DD DSN=B96185.TEST.DATA,DISP=SHR
//OUT2 DD DSN=B96185.TEST.DATA2,DISP=SHR
//CTL1CNTL DD *
OMIT COND=(26,6,CH,EQ,C'xyz123')
/*
//CTL2CNTL DD *
INCLUDE COND=(26,6,CH,EQ,C'xyz123')
/*
//*COUNT1 DD DSN=GKSYS.VEERU.SAMPO.REVERSE.SYSREC,DISP=SHR
//*UNIQUE DD DSN=B96185.TEST.DISCARD,DISP=
using join keys:
//B96185ES JOB (D100),
// MSGCLASS=H,
// SCHENV=EGET0,
// CLASS=T,
// REGION=4M,
// NOTIFY=&SYSUID
//STEP01 EXEC PGM=SORT
//SORTJNF1 DD DSN=B96185.TEST.ACCOUNT,DISP=SHR
//SORTJNF2 DD DSN=B96185.TEST.RECORDS,DISP=SHR
//*SORTOUT DD DSN=B96185.TEST.EXTRACT,DISP=SHR
//SORTOUT DD DSN=B96185.TEST.DISCARD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS FILE=F1,FIELDS=(1,16,A)
JOINKEYS FILE=F2,FIELDS=(1,16,A)
JOIN UNPAIRED,F2,ONLY
REFORMAT FIELDS=(F2:1,150)
SORT FIELDS=COPY
/*