View previous topic :: View next topic
|
Author |
Message |
kumarmca1
New User
Joined: 06 Jul 2009 Posts: 13 Location: chennai
|
|
|
|
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 |
|
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
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 |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
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 |
|
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
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 |
|
|
|