Page 1 of 2

not getting desired output using SPLICE

PostPosted: Sun Apr 28, 2013 8:16 pm
by zohaib
inp1 -> EE11087.FIDI.UNLOAD.AGPF length (178): key (31:5)
inp2 -> EE11087.FIDI.UNLOAD.ATFK length (66): key (4:5)

i want to match the two files with specified keys and copy field 17:20 of inp2 to inp1 in position 184:20.
Basically I want to add inp2 file field (17:20) to the first file inp1 at end (by key matching)

following code is not working for me:
//*--------------------------------------------------------------------*
//* ICETOOL SPLICE
//*--------------------------------------------------------------------*
//DFSORT   EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG  DD SYSOUT=*
//IN1 DD DSN=EE11087.FIDI.UNLOAD.AGPF,DISP=SHR
//IN2 DD DSN=EE11087.FIDI.UNLOAD.ATFK,DISP=SHR
//TMP1   DD DSN=&&TEMP1,DISP=(MOD,PASS),SPACE=(TRK,(1,1)),UNIT=SYSDA
//OUT    DD SYSOUT=*
//TOOLIN DD *
 COPY FROM(IN1) TO(TMP1) USING(CPY1)
 COPY FROM(IN2) TO(TMP1) USING(CPY2)
 SPLICE FROM(TMP1) TO(OUT) ON(1,05,CH) WITH(184,20) WITHALL
/*
//CPY1CNTL DD *

  OUTREC FIELDS=(1:31,5,1,178,205:X)
/*
//CPY2CNTL DD *
  OUTREC FIELDS=(1:4,5,178X,184:17,20,205:X)
/*
//

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 12:00 am
by NicC
In what way is it not working? What are the RECFMs of the 2 files?

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 3:58 am
by zohaib
inp1 -> EE11087.FIDI.UNLOAD.AGPF length (178): key (31:5) - RECFM FB
inp2 -> EE11087.FIDI.UNLOAD.ATFK length (66): key (4:5) - RECFM FB

I am not receiving the expected field (17:20) of inp2 at the end of OUT file in pos. 184:20 , there are low-values at the end of OUT file in pos. 184:20



Thanks.

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 4:34 am
by zohaib
To better understand you can copy the records in an editor and change font to courier new


EE11087.FIDI.UNLOAD.AGPF (FB - 178) :

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+---
..< .....0000000000056259.ðN CS203.. .......................æS.......j..08 .......34751 FK.....Èq.....d...SPG34751 RS3....æ..................@0....@./â* AFFB30BA
..< .....0000000000010249..N CS177.. ..........&............ðS..........12 .......34935 LE.....çç..æ......98010400 980....ð.................Ø.0...Ø.....10400 EE23988
..< .....0000000000056259.@N CS630.. ..........°...........Ä.S.......j..07 .......34751 C1.....á.<.æ......98010400 980...Ä......°......°.....@0....@./â* AFFB30BA
..< ...Îð0000000000043984.*M CS177.. .........Ø............É.S.......j..12 ....Ø..30463 LE.......@.æ......00010127 020...É.....Ø......Ø.....É.0...É...È*10127 EE08254
..< ....*0000000000014399.*N CS031.. ......................Ø%S.......j..02 .......34796 FP.....çd.....Â*..00010127 070...Ø%.................Ø%0...Ø%..Î.00001 AFMOPER
..< ...`*0000000000010553..N CS203.. ..........Ø.............S........Ê.08 .....Ø.XXXXX KK.....ÏÏ@....Ç...SPGXXXXX 080....@.................k*0....@.â.@10127 EE23237
..< .....0000000000010660..N CS177.. .......................ð ..........12 .......29853 LE.........æ......98010400 980....ð.................Ø.0...Ø...Âæ10400 VH00015
..< ...Ø<0000000000010983..N CS630.. .....................a..S.......j..07 .......34823 C1....éá...æ......98010400 080.....................a..0....@.äë.10127 EE23237
..< ....@0000000000010587..SDPS214.. .........Ø.............%S..-.%.....02 ....Ø..34343 C1.....-.......<..00010127 154....%....Ø......Ø......<0....<.ë.@BTCH ADFB10SE
..< ...çæ0000000000044511.<N CS101.. .......................@S.......j..02 .......34517 C1.....Â.......%..00010127 070....@..................@0....@..&.10127 EE16866



EE11087.FIDI.UNLOAD.ATFK (FB - 66 - it's not seeming long 66 in this format :), you can check in courier new ) :

----+----1----+----2----+----3----+----4----+----5----+----6----+-
..<CS031..... 99 0..°j.09930 US01427 ....
..<CS101..... 99 0..°/*07000 EE07035 ....
..<CS177..... 01 0..°Ê.09930 US01427 ....
..<CS203..... 99 0..-.%9930 US00478 ....
..<CS630..... 01 0..°Êð09930 EE04712 ....
..<PS214..... 99 0..a.*09930 US01427 ....
..<PS214..... 55 0..a.*09930 US01427 ....


Splice OUTPUT (FB - 205):

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+
CS031..< ....*0000000000014399.*N CS031.. ......................Ø%S.......j..02 .......34796 FP.....çd.....Â*..00010127 070...Ø%.................Ø%0...Ø%..Î.00001 AFMOPER ...........................
CS101..< ...çæ0000000000044511.<N CS101.. .......................@S.......j..02 .......34517 C1.....Â.......%..00010127 070....@..................@0....@..&.10127 EE16866 ...........................
CS177..< .....0000000000010249..N CS177.. ..........&............ðS..........12 .......34935 LE.....çç..æ......98010400 980....ð.................Ø.0...Ø.....10400 EE23988 ...........................
CS177..< .....0000000000010249..N CS177.. ..........&............ðS..........12 .......34935 LE.....çç..æ......98010400 980....ð.................Ø.0...Ø.....10400 EE23988 ...........................
CS177..< .....0000000000010249..N CS177.. ..........&............ðS..........12 .......34935 LE.....çç..æ......98010400 980....ð.................Ø.0...Ø.....10400 EE23988 ...........................
CS203..< .....0000000000056259.ðN CS203.. .......................æS.......j..08 .......34751 FK.....Èq.....d...SPG34751 RS3....æ..................@0....@./â* AFFB30BA...........................
CS203..< .....0000000000056259.ðN CS203.. .......................æS.......j..08 .......34751 FK.....Èq.....d...SPG34751 RS3....æ..................@0....@./â* AFFB30BA...........................
CS630..< .....0000000000056259.@N CS630.. ..........°...........Ä.S.......j..07 .......34751 C1.....á.<.æ......98010400 980...Ä......°......°.....@0....@./â* AFFB30BA...........................
CS630..< .....0000000000056259.@N CS630.. ..........°...........Ä.S.......j..07 .......34751 C1.....á.<.æ......98010400 980...Ä......°......°.....@0....@./â* AFFB30BA...........................
PS214..< ....@0000000000010587..SDPS214.. .........Ø.............%S..-.%.....02 ....Ø..34343 C1.....-.......<..00010127 154....%....Ø......Ø......<0....<.ë.@BTCH ADFB10SE...........................



Expected Output (FB - 205):

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+
CS031..< ....*0000000000014399.*N CS031.. ......................Ø%S.......j..02 .......34796 FP.....çd.....Â*..00010127 070...Ø%.................Ø%0...Ø%..Î.00001 AFMOPER 99
CS101..< ...çæ0000000000044511.<N CS101.. .......................@S.......j..02 .......34517 C1.....Â.......%..00010127 070....@..................@0....@..&.10127 EE16866 99
CS177..< .....0000000000010249..N CS177.. ..........&............ðS..........12 .......34935 LE.....çç..æ......98010400 980....ð.................Ø.0...Ø.....10400 EE23988 01
CS177..< .....0000000000010249..N CS177.. ..........&............ðS..........12 .......34935 LE.....çç..æ......98010400 980....ð.................Ø.0...Ø.....10400 EE23988 01
CS177..< .....0000000000010249..N CS177.. ..........&............ðS..........12 .......34935 LE.....çç..æ......98010400 980....ð.................Ø.0...Ø.....10400 EE23988 01
CS203..< .....0000000000056259.ðN CS203.. .......................æS.......j..08 .......34751 FK.....Èq.....d...SPG34751 RS3....æ..................@0....@./â* AFFB30BA 99
CS203..< .....0000000000056259.ðN CS203.. .......................æS.......j..08 .......34751 FK.....Èq.....d...SPG34751 RS3....æ..................@0....@./â* AFFB30BA 99
CS630..< .....0000000000056259.@N CS630.. ..........°...........Ä.S.......j..07 .......34751 C1.....á.<.æ......98010400 980...Ä......°......°.....@0....@./â* AFFB30BA 01
CS630..< .....0000000000056259.@N CS630.. ..........°...........Ä.S.......j..07 .......34751 C1.....á.<.æ......98010400 980...Ä......°......°.....@0....@./â* AFFB30BA 01
PS214..< ....@0000000000010587..SDPS214.. .........Ø.............%S..-.%.....02 ....Ø..34343 C1.....-.......<..00010127 154....%....Ø......Ø......<0....<.ë.@BTCH ADFB10SE 55


Thanks.

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 5:02 am
by Robert Sample
change font to courier new
This is wrong. The whole point of the Code button is to preserve spacing and use a fixed width font -- which is better than using Courer New.
EE11087.FIDI.UNLOAD.AGPF (FB - 178) :

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+---
..< .....0000000000056259.ðN CS203.. .......................æS.......j..08 .......34751 FK.....Èq.....d...SPG34751 RS3....æ..................@0....@./â* AFFB30BA
..< .....0000000000010249..N CS177.. ..........&............ðS..........12 .......34935 LE.....çç..æ......98010400 980....ð.................Ø.0...Ø.....10400 EE23988
..< .....0000000000056259.@N CS630.. ..........°...........Ä.S.......j..07 .......34751 C1.....á.<.æ......98010400 980...Ä......°......°.....@0....@./â* AFFB30BA
..< ...Îð0000000000043984.*M CS177.. .........Ø............É.S.......j..12 ....Ø..30463 LE.......@.æ......00010127 020...É.....Ø......Ø.....É.0...É...È*10127 EE08254
..< ....*0000000000014399.*N CS031.. ......................Ø%S.......j..02 .......34796 FP.....çd.....Â*..00010127 070...Ø%.................Ø%0...Ø%..Î.00001 AFMOPER
..< ...`*0000000000010553..N CS203.. ..........Ø.............S........Ê.08 .....Ø.XXXXX KK.....ÏÏ@....Ç...SPGXXXXX 080....@.................k*0....@.â.@10127 EE23237
..< .....0000000000010660..N CS177.. .......................ð ..........12 .......29853 LE.........æ......98010400 980....ð.................Ø.0...Ø...Âæ10400 VH00015
..< ...Ø<0000000000010983..N CS630.. .....................a..S.......j..07 .......34823 C1....éá...æ......98010400 080.....................a..0....@.äë.10127 EE23237
..< ....@0000000000010587..SDPS214.. .........Ø.............%S..-.%.....02 ....Ø..34343 C1.....-.......<..00010127 154....%....Ø......Ø......<0....<.ë.@BTCH ADFB10SE
..< ...çæ0000000000044511.<N CS101.. .......................@S.......j..02 .......34517 C1.....Â.......%..00010127 070....@..................@0....@..&.10127 EE16866

and
EE11087.FIDI.UNLOAD.ATFK (FB - 66 - it's not seeming long 66 in this format , you can check in courier new ) :

----+----1----+----2----+----3----+----4----+----5----+----6----+-
..<CS031..... 99 0..°j.09930 US01427 ....
..<CS101..... 99 0..°/*07000 EE07035 ....
..<CS177..... 01 0..°Ê.09930 US01427 ....
..<CS203..... 99 0..-.%9930 US00478 ....
..<CS630..... 01 0..°Êð09930 EE04712 ....
..<PS214..... 99 0..a.*09930 US01427 ....
..<PS214..... 55 0..a.*09930 US01427 ....

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 5:37 am
by zohaib
Reformatting records using Code button to preserve spacing.


EE11087.FIDI.UNLOAD.AGPF (FB - 178) :

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+---
..<  .....0000000000056259.ðN CS203..   .......................æS.......j..08  .......34751  FK.....Èq.....d...SPG34751  RS3....æ..................@0....@./â*       AFFB30BA     
..<  .....0000000000010249..N CS177..   ..........&............ðS..........12  .......34935  LE.....çç..æ......98010400  980....ð.................Ø.0...Ø.....10400  EE23988     
..<  .....0000000000056259.@N CS630..   ..........°...........Ä.S.......j..07  .......34751  C1.....á.<.æ......98010400  980...Ä......°......°.....@0....@./â*       AFFB30BA     
..<  ...Îð0000000000043984.*M CS177..   .........Ø............É.S.......j..12  ....Ø..30463  LE.......@.æ......00010127  020...É.....Ø......Ø.....É.0...É...È*10127  EE08254     
..<  ....*0000000000014399.*N CS031..   ......................Ø%S.......j..02  .......34796  FP.....çd.....Â*..00010127  070...Ø%.................Ø%0...Ø%..Î.00001  AFMOPER     
..<  ...`*0000000000010553..N CS203..   ..........Ø.............S........Ê.08  .....Ø.XXXXX  KK.....ÏÏ@....Ç...SPGXXXXX  080....@.................k*0....@.â.@10127  EE23237     
..<  .....0000000000010660..N CS177..   .......................ð ..........12  .......29853  LE.........æ......98010400  980....ð.................Ø.0...Ø...Âæ10400  VH00015     
..<  ...Ø<0000000000010983..N CS630..   .....................a..S.......j..07  .......34823  C1....éá...æ......98010400  080.....................a..0....@.äë.10127  EE23237     
..<  ....@0000000000010587..SDPS214..   .........Ø.............%S..-.%.....02  ....Ø..34343  C1.....-.......<..00010127  154....%....Ø......Ø......<0....<.ë.@BTCH   ADFB10SE     
..<  ...çæ0000000000044511.<N CS101..   .......................@S.......j..02  .......34517  C1.....Â.......%..00010127  070....@..................@0....@..&.10127  EE16866     



EE11087.FIDI.UNLOAD.ATFK (FB - 66 ) :

----+----1----+----2----+----3----+----4----+----5----+----6----+-
..<CS031.....   99                  0..°j.09930  US01427      ....
..<CS101.....   99                  0..°/*07000  EE07035      ....
..<CS177.....   01                  0..°Ê.09930  US01427      ....
..<CS203.....   99                  0..-.%9930   US00478      ....
..<CS630.....   01                  0..°Êð09930  EE04712      ....
..<PS214.....   99                  0..a.*09930  US01427      ....



Splice OUTPUT (FB - 205):

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+
CS031..<  ....*0000000000014399.*N CS031..   ......................Ø%S.......j..02  .......34796  FP.....çd.....Â*..00010127  070...Ø%.................Ø%0...Ø%..Î.00001  AFMOPER ...........................
CS101..<  ...çæ0000000000044511.<N CS101..   .......................@S.......j..02  .......34517  C1.....Â.......%..00010127  070....@..................@0....@..&.10127  EE16866 ...........................
CS177..<  .....0000000000010249..N CS177..   ..........&............ðS..........12  .......34935  LE.....çç..æ......98010400  980....ð.................Ø.0...Ø.....10400  EE23988 ...........................
CS177..<  .....0000000000010249..N CS177..   ..........&............ðS..........12  .......34935  LE.....çç..æ......98010400  980....ð.................Ø.0...Ø.....10400  EE23988 ...........................
CS177..<  .....0000000000010249..N CS177..   ..........&............ðS..........12  .......34935  LE.....çç..æ......98010400  980....ð.................Ø.0...Ø.....10400  EE23988 ...........................
CS203..<  .....0000000000056259.ðN CS203..   .......................æS.......j..08  .......34751  FK.....Èq.....d...SPG34751  RS3....æ..................@0....@./â*       AFFB30BA...........................
CS203..<  .....0000000000056259.ðN CS203..   .......................æS.......j..08  .......34751  FK.....Èq.....d...SPG34751  RS3....æ..................@0....@./â*       AFFB30BA...........................
CS630..<  .....0000000000056259.@N CS630..   ..........°...........Ä.S.......j..07  .......34751  C1.....á.<.æ......98010400  980...Ä......°......°.....@0....@./â*       AFFB30BA...........................
CS630..<  .....0000000000056259.@N CS630..   ..........°...........Ä.S.......j..07  .......34751  C1.....á.<.æ......98010400  980...Ä......°......°.....@0....@./â*       AFFB30BA...........................
PS214..<  ....@0000000000010587..SDPS214..   .........Ø.............%S..-.%.....02  ....Ø..34343  C1.....-.......<..00010127  154....%....Ø......Ø......<0....<.ë.@BTCH   ADFB10SE...........................




Expected Output (FB - 205):

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+
CS031..<  ....*0000000000014399.*N CS031..   ......................Ø%S.......j..02  .......34796  FP.....çd.....Â*..00010127  070...Ø%.................Ø%0...Ø%..Î.00001  AFMOPER      99                   
CS101..<  ...çæ0000000000044511.<N CS101..   .......................@S.......j..02  .......34517  C1.....Â.......%..00010127  070....@..................@0....@..&.10127  EE16866      99                   
CS177..<  .....0000000000010249..N CS177..   ..........&............ðS..........12  .......34935  LE.....çç..æ......98010400  980....ð.................Ø.0...Ø.....10400  EE23988      01                   
CS177..<  .....0000000000010249..N CS177..   ..........&............ðS..........12  .......34935  LE.....çç..æ......98010400  980....ð.................Ø.0...Ø.....10400  EE23988      01                   
CS177..<  .....0000000000010249..N CS177..   ..........&............ðS..........12  .......34935  LE.....çç..æ......98010400  980....ð.................Ø.0...Ø.....10400  EE23988      01                   
CS203..<  .....0000000000056259.ðN CS203..   .......................æS.......j..08  .......34751  FK.....Èq.....d...SPG34751  RS3....æ..................@0....@./â*       AFFB30BA     99                   
CS203..<  .....0000000000056259.ðN CS203..   .......................æS.......j..08  .......34751  FK.....Èq.....d...SPG34751  RS3....æ..................@0....@./â*       AFFB30BA     99                   
CS630..<  .....0000000000056259.@N CS630..   ..........°...........Ä.S.......j..07  .......34751  C1.....á.<.æ......98010400  980...Ä......°......°.....@0....@./â*       AFFB30BA     01                   
CS630..<  .....0000000000056259.@N CS630..   ..........°...........Ä.S.......j..07  .......34751  C1.....á.<.æ......98010400  980...Ä......°......°.....@0....@./â*       AFFB30BA     01                   
PS214..<  ....@0000000000010587..SDPS214..   .........Ø.............%S..-.%.....02  ....Ø..34343  C1.....-.......<..00010127  154....%....Ø......Ø......<0....<.ë.@BTCH   ADFB10SE     55                   


Why i am not getting the expected result ??

Thanks.

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 11:47 am
by BillyBoyo
Please don't send messages to people asking them to look at your question.

Look at using JOINKEYS instead of SPLICE. For this example. you do not need SPLICE.

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 1:15 pm
by zohaib
Thanks for your reply, i am already using JOINKEYS and it's working fine. My question is why it's not working with SPLICE.
My case is similar to this one: (link to competitor site removed)And it worked with SPLICE. What's wrong in my JCL ?

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 9:48 pm
by dick scherrer
Hello,

We do not allow posting competitor site links . . .

Thank you.

Re: not getting desired output using SPLICE

PostPosted: Mon Apr 29, 2013 10:56 pm
by skolusu
hmm competitor site links ? oh well

zohaib,

You need to understand how splice works. The overlaying record should be the first record. so try these untested control cards.

//TOOLIN DD *                                               
 COPY FROM(IN2) TO(TMP1) USING(CPY2)                       
 COPY FROM(IN1) TO(TMP1) USING(CPY1)                       
 SPLICE FROM(TMP1) TO(OUT) ON(1,05,CH) WITH(6,178) WITHALL   
//*


PS: Zohaib please do NOT send private messages seeking help. I do not check the board on weekends.