Undetected Unsupported Features

Appeon provides an Unsupported Features Analysis tool for detecting unsupported features in a PowerBuilder application before generating files for the application. The Unsupported Features Analysis scans each object within a PowerBuilder application for unsupported features and generates a report that, when combined with the this help, provides a foundation for bringing a PowerBuilder application to specification.

The Appeon Unsupported Features Analysis is capable of highlighting the majority of unsupported features contained in the PowerBuilder application; however, there are some features that the Unsupported Features Analysis will not detect, and thus will not list in the Analysis Report. Approximately 5% of PowerBuilder features that are not supported by Appeon may not be detected in the Unsupported Features Analysis.

An application containing unsupported features can still be converted to mobile and work correctly, depending on the type and number of unsupported features. If the mobile application does not work correctly but the Unsupported Features Analysis does not indicate any unsupported features that are likely to cause such a problem, the problem may be caused by an unsupported feature that has 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.

The following are unsupported features that are not detected during Unsupported Features Analysis.

Table 234. 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

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

  • UPDATE TableName SetStatement WHERE CURRENT OF CursorName;

  • DELETE FROM TableName WHERE CURRENT OF CursorName.

DataWindow expression function

lastpos

lastposw

mode

pageAcross

pageCount​Across

profileint

profile​string

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

gettext​length

mmmom​close

sbnpageup

vbxevent12

cbgetcursel

ddeter​minate

globalrc​change

mmmom​done

sbnsetfocus

vbxevent13

cbget​dropped​controlrect

ddeun​advise

heditctl

mmmom​open

sbnthumb​position

vbxevent14

cbget​droppedstate

deactivate

help

mmwim​close

sbnthumb​track

vbxevent15

cbgeteditsel

deadchar

hookrc​result

mmwim​data

sbntop

vbxevent16

cbgetext​endedui

deleteitem

hscroll

mmwim​open

setcursor

vbxevent17

cbgetitem​data

destroyclip​board

hscrollclip​board

mmwom​close

setfont

vbxevent18

cbgetitem​height

devmode​change

iconerase​bkgnd

mmwom​done

settext

vbxevent19

cbgetlbtext​len

drawclip​board

initdialog

mmwom​open

sizeclip​board

vbxevent20

cbinsert​string

drawitem

initmenu

mouse​activate

skb

vbxevent21

cblimittext

dropfiles

initmenu​popup

move

spooler​status

vbxevent22

cbncloseup

dwclose​dropdown

keyup

ncactivate

syschar

vbxevent23

cbndblclk

dwescape

lbaddstring

nccalcsize

syscolor​change

vbxevent24

cbndelayed​recogfail

dwnbackt​about

lbdelete​string

nccreate

sys​command

vbxevent25

cbndrag​drop

dwndrop​down

lbdir

ncdestroy

sysdead​char

vbxevent26

cbndrag​enter

dwngraph​create

lbfindstring

nchittest

syskeydown

vbxevent27

cbndrag​leave

emgetword​breakproc

lbfindstring​exact

nclbutton​dblclk

systemerror

vbxevent28

cbndrag​within

emlimittext

lbgetcaret​index

nclbutton​down

sysykeyup

vbxevent29

cbndrop​down

emlinefrom​char

lbgetcount

ncmbutton​dblclk

tbnmoved

vbxevent30

cbnedit​change

emline​index

lbgetcursel

ncmbutton​down

tcnclicked

vbxevent31

cbneditup​date

emline​length

lbgeth​orizontal​extent

ncmbutton​up

tcndouble​clicked

vbxevent32

cbnendrec

emline​scroll

lbgetitem​data

ncmouse​move

tcndragdrop

vbxevent33

cbnerrspace

emreplace​sel

lbgetitem​height

ncpaint

tcndragenter

vbxevent34

cbnkillfocus

emscroll

lbgetitem​rect

ncrbutton​dblclk

tcndragleave

vbxevent35

cbn​modified

emsetfont

mbutton​down

ncrbutton​down

tcndrag​within

vbxevent36

cbnrcresult

emset​handle

mbuttonup

ncrbuttonup

tcnenterkey

vbxevent37

cbnsel​change

emset​modify

mdiactivate

nextdlgctl

tcnkeydown

vbxevent38

cbnselend​cancel

emsetpass​wordchar

mdicascade

omnclose

tcnkillfocus

vbxevent39

cbnselend​ok

emsetread​only

mdicon​arrange

omndata​change

tcnrclicked

vbxevent40

cbnsetfocus

emsetrect

mdicreate

omndrag​drop

tcnrdouble​clicked

vbxevent41

cbreset​content

emsetrectnp

mdidestroy

omndrag​enter

tcnsel​changed

vbxevent42

cbselect​string

emsetsel

mdiget​active

omndrag​within

tcnsel​changing

vbxevent43

cbsetcursel

emsettab​stops

mdimaxi​mize

querynew​palette

tcnsetfocus

vbxevent44

cbseteditsel

emsetword​break

mdinext

queryopen

timechange

vbxevent45

cbsetextend​edui

emsetword​breakproc

mdirestore

queuesync

tvnenterkey

vbxevent46

cbsetitem​data

emundo

mdiset​menu

quit

uondrag​drop

vbxevent47

cbsetitem​height

enable

mditile

rcresult

uondrag​enter

vbxevent48

cbshow​dropdown

enchange

measure​item

renderall​formats

uondrag​leave

vbxevent49

changecb​chain

endsession

menuchar

render​format

uondrag​within

vbxevent50

char

enerrspace

menuselect

renhscroll

uonexternal​01

vkeytoitem

chartoitem

enhscroll

mmjoy1​buttondown

renvscroll

vbxevent01

vscroll

child​activate

enmaxtext

mmjoy1​buttonup

sbnbottom

vbxevent02

vscroll​clipboard

comm​notify

enteridle

mmjoy1​move

sbndrag​drop

vbxevent03

windowpos​changed

compacting

enupdate

mmjoy1z​move

sbndrag​enter

vbxevent04

windowpos​changing

compare​item

envscroll

mmmci​notify

sbndrag​leave

vbxevent05

winini​change

ctlcolor

erasebkgnd

mmmim​close

sbndrag​within

vbxevent06

Selected

ddeack

fontchange

mmmim​data

sbnend​scroll

vbxevent07

OMNDrag​Leave

ddeadvise

getdlgcode

mmmim​error

sbnkill​focus

vbxevent08

nclbuttonup

ddedata

getfont

mmmim​longdata

sbnline​down

vbxevent09

 

ddeexecute

getmin​maxinfo

mmmim​longerror

sbnlineup

vbxevent10

 

ddepoke

gettext

mmmim​open

sbnpage​down

vbxevent11