Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Here's a DFSORT job that will do what you asked for:
Code: |
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=... input file1
//IN2 DD DSN=... input file2
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//OUT DD DSN=... output file
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT) ON(1,4,CH) KEEPNODUPS -
WITH(9,4) WITH(17,4) WITH(46,1) USING(CTL3)
/*
//CTL1CNTL DD *
INREC BUILD=(1,4,25:9,4,33:17,4,46:C'11')
/*
//CTL2CNTL DD *
INREC BUILD=(1,20,46:C'22')
/*
//CTL3CNTL DD *
OUTFIL FNAMES=OUT,
OMIT=(46,2,CH,EQ,C'21',AND,
9,4,CH,EQ,25,4,CH,AND,17,4,CH,EQ,33,4,CH),
IFOUTLEN=42,
IFTHEN=(WHEN=(46,2,CH,EQ,C'11'),OVERLAY=(41:C'DE')),
IFTHEN=(WHEN=(46,2,CH,EQ,C'22',AND,
(9,4,CH,EQ,C' ',OR,17,4,CH,EQ,C' ')),OVERLAY=(41:C'NI')),
IFTHEN=(WHEN=(46,2,CH,EQ,C'22',AND,
(9,4,CH,NE,C' ',OR,17,4,CH,EQ,C' ')),OVERLAY=(41:C'IN')),
IFTHEN=(WHEN=(46,2,CH,EQ,C'21',AND,
(9,4,CH,EQ,C' ',OR,17,4,CH,EQ,C' ')),OVERLAY=(41:C'NC')),
IFTHEN=(WHEN=NONE,OVERLAY=(41:C'CH'))
/*
|
|
|