Undetected Unsupported Features

Appeon Unsupported Features Analysis is capable of highlighting the majority of unsupported features contained in the PowerBuilder application. There are still a small number of features that the Unsupported Features Analysis will not detect, so they will not be listed in the UFA Report.

An application containing unsupported features can still be converted to the Web or to the Mobile and may work correctly, depending on the type and number of unsupported features. If the deployed application does not work correctly and the UFA Report does not indicate any unsupported features that are likely to cause such problems, the problems may be caused by unsupported features that have not been detected. In this case, it is strongly recommended that you carefully read the undetected features listed below and examine your application to determine if it contains any of these features.

Table 22. Undetected features

Naming conventions

  • Duplicate object names. No two objects should have the same name in an application, whether they are of the same type or not. The Unsupported Features Analysis cannot detect whether object names are duplicated in an application.

  • More than one application object. Having more than one application object in an application is unsupported. The Unsupported Features Analysis cannot detect whether more than one application object is present.

  • Applications named as objects or controls. Application names that have the same name as PowerBuilder control/object types are not supported. The Unsupported Features Analysis cannot detect whether this unsupported issue is present in an application.

Null values

  • Unsupported operation

  • Expressions with Null values

ASCII characters

Unsupported special ASCII characters:

  • Vertical tab (~v)

Non-visual UserObject

A NonVisualObject object assigned to an autoinstantiated NVO or an autoinstantiated NVO assigned to a NonVisualObject object.

Variables and constants

  • Instance variables have identical names as global variables.

  • longlong variable

  • PUBLIC, PROTECTED, PRIVATE qualifier in the variable declaration

Forced conversion

Forced conversion between types

Window

Multiple MDI windows in an application.

Overloading, overriding functions

  • Dynamic calling for overloaded functions

  • Dynamic calling for overriding functions

Using the return value of some supported functions

The return value of the Open or OpenSheet functions

Operators

The operator ‘^' with embedded SQL statements.

Stored procedure

  • Stored procedures declared in the conditional statement

  • DB2 stored procedures

  • Stored procedures placed inside an Oracle package

  • Oracle stored procedures with Appeon unsupported features

Cursor declare requirement

  • Cursor declared in the conditional statement;

  • If a cursor is declared for retrieving rows from table X, the table X (insert, delete, update) is modified during the cursor declare-close period.

Cursor statements

  • The following two syntax:

    1. UPDATE TableName SetStatement WHERE CURRENT OF CursorName;

    2. DELETE FROM TableName WHERE CURRENT OF CursorName.

DataWindow expression function

lastpos

lastposw

mode

pageAcross

pageCountAcross

profileint

profilestring

stdev

var

varp

   

Partially supported features

Some partially supported features, for example, reading Object.DataWindow.CrossTab.Rows is supported by Appeon, but writing is not, therefore, using DataWindow Modify function or equivalent to write this property cannot be detected by UFA.

User interface interactions

Unsupported features in the UI such as shortcut key.

Enumerated data type

Default values of enumerate type variable

Data source

The data sources of dynamically created DataWindows are stored procedures with input parameters.

Dynamic calls

  • Dynamically call the method of a menu object.

  • Dynamically call the method that contains reference arguments.

Others

  • PBX

  • PSR, for example: dw.dataobject=’*.psr’

  • Unsupported DBParm parameters

  • Encoding parameter of the Blob functions

  • filename & importtype arguments of ImportFile, ImportString, & ImportClipboard (filename can only be a text file (TXT))

  • Property defined in the string variable

  • Structure member has comment property

System events

The following are unsupported and undetected system events.

cbgetcount

dderequest

gettextlength

mmmomclose

sbnpageup

vbxevent12

cbgetcursel

ddeterminate

globalrcchange

mmmomdone

sbnsetfocus

vbxevent13

cbgetdroppedcontrolrect

ddeunadvise

heditctl

mmmomopen

sbnthumbposition

vbxevent14

cbgetdroppedstate

deactivate

help

mmwimclose

sbnthumbtrack

vbxevent15

cbgeteditsel

deadchar

hookrcresult

mmwimdata

sbntop

vbxevent16

cbgetextendedui

deleteitem

hscroll

mmwimopen

setcursor

vbxevent17

cbgetitemdata

destroyclipboard

hscrollclipboard

mmwomclose

setfont

vbxevent18

cbgetitemheight

devmodechange

iconerasebkgnd

mmwomdone

settext

vbxevent19

cbgetlbtextlen

drawclipboard

