N-Tier PowerBuilder NVOs (EAServer + Windows Only)

Supported

  • The variables used in n-Tier PowerBuilder NVO can be the following standard PowerScript data types:

    Table 1. 

    Boolean

    Blob

    Char

    Date*

    ateTime

    Decimal

    Double

    Int

    Integer

    Long

    Real

    String

    Time

    UInt

    ULong*

    UnsignedInt

    UnsignedInteger*

    UnsignedLong*

       

  • Functions in NVO components can use UnsignedLong or UnsignedInteger as arguments, but not as return values.

  • Functions in NVO components can use array, structure and reference as arguments.

  • The parameter and return value of an NVO public interface can be arrays, complex data types, or structures.

  • Declaring external functions (such as API functions, DLLs) in the NVO is supported if Appeon Server runs on Windows. External Function DLLs in Appeon Server/EAServer PowerBuilder components have no issues from PowerBuilder's perspective, but if the external function is not thread-safe, that can certainly cause a problem. It's dependent on the DLL's implementation, which has nothing to do with Appeon Server/EAServer. If it's not threadsafe you can set the com.sybase.jaguar.component.thread.safe property of the PowerBuilder component to false and that will prevent multiple threads from trying to access the external function simultaneously.

Differences

  • The precision of the decimal number, which is the return value of NVO components, is different from that in PowerBuilder and on the Web. This is caused by the different precision between PowerScript and JavaScript.

Unsupported

The n-Tier PowerBuilder NVOs cannot use the following features:

  • PowerScript MessageBox function in the NVO

  • Global variables

  • Visual controls or objects

  • Any visual control/object data type as the parameters for NVO functions and events

For calling and using remote EAServer PowerBuilder NVO components in the PowerBuilder client, some limitations are listed below:

  • The proxy object for an NVO cannot use the same name as the NVO.

  • It is impossible to use Dot Notation to refer to the instance variables of a remote NVO. Appeon suggests that you add functions to the remote NVO to get/set its instance variable values.

  • You cannot trigger or post the events of a remote NVO in the PowerBuilder client.

  • The script for an NVO or the script referred to in an NVO cannot contain UI-related scripts or objects.

  • Web applications are unsupported to call NVOs that contain inheritance hierarchy.

  • The parameter of an NVO public interface cannot be Date or Time in EAServer 6.x.

  • The return value of an NVO public interface cannot be decimal in EAServer 6.x