Learn about known issues and apply workarounds for Unwired WorkSpace and mobile business object (MBO) development.
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. |
632796 |
Unwired WorkSpace silently changes primary key of parent MBO when mapping relationships
For one-to-one and one-to-many relationships, all primary keys in the parent MBO must map to a child MBO. Unwired WorkSpace enforces this restriction by, in some cases, silently modifying the MBO primary key definition. For example, a parent MBO has two primary keys (primeOne and primeTwo), and a relationship is created based only on the PrimeOne primary key. In this case, Unwired WorkSpace automatically unchecks primary key for primeTwo in order to follow the relationship rule. This can result in unintended consequences because of modified run-time behavior. Workaround: You must create another relationship for any additional primary keys. |
632593 |
Purging does not physically remove logically deleted data.
Cached data is marked as logically deleted when certain activities occur in the client application or back end. Workaround: If logically deleted MBO rows must be purged from the cache by the System Administrator, define a separate cache group for the MBO in Unwired WorkSpace. This allows the administrator to purge the data manually in Sybase Control Center. For details, see System Administration of the Unwired Platform > System Administration > Package Administration > Data Management Overview > Cache Data Management > Cache Refreshes > Purging a Cache Group. |
632533 |
Deployment fails when you try to deploy an MBO to a secondary Unwired Server in a cluster.
When you deploy a package into a Sybase Unwired Platform cluster, you must be connected to the Unwired Server designated as the primary server in the cluster. When a primary server fails, a new primary is elected from the remaining
secondary servers. You must use this new primary server to deploy packages. If not, deployment fails and you see a message similar to following in the server logs:
YYYY-MM-DD HH:MM:SS.SSS WARN MMS Thread-466 [com.sybase.sup.server.SUPDomain] On Non primary servers, you could not execute createDsyncDataZip() java.lang.Exception: On Non primary servers, you could not execute createDsyncDataZip() at com.sybase.sup.server.cluster.ClusterUtils.createDsyncDataZip (ClusterUtils.java:816) at com.sybase.sup.server.SUPDomain.incrementDomainVersion (SUPDomain.java:779) at com.sybase.sup.admin.server.DomainAdminImpl.deployJar (DomainAdminImpl.java:291) Workaround: An administrator can identify which server is the new primary server using Sybase Control Center and relaying the specific connection properties to you. Set up a new connection profile using those properties, then redeploy using that new connection. See Sybase Unwired WorkSpace - Mobile Business Object Development > Configure > Configure - Eclipse Development Environment > Creating a Sybase Unwired Server Connection Profile for how to create a new Sybase Unwired Server connection profile. |
631215 |
When you manually create an Adaptive Server® Enterprise data source connection endpoint using the Administrator console for use with an Eclipse deployment, your device application returns an error similar to Encountered error while synchronizing package, and your device cannot connect to the server.
Workaround: Always use the Eclipse deployment wizard to create a new datasource server endpoint, rather than using the Administrator console to manually create one. |
627980 |
Operation parameter and structured argument mapping error.
The deployment unit requires parameter or personalization key reference to the structured MBO. Without such a reference, the structured MBO is not generated in the deployment unit:
Workaround: Sybase recommends you map all fields of a structured argument to parameters. |
626652 |
Deployment fails when no primary key is defined, and if there are more than 300 attributes.
Workaround: Define a primary key before you deploy. |
622036 |
When SQL Editor is open on Windows 64-bit machines, exiting and restarting Unwired WorkSpace may fail.
This scenario can cause Unwired WorkSpace to stop responding.
Workaround: Either:
|
621362 |
Projects disappear from WorkSpace Navigator after being renamed.
This scenario can cause projects to "disappear" from WorkSpace Navigator:
Workaround: Exit and restart Unwired WorkSpace with the same workspace. The renamed project appears in Unwired Navigator. |
621243 |
The deployment and code generation of a mobile business object fails if you name it with one of these words that is a Java datatype or C# value type: binary, boolean, byte, char, date, datetime, time, decimal, double, float, object, int, integer, long, short, string.
Workaround: Do not use these words as part of the MBO name. |
620612 |
The old value argument cannot be updated if the attribute maximum length is different than the enterprise information system (EIS) column to which it is bound.
The following update statement fails if the attribute maximum length is different than what is specified in the back end, and if the where clause with the old value does not match.
UPDATE sampledb.dba.department SET dept_name=:dept_name, dept_head_id=:dept_head_id WHERE (dept_id = :dept_id) AND (dept_name = :old.dept_name OR (dept_name IS NULL AND :old.dept_name IS NULL)) AND (dept_head_id = :old.dept_head_id OR (dept_head_id IS NULL AND :old.dept_head_id IS NULL)) The error returned to the device application is:
Caused by: com.sybase.vader.da.jdbc.MinCheckAffected RowCountException at com.sybase.vader.da.jdbc.JdbcCheckAffectedRowCount.execute (JdbcCheckAffectedRowCount.java:27) at com.sybase.vader.service.interaction.PipelineComposite InteractionOperation.execute(PipelineCompositeInteraction Operation.java:54) at com.sybase.vader.cache.modify.CacheInvalidating Operation.execute(CacheInvalidatingOperation.java:29) at com.sybase.vader.mms.DataServiceImpl.execute (DataServiceImpl.java:197) Workaround:Remove the old value portions (of string column comparisons) from the where clause. |
617546 |
An update operation fails if set maxlength for the attribute is less than the length in the enterprise information (EIS) database column.
If rtrim is not used in these cases, the update operation fails with this exception:
com.sybase.vader.da.jdbc.MinCheckAffected RowCountException.null
Workaround: Use the rtrim function in the SQL statement to update operations for char datatype columns, such as:
SELECT dept_id, rtrim(dept_name) as dept_name, dept_head_id FROM sampledb.dba.department |
613403 |
When generating MBO attributes from an Adaptive Server Enterprise table, Visual SQL may display a SQLSTATE=42000 error message.
Because Unwired WorkSpace cannot retrieve the datatype of the parameter in the where clause when you access Visual SQL, the datatype is set to String by default, which can lead to a type conversion error. Workaround: Ignore the warning message. The MBO is created successfully. |
611864 |
When you drag and drop a stored procedure that uses one of seven datatypes as a parameter or returns a result-set with a column of one of these types to a new mobile business object, the result set contains only the RETURN_VALUE row.
The seven affected datatypes are: long varbit, varbit, uniqueidentifier, xml, long nvarchar, nchar, and nvarchar. Workaround: None. |
608903 |
When you execute a create operation on a mobile business object, and create includes a time datatype parameter, the SQL Anywhere® server incorrectly inserts a value of 00:00:00.0 for the time value. In Unwired Platform, if an MBO attribute is of type "TIME," there may be an issue when you refresh the consolidated database; the value may show as "00:00:00.0"
Workaround: Use a result-set filter to limit the digits for time to show only hh:mm:ss without the milliseconds. Refer to Result set filter documentation for the steps involved. |
606143 |
Uppercase letters used in package name may cause issues.
If a package name contains uppercase character, as in "Test," and this package uses a role-related feature, the role feature does not work on device as expected. Workaround: Do not use uppercase letters in the package name. |
594744 |
The correct Date/Datetime/Time datatype cannot be retrieved when you create an MBO; the datatype is incorrectly set to string.
When you edit an MBO definition, you see a question, similar to Data source or definition has changed. Do you want to refresh and remap? If you select yes, you see an error message similar to The metadata is not in sync with the backend data source. This error is caused by a limitation with the JDBC driver.
Workaround:
|
584645 |
Use the rtrim function in relationships between two string attributes which map from a char field.
When the enterprise information system (EIS) is an SQL Anywhere database and you create a relationship between two string attributes that map from a char field, and the nullability setting for the char field in the parent table is not null, the char field in child table is nullable. The relationship will not work. Workaround: Manually update the query statement for the parent MBO to apply the rtrim() function to the char field in the column list. For example, if the original query for the parent MBO is:
select region from sampledb.dbo.sales_regionsupdate the SQL statement to: select rtrim(region) as region from sampledb.dbo.sales_regions |
579990 |
Certain stored procedures in SQL Anywhere version 10, Eclipse may report a Call signature mismatch error when they are used to define an MBO.
Workaround: Update the stored procedures that jConnect™ for JDBC™ uses for accessing database metadata by running the SQL script provided with EBF #16903 for jConnect, available from the Sybase EBFs Maintenance page at http://downloads.sybase.com (login required). You can use the dbisql utility provided with SQL Anywhere version 10 to run the sql_asa10.sql file contained within the EBF to update these JDBC-access stored procedures. |
579891 |
Generating code from the Mobile Application Diagram or from the Device Application Designer, or deploying projects to Unwired WorkSpace, leaves the project in an unsaved state.
Workaround: Save Unwired WorkSpace projects after generating code or deploying to Unwired Server. |