Validation rules are enforced during object query development, and, in some cases, when you deploy the MBO to SAP Mobile Server. Messages are generated when validation rules are violated.
| Severity and message | Cause | Action | 
|---|---|---|
| Error: Object query cannot have an empty name. | An empty string is specified as the object query name. | Enter a valid name. | 
| Error: Invalid object query name: '<Query Name>'. A valid identifier name must begin with an alphabetic character or an underscore, followed by alphanumeric characters or underscores. | An invalid object query name exists. | Enter a valid name. | 
| Error: Invalid object query name: '<Query Name>', name cannot be a Java or C# language keyword. | The object query name is a Java or C# keyword, such as binary, boolean, byte, char, date, datetime, time, decimal, double, float, object, int, integer, long, short, string, switch, and so on. | Do not use Java or C# keywords as object query names. | 
| Error: Invalid object query name: '<Query Name>', the length must be less than 64. | The length of the object query name is longer than 64 characters. | Shorten the object query name. | 
| Error: Duplicate object query name: '<Query Name>'. | The object query name is a duplicate. | Enter a valid and unique name. | 
| Error: Duplicate name: '<Query Name>' in the mobile business object. | The object query name is the same as the MBO to which it belongs. | Enter a valid and unique name. | 
| Error: The name: '<Query Name>' duplicates with an operation name. | The object query name is the same as an operation in an MBO to which they both belong. | Enter a valid and unique name. | 
| Error: The name: '<Query Name>' duplicates with an attribute name. | The object query name is the same as an attribute in an MBO to which they both belong. | Enter a valid and unique name. | 
| Error: Query name '<Query Name>' is a reserved word. | The object query name is a reserved word: pull, downloadData, find, load, findPushList, _find, getPendingObjects, findWithQuery, getSize, getReplayPendingObjects, findSubscriptionsToBeNotified, and findBy. | Enter a valid name. | 
| Error: Query definition cannot be empty. | The object query definition is empty. | Define a valid object query.  Note: 
                                            SAP Mobile WorkSpace validates only whether
                                            the object query is empty, but does not validate its
                                            syntax.  | 
| Warning: No attribute is mapped to parameter ‘<Para Name>’. | The object query parameter has no attribute mapping. | Specify an attribute mapping for the parameter. | 
| Error: The name: '<Query Name>' is a duplicate of the query name "FindAll". | User checks the box to generate ‘FindAll’ query and also defines a query named ‘FindAll’. | Use another valid name or uncheck the box to generate ‘FindAll’ query. | 
| Warning: Value truncation might occur, as the length of the parameter '<Para Name>' is shorter than the ‘Mapped to’ attribute’s length in object query '<Query Name>'. | Data lengths do not match. | Change the parameter data length or the mapped attribute’s data length so they match. | 
| Error: Object query parameter ''<Parameter name>'' should not be mapped to attribute ''<Attribute name>'' with data type ''<BigString/BigBinary>''. | Object query parameter must not be mapped to a BigString/BigBinary attribute. | Change the attribute map to a non-BigString/BigBinary attribute or do not map the attribute at all. | 
| Warning: The length of query parameter <Query parameter name> is not specified, set to <Default length> by default. Update the length to avoid truncation if necessary. | The query parameter was set to a default length because the query length was not specified. | Update the query parameter length to avoid possible data truncation. |