Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Icetool Error

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
trushant.w

New User


Joined: 22 Sep 2013
Posts: 81
Location: pune india

PostPosted: Wed Feb 05, 2014 12:31 pm    Post subject: Icetool Error
Reply with quote

Im using below sort card

Code:
//TOOLIN   DD *                                                     
 COPY FROM(SORTIN1) TO(T1,T2) USING(CTL1)                           
//CTL1CNTL DD *                                                     
 OUTFIL FNAMES=T1,                                                   
 INCLUDE=(39,04,CH,EQ,C'ONUS')                                       
      SORT FIELDS=(214,1,CH,A)                                       
 INREC IFTHEN=(WHEN=(34,4,CH,EQ,C'5525'),OVERLAY=(214:C'1')),       
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5526'),OVERLAY=(214:C'2')),       
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5122'),OVERLAY=(214:C'3')),       
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5513'),OVERLAY=(214:C'4')),       
       IFTHEN=(WHEN=NONE,OVERLAY=(214:C'5'))                         
*                                                                   
 OUTFIL FNAMES=T2,                                                   
 INCLUDE=(39,04,CH,EQ,C'NOUS')                                       
      SORT FIELDS=(214,1,CH,A,215,1,CH,A)                           
       INREC IFTHEN=(WHEN=INIT,OVERLAY=(214:C'56')),                 
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5525'),OVERLAY=(214:C'1'),HIT=NEXT)
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5526'),OVERLAY=(214:C'2'),HIT=NEXT)


Input file 213 bytes
T1 214 bytes
T2 215 bytes

But i am getting below error

Code:
         OUTFIL FNAMES=T2,                                               
           INCLUDE=(39,04,CH,EQ,C'NOUS')                                   
                SORT FIELDS=(214,1,CH,A,215,1,CH,A)                       
ICE002I 0 DUPLICATE OR CONFLICTING SORT     STATEMENT                     
                 INREC IFTHEN=(WHEN=INIT,OVERLAY=(214:C'56')),             
