[Stackoverflow] [Progress OpenEdge ABL] How can a number, around pow(2,39), be too large for a 64-bit integer value?

Not open for further replies.


I'm working with Progress-4GL, release 11.6, appBuilder and procedure editor.

I have a string with value "1000000000000", which I like to convert to an integer number.
First I tried to do this using a simple conversion, but this didn't work:

Result = INT(value). => runtime error 15747.

As the mentioned value is about 2^39 and INT seems to be used for 32-bit values, this seems to be correct.

So, I decided to use a larger datatype, INT64, but this seems to give the same error message:

Result = INT64(value). => again runtime 15747.

How is this possible? How can a 64-bit integer not be able to hold a value around 2^39?

Oh, if you want to know if I'm creating a 32-bit or 64-bit application, I have no idea, how can I know that from procedure editor/appBuilder?

Thanks in advance

Continue reading...
Not open for further replies.