IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

ICETOOL : Duplicates written into the output file on SPLICE.


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Fri Feb 01, 2008 12:20 pm
Reply with quote

Hi,

I have a huge file containing 256374439 records(File-2) and second file containing records 721(File-1). I have to make sure that records present in File-1 having a match with the records present in File-2 NOT get written into the output file. (i.e all the unmatched records from file-2 are to be written)
Field on which match is to be performed is :
File-1 : Position 1 - PD
File -2 : Position 35 - PD

Here are the control cards I have used :
File -1 containing records 721 :-
Code:
SORT FIELDS=(1,6,PD,A)         
OUTREC FIELDS=(35:1,6,44:C'11')
SUM FIELDS=NONE

File -2 containing 256374439 records
Code:
SORT FIELDS=(35,6,PD,A)       
OUTREC FIELDS=(1:1,43,44:C'22')


Here's the splice :
Code:

 COPY FROM(MIGSERV) TO(TMP2) USING(CPY1)
 COPY FROM(INTABLE) TO(TMP2) USING(CPY2)
 SPLICE FROM(TMP2) TO(OUTTABLE)  -     
 USING(CTL3) KEEPNODUPS KEEPBASE -     
 WITHALL     -                         
 ON(35,6,PD) -                         
 WITH(35,6) -                         
 WITH(45,1)                           


Output :
Code:
OUTFIL FNAMES=OUTTABLE,                 
INCLUDE=(44,2,CH,EQ,C'22'),OUTREC=(1,43)


Now the problem is :
The output file doesn't contain matched records from File-1 & File-2. But there are lot many duplicate records present in the output file.

Please Help.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Fri Feb 01, 2008 4:28 pm
Reply with quote

abhishekmdwivedi

Need a quick resolution?
Then provide a sample set of i/p rec and o/p rec,sho what is expected and what you are getting?
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Fri Feb 01, 2008 4:49 pm
Reply with quote

Input :
File - 1 :
Code:

61203000
61651000
82770000
53770000


File -2 :
Code:

09.11.1999          1488575300 05.10.1999        61203000         
10.08.1999          2481921200 06.07.1999        61203000         
13.10.1995          1746460000 18.02.1993        61651000         
01.11.1993          1611422000 27.09.1993        82770000         
01.11.1993          1612422000 27.09.1993        53770000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490456300 14.02.1995        18651000         
01.03.1995           491356300 14.02.1995        33691000         
01.03.1995           491456300 10.11.1994        44081000         
01.03.1995           492356300 14.02.1995        53691000         
01.03.1995           492456300 14.02.1995        63651000         


By the previous given control cards I am getting this result.
Output currently coming as :
Code:

09.11.1999          1488575300 05.10.1999        61203000         
09.11.1999          1488575300 05.10.1999        61203000         
13.10.1995          1746460000 18.02.1993        61651000         
01.11.1993          1611422000 27.09.1993        82770000         
01.11.1993          1611422000 27.09.1993        82770000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490356300 14.02.1995        23691000         


This is the one of the records which is duplicate :
Code:

09.11.1999          1488575300 05.10.1999        [b]61203000[/b]

While for same number 61203000, the second record as below is missing from the output file:
Code:
 
10.08.1999          2481921200 06.07.1999        [b]61203000[/b]



Expected Result :
Only following records are required in the output file :

01.03.1995 490356300 14.02.1995 23691000
01.03.1995 490456300 14.02.1995 18651000
01.03.1995 491356300 14.02.1995 33691000
01.03.1995 491456300 10.11.1994 44081000
01.03.1995 492356300 14.02.1995 53691000
01.03.1995 492456300 14.02.1995 63651000

Scenario :
Records from File-2 which are not present in File-1 are to be written into the output.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Fri Feb 01, 2008 5:11 pm
Reply with quote

Quote:
Scenario :
Records from File-2 which are not present in File-1 are to be written into the output.
I got your req...

paste your TOOLMSG and DFSMSG...
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Fri Feb 01, 2008 5:27 pm
Reply with quote

Here's the DFSMSG :
Code:

