Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
How to count the no. of records using DFSORT/ICETOOL

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

New User


Joined: 25 Jul 2008
Posts: 17
Location: Mumbai

PostPosted: Tue Jun 23, 2009 1:30 pm    Post subject: How to count the no. of records using DFSORT/ICETOOL
Reply with quote

Hi,

I have an input file like below :
Code:


AB 1234 hi
CD 5678 ok
   9876 fj
AD 2345 jj
CD 8765 lo
EF 4443 vx
AB 4443 vx


I want the count of records having AB in the first 2 columns. Can I do this using SORT/ICETOOL.
Please help me on this.
Thanks in Advance.
Back to top
View user's profile Send private message

Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 998
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Tue Jun 23, 2009 2:04 pm    Post subject:
Reply with quote

This should do the trick

Code:
///STEP1 EXEC PGM=ICETOOL           
//TOOLMSG DD SYSOUT=*             
//DFSMSG  DD SYSOUT=*             
//INPUT   DD *                     
AB 1234 hi                         
CD 5678 ok                         
   9876 fj                         
AD 2345 jj                         
CD 8765 lo                         
EF 4443 vx                         
AB 4443 vx                         
//TOOLIN  DD *                     
*                                 
 COUNT FROM(INPUT) USING(CTL1)     
*                                 
//*                               
//CTL1CNTL DD *                     
 INCLUDE COND=(1,2,CH,EQ,C'AB')     
/*                                   

Garry

[/code]
Back to top
View user's profile Send private message
dejunzhu

Active User


Joined: 08 May 2008
Posts: 390
Location: China

PostPosted: Tue Jun 23, 2009 2:18 pm    Post subject:
Reply with quote

Indeed the above method can do it.

But how to put the number into a file which is to be processed by other steps?
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 998
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Tue Jun 23, 2009 2:57 pm    Post subject:
Reply with quote

A small change

Code:
//STEP1 EXEC PGM=ICETOOL                                   
//TOOLMSG DD DISP=(,PASS),UNIT=VIO,SPACE=(TRK,1),       
//   DSN=&&MSG
//SYSPRINT DD SYSOUT=*                                     
//OUT DD SYSOUT=*                                         
//DFSMSG  DD SYSOUT=*                                     
//INPUT   DD *                                             
AB 1234 hi                                                 
CD 5678 ok                                                 
   9876 fj                                                 
AD 2345 jj                                                 
CD 8765 lo                                                 
EF 4443 vx                                                 
AB 4443 vx                                                 
//TOOLIN  DD *                                             
*                                                         
 COUNT FROM(INPUT) USING(CTL1)                             
*                                                         
//*                                                       
//CTL1CNTL DD *                                           
 INCLUDE COND=(1,2,CH,EQ,C'AB')                           
/*                                               
//STEP2 EXEC PGM=ICETOOL                         
//TOOLMSG DD SYSOUT=*                             
//TOOLO   DD DISP=(OLD,DELETE),                           
//   DSN=&&MSG
//SYSPRINT DD SYSOUT=*                           
//RESULT DD SYSOUT=*                             
//DFSMSG  DD SYSOUT=*                             
//TOOLIN  DD *                                   
*                                                 
 COPY FROM(TOOLO) TO(RESULT) USING(CTL2)         
*                                                 
//*                                               
//CTL2CNTL DD *                                   
 INCLUDE COND=(2,7,CH,EQ,C'ICE628I')             
 INREC BUILD=(1:27,15)                           
/*                                               


To get what you want in dataset, change the //RESULT DD to refer to the dataset where you want the count

Garry.
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1703
Location: Australia

PostPosted: Tue Jun 23, 2009 3:12 pm    Post subject:
Reply with quote

Hi,

this might be a little easier
Code:
//S1       EXEC PGM=SORT                                         
//SYSOUT   DD SYSOUT=*                                           
//SORTIN   DD *                                                 
AB 1234 HI                                                       
AB 1234 HI                                                       
CD 5678 OK                                                       
   9876 FJ                                                       
AD 2345 JJ                                                       
CD 8765 LO                                                       
EF 4443 VX                                                       
AB 4443 VX                                                       
//SORTOUT  DD SYSOUT=*  write this to a dataset    LRECL=9             
//SYSIN    DD *                                                 
  OPTION COPY                                                   
  INCLUDE COND=(1,2,CH,EQ,C'AB')                                 
   OUTFIL REMOVECC,NODETAIL,                                     
     BUILD=(9X),                                                 
     TRAILER1=(COUNT=(M11,LENGTH=9))   
/*                         

Gerry
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Moderator


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

PostPosted: Tue Jun 23, 2009 9:06 pm    Post subject:
Reply with quote

Here's a DFSORT/ICETOOL job that's even easier. It uses the new WRITE operand of COUNT available with z/OS DFSORT PTF UK90013 (July, 2008). For complete details, see:

www.ibm.com/systems/support/storage/software/sort/mvs/ugpf/

Code:

//S1 EXEC PGM=ICETOOL                                           
//TOOLMSG DD SYSOUT=*                                           
//DFSMSG  DD SYSOUT=*                                           
//INPUT   DD *                                                   
AB 1234 HI                                                       
CD 5678 OK                                                       
   9876 FJ                                                       
AD 2345 JJ                                                       
CD 8765 LO                                                       
EF 4443 VX                                                       
AB 4443 VX       
/*                                               
//OUT DD SYSOUT=*                                               
//TOOLIN  DD *                                                   
COUNT FROM(INPUT) USING(CTL1) WRITE(OUT) DIGITS(9)               
/*                                                               
//CTL1CNTL DD *                                                 
  INCLUDE COND=(1,2,CH,EQ,C'AB')                                 
/*                                                               
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 How to write Rexx program to size and... sreejeshcs CLIST & REXX 14 Thu Oct 12, 2017 7:26 am
No new posts sort records based on length exceeds ... maxsubrat DFSORT/ICETOOL 7 Wed Oct 04, 2017 4:48 pm
No new posts Addition of two records on 2 fields amar143 SYNCSORT 8 Tue Oct 03, 2017 11:14 am
No new posts Difference in SORT & ICETOOL Mohan Kothakota DFSORT/ICETOOL 5 Fri Sep 22, 2017 4:56 pm
No new posts column with count of rows within dist... ronald wouterson DB2 4 Sun Sep 17, 2017 9:48 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us