In this patch i see really major problems has been fixed. Here is a list of SUP 2.2 SP5 version highlighted (according to me)bugfixes and workarounds, please add a comment for any other workarounds that highlighted according to your expreince, i will gladly update.


SUP 2.2 SP5

The intent of this post is to be aware of Mobile SDK,Unwired Server Runtime workarounds which we faced such problems or bugs during test or real projects.




Unwired Workspace and Mobile Bussines Objects


Description Workaround/Solution

SUP tooling now supports JIT WSDL parsing features

Problem:

When you build a Web Service MBO, the Eclipse Workspace hangs

when trying to connect to a Web Service

Solution:

Contact Support for Patch 10282

Error icon is still attached on relationship mapping line in MBO diagram

after deleting duplicated relationship


If two or more relationships are created between two MBOs, an error icon dis-
plays on the relationship line in the Mobile Application diagram. The error iconcontinues to display, even after the duplicated relationship is deleted

Workaround:

Close and reopen the Mobile Application diagram; the error icon disappears

Cannot create MBO operation when using a structure with LONG/BLOB

fields


An operation with type Other is created for an MBO using Properties > Operations > ADD. There, an SAP conection is used to create a BAPI parameter that contains a LONG/BLOB datatype. During the creation of that parameter, Next or Finish has no effect. For example:

  1. In the Properties view of an MBO, navigate to the Operations tab.
  2. Select Add, provide a name for your operation; for example, MyBlobOperation, Type is Other.
  3. Select data source type as SAP and select your SAP connection profile, click Next.
  4. Select Browse and enter the BAPI that contains the LONG/BLOB parameter in the text box below Refresh. Click Search …, select the BAPI, and click Next.
  5. In the Parameter Definition, select the LONG/BLOB parameter as In Parameter, click Next or Finish.

Neither is working. The problem is caused by an exception thrown when a dialog box should open.


Workaround:

  1. Create the operation as before but select Bind data source later, and click Finish.
  2. In the Properties view of the created operation, click the Data Source tab.
  3. Select Bind Data Source, select type as SAP and select your SAP connection profile, click Next.
  4. Click Browse and enter the BAPI that contains the LONG/BLOB in the text box below Refresh, then click Search …
  5. Select the BAPI and finish the dialog.
  6. In Parameter Definition select LONG/BLOB, and click Next.
  7. In Input Mapping, drag the argument containing the BLOB from the Remote Operation Arguments tree on the right side to the Client Parameters folder in the Values tree on the left side, and accept the informational pop-up dialog.

A client parameter is added and mapped to the argument.

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.

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

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.

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

Unwired WorkSpace – Hybrid App Package Development

Description Workaround/Solution

Keyboard position issue on iOS 7 devices and simulators

The Hybrid App screen does not display well if the soft keyboard was opened and the screen orientation was changed, on iOS7 devices and simulators.

Workaround: Close the soft keyboard before changing screen orientation.

BlackBerry 7 form labels do not use specified theme


On BlackBerry 7 devices, in a form that uses labels on the left, if the first field is editable, the second label does not initially use the theme set in the form.

Workaround: Type in the field to change the label to the appropriate theme.

When you click the Hybrid App icon on iOS devices, you see the message Sybase Mobile Workflow please go to the settings application and enter your configuration....


This happens if you attempt to open a version 2.0 workflow on the iOS device and connect to version 2.1 of Unwired Server.


Workaround: In Sybase Control Center, use the HWC template to create an application connection and leave the application identifier empty

Object queries in the Online cache group are case-sensitive.

If the enterprise information system (EIS) to which an object query is associated with has case-sensitive parameters, the client must pass matching parameters or no data is returned. For example, if the Customer MBO is in an Online cache group, has a load parameter “state” that is propagated to the attribute “state,” and a findByParameter object query defined as:

SELECT x.* FROM Customer x WHERE x.state = :state 

No data is returned to the client if they enter state=Ca, since the database parameter is case-sensitive (requiring “CA”). This is not an issue for object queries in other types of cache groups.

Workaround: None

Hybrid Apps do not work with Android simulators version 2.3.3

See http://code.google.com/p/android/issues/detail?id=12987 for a description of this issue.

Workaround: Use an earlier version of the Android simulator.

Native Object API

Description
Workaround/Solution

Additional information for Tracking KPI topic in Developer Guide: iOS Object API Applications


There is additional and corrected information for the Tracking KPI topic in the Developer Guide: iOS Object API Applications.

Workaround: See Tracking KPI for iOS Devices

Set values explicitly for synchronization parameters


For the Android, BlackBerry, Windows, iOS, and Windows Mobile object API, when a synchronization parameter is bound to the default personalization parameter “username”, the default personalization parameter “username” will not take effect if the client application has never before synchronized.

Workaround: Set values explicitly for the synchronization parameters. Do not use values from the default personalization parameters.

Failure to start a connection after a shutdown of Unwired Server


For Windows, Windows Mobile, Android and BlackBerry Object API clients, when the device application connects to the Unwired Server, the Unwired Server shuts down, and the device application calls startConnection again immediately after the shutdown occurs, an ApplicationRuntimeException may be thrown indicating Client state error. Client is already started, without attempting to reconnect to the server.

Workaround: You can catch the exception in the device application, sleep a few hundreds of milliseconds, and retry by calling Application.startConnection(timeout) again. After one or two seconds, you can try to reconnect.

Exception when calling update on a new MBO instance


When you call the update method on a new MBO instance, an ObjectNotSaved exception is thrown. For example:

MBO instance = new MBO(); instance.${UpdateMethod}(); 
//UpdateMethod is a update method defined in the model. 
Workaround: Do not call the update method for a new instance. Only call update when the instance is either created or saved.

Best practice for deleting the client database


By default asynchronous operation replay is enabled. When an application is connected (by Application.StartConnection() or Application.RegisterApplication), it may receive background notifications, and trigger a synchronize or other database operation. If you try to delete the database, you may receive database exceptions.

Workaround: Before deleting the database, stop the application connection (Application.StopConnection())
To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply