1. Mariappan Balakrishnan
  2. PowerBuilder
  3. Monday, 19 August 2024 05:28 AM UTC

Dear Team,

Good morning.

I have migrated PB 11.2 to 2022 R3 version in my application. In my application, most of the places use double data types.

But after migration, I am getting the wrong value: 45990715392; the actual value should be 45990713430. 

After changing the data type, Longlong got the correct value of 45990713430.

Could you please help and give advice on why I am getting the wrong value and why it is not supported Double datatype in my application.

 

Thanks in advance.

Regards,

Mari

Benjamin Gaesslein Accepted Answer Pending Moderation
  1. Monday, 19 August 2024 06:29 AM UTC
  2. PowerBuilder
  3. # 1

Hi Mari,

where does this value come from? Some calculation?

Out of curiosity, why would you use a floating point datatype for what appears to be non-floating point data?

Comment
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Tuesday, 20 August 2024 02:00 AM UTC
  2. PowerBuilder
  3. # 2

Hi, Mariappan - 

What build of PB 2023 R3 are you using?

PB 2023 is built from a much newer version of Visual Studio than previous versions, so it's possible this might affect how the Double data type behaves. There was a similar bug reported a while back, which I believe has been fixed. Someone from Appeon would have to verify this.

Can you provide a small, example app that exhibits this errant behavior? If so, I suggest you open a free bug ticket to report this problem to Appeon. If you zip and post the example app in a new response in this thread, others in the Community can verify that there is a problem.

Best regards, John

Comment
  1. Mariappan Balakrishnan
  2. Tuesday, 20 August 2024 06:02 AM UTC
I am using PB 2023 R3, build 3356. My application was migrated to PB Classic.

As I mentioned, my application is used in many places with double datatypes.

I am fetching a contract instance from the database table using a stored procedure.

The stored procedure input parameter is passing two string variables, and the return is declared as a double variable.

Double-return value always gets the contract instance number fetched from the table.

While executing the stored procedure, return values 45990715392 (double), which is wrong; the actual value should be 45990713430.

Example below:

double double_return

declare p_procedure procedure for

pck_test.if_get_contractinstanz( :s_contractnumber,

:s_status ) using isqlca;

execute p_procedure;

IF if_dberror() THEN

if_fatalerror("","")

END IF

fetch p_procedure into :double_return;

close p_procedure;

return double_return



The same way is behaving on other screens as well.
  1. Helpful
  1. Armeen Mazda @Appeon
  2. Tuesday, 20 August 2024 17:25 PM UTC
I suggest you do as John mentioned. Provide a test case to Appeon tech support: https://www.appeon.com/standardsupport/newbug
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.