Known Issues for Sybase Unwired WorkSpace – Device Application Development

Learn about known issues and apply workarounds for Unwired WorkSpace and device application development.

Device Application Designer

Describes known issues when using Device Application Designer to create BlackBerry or Windows Mobile applications, or generating code using Device Application Designer.

CR # Description
632927
When the last line of controls in a tab spans across the screen boundaries, you cannot see the lower half of the controls.

Workaround: Adjust the font or layout, or remove or add a line of controls, remove one line of controls.

631601
The Device Application Designer does not create links to the child of a composite MBO.

When using a composite MBO relationship as a data source, when performing an operation on a child screen, you must always go through the parent screen or the operation fails.

When one child screen has two or more relationships with a parent and a create operation is submitted as pending through a composite relationship, and the user subsequently drills down through the other relationship to the child to perform a create operation, both fail to upload to server.

A failed create, update, delete on a composite relationship child causes the parent to be in pending status and the user sees that in the pending operation screen, but because its status is not create, update, or delete, it appears as "other."

Workaround: Manually create the links.

632216
When two MBOs have multiple one-to-one relationships, the generated Device Application Designer may miss menu items that use these relationships.
Workaround:
  1. Select the detail screen of the parent MBO on the Flow Design page.
  2. Go to the Screen Design page.
  3. Drag and drop a menu item onto the Menu area.
  4. Enter a menu item name.
  5. Add a Save Context action to the menu item:
    • Control – List Detail on Display.
    • Relationship – select the relationship that the Device Application Designer missed.
  6. Add a Connection action to the same menu item with these values:
    • Connection – Goto
    • Screen – the detail screen where the relationship should take the user to.
631146
When you perform an operation that references a list of structure types for a second time, you see all the information from the first operation on the screen instead of a blank screen.

Workaround: This is designed as a convenience for the user. To change the list structure data, however, do not change the "copied" data directly, since the data—but not the list structure itself—is referenced by the previous record, and is changed if the previous record has not yet been submitted. The best method for working on a second record is to use delete and create instead of update.

Another workaround is to write custom code to clean up the controls after clicking Submit on the parent when you are done with the create operation.

629782
A Windows Mobile or BlackBerry device throws an exception with a SQLE_NOT_IMPLEMENTED message.

Workaround: If the device client database throws this exception in a JOIN query, check your join fields to make sure they are the same type.

627794
When a column is defined as not nullable, Remedy sends an empty value.

Although the default XSLT generator has been enhanced to add support for enforcing nullable/non-nullable values, the Remedy service is not honoring its own WSDL. When a column that uses an INT type (and cannot default to any value, as a string datatype can) is defined as not nullable, Remedy sends an empty value, causing the runtime to throw sync errors.

Workaround: Manually edit the XSLT file to set nullable to true on the column.

627602
When you try to install a generated message-based synchronization application on the Windows Mobile Emulator using a storage card, you see an error message similar to Some kind of disk I/O error occurred when you start the application.

This problem is restricted to the emulator, and does not occur in the device itself. This error is caused by SQLite library, which handles applications installed on external storage memory differently than those installed in the main storage area.

Workaround: Install the application in the main storage memory of emulator, or test the application using an actual Windows Mobile device instead of the emulator.

627128
NullPointerException is thrown when a device property and the device are changed twice.

When the active page is the FlowDesign page, and you change a device property (for example, a database page size) and device type (such as the BlackBerry 8800 or 9530) together, after you save the changes then change the device type again, you see a null pointer exception in error log, and the property is not changed. You cannot save the property if you then change another device property (a database page size) after you save the changes in above step.

Workaround: Before changing the property a second time, switch to the ScreenDesignPage and back to the FlowDesignPage and then administer the change.

Mobile Workflow Forms Editor

Describes known issues when using Mobile Workflow Forms Editor to create message-based mobile workflows.

CR # Description
632858
In Mobile Workflow applications, an update fails at runtime when two MBOs are related via a one-to-one relationship with the same attribute name.

Workaround: Change the attribute name for one of the MBOs so that the attributes are not identical.

632557
In Mobile Workflow applications, an UPDATE operation can fail when you perform the operation on an iPhone that is set for a different time zone than your own

Workaround: None.

631322
One-to-one relationships are not supported in menu-invoked object queries.

Workaround: None.

596195
An MBO automatically specifies NULL as the default value for a parameter if one is not specified. Specifically, the default value can be set to NULL. If, however, the MBO's parameter value is set in the user interface of a mobile workflow application, its value cannot be set to NULL.

Additionally, a mobile workflow application cannot perform an update of a NULL value where the definition of the update uses old values, for example:

UPDATE sampledb.dba.TravelRequest
SET
trvl_Status=:trvl_Status,
...
WHERE (trvl_Status = :old.trvl_Status)

In the above case, the NULL values are converted to an empty string, which causes the update to fail.

Workaround: None.