1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
 ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED
 ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
 ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 03:26 ON FRI FEB 01, 2008 -
0           OPTION MAINSIZE=64M,DYNALLOC=(3390,20),NOOUTREL
 ICE140I 0 END OF PARAMETERS FROM DFSPARM  - SYSIN OR CPY1CNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW
            SORT FIELDS=(1,6,PD,A)
            OUTREC FIELDS=(35:1,6,44:C'11')
            SUM FIELDS=NONE
 ICE146I 0 END OF STATEMENTS FROM CPY1CNTL - PARAMETER LIST STATEMENTS FOLLOW
           DEBUG NOABEND,ESTAE
           OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CPY1,SORTIN=MIGSER*
                          V,SORTOUT=TMP2,DYNALLOC
           SORT FIELDS=COPY
 ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
 ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E9-K90007 C9-BASE   E5-K24705 E7-K24705
 ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED
 ICE088I 1 QFPT4NC1.STEP01  .MERGE1  , INPUT LRECL = 6, BLKSIZE = 27996, TYPE = FB
 ICE092I 0 MAIN STORAGE = (67108864,67108864,67108864)
 ICE156I 0 MAIN STORAGE ABOVE 16MB = (67025944,67025944)
 ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=32
 ICE128I 0 OPTIONS: SIZE=67108864,MAXLIM=3145728,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
 ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N             ,ABCODE=MSG
 ICE130I 0 OPTIONS: RESALL=0,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=N,CKPT=N,STIMER=Y,COBEXIT=COB2
 ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=Y,DSA=0
 ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=Y,TEXIT=Y,LISTX=N,EFS=NONE    ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
 ICE133I 0 OPTIONS: HIPRMAX=10     ,DSPSIZE=10  ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
 ICE235I 0 OPTIONS: NULLOUT=RC0
 ICE084I 0 EXCP ACCESS METHOD USED FOR TMP2
 ICE084I 0 EXCP ACCESS METHOD USED FOR MIGSERV
 ICE750I 0 DC 27996 TC 0 CS DSVOO KSZ 7 VSZ 7
 ICE752I 0 FSZ=4666 RC  IGN=0 E  AVG=8 0  WSP=49 C  DYN=0 0
 ICE751I 1 DE-K24705 D5-K24705 D9-K24705 E8-K24705
 ICE090I 0 OUTPUT LRECL = 45, BLKSIZE = 27990, TYPE = FB   (SDB)
 ICE171I 0 SORTOUT LRECL OF 45 IS DIFFERENT FROM SORTIN(NN) LRECL OF 6 - RC=0
 ICE080I 0 IN MAIN STORAGE SORT
 ICE055I 0 INSERT 0, DELETE 3
 ICE054I 0 RECORDS - IN: 724, OUT: 721
 ICE134I 0 NUMBER OF BYTES SORTED: 4344
 ICE199I 0 MEMORY OBJECT STORAGE USED = 0M BYTES
 ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
 ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
 ICE052I 0 END OF DFSORT
1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0002
 ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED
 ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
 ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 03:26 ON FRI FEB 01, 2008 -
