Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
Michaelod,
Your rules are not consistent.
ex: Record # 2 ABC 2009-02-01 Test Data Line 2
It is eliminated on the basis that this does not Feed is between the low/High mask(incl) in the 2nd file and the dates are within low/high mask
ex: record # 4 JKL 2009-01-01 Test Data Line 4
I am not sure as to how you picked this record? Even though the feed falls between high and low feed , the date doesn't is not within that range.
If JKL is not supposed to pick the following DFSORT JCL will give you the desired results.
Code: |
//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD *
----+----1----+----2----+----3----+----4----+----5----+----6----+----7
ABC ABC 2009-01-01 2009-01-01
ABC MNO 2009-03-01 2009-02-02
//IN2 DD *
ABC 2009-01-01 TEST DATA LINE 1
ABC 2009-02-01 TEST DATA LINE 2
ABC 2009-03-01 TEST DATA LINE 3
JKL 2009-01-01 TEST DATA LINE 4
MNO 2009-02-02 TEST DATA LINE 5
MNO 2009-03-03 TEST DATA LINE 6
//T1 DD DSN=&&T1,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE)
//T2 DD DSN=&&T2,DISP=(MOD,PASS),SPACE=(CYL,(1,1),RLSE)
//OUT DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN1) USING(CTL1)
SORT FROM(T1) USING(CTL2)
COPY FROM(IN2) USING(CTL3)
SORT FROM(T2) USING(CTL4)
//CTL1CNTL DD *
OUTFIL FNAMES=T1,
BUILD=(01,3,23,3,10:39,10,54,10,/,
23,3,23,3,10:39,10,54,10)
//CTL2CNTL DD *
SORT FIELDS=(1,29,CH,A)
SUM FIELDS=NONE
OUTFIL FNAMES=T2,OVERLAY=(81:C'1')
//CTL3CNTL DD *
OUTFIL FNAMES=T2,OVERLAY=(81:X)
//CTL4CNTL DD *
SORT FIELDS=(1,3,CH,A,10,10,CH,A),EQUALS
OUTREC IFTHEN=(WHEN=GROUP,BEGIN=(81,1,ZD,EQ,1),PUSH=(82:4,3,10,20))
OUTFIL FNAMES=OUT,BUILD=(1,80),
INCLUDE=(81,1,CH,EQ,C' ',AND,1,3,CH,LE,82,3,CH,AND,
(10,10,CH,GE,95,10,CH,AND,10,10,CH,LE,85,10,CH))
/* |
The output from this job is
Code: |
ABC 2009-01-01 TEST DATA LINE 1
ABC 2009-03-01 TEST DATA LINE 3
MNO 2009-02-02 TEST DATA LINE 5
|
|
|