View previous topic :: View next topic
|
Author |
Message |
bvarun.
New User
Joined: 05 Jul 2013 Posts: 34 Location: India
|
|
|
|
hey guyz,
pls explain me this declaration
Code: |
05 WS-DATE-MAX PIC 9(05) BINARY VALUE 40. |
i couldnt find in reference books..i found it in production but no idea here with my teammates also..
from the flow of code i understand that this particular field is used as counter but clueless about BINARY VALUE 40 |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
BINARY is an alias of COMP.
VALUE 40 means the initial value for the variable is 40.
You need to find better reference books -- both of these terms are completely and thoroughly explained in the Enterprise COBOL Language Reference manual, a link to which is found at the top of this page (IBM Manuals). |
|
Back to top |
|
|
bvarun.
New User
Joined: 05 Jul 2013 Posts: 34 Location: India
|
|
|
|
thanks robert |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
In additions to BINARY it will also be possible to find COMP-4. All three mean exactly the same thing.
Familiarise yourself with compiler option TRUNC. If the program in question is compiled with TRUNC(BIN) then it is effectively COMP-5 anyway, which is different.
COMP-5 allows full use of all the bits defined for a field, and does binary truncation to field-size. BINARY, COMP and COMP-4 do decimal truncation to actual PICture size.
Your 5-digit field has a maxium value of 99,999 with TRUNC(STD). With TRUNC(BIN) it has a maximum of one shy of four gigs.
With TRUNC(OPT) it is the programmer's responsibility that the maximum value (positive or negative if signed) from the PICture is not exceeded. |
|
Back to top |
|
|
|