Yes, the value 1099511627775 is 13 digits, but the type of the data item described by Pic X(05) Comp-X is 12 digits, and that is what is relevant in a move from numeric to alphanumeric. Micro Focus is not "off by 1 byte" except by your interpretation and even then it would be off by 1 digit (not byte). Yes, the length of Pic 9(13) Binary(5) is 5 bytes (that's what the 5 in parentheses following Binary means), just like a Pic X(05) Comp-X (where the Pic X(05) specifies 5 bytes). The problem with Pic X(05) Comp-X is that for COBOL purposes, a digit-length must be implied and Micro Focus chose the digit length that would always fit. How ACUCOBOL chose to resolve the difference between binary representations and decimal representations in a decimal language such as COBOL is not relevant to the argument, only to an observation that this represents another ACUCOBOL vs. Visual COBOL compatibility issue in the subtle area of automatic conversion from binary to decimal to alphanumeric.
↧