Contents

Appeon Workarounds Guide
Appeon Workarounds PBL Reference
Introduction of Appeon Workarounds PBL
Appeon client functions
AppeonGetAppeonUserName function
AppeonGetBrowserVersion function
AppeonGetClientID function
AppeonGetCacheDir function
AppeonGetClientIP function
AppeonGetClientType function
AppeonGetHttpInfo function
AppeonGetIEHandle function
AppeonGetIEURL function
AppeonGetOSType function
AppeonGetSessionCount function
AppeonGetServerType function
AppeonLDAPLogon Function
AppeonPopMenu function
AppeonPopMenuOn function
AppeonExtFuncs object
of_getappeonusername function
of_getbrowserversion function
of_getclientid function
of_getcachedir function
of_getclientip function
of_getclienttype function
of_gethttpinfo function
of_getostype function
of_getiehandle function
of_getsessioncount function
of_getservertype function
of_getieurl function
of_popmenu function
of_popmenuon function
of_ldaplogon function
File Upload and Download
Configuring and deploying the file server
Deploying Appeon File Server to EAServer
Configuring an Appeon File Server
Deploying an Appeon File Server
Deploying Appeon File Server to IIS
Deploying an Appeon File Server
Configuring an Appeon File Server
Deploying Appeon File Server to WebSphere
Configuring an Appeon File Server
Deploying an Appeon File Server
Deploying Appeon File Sever to WebLogic
Configuring an Appeon File Server
Deploying an Appeon File Server
Uploading and downloading files
AppeonFileService object
Functions
of_logonfileserver
of_logofffileserver
of_appeonupload
of_appeondownload
of_Print2PDF
is_FileServerName
is_LogOnParams
il_Id
Distributed DataWindows (EAServer only)
Working with AppeonDataWindow and AppeonDataStore
AppeonGetFullStateEX function
AppeonSetFullStateEX function
Workaround steps
Workaround limitations
Appeon Labels
Appeon Commit/Rollback Label
Appeon Commit Label
Appeon Rollback Label
Appeon Queue Labels
Appeon Immediate Call Label
Appeon Update Label
Appeon EJB Solution
Appeon Bridge
EJBObject object
Calling relevant methods
Connecting to Server method
Disconnecting from Server method
Looking up method
Setting language method
Invoking component methods
Registering parameter methods
RegStruct and RegStructArray method
Creating instance method
Destroying instance method
Code example
Appeon requirements for EJB development
Calling .NET/COM server components (.NET only)
AppeonDotNetComponent object (.NET only)
Properties for AppeonDotNetComponent
Methods for AppeonDotNetComponent
Events for AppeonDotNetComponent
Code Examples
Objects & Controls
External user object
User object
Functions
AddItem function
DeleteItem function
System Objects
PipeLine object
Transport object
Application object
Properties
DWMessageTitle property
FreeDBLibraries property
Functions
RemoteStopConnection and RemoteStopListening functions
System Controls
ListView control
Functions
GetItemAtPointer function
Events
ItemActivate event
TreeView control
Functions
SetDropHighlight function
Tab control
Functions
TabPostEvent function
System Functions & Event
System Functions
DDE functions
FileLength64
FileReadEx
FileSeek64
FileWriteEX
FromAnsi function
FromUnicode function
GarbageCollect function
GarbageCollectGetTimeLimit function
GarbageCollectSetTimeLimit function
GetContextService function
GetLibraryList function
HyperLinkToURL function
LibraryDirectory function
PopulateError function
Shared Object functions
ShowHelp function
SignalError function
System Events
Help event
Other event
PowerScript Reference
PowerScript Topics
Calling functions and events
Overriding system function
Passing arguments to functions and events
Duplicate arguments for a function
Passing DataWindow by reference
Passing Menu object as a reference parameter
Reference parameter
Declarations
Shared variables
Language basics
Null values
PowerScript Statements
GOTO statement
SQL Statements
Stored procedure with Null output
DataWindow Reference
DataWindow operators
DataWindow operator precedence
DataWindow object properties
RetrieveAsNeeded property
Methods for the DataWindow control
CanUndo function
DBCancel function
GenerateResultSet method
GetTrans function
GetUpdateStatus function
ReselectRow method
ResetTransObject function
SaveAsAscii method
Scroll function
SetActionCode function
SetTrans method
Controls in a DataWindow
Large Binary/Text database OLE object
Column control
Char data type column
Properties of DataWindow control
LiveScroll property
Events of DataWindow control
Pbm_vscroll event
RetrieveRow event
Functions of DataStore Object
DBParm parameters in Database
ConnectString parameter
Common Workaround Techniques
Using Appeon enhancements
Appeon GetFullState/SetFullState/GetChanges/SetChanges (Windows Only)
Appeon-compliant Framework (ACF)
Packaging unsupported features in n-Tier NVOs or DLLs
Packaging unsupported objects into n-Tier NVOs
Placing unsupported functions into n-Tier NVOs
Advanced Workaround Techniques
How to remove the Internet Explorer menu
How to deploy NVOs to EAServer without PowerBuilder
How to use Client resources in Appeon Web application
How to replace Appeon image that displays at the running of applications
How to deploy an Appeon Web application without Appeon Developer
How to log in the Web deployed application with single sign-on
How to add header & footer for a deployed application
How to close a browser when closing an application
How to get the user name and password of the operating system
How to set limited connections for an Appeon Web application
How to deploy NVO to EAServer 6.1
How to customize the directory of the temporary folder in ADT
How to integrate Appeon Web applications with JSP/ASP
Applying Appeon CommandParm and Hyperlink features
Using Internet Explorer Frame
Integration through intermediate n-Tier Server-level solutions

 
Home
Appeon Workarounds Guide
Prev Page Next Page
 
 

Null values

Description

The Null value calculation in Appeon is quite different from that in PowerBuilder.  This is caused by the different calculation methods used in PowerScript and JavaScript. 

Workaround

When using expressions with Null value calculations, you should add conditional statements to ensure that you get the correct result.

Example #1

A and/or B is/are likely to carry a Null value in the following assignment:

C = A + B

Re-write it using the following format:

IF IsNull(A) or IsNull(B) THEN
SetNull(C)
ELSE
C = A + B
END IF

Example #2

Another example for relational operations:

IF A = B then
MessageBox ("Return Value","True")
ELSE
MessageBox ("Return Value","False")
END IF

Re-write it using the following format:

IF IsNull(A) or IsNull(B) then
       MessageBox ("Return Value", "False")
ELSEIF A = B then
MessageBox ("Return Value", "True")
ELSE
MessageBox ("Return Value", "False")
END IF
 

Note

The following table shows the different return values that PowerBuilder and Appeon will produce when an expression contains at least one null value.  In these examples, the values of variables A and B are both null:

Expressions

Return Value in PowerBuilder

Return Value in Appeon

A+1

Null

1

A+B

Null

Null

A*B

Null

0

A=1 (relational)

Null

False

A<>1

Null

True

NOT (A=1)

Null

True

A=A (relational)

Null

True

A=B

Null

True

IsNull(A=1)

True

False