initdialog

mmwomopen

sizeclipboard

vbxevent20

cbinsertstring

drawitem

initmenu

mouseactivate

skb

vbxevent21

cblimittext

dropfiles

initmenupopup

move

spoolerstatus

vbxevent22

cbncloseup

dwclosedropdown

keyup

ncactivate

syschar

vbxevent23

cbndblclk

dwescape

lbaddstring

nccalcsize

syscolorchange

vbxevent24

cbndelayedrecogfail

dwnbacktabout

lbdeletestring

nccreate

syscommand

vbxevent25

cbndragdrop

dwndropdown

lbdir

ncdestroy

sysdeadchar

vbxevent26

cbndragenter

dwngraphcreate

lbfindstring

nchittest

syskeydown

vbxevent27

cbndragleave

emgetwordbreakproc

lbfindstringexact

nclbuttondblclk

systemerror

vbxevent28

cbndragwithin

emlimittext

lbgetcaretindex

nclbuttondown

sysykeyup

vbxevent29

cbndropdown

emlinefromchar

lbgetcount

ncmbuttondblclk

tbnmoved

vbxevent30

cbneditchange

emlineindex

lbgetcursel

ncmbuttondown

tcnclicked

vbxevent31

cbneditupdate

emlinelength

lbgethorizontalextent

ncmbuttonup

tcndoubleclicked

vbxevent32

cbnendrec

emlinescroll

lbgetitemdata

ncmousemove

tcndragdrop

vbxevent33

cbnerrspace

emreplacesel

lbgetitemheight

ncpaint

tcndragenter

vbxevent34

cbnkillfocus

emscroll

lbgetitemrect

ncrbuttondblclk

tcndragleave

vbxevent35

cbnmodified

emsetfont

mbuttondown

ncrbuttondown

tcndragwithin

vbxevent36

cbnrcresult

emsethandle

mbuttonup

ncrbuttonup

tcnenterkey

vbxevent37

cbnselchange

emsetmodify

mdiactivate

nextdlgctl

tcnkeydown

vbxevent38

cbnselendcancel

emsetpasswordchar

mdicascade

omnclose

tcnkillfocus

vbxevent39

cbnselendok

emsetreadonly

mdiconarrange

omndatachange

tcnrclicked

vbxevent40

cbnsetfocus

emsetrect

mdicreate

omndragdrop

tcnrdoubleclicked

vbxevent41

cbresetcontent

emsetrectnp

mdidestroy

omndragenter

tcnselchanged

vbxevent42

cbselectstring

emsetsel

mdigetactive

omndragwithin

tcnselchanging

vbxevent43

cbsetcursel

emsettabstops

mdimaximize

querynewpalette

tcnsetfocus

vbxevent44

cbseteditsel

emsetwordbreak

mdinext

queryopen

timechange

vbxevent45

cbsetextendedui

emsetwordbreakproc

mdirestore

queuesync

tvnenterkey

vbxevent46

cbsetitemdata

emundo

mdisetmenu

quit

uondragdrop

vbxevent47

cbsetitemheight

enable

mditile

rcresult

uondragenter

vbxevent48

cbshowdropdown

enchange

measureitem

renderallformats

uondragleave

vbxevent49

changecbchain

endsession

menuchar

renderformat

uondragwithin

vbxevent50

char

enerrspace

menuselect

renhscroll

uonexternal01

vkeytoitem

chartoitem

enhscroll

mmjoy1buttondown

renvscroll

vbxevent01

vscroll

childactivate

enmaxtext

mmjoy1buttonup

sbnbottom

vbxevent02

vscrollclipboard

commnotify

enteridle

mmjoy1move

sbndragdrop

vbxevent03

windowposchanged

compacting

enupdate

mmjoy1zmove

sbndragenter

vbxevent04

windowposchanging

compareitem

envscroll

mmmcinotify

sbndragleave

vbxevent05

wininichange

ctlcolor

erasebkgnd

mmmimclose

sbndragwithin

vbxevent06

Selected

ddeack

fontchange

mmmimdata

sbnendscroll

vbxevent07

OMNDragLeave

ddeadvise

getdlgcode

mmmimerror

sbnkillfocus

vbxevent08

nclbuttonup

ddedata

getfont

mmmimlongdata

sbnlinedown

vbxevent09

 

ddeexecute

getminmaxinfo

mmmimlongerror

sbnlineup

vbxevent10

 

ddepoke

gettext

mmmimopen

sbnpagedown

vbxevent11