ICETOOL SPLICE

2009-04-13 Thread John Hric
I am trying to splice two 3540 byte files.  The keys are in  position 15
with a length of 10.   I have a similar splice working for 150 byte files
based on the examples for SPLICE.

Is there anything special needed for the larger record size?


//TOOLIN   DD  *

   COPY FROM(IT01) TO(OT01) USING(CTL1)

   COPY FROM(IT02) TO(OT02) USING(CTL2)

   SPLICE FROM(CONCAT) TO(OT04) WITH(1,14) ON(15,10,CH) -

 WITH(15,10) WITH(25,3513) -

 WITH(3539,1) WITH(3540,1) -

 WITHALL USING(CTL3)

/*

//CTL1CNTL DD *

   OUTREC FIELDS=(1:14X,15:5,10,25:110X,135:16X,151:3387X,

3539:C'B',3540:1X)

/*

//CTL2CNTL DD *

   OUTREC FIELDS=(1:1,14,15:15,10,25:25,3513,

3539:C'V',3540:3540,1)

/*

//CTL3CNTL DD *

   OUTFIL FNAMES=OT04,

   OMIT=(3539,1,CH,EQ,C'V'),

   OUTREC=(1,3538,3539,1,3540,1)





-- 
John Hric
Cleveland Oh
Reg 2, Zone 5b - 6a

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: ICETOOL SPLICE

2009-04-13 Thread John Hric
Sorry about the skipped details.

IT01 is a 150 byte file with the key in position 5
IT02 is a 3540 byte file with the key in position 15

Basically just taking the key from IT01 selecting matching records from IT02.

Aside from adding the 'V' to position 3539, the entire IT02 record is
being copied intact.
All files are ( and were) cataloged.  However CONCAT has now been made
a single file.

The WITH parmameters have been simplified a bit but should be
essentially the same.

OT01 is lining up both in the key field and the OMIT field.  It runs
clean with a 0 RC.  With the Omit turned on there is nothing in OT04.
With OMIT off it is picking up my small sample matching key and every
duplicate key on the IT02 file.

Trying to get it working before with small samples before throwing it
at the haystack.

Not sure if all of your email addy came through.  Mine should show up
on the gmail group profile.  and below.

Thanks
John

hricjd

gmail.com

IT01
=COLS>  +1+2+3+4+5+6---
01  128 2413080005 3QCLN 120746130800712203QCLN99
02  128 4613080002 3QCLN 120746130800712203QCLN99
03  128 4655080005 3QCLN 120746130800712203QCLN99
04  128 4682787005 JFSAV 12074682787071224JFSAV084480

IT02
=COLS>  +1+2+3+4+5+6+7--
64  11MROO2038161025   20381612025   02421
65  11MROO2042985046   20429852046   05745
66  11MRII4655080005   19417280230   00971
67  3131  4655080005   1984Y43491   Y3572Y25060
68  11MRII5558791001   19417280230   00971

OT01
=COLS>  +1+2+3+4+5+
034655080005
044682787005
054773829077
74  11MROO2042985046   20429852046   05745
75  11MRII4655080005   19417280230   00971
76  3131  4655080005   1984Y43491   Y357

//OT01 DD DSN=FCAT.KS7.ULRL.PROFDX.M2008.S11R,
//UNIT=(SYSDA,6),
//DISP=MOD,
//SPACE=(3540,(5,5),RLSE),AVGREC=K,
//DCB=(MODLDSCB,RECFM=FB,LRECL=3540,BLKSIZE=0)
//CONCAT   DD DSN=FCAT.KS7.ULRL.PROFDX.M2008.S11R,DISP=OLD
//OT04 DD  DSN=FCAT.KS7.ULRL.PROFDX.M20X8.OUT4,
//DISP=OLD,
// UNIT=(SYSDA,20),
// SPACE=(3540,(100,250),RLSE),AVGREC=K,
//DCB=(MODLDSCB,RECFM=FB,LRECL=3540,BLKSIZE=0)

//TOOLIN   DD  *
   COPY FROM(IT01) TO(OT01) USING(CTL1)
   COPY FROM(IT02) TO(OT01) USING(CTL2)
   SPLICE FROM(CONCAT) TO(OT04) WITH(1,14) ON(15,10,CH) -
 WITH(15,10) WITH(25,3514) -
 WITH(3539,1) WITH(3540,1) -
 WITHALL USING(CTL3)
/*
//CTL1CNTL DD *
   OUTREC FIELDS=(1:14X,15:5,10,25:3514X,3539:C'B',3540:1X)
/*
//CTL2CNTL DD *
   OUTREC FIELDS=(1:1,14,15:15,10,25:25,3514,3539:C'V',3540:3540,1)
/*
//CTL3CNTL DD *
   OUTFIL FNAMES=OT04, -
   OMIT=(3538,1,CH,EQ,C'V'),  -
   OUTREC=(1,3538,3539,1,3540,1)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html