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

multiply two fields of a record using sort


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
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
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 Developer


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

PostPosted: Wed Jan 19, 2011 12:26 am
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:

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: 1702
Location: Australia

PostPosted: Wed Jan 19, 2011 3:06 am
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 Developer


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

PostPosted: Wed Jan 19, 2011 3:12 am
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 View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts JCL sort card - get first day and las... JCL & VSAM 9
Search our Forums:

Back to Top