Known Issues for Sybase Unwired WorkSpace – Mobile Business Object Development

Learn about known issues and apply workarounds for Sybase Unwired WorkSpace and mobile business object (MBO) development.

Issue #Description
SMPONP-4457
If you import a MBO project from a directory without selecting "Copy projects into workspace" and the MBO project name does not match the name of the folder containing the project, code generation fails.

Workaround: When importing a Mobile Application project from a directory, always select "Copy project into workspace" and make sure that the containing folder matches the project name.

RTC-367
The internal default page size is used during Object API code generation if Unwired Server is not selected, which can lead to code generation failure without visible error from the code generation wizard.

If the MBO developer does not select Unwired Server during code generation, the default page size is used. If the internal default page size is too small, code generation fails without creating objectAPI code, and the page size error only displays in the Error Log view, but not in the code generation wizard.

Workaround: Select an Unwired Server connection profile to enable the Page size field, then select a proper page size. Also, as a common troubleshooting practice, open the Error Log in Sybase Unwired WorkSpace to find clues when the MBO developer detects any error symptoms.

RTC-350
An MBO that is modeled and bound to data source, then has all attributes deleted from the MBO at a later point, fails to deploy to Unwired Server.

Workaround: Use the Bind data source later option to create an MBO that has no attributes.

RTC-346
Sybase Unwired WorkSpace reports an error when a synchronization parameter is mapped to more than one load argument after migrating from a previous release.

Workaround: Remove redundant synchronization parameter to load argument mappings.

RTC-336
Deployment fails with unknown issue error when an MBO with custom object queries is renamed. 

Workaround: Modify the object query definition to reference the new MBO name.

RTC-217
 Sybase Unwired WorkSpace is missing the warning message in the Input Mapping section for migrated projects that have an operation with a mapping of an argument to both an attribute and personalization key.

Prior to Sybase Unwired Platform version 2.2 SP02, Sybase Unwired WorkSpace allowed mapping of an operation argument with 'Filled from Attribute', client parameter, and personalization key values at the same time, even though it might not work properly on the device application during runtime. Beginning with version 2.2 SP02, when adding a mapping of an operation argument, Sybase Unwired WorkSpace now allows only one of the three sources (MBO attribute, client parameter, personalization key) to map into the operation argument at one time; that is, the argument value sources are mutually exclusive.  However, when migrating the Mobile Application project from earlier versions, Sybase Unwired WorkSpace preserves the original MBO operation argument value assignment choices the developer made so that it is backward compatible with the project in the earlier version. Sybase Unwired WorkSpace does not remove any mappings when migrating a project.  While a warning is displayed if an argument is mapped to a client parameter and either an attribute or personalization key, no warning is displayed if mapped to an attribute and personalization key at the same time. 

Workaround: Adjust the MBO model so an operation argument maps to only one source.

RTC-151
When the MBO Developer adds load arguments that map to personalization keys, selecting Refresh may fail due to missing default values for the load arguments. The default values of the personalization keys are not used when performing the refresh. 

Workaround:  Unmap the personalization key field, which allows you to specify the necessary default values so that the execution to the EIS retrieves MBO metadata successfully.

CR-713043
Foreign key constraint violation error message.

You see a foreign key constraint violation error message if you create an MBO by dragging and dropping a table in which the foreign key and the primary key are both "identity" types.

Workaround: The MBO is created, and you can safely ignore these error messages.

CR-706312
A newly created record is deleted from the EIS, but still exists in CDB and device and always remains.

An MBO with a load argument and synchronization parameter contained in a cache group that uses an On-demand cache group policy with an interval greater than zero, where its load parameter is not mapped to a "Propagate to Attribute". If a record is created on the device (and synchronized with the EIS), then deleted later in any way from the EIS, when the On-demand cache group interval expires, a synchronization request from the device refreshes the CDB and device correctly. Although the newly created record has been deleted from the EIS, it still exists in CDB and device and will always remain. 

Workaround: Map the MBO's load argument to a corresponding Propagate to Attribute. If there is no corresponding attribute, add one, then map it.

CR-705643
Sybase Unwired WorkSpace does not refresh the attributes of a MBO based on a stored procedure after the stored procedure definition has been changed in the EIS.

Workaround: After changing the stored procedure definition in the EIS re-create the JDBC MBO.

CR-703200
MBO operations that include old value arguments that use large object types should be ignored, but SQL clauses still include the old value arguments.

Sybase Unwired WorkSpace automatically creates an MBO with old value arguments for operations. If the datasource includes operation arguments with large object types (BigString/BigBinary), Sybase Unwired WorkSpace shows a warning message that says the old value argument with large object types are ignored, but the SQL definition generated still includes the old value argument with the large object type.

Workaround: Manually remove any SQL clauses that include old value arguments with large object types.

CR-689859
The Sybase Unwired WorkSpace Welcome page moves to standby mode after Eclipse is started.

This is due to a known Eclipse 3.7 bug (https://bugs.eclipse.org/bugs/show_bug.cgi?id=355560). In standby mode, the Welcome page is docked to the right as a view in the Mobile Development perspective, since the Problem View is part of the Mobile Development perspective.

Workaround: Double-click the docked Welcome page to extend it to full screen.

CR-689707
Default runtime values requirements.

For an MBO operation, a non-nullable argument must get its runtime value from one of the following: client parameter, personalization key, default value, or fill-from-attribute. If a non-nullable argument already uses a fill-from-attribute or client parameter, its default value is ignored. Sybase Unwired WorkSpace still allows the user to input a default value.

Workaround: In this case, you need not set the default value, because it is not used during runtime.

CR-688576
The Oracle datatype NCLOB is not supported.
Workaround: Convert the CLOBS datatype to a varchar datatype. There are two ways to do this:
  • Create a stored procedure and call it from the MBO. In the stored procedure, convert the CLOBS to varchar:
  • Create this Transact-SQL® statement, which fetches 4000 bytes of the CLOB: select dbms_lob.substr( x, 4000, 1 ) from T.

    The maximum varchar length allowed in Transact-SQL statements is 4000 bytes. You can increase this to 32KB. Sybase recommends that you use a stored procedure to process the BLOB in this way. For example:

    declare 
      my_var long; 
    begin 
      for x in ( select X from t ) 
      loop 
        my_var := dbms_lob.substr( x.X, 32000, 1 );
.
CR-676634
For Web Service and other data sources with complex structures and deeply nested element trees, StackOverflow or OutOfMemory messages may occur, or some of the operation input parameters may not be generated properly.
In some cases, you see this error:
The assigned stack size and/or heap size is 
not sufficient for the attempted operation.

Workaround: Increase the stack and heap size of the Eclipse runtime parameter in UnwiredWorkSpace.bat with -Xmx, -Xms, -Xss arguments, or reduce the complexity or nested level of the Web Service definition of the MBO operation.

CR-642942
Cannot generate code with Javadoc option enabled to a folder containing Chinese characters.

When using the Code Generation wizard, if you enable the option to generate Javadoc, you cannot generate the code to a folder containing Chinese characters without first changing the language for non-Unicode programs to Chinese.

Workaround:
  1. Select Start > Settings > Control Panel.
  2. Double-click Regional and Language Options, then click the Advanced tab.
  3. From the drop-down list, select Chinese, and click Apply.
  4. Click OK.