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
 

 

multiply two fields of a record using sort

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

New User


Joined: 06 Jul 2009
Posts: 13
Location: chennai

PostPosted: Tue Jan 18, 2011 11:18 pm    Post subject: multiply two fields of a record using sort
Reply with quote

Hi,

I want to multiply two records from the a record of the input file and write the product in the output file.

Ex:

000023050007789022222

My requirement is to multiply fields 023 and 05 to produce 115 and replace 023 and write it in the output.

Regards,
Nirmal
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: Wed Jan 19, 2011 12:26 am    Post subject:
Reply with quote

You can use a DFSORT job like the following to do what you asked for:

Code:

//S1 EXEC PGM=SORT                                       
//SYSOUT DD SYSOUT=*                                     
//SORTIN DD *                                           
000023050007789022222                                   
//SORTOUT DD SYSOUT=*                                   
//SYSIN DD *                                             
   OPTION COPY                                           
   INREC OVERLAY=(4:4,3,ZD,MUL,7,2,ZD,TO=ZD,LENGTH=3)   
/*


If you're not familiar with DFSORT and DFSORT's ICETOOL, I'd suggest reading through "z/OS DFSORT: Getting Started". It's an excellent tutorial, with lots of examples, that will show you how to use DFSORT, DFSORT's ICETOOL and DFSORT Symbols. You can access it online, along with all of the other DFSORT books, from:

http://www.ibm.com/support/docview.wss?rs=114&uid=isg3T7000080
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1703
Location: Australia

PostPosted: Wed Jan 19, 2011 3:06 am    Post subject:
Reply with quote

Hi Frank,

should the overlay be
Code:
   INREC OVERLAY=(4:4,3,ZD,MUL,7,2,ZD,TO=ZD,LENGTH=3)   
/*


Also what happens when the product is greater than 999, is the OP happy with the truncation ?


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: Wed Jan 19, 2011 3:12 am    Post subject:
Reply with quote

Yes, you're right that 4-6 should be overlayed. I've fixed my post.

Quote:
Also what happens when the product is greater than 999, is the OP happy with the truncation ?


That's what the OP asked for, so that's what I gave him. If overflow is a possibility, then the OP would have to explain what he wants in that case before I could show him what to do about it.
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 SORT to unpack a feild shr_amar DFSORT/ICETOOL 7 Fri Jul 07, 2017 4:32 am
No new posts How to write Specific Fields from Mul... Padhu SYNCSORT 6 Thu Jul 06, 2017 10:26 am
No new posts Optimize sort inrec parse vishwakotin DFSORT/ICETOOL 6 Mon Jun 26, 2017 11:15 pm
No new posts Reduce CPU Times for Join Sort santoshn SYNCSORT 12 Sat Jun 10, 2017 1:40 pm
No new posts Need to write record of PS File in ex... Chandan1993 JCL & VSAM 1 Wed Jun 07, 2017 1:35 am


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