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/ICEMAN to sort two fields on a file to find MAX /MIN

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

New User


Joined: 29 Jun 2005
Posts: 88

PostPosted: Mon Aug 13, 2012 2:36 pm    Post subject: ICETOOL/ICEMAN to sort two fields on a file to find MAX /MIN
Reply with quote

Hi ,

Iam using a flat file which has 3 columns (A,B,C) out of which A & C are numeric fields

Code:
A       B            C
0005  XXXX    1000
0047  XXXX    3000
0016  XXXX    0500
0081  XXXX    1200
0009  XXXX    1400

i need to format the output file to have columns D & E & G & H where column D contains all rows (Minmimum of column A) , E contains ( Max value of A), G (Contains min of couln c) , H (Contains max of column C).

Iam using ICEMAN/ ICETOOL to perform the above but iam getting to work for one field . Please find the code below . Please do let me know what i need to change to have the aove format . Since formating is pending in JCL . first iam looking to develop the output file .
Code:

//test1as JOB (T,TST,test),'ICEMAN  ',MSGCLASS=Q,MSGLEVEL=(1,1),
//             REGION=0K,CLASS=F,NOTIFY=&SYSUID
//STEP0010 EXEC PGM=ICEMAN                           
//*                                                   
//SORTIN    DD DSN=testin.INPUT.FILE,DISP=SHR   
//*                                                   
//SORTOUT   DD DSN=&&S1,DISP=(,PASS),                 
//             UNIT=SYSDA,SPACE=(TRK,(1,1))           
//*                                                   
//SYSIN     DD *                                     
      SORT FIELDS=(1,4,ZD,A,11,4,ZD,A)          (  A, C)  positions)             
      OUTFIL REMOVECC,NODETAIL,OUTREC=(80X),         
      HEADER1=('MINKEY1,''',1,4,''''),               
      TRAILER1=('MAXKEY1,''',1,4,''''),               
      HEADER2=('MINKEY2,''',11,4,''''),               
      TRAILER2=('MAXKEY2,''',11,4,'''')               
/*                                                   
//*                                                   
//SYSPRINT  DD SYSOUT=*
//STEP0020 EXEC PGM=ICEMAN                             
//*                                                   
//SORTIN    DD DSN=testin.INPUT.FILE,DISP=SHR     
//*                                                   
//SYMNAMES  DD DSN=&&S1,DISP=(OLD,PASS)               
//*                                                   
//MIN       DD SYSOUT=testout.out.file,disp=shr
//SORTOUT   DD SYSOUT=*                               
//*                                                   
//SYSIN     DD *                                       
      SORT FIELDS=(1,4,ZD,A,11,4,ZD,A)                 
      OUTFIL FNAMES=MIN,INCLUDE=(1,4,CH,EQ,MINKEY1,or,
                                 1,4,CH,EQ,MAXKEY1,OR,
                                 11,4,CH,EQ,MINKEY2,OR,
                                 11,4,CH,EQ,MAXKEY2)   
     

//NEXT STEP TO FORMAT THE INPUT FILE by taking corresponding
values from postion in Min output file created in step20.

its working one field .

Iam have using ICETOOL using ON option for two different
fileds using one control card but this is not
working for 2 fields .


Can any one please help me.
Back to top
View user's profile Send private message

Skolusu

Senior Member


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

PostPosted: Mon Aug 13, 2012 10:06 pm    Post subject:
Reply with quote

balaji81_k,

Use the following DFSORT JCL which will give you the desired results

Code:

//STEP0100 EXEC PGM=SORT                                     
//SYSOUT   DD SYSOUT=*                                       
//SORTIN   DD *                                               
----+----1----+----2----+----3----+----4----+----5----+----6--
0009  XXXX    1400                                           
0005  XXXX    1000                                           
0047  XXXX    3000                                           
0016  XXXX    0500                                           
0081  XXXX    1200                                           
//SORTOUT  DD DSN=&&S,DISP=(,PASS),SPACE=(TRK,(1,0),RLSE)     
//SYSIN    DD *                                               
  SORT FIELDS=COPY                                           
  OUTFIL REMOVECC,NODETAIL,BUILD=(80X),                       
  TRAILER1=('MINA,C''',MIN=(01,4,ZD,M11,LENGTH=4),'''',/,     
            'MAXA,C''',MAX=(01,4,ZD,M11,LENGTH=4),'''',/,     
            'MINC,C''',MIN=(15,4,ZD,M11,LENGTH=4),'''',/,     
            'MAXC,C''',MAX=(15,4,ZD,M11,LENGTH=4),'''')       
//*                                                           
//STEP0200 EXEC PGM=SORT                                     
//SYSOUT   DD SYSOUT=*                                       
//SYMNAMES DD DSN=&&S,DISP=SHR                               
//SORTIN   DD *                                               
0009  XXXX    1400                                           
0005  XXXX    1000                                           
0047  XXXX    3000                                           
0016  XXXX    0500                                           
0081  XXXX    1200                                           
//SORTOUT  DD SYSOUT=*                                       
//SYSIN    DD *                                               
  SORT FIELDS=COPY                                           
  INCLUDE COND=(01,4,CH,EQ,MINA,OR,                           
                01,4,CH,EQ,MAXA,OR,                           
                15,4,CH,EQ,MINC,OR,                           
                15,4,CH,EQ,MAXC)                             
                                                             
  INREC OVERLAY=(22:MINA,3X,MAXA,3X,MINC,3X,MAXC)             
//*


The output from this job is
Code:

0005  XXXX    1000   0005   0081   0500   3000
0047  XXXX    3000   0005   0081   0500   3000
0016  XXXX    0500   0005   0081   0500   3000
0081  XXXX    1200   0005   0081   0500   3000
Back to top
View user's profile Send private message
balaji81_k

New User


Joined: 29 Jun 2005
Posts: 88

PostPosted: Tue Aug 14, 2012 5:15 pm    Post subject: Many Thanks
Reply with quote

Hi Skolusu,

Many Many Thanks for you . JCL is working fine .


Thanks a lot .


Balaji K
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 Changing of LRECL of a file abdulrafi DFSORT/ICETOOL 1 Fri Mar 24, 2017 3:25 pm
No new posts splitting a file abdulrafi DFSORT/ICETOOL 3 Fri Mar 24, 2017 11:51 am
No new posts Receive a file using PCOMM macro Harald.v.K IBM Tools 0 Thu Mar 23, 2017 6:50 pm
No new posts Export flat file data into excel sheet murali.andaluri DFSORT/ICETOOL 2 Mon Mar 20, 2017 5:39 pm
No new posts Formatting VB File Learncoholic DFSORT/ICETOOL 3 Mon Mar 20, 2017 12:29 pm


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