Unsupported Features

The following features are not supported in the beta version, but will be supported in the GA release:

  • ReselectRow function

With workarounds

SetTrans

Unsupported feature

SetTrans function is not supported. For example,

integer dwcontrol.SetTrans ( transaction transaction )

Workaround

Use SetTransObject to replace the SetTrans function.

Transaction trace

Unsupported feature

The transaction trace is not supported. For example,

SQLCA.DBMS = "TRACE MSOLEDBSQL SQL Server"

Workaround

It can be partially worked around using server logs under the debug mode.

Unsupported use cases in Embedded SQLs

Embedded SQLs are supported, but there are a few unsupported use cases.

Unsupported use case #1

If a PBD file includes DataWindows and/or embedded SQLs, the DataWindows and/or embedded SQLs cannot be converted to C# data models. (And the SetLibraryList and AddToLibraryList functions will not work properly with such PBD files as well.)

Workaround

Use DataWindow Converter to convert the DataWindows and embedded SQLs manually.

Unsupported use case #2

When executing a procedure in the cursor, only single result set is supported; the output parameter, return value, and multiple result sets are all unsupported.

declare lcs_test1 cursor for execute hr.synonyms_package.get_emp;
open  lcs_test1;
fetch lcs_test1 into :ls_name;
close lcs_test1;

Workaround

Execute the procedure directly.

Unsupported use case #3

Different transactions work on the same temp table. For example, after the first transaction is committed, the second transaction still accesses the temp table that is created in the first transaction. In this case, an "invalid object name #TEMBTABLE" error may occur.

Workaround

Make sure that all the operations related with one temp table are performed in the same transaction.

PBLs contain DataWindows with the same name

Unsupported feature

PBLs of the same application cannot have DataWindows with the same name.

Workaround

Modify the DataWindow name according to the unsupported feature report.

Without workarounds

Data pipeline

Unsupported feature

Data pipeline (Pipeline object) is not supported.

Workaround

N/A

MobiLink

Unsupported feature

MobiLink (MLSync object, MLSynchronization object, and SyncParm object) is not supported.

Workaround

N/A

Retrieve As Needed and Rows to Disk

Unsupported feature

Retrieve As Needed and Rows to Disk options are not supported (thus all data will be retrieved).

Workaround

N/A

Data retrieval and SQL operations in the RetrieveRow event

Unsupported feature

Data retrieval and SQL operations in the RetrieveRow event are not supported.

Workaround

N/A

SQLPreview

Unsupported feature

The sqltype argument of the SQLPreview event only supports the PreviewSelect type, and does not support the PreviewInsert, PreviewDelete, and PreviewUpdate types. For the PreviewSelect type, PowerServer does not return the SELECT statement, the SELECT statement generated on the client side will be different from the SELECT statement executed in the database. The SELECT statement on the client side is generated according to the PowerBuilder logics, while the SELECT statement executed in the database is generated by the PowerServer runtime.

The request argument of the SQLPreview event only supports PreviewFunctionRetrieve, and does not support PreviewFunctionReselectRow and PreviewFunctionUpdate.

Workaround

N/A

SQLReturnData property

Unsupported feature

The SQLReturnData property of the Transaction object is unsupported.

Workaround

N/A

Oracle RPC arrays

Unsupported feature

Oracle RPC does not support arrays.

Workaround

N/A

Database synonyms

Database synonyms are unsupported. Synonyms of different owners in the same database only supports the SELECT statement.

Workaround

N/A

Commit or Rollback Transaction using Dynamic SQL

Transactions that are dynamically committed are unsupported.

SQLs that are dynamically committed or rolled back are unsupported.

For example,

execute immediate "commit";
string ls_sql
ls_sql = "Rollback"
Execute immediate :ls_sql;
ls_exec = 'SAVE TRANSACTION ' + as_savepointname
execute immediate :ls_exec using sqlca;
//NOTE this is a rollback of a savepoint, not a rollback of the entire transaction:
ls_exec = 'ROLLBACK TRANSACTION ' + as_savepointname
execute immediate :ls_exec using sqlca;

Workaround

N/A