View previous topic :: View next topic
|
Author |
Message |
sourav_dasgupta
New User
Joined: 26 Dec 2007 Posts: 18 Location: Chennai, India
|
|
|
|
Hi I have a file in which I have a field like the following
Code: |
----+----3----+----4----+----5----+----6----+----7----+----8----+---
-0000000000049926.00 00090047 20090202
0000000000000157.40 00090047 20090202
0000000000111862.80 00090047 20090202
0000000000174050.96 00090047 20090203
-0000000000326189.75 0000000000000000.0000090047 20090203
-0000000000243879.65 00090047 20090203
-0000000000000517.82 00090045 20090203
0000000000332567.91 0000000000000000.0000010010 20090203
0000000000090452.91 0000000000000000.0000010010 20090203 |
The field starting from 21st position till 40th position has to be treated like a numeric field and I have to add all these rows value for this position to find out the sum total in cobol. But cobol does not support numeric of more than 18 size. Can any one please help me to find out how to do that? |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
But cobol does not support numeric of more than 18 size. |
Find the COBOL Programming Guide manual in the manuals link at the top of the page and look at the ARITH(EXTEND) compiler option. You will find your statement is not true if ARITH(EXTEND) is used. |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
or if you are restricted to an old compiler where the ARITH(EXTEND) option was not yet available, you could split the 20-digit numbers into "left" and "right" halves, add the right halves together, carry (if necessary) to the left halves, add the left halves, then concatenate the halves back together into your 20-digit number and then since you are limited to 18 digits, you'd need to define that 20-digit number as alphanumeric. |
|
Back to top |
|
|
|