1. Rohith Karanavor
  2. PowerBuilder
  3. Wednesday, 24 August 2022 17:45 PM UTC

Hi All,

I have a C++ based product (32 bit) in which our UI layer is on Power builder(Power Builder 21 Pro - 32 bit). We have tuxedo as middle tier and C++ is the backend.

Power builder is deployed to windows. Power builder connects to Tuxedo client at windows layer. Tuxedo client routes the calls to Tuxedo backend and inturn to C++ services. Tuxedo and Backend C++ services are deployed to Oracle Linux 8.5.

Due to the business requirement, we are changing all integer sequences in C++ layer to to Long long.

Power builder uses NVOs to transfer data from UI layer to Tuxedo layer. Tuxedo layer uses FML32 buffers to move data between tuxedo backend and Power builder UI. There is a hard rule that data-types should be matching between back-end and front end. Else FML32 based communication appends junk values to the buffer.

Since the C++ backend sequences are changed to LONG LONG, we are asked to do similar changes in the Power Builder layer too. 

We changed some of the power builder LONG data type to LONG LONG. But is is throwing compilation error.

What I would like to know is whether LONG LONG is available for 32 bit PB installations?

I can opt for decimal. But that will not match with my backend code.

Screenshot is attached for the reference. I changed diagnostic level to LONG LONG. But it is throwing compilation error.

Accepted Answer
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 24 August 2022 17:53 PM UTC
  2. PowerBuilder
  3. # Permalink

Hi Rohith;

 In PowerBuilder, that data type is declared as LongLong (no space between both keywords).

Regards ... Chris

Comment
  1. John Fauss
  2. Wednesday, 24 August 2022 18:05 PM UTC
A PB LongLong is an 8-byte, signed integer. Refer to PB Help, topic "standard datatypes".
  1. Helpful 2
  1. Chris Pollach @Appeon
  2. Wednesday, 24 August 2022 18:10 PM UTC
Check the App's bitness in the Environment object and set the structure length as per John's post (or 4 bytes in 32 bit mode). HTH
  1. Helpful
  1. Roland Smith
  2. Wednesday, 24 August 2022 20:14 PM UTC
In PB and C++ there isn't a space. It is LongLong in both languages. C++ requires upper case LONGLONG whereas PB is case insensitive.
  1. Helpful 1
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Wednesday, 24 August 2022 20:08 PM UTC
  2. PowerBuilder
  3. # 1

The data type Int in C++ is a Long in PowerBuilder.

From the 'Windows Data Types' page:

INT

A 32-bit signed integer. The range is -2147483648 through 2147483647 decimal.

From PowerBuilder help:

Long

32-bit signed integers, from -2147483648 to +2147483647.

A PowerBuilder LongLong is a 64bit signed integer which matches C++ LongLong.

https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types

 

Comment
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.