0           OPTION MAINSIZE=64M,DYNALLOC=(3390,20),NOOUTREL
 ICE140I 0 END OF PARAMETERS FROM DFSPARM  - SYSIN OR CPY2CNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW
            SORT FIELDS=(35,6,PD,A)
            OUTREC FIELDS=(1:1,43,44:C'22')
 ICE146I 0 END OF STATEMENTS FROM CPY2CNTL - PARAMETER LIST STATEMENTS FOLLOW
           DEBUG NOABEND,ESTAE
           OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CPY2,SORTIN=INTABL*
                          E,SORTOUT=TMP2,DYNALLOC
           SORT FIELDS=COPY
 ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
 ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E9-K90007 C9-BASE   E5-K24705 E6-K18181 C4-K24705 E7-K24705
 ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED
 ICE088I 1 QFPT4NC1.STEP01  .MERGE1  , INPUT LRECL = 43, BLKSIZE = 27993, TYPE = FB
 ICE092I 0 MAIN STORAGE = (67108864,67108864,67108864)
 ICE156I 0 MAIN STORAGE ABOVE 16MB = (66758296,66758296)
 ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=32
 ICE128I 0 OPTIONS: SIZE=67108864,MAXLIM=3145728,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
 ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=(3390    ,020),ABCODE=MSG
 ICE130I 0 OPTIONS: RESALL=0,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=N,CKPT=N,STIMER=Y,COBEXIT=COB2
 ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=Y,DSA=0
 ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=Y,TEXIT=Y,LISTX=N,EFS=NONE    ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
 ICE133I 0 OPTIONS: HIPRMAX=10     ,DSPSIZE=10  ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
 ICE235I 0 OPTIONS: NULLOUT=RC0
 ICE084I 0 EXCP ACCESS METHOD USED FOR TMP2
 ICE084I 0 EXCP ACCESS METHOD USED FOR INTABLE
 ICE750I 0 DC 11024287239 TC 0 CS DSVOO KSZ 7 VSZ 7
 ICE752I 0 FSZ=256378773 RC  IGN=0 E  AVG=48 0  WSP=15983614 C  DYN=288933 56648
 ICE751I 1 DE-K24705 D5-K24705 D3-K24705 D7-K24705 E8-K24705
 ICE090I 0 OUTPUT LRECL = 45, BLKSIZE = 27990, TYPE = FB
 ICE171I 0 SORTOUT LRECL OF 45 IS DIFFERENT FROM SORTIN(NN) LRECL OF 43 - RC=0
 ICE096I 0 SUCCESSFUL RECOVERY FROM B37 ABEND(S) FOR WORK DATA SET(S)
 ICE055I 0 INSERT 0, DELETE 0
 ICE054I 0 RECORDS - IN: 256374439, OUT: 256374439
 ICE134I 0 NUMBER OF BYTES SORTED: 11024100877
 ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 234930 , TRACKS USED: 234495
 ICE199I 0 MEMORY OBJECT STORAGE USED = 0M BYTES
 ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
 ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
 ICE052I 0 END OF DFSORT
1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0003
 ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED
 ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
 ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 03:58 ON FRI FEB 01, 2008 -
0           OPTION MAINSIZE=64M,DYNALLOC=(3390,20),NOOUTREL
 ICE140I 0 END OF PARAMETERS FROM DFSPARM  - SYSIN OR CTL3CNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW
            OUTFIL FNAMES=OUTTABLE,
            INCLUDE=(44,2,CH,EQ,C'22'),OUTREC=(1,43)
 ICE146I 0 END OF STATEMENTS FROM CTL3CNTL - PARAMETER LIST STATEMENTS FOLLOW
           DEBUG NOABEND,ESTAE
           OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL3,SORTIN=TMP2,S*
                          ORTOUT=OUTTABLE,DYNALLOC,SZERO,EQUALS,NOVLSHRT,LOCALE=NO*
                          NE,NOCHECK
           SORT FIELDS=(35,6,PD,A)
           MODS E35=(ICE35DU,12288)
 ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
 ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E4-K90007 C9-BASE   E5-K24705 E6-K18181 C4-K24705 E7-K24705
 ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED
 ICE088I 1 QFPT4NC1.STEP01  .MERGE1  , INPUT LRECL = 45, BLKSIZE = 27990, TYPE = FB
 ICE092I 0 MAIN STORAGE = (67108864,67108864,67108864)
 ICE156I 0 MAIN STORAGE ABOVE 16MB = (66808403,66792019)
 ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=32
 ICE128I 0 OPTIONS: SIZE=67108864,MAXLIM=3145728,MINLIM=450560,EQUALS=Y,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
 ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=(3390    ,020),ABCODE=MSG
 ICE130I 0 OPTIONS: RESALL=0,RESINV=0,SVC=109 ,CHECK=N,WRKREL=Y,OUTREL=N,CKPT=N,STIMER=Y,COBEXIT=COB2
 ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=Y,DSA=0
 ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=Y,TEXIT=Y,LISTX=N,EFS=NONE    ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
 ICE133I 0 OPTIONS: HIPRMAX=10     ,DSPSIZE=10  ,ODMAXBF=2097152,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
 ICE235I 0 OPTIONS: NULLOUT=RC0
 ICE084I 0 EXCP ACCESS METHOD USED FOR TMP2
 ICE750I 0 DC 11536918200 TC 0 CS DSVVV KSZ 11 VSZ 11
 ICE752I 0 FSZ=256375960 RC  IGN=0 E  AVG=52 0  WSP=17315392 C  DYN=313082 56636
 ICE231I 0 STORAGE USED FOR OUTFIL : BELOW 16M = 22528, ABOVE 16M = 2126848
 ICE210I 0 OUTTABLE : EXCP USED, LRECL = 43, BLKSIZE = 27993, TYPE = FB   (SDB)
 ICE751I 1 DE-K24705 D5-K24705 D3-K24705 D7-K24705 CB-K90000 E8-K24705
 ICE096I 0 SUCCESSFUL RECOVERY FROM B37 ABEND(S) FOR WORK DATA SET(S)
 ICE055I 0 INSERT 42306107, DELETE 42306107
 ICE054I 0 RECORDS - IN: 256375160, OUT: 256375160
 ICE227I 0 OUTTABLE : DELETED = 2357, REPORT = 0, DATA = 256372803
 ICE228I 0 OUTTABLE : TOTAL IN = 256375160, TOTAL OUT = 256372803
 ICE134I 0 NUMBER OF BYTES SORTED: 11536882200
 ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 255825 , TRACKS USED: 254685
 ICE199I 0 MEMORY OBJECT STORAGE USED = 0M BYTES
 ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
 ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
 ICE052I 0 END OF DFSORT
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Fri Feb 01, 2008 6:01 pm
Reply with quote