ICE002I 0 DUPLICATE OR CONFLICTING INREC    STATEMENT                     
                 IFTHEN=(WHEN=(34,4,CH,EQ,C'5525'),OVERLAY=(214:C'1'),HIT=N
                 $                                                         
ICE005A 0 BLANK NEEDED IN COLUMN 1 OR OPERATION NOT DEFINED CORRECTLY     


Second dort is for t2 file but still its showing above error
Back to top
View user's profile Send private message

Pandora-Box

Moderator


Joined: 07 Sep 2006
Posts: 1529
Location: Andromeda Galaxy

PostPosted: Wed Feb 05, 2014 1:03 pm    Post subject:
Reply with quote

Hi,

The error is pretty clear
You are having duplicate INREC and SORT statements
If you could explain what you are trying to do we could assist you
Back to top
View user's profile Send private message
trushant.w

New User


Joined: 22 Sep 2013
Posts: 81
Location: pune india

PostPosted: Wed Feb 05, 2014 1:06 pm    Post subject:
Reply with quote

I want to create two output files based on above sort cards
But as the input data is very large i want to read input only once
Back to top
View user's profile Send private message
Pandora-Box

Moderator


Joined: 07 Sep 2006
Posts: 1529
Location: Andromeda Galaxy

PostPosted: Wed Feb 05, 2014 1:40 pm    Post subject:
Reply with quote

You would need 2 CTLxx cards just because of your SORT FIELDS atleast

Ignore my comment above: Why do you need sort for 215,1 ??
Back to top
View user's profile Send private message
trushant.w

New User


Joined: 22 Sep 2013
Posts: 81
Location: pune india

PostPosted: Wed Feb 05, 2014 2:29 pm    Post subject:
Reply with quote

i need to data sorted by fist key( pos 214) and then by second key (pos 215) for second output file.

But if we use two control cards then we would have to read file twice
and i want to read input only once
Back to top
View user's profile Send private message
Pandora-Box

Moderator


Joined: 07 Sep 2006
Posts: 1529
Location: Andromeda Galaxy

PostPosted: Wed Feb 05, 2014 9:01 pm    Post subject:
Reply with quote

To my knowledge to achieve your requirement is not possible in one pass

Lets see what Bill/Kolusu has for you
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Wed Feb 05, 2014 11:41 pm    Post subject:
Reply with quote

trushant.w wrote:
I want to create two output files based on above sort cards
But as the input data is very large i want to read input only once


trushant.w,

First things first. Your Syntax is NOT valid. You are complicating a simple request. If your intention is to SORT the values 5525,5526,5122,5513 in that order it is quite easy. It doesn't matter what you have at position 39 as you are splitting the input file into 2 different files.
Back to top
View user's profile Send private message
trushant.w

New User


Joined: 22 Sep 2013
Posts: 81
Location: pune india

PostPosted: Thu Feb 06, 2014 9:01 pm    Post subject:
Reply with quote

Thanks for you inputs.

Based on position 39, my requirement is to create two output files

Output1:- Will be Sorted on only one Key which is at pos 39
Output2:- Will be Sorted on Key at pos 39 and at pos 44 (not pasted entire sort card above).

This requirement works fine when i use two sort card and read the input twice.

BUt as the input is very large i want to read input file only once and created the above mentioned files in one go.
Back to top
View user's profile Send private message
Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7228

PostPosted: Thu Feb 06, 2014 9:22 pm    Post subject: Reply to: Icetool Error
Reply with quote

So you have two, working, steps which use the same input and you want to combine them into one step?

Please show both working steps.
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Fri Feb 07, 2014 5:23 am    Post subject:
Reply with quote

trushant.w wrote:
Thanks for you inputs.

Based on position 39, my requirement is to create two output files

Output1:- Will be Sorted on only one Key which is at pos 39
Output2:- Will be Sorted on Key at pos 39 and at pos 44 (not pasted entire sort card above).


You expect us to provide you a 1 step solution reading your mind? As bill asked show us the complete sort control cards and may be we can suggest an alternative.
Back to top
View user's profile Send private message
trushant.w

New User


Joined: 22 Sep 2013
Posts: 81
Location: pune india

PostPosted: Fri Feb 07, 2014 5:51 pm    Post subject:
Reply with quote

Input File is 214 bytes
Here are my Two sort cards

Code:
 INCLUDE COND=(39,04,CH,EQ,C'ONUS')                                   
      SORT FIELDS=(214,1,CH,A)                                       
*      IFTHEN=(WHEN=INIT,OVERLAY=(214:C'5')),                         
 INREC IFTHEN=(WHEN=(34,4,CH,EQ,C'5525'),OVERLAY=(214:C'1')),         
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5526'),OVERLAY=(214:C'2')),         
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5122'),OVERLAY=(214:C'3')),         
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5513'),OVERLAY=(214:C'4')),         
       IFTHEN=(WHEN=NONE,OVERLAY=(214:C'5')) 



Code:
 INCLUDE COND=(39,04,CH,EQ,C'NOUS')                                   
      SORT FIELDS=(214,1,CH,A,215,1,CH,A)                             
       INREC IFTHEN=(WHEN=INIT,OVERLAY=(214:C'56')),                 
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5525'),OVERLAY=(214:C'1'),HIT=NEXT),
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5526'),OVERLAY=(214:C'2'),HIT=NEXT),
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5122'),OVERLAY=(214:C'3'),HIT=NEXT),
       IFTHEN=(WHEN=(34,4,CH,EQ,C'5513'),OVERLAY=(214:C'4'),HIT=NEXT),
                                                                     
*                                                                     
       IFTHEN=(WHEN=((44,06,ZD,LE,060066),                           
                 OR,(44,06,ZD,GE,063968,AND,44,06,ZD,LE,099999)),     
       OVERLAY=(215:C'1')),                                           
*                                                                     
       IFTHEN=(WHEN=(44,06,ZD,GE,200000,AND,44,06,ZD,LE,299999),     
       OVERLAY=(215:C'2')),                                           
      IFTHEN=(WHEN=((44,06,ZD,GE,100000,AND,44,06,ZD,LE,101608), 
                OR,(44,06,ZD,GE,100000,AND,44,06,ZD,LE,101609),   
                OR,(44,06,ZD,GE,101709,AND,44,06,ZD,LE,170205),   
                OR,(44,06,ZD,GE,170306,AND,44,06,ZD,LE,199999)), 
      OVERLAY=(215:C'3')),                                       
                                                                 
      IFTHEN=(WHEN=((44,06,ZD,GE,300000,AND,44,06,ZD,LE,349999), 
                OR,(44,06,ZD,GE,420000,AND,44,06,ZD,LE,429999),   
                OR,(44,06,ZD,GE,500000,AND,44,06,ZD,LE,569999),   
                OR,(44,06,ZD,GE,620000,AND,44,06,ZD,LE,659999)), 
      OVERLAY=(215:C'4')),                                       
                                                                 
      IFTHEN=(WHEN=(44,06,ZD,GE,350000,AND,44,06,ZD,LE,350999),   
      OVERLAY=(215:C'5'))           
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Fri Feb 07, 2014 9:54 pm    Post subject: Reply to: Icetool Error
Reply with quote

Your Initial post says the LRECL is 213 and now you say the LRECL is 214. what is the correct LRECL? I assumed the LRECL to be 213.

Try this untested sort card.

Code:

//SYSIN   DD *                                                     
  INCLUDE COND=(39,04,SS,EQ,C'ONUS,NOUS')                         
                                                                   
  INREC IFTHEN=(WHEN=INIT,OVERLAY=(214:C'56')),                   
  IFTHEN=(WHEN=(34,4,CH,EQ,C'5525'),OVERLAY=(214:C'1'),HIT=NEXT), 
  IFTHEN=(WHEN=(34,4,CH,EQ,C'5526'),OVERLAY=(214:C'2'),HIT=NEXT), 
  IFTHEN=(WHEN=(34,4,CH,EQ,C'5122'),OVERLAY=(214:C'3'),HIT=NEXT), 
  IFTHEN=(WHEN=(34,4,CH,EQ,C'5513'),OVERLAY=(214:C'4'),HIT=NEXT), 
  IFTHEN=(WHEN=(39,4,CH,EQ,C'ONUS'),OVERLAY=(215:X),HIT=NEXT),     
                                                                   
  IFTHEN=(WHEN=((39,4,CH,EQ,C'NOUS',AND,44,06,ZD,LE,060066),OR,   
               (39,4,CH,EQ,C'NOUS',AND,                           
                44,06,ZD,GE,063968,AND,44,06,ZD,LE,099999)),       
  OVERLAY=(215:C'1')),                                             
                                                                   
  IFTHEN=(WHEN=(39,4,CH,EQ,C'NOUS',AND,                           
                44,06,ZD,GE,200000,AND,44,06,ZD,LE,299999),       
  OVERLAY=(215:C'2')),                                             
                                                                   
  IFTHEN=(WHEN=((39,4,CH,EQ,C'NOUS',AND,                           
                 44,06,ZD,GE,100000,AND,44,06,ZD,LE,101608),       
            OR,(39,4,CH,EQ,C'NOUS',AND,                           
                44,06,ZD,GE,100000,AND,44,06,ZD,LE,101609),       
            OR,(39,4,CH,EQ,C'NOUS',AND,                           
                44,06,ZD,GE,101709,AND,44,06,ZD,LE,170205),       
            OR,(39,4,CH,EQ,C'NOUS',AND,                           
                44,06,ZD,GE,170306,AND,44,06,ZD,LE,199999)),       
  OVERLAY=(215:C'3')),                                             
                                                                   
  IFTHEN=(WHEN=((39,4,CH,EQ,C'NOUS',AND,                           
                 44,06,ZD,GE,300000,AND,44,06,ZD,LE,349999),       
            OR,(39,4,CH,EQ,C'NOUS',AND,                           
               (44,06,ZD,GE,420000,AND,44,06,ZD,LE,429999),       
            OR,(39,4,CH,EQ,C'NOUS',AND,                           
                44,06,ZD,GE,500000,AND,44,06,ZD,LE,569999),       
            OR,(39,4,CH,EQ,C'NOUS',AND,                           
                44,06,ZD,GE,620000,AND,44,06,ZD,LE,659999)),       
  OVERLAY=(215:C'4')),                                             
                                                               
  IFTHEN=(WHEN=(39,4,CH,EQ,C'NOUS',AND,                       
                44,06,ZD,GE,350000,AND,44,06,ZD,LE,350999),   
  OVERLAY=(215:C'5'))                                         
                                                               
  SORT FIELDS=(214,1,CH,A,215,1,CH,A)                         
                                                               
  OUTFIL FNAMES=T1,INCLUDE=(39,4,CH,EQ,C'ONUS'),BUILD=(1,213) 
  OUTFIL FNAMES=T2,INCLUDE=(39,4,CH,EQ,C'NOUS'),BUILD=(1,213) 
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts S922 Error yuvan ABENDS & Debugging 3 Fri Dec 02, 2016 6:58 pm
No new posts Invoke Webservice Fails with DFHPI100... divated CICS 2 Thu Nov 24, 2016 5:57 pm
No new posts How to delete second instance from Fl... Gunapala CN DFSORT/ICETOOL 6 Tue Oct 18, 2016 11:42 pm
No new posts Error during restore rename archanamuthukrishnan All Other Mainframe Topics 2 Fri Oct 14, 2016 3:30 pm
No new posts Error IEC161I 052(009,XXXRS00)-084 wh... amitc23 JCL & VSAM 10 Wed Oct 12, 2016 5:00 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us