DFSMSG shows no errors...in terms of logic....
I could guess of a possibility, The dataset that you are using for TMP2 , are u using the same dataset for any other DD statement?

And also if you could simulate the run once, just remove the OUTREC statment in CTL3
Code:
OUTFIL FNAMES=OUTTABLE,
INCLUDE=(44,2,CH,EQ,C'22')
so that you can make out if the tag is being correctly changed or not!!
Note: if you remove the OUTREC from there the o/p file LRECL will be 45
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Fri Feb 01, 2008 6:08 pm
Reply with quote

Hi ,

I know my mistake is in the logic itself can you please give me a ICETOOL example on :

Quote:
Scenario :
Records from File-2 which are not present in File-1 are to be written into the output.


An example would be of great help.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Fri Feb 01, 2008 6:32 pm
Reply with quote

Quote:
I know my mistake is in the logic itself can you please give me a ICETOOL example on :

Code:
//*******************************************************
//STEP001  EXEC PGM=ICETOOL                             
//TOOLMSG  DD SYSOUT=*                                   
//DFSMSG   DD SYSOUT=*                                   
//IN1      DD *                                         
61203000                                                 
61651000                                                 
82770000                                                 
53770000                                                 
/*                                                       
//IN2      DD *                                         
09.11.1999 1488575300 05.10.1999  61203000               
10.08.1999 2481921200 06.07.1999  61203000               
13.10.1995 1746460000 18.02.1993  61651000               
01.11.1993 1611422000 27.09.1993  82770000               
01.11.1993 1612422000 27.09.1993  53770000               
01.03.1995 490356300 14.02.1995   23691000               
01.03.1995 490456300 14.02.1995   18651000               
01.03.1995 491356300 14.02.1995   33691000               
01.03.1995 491456300 10.11.1994   44081000               
01.03.1995 492356300 14.02.1995   53691000               
01.03.1995 492456300 14.02.1995   63651000               
/*                                                                   
//TMP1     DD DSN=&&TEMP1,DISP=(MOD,PASS),SPACE=(TRK,(5,5)),UNIT=SYSDA
//OUT      DD SYSOUT=*                                               
//TOOLIN   DD *                                                       
 COPY FROM(IN1) TO(TMP1) USING(CP01)                                 
 COPY FROM(IN2) TO(TMP1) USING(CP02)                                 
 SPLICE FROM(TMP1) TO(OUT) ON(35,6,CH) WITH(45,1) KEEPNODUPS-         
 USING(CP03) KEEPBASE WITHALL                                         
/*                                                                   
//CP01CNTL DD *                                                       
 OUTREC FIELDS=(35:1,6,44:C'11')                                     
 SUM FIELDS=NONE                                                     
//CP02CNTL DD *                                                       
  OUTREC FIELDS=(1:1,43,44:C'22')                                     
//CP03CNTL DD *                                                       
  OUTFIL FNAMES=OUT,INCLUDE=(44,2,CH,EQ,C'22')                                   


OUT contains

Code:
01.03.1995 490456300 14.02.1995   18651000 22
01.03.1995 490356300 14.02.1995   23691000 22
01.03.1995 491356300 14.02.1995   33691000 22
01.03.1995 491456300 10.11.1994   44081000 22
01.03.1995 492356300 14.02.1995   53691000 22
01.03.1995 492456300 14.02.1995   63651000 22

Just try this, and u may get a hint of what is happening in your case!!
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Sat Feb 02, 2008 3:49 pm
Reply with quote

Hi,

The code given still generating duplicates for my files. What may be the reason for this?
Can u please explain terms 'KEEPNODUPS' and 'KEEPBASE'.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Sat Feb 02, 2008 4:06 pm
Reply with quote

Quote:
The code given still generating duplicates for my files. What may be the reason for this?
The code which i have given? Sure?
Just Copy paste my code and try it as it is!!

KEEPNODUPS AND KEEPBASE
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Sat Feb 02, 2008 4:09 pm
Reply with quote

Yup.I have copy pasted it as it is but I am still having the same results as,
Code:

9.11.1999          1488575300 05.10.1999        61203000         
09.11.1999          1488575300 05.10.1999        61203000         
13.10.1995          1746460000 18.02.1993        61651000         
01.11.1993          1611422000 27.09.1993        82770000         
01.11.1993          1611422000 27.09.1993        82770000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490356300 14.02.1995        23691000         
01.03.1995           490356300 14.02.1995        23691000
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Sat Feb 02, 2008 4:12 pm
Reply with quote

I want to see your TOOLMSG
Code:
//TOOLMSG  DD SYSOUT=*                                   
, Please paste it!!
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Sat Feb 02, 2008 4:15 pm
Reply with quote

Here it is :

Code:

ICE630I 0 MODE IN EFFECT:  STOP                                                 
                                                                               
            COPY FROM(INDD1) TO(TMP1) USING(CP01)                               
ICE606I 0 DFSORT CALL 0001 FOR COPY FROM INDD1    TO TMP1     USING CP01CNTL COM
ICE602I 0 OPERATION RETURN CODE:  00                                           
                                                                               
             COPY FROM(INDD2) TO(TMP1) USING(CP02)                             
ICE606I 0 DFSORT CALL 0002 FOR COPY FROM INDD2    TO TMP1     USING CP02CNTL COM
ICE602I 0 OPERATION RETURN CODE:  00                                           
                                                                               
             SPLICE FROM(TMP1) TO(OUTDD1) ON(35,6,CH) WITH(45,1) KEEPNODUPS-   
             USING(CP03) KEEPBASE WITHALL                                       
ICE606I 0 DFSORT CALL 0003 FOR SORT FROM TMP1     TO OUTDD1   USING CP03CNTL COM
ICE628I 0 RECORD COUNT:  000000256421396                                       
ICE638I 0 NUMBER OF RECORDS RESULTING FROM CRITERIA:  000000256421396           
ICE602I 0 OPERATION RETURN CODE:  00                                           
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Sat Feb 02, 2008 4:18 pm
Reply with quote

abhishekmdwivedi
I want to see the last column in your o/p, like in my o/p you see 22,If you use the exact Cards that i have given you should be getting the last column as 11 OR 12 OR 22 !!
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Sat Feb 02, 2008 4:26 pm
Reply with quote

Sorry Kris but I am currently executing subseqent runs on the data with different options and hence overwritten the data.
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Sat Feb 02, 2008 4:28 pm
Reply with quote

Thanks for the information. It has been of great help. I will carry on from here to check where I am getting wrong.
Thanks a lot.
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Sat Feb 02, 2008 10:38 pm
Reply with quote

Quote:
Hi Frank,

I have posted a topic here on forums with subject as "ICETOOL : Duplicates written into the output file on SPLICE." Krisprems had a look at it and given his inputs , which were very useful. Can you please have a look into it. It will be of great help. I am still in worries of why the code is not working for me.


Well, I was staying out of this since I didn't have time to read through all of the posts between you and Krisprems, but since you asked offline ...

Going back to your original two posts, it appears that you have file1 with a PD value in positions 1-6, and file2 (RECFM=FB and LRECL=43) with a PD value in positions 35-40, and you want the records in file2 that do not have a match in file1. Also, the output records from file2 have to be in their original order.

The following DFSORT/ICETOOL job gives me the output records you showed in your example with the input records you showed in your example:

Code:

//S1    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG  DD SYSOUT=*
//IN1 DD DSN=... input file (FB/6)
//IN2 DD DSN=... input file (FB/43)
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//T2 DD DSN=&&T2,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//OUT DD DSN=...  output file (FB/43)
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(T2) ON(35,6,PD) KEEPNODUPS KEEPBASE -
  WITH(1,34) WITH(45,9) USING(CTL3)
SORT FROM(T2) TO(OUT) USING(CTL4)
/*
//CTL1CNTL DD *
  INREC OVERLAY=(35:1,6,44:C'11',46:8X)
/*
//CTL2CNTL DD *
  INREC BUILD=(1,43,44:C'22',46:SEQNUM,8,ZD)
/*
//CTL3CNTL DD *
  OUTFIL FNAMES=T2,INCLUDE=(44,2,CH,EQ,C'22')
/*
//CTL4CNTL DD *
  SORT FIELDS=(46,8,ZD,A)
  OUTREC BUILD=(1,43)
/*


If this doesn't work for you, then contact me offline (yaeger@us.ibm.com) and I'll help you figure out why.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Sat Feb 02, 2008 11:23 pm
Reply with quote

abhishekmdwivedi
even Frank can help you only if you provide the right control cards that you had used....
You said that you just copy pasted my ICETOOL job and ran but still getting the duplicates!!!
I can surely tell you that you hadnt copy pasted as it is...since the LRECL of the o/p from my JOB would be 45(inclluding the tag 11,12,22) but the o/p that you pasted dosnt show that!!!
I feel thats the Key place that you need to look into...
Back to top
View user's profile Send private message
abhishekmdwivedi

New User


Joined: 22 Aug 2006
Posts: 95
Location: india

PostPosted: Mon Feb 04, 2008 10:48 am
Reply with quote

Thanks a lot Kris/Frank for your replies. The below code worked for me :
Code:

//TOOLIN DD *                                                       
  COPY FROM(INDD1) TO(TMP1) USING(CP01)                             
   COPY FROM(INDD2) TO(TMP1) USING(CP02)                           
   SPLICE FROM(TMP1) TO(OUTDD1) ON(35,6,PD) WITH(11,6) WITH(35,6) -
   WITH(45,1) KEEPNODUPS USING(CP03) KEEPBASE WITHALL               
/*                                                                 
//CP01CNTL DD *                                                     
  SORT FIELDS=(1,6,PD,A)                                           
  OUTREC FIELDS=(35:1,6,44:C'11')                                   
   SUM FIELDS=NONE                                                 
/*                                                                 
//CP02CNTL DD *                                                     
  SORT FIELDS=(35,6,PD,A)                                           
  OUTREC FIELDS=(1:1,43,44:C'22')                                   
/*                                                                 
//CP03CNTL DD *                                                     
  OUTFIL FNAMES=OUTDD1,INCLUDE=(44,2,CH,EQ,C'22'),OUTREC=(1,43)     
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts Access to non cataloged VSAM file JCL & VSAM 18
No new posts Sortjoin and Search for a String and ... DFSORT/ICETOOL 1
Search our Forums:

Back to Top