Logging Errors

The following tables highlight some common logging errors that users might encounter, including how to debug the errors. You can use the Log button on the application banner to review the log messages and debug information for disconnected applications, provided that logging has been enabled for the application. For more information, see Siebel Mobile Application Logging.

Logging Error 1

Item

Description

Problem

Data created in offline mode is not visible in online mode after triggering a data upload.

The log event setting is set to UpSync (to debug issues with uploading data in offline mode).

Messages similar to the following examples appear in the log console:

SyncThreadHandler - OnCall, UpSync failed.
AppMgr - Ping, Pinging Server....
AppMgr - CheckServerConnection, Checking server connection....
AppMgr - CheckServerConnection, Network/Server is unavailable. Continuing in offline mode
AppMgr - CheckServerConnection, Checking server connection....Failed
AppMgr - Ping, Pinging Server.... Failed.
SyncThreadHandler - OnCall, UpSync failed. 

Cause

The cause of this problem can be one or more of the following:
  • Failure to upload data.

  • Conflicts after uploading data.

Solution

The steps to debug using the logs are:
  • Tap Log (the bug icon) on the application banner to open the log console.

  • Review the log messages to check whether there was a failure in uploading data or if there was a server connection failure.

  • In the case of an UpSync or Upload data failure message, check the server logs for more detailed information.

  • If the logs show an UpSync completed message, then check for conflicts.

Logging Error 2

Item

Description

Problem

After tapping Go Offline on the application banner, data extraction and the transition to offline mode is taking too long to complete.

The log event setting is set to Data Extraction. Messages similar to the following examples appear in the log console:

ProactiveCacheBuilder - ParseData Table:PharmaProfessionalStateLicenses, 
Columns: 15, No. of records: 39
ProactiveCacheBuilder - ParseData, Creating table LSMessagingPlansBC
ProactiveCacheBuilder - Unique Keys, OwnerId,Version,Name

The syntax for these error messages is as follows:

ProactiveCacheBuilder - ParseData Table: <BusComp Name without alpha chars>,
Columns: <#columns>, No. of records: <#records>.

Cause

The cause of this problem can be one or more of the following:
  • Too many records were downloaded for some of the business components (BusComps).

  • There were SQL errors when caching the downloaded records into the Web database.

  • There were network issues (the server, component, or VPN is down) or appcache issues.

Solution

The steps to debug using the logs are:
  • After download, tap Log (the bug icon) on the application banner to open the log console.

  • Verify the number of records downloaded for each business component (BusComp).

  • For BusComps with large volumes of records, modify the filter specification accordingly so that fewer records will be downloaded in future.

  • In the case of SQL errors, fix the issue as suggested by the error message in the log console.

Logging Error 3

Item

Description

Problem

In offline mode when trying to save a newly created record, the following error message appears:

"Field '<FieldName> ' not found in BusComp."

Cause

The field specified in the error message was not downloaded in offline mode.

Solution

The steps to debug are as follows:
  • Provided that the browser’s debugging tool to view browser resources is available, then query the Web database to verify whether the field is available in the BusComp.

Logging Error 4

Item

Description

Problem

In offline mode when saving a newly created record, some default fields are populated with incorrect values and some fields are given validation error messages.

The log event setting is set to Client System.

A message similar to the following example appears in the log console:

BusComp - SetDefaultValues, where 
expression type is: PreDefault, 
BC name is: Action, 
field: Duration Minutes, value: 15, 
expression: "IIf ([IsiLog] = 'N', 
[Work Time Min],Expr: "LookupValue(""APPOINTMENT_DURATION"", ""15"")")"

The syntax for this error message is as follows:

BusComp - SetDefaultValues, where 
expression type is : <expression type i.e. either PreDefault or PostDefault>, 
BC name is <bcname>, 
field: <field name>, 
value: <evaluated value>, 
expression: <expression>

A messages similar to the following example appears in the log console:

SyntaxError: Parse error on line 1: ...s Stock Employee Id - Owned by Id] = 'Y'
----------------------^
Expecting 'TOKEN_IDENTIFIER', ']', 'TOKEN_SPL_CHAR', 'TOKEN_NUMBER', got 'TOKEN_MINUS' Expression: 
[Is Product Allocation Type] = 'Y' && 
[Owned By Id] = LoginId() && 
[Stop Sampling Flag] = LookupValue("BOOLEAN_VALUE","N") && 
(([Active Flag] = LookupValue ("BOOLEAN_VALUE","Y") && 
[Is Stock Employee Id - Owned by Id] = 'Y' && 
[Is Lot Product Type] = 'Y' && 
[Is Lot Stock] = 'Y' && 
[Inventory Audit Report Id] IS NULL ) || (([Inventory Flag] = 'N' || [Inventory Flag] IS NULL ) 
&& ([Lot Flag] = 'N' || [Lot Flag] IS NULL ))) 

The syntax for this error message is as follows:

SyntaxError: Parse error on line #: <error message> Expression: <expression>

Cause

There are issues in the Siebel Repository with the expressions configured for the PreDefault, PostDefault or ValidationSpec property of the BusComp field.

Solution

The steps to debug using the logs are:
  • Tap Log (the bug icon) on the application banner to open the log console, and then tap Clear to clear any existing logs.

  • Navigate to the view where the error occurs, and then create a new record and save it.

  • Close any error message that appears, and then return to the log console.

  • In the log console, search for log messages that start with the following:

    "BusComp - SetDefaultValues..."

    These log statements provide information about the PreDefault and PostDefault expressions that are set for fields when creating new records and the evaluated value. Verify whether the value was evaluated correctly.

  • If the log console shows messages similar to the following, then the expression configured for the field in the Siebel repository is incorrect and must be fixed as indicated by the error message:

    SyntaxError: Parse error on line #:
  • If the browser’s debugging tool to view the browser resources is available, then verify all expressions in the application by running the SiebelApp.Metadata.VerifyExpressions() API in the log console, and then checking the logs for errors.

  • To get a list of all the expressions used in the application, run the SiebelApp.Metadata.GetAllExpressions() API in the log console. That is, the expressions used in all of the following:

    • BusComp Field PreDefault, PostDefault, and ValidationSpec property.

    • BusComp search specifications.

    • Applet Search specification.

    • CanInvokeMethod applet user property.

    • OnFieldUpdateSet BusComp user properties.

Logging Error 5

Item

Description

Problem

In offline mode when trying to save a newly created record, the following error message appears:

"<FieldName> is a required Field.Enter an appropriate value.(SBL-UIJ-00126)"

The log event setting is set to Client System (to debug error messages displayed in offline mode).

A message similar to the following example appears in the log console:

BusComp - SetDefaultValues, where 
expression type is : PreDefault, 
BC name is: Action, field: 
Duration Minutes, value: 15, 
expression: "IIf ([IsiLog] = 'N', [Work Time Min], 
Expr: "LookupValue(""APPOINTMENT_DURATION"", ""15"")")"

The syntax for this error message is as follows:

BusComp - SetDefaultValues, where 
expression type is <expression type/PreDefault or PostDefault>, BC name is <bcname>, 
field is <field name>, value is <evaluated value>, and expression is <expression>.

A message similar to the following example appears in the log console:

SyntaxError: Parse error on line 1:...s Stock Employee Id - Owned by Id] = 'Y'
----------------------^
Expecting 'TOKEN_IDENTIFIER', ']', 'TOKEN_SPL_CHAR', 'TOKEN_NUMBER', got 'TOKEN_MINUS' Expression: 
[Is Product Allocation Type] = 'Y' && 
[Owned By Id] = LoginId() && 
[Stop Sampling Flag] = LookupValue("BOOLEAN_VALUE","N") && 
(([Active Flag] = LookupValue ("BOOLEAN_VALUE","Y") && 
[Is Stock Employee Id - Owned by Id] = 'Y' && 
[Is Lot Product Type] = 'Y' && 
[Is Lot Stock] = 'Y' && 
[Inventory Audit Report Id] IS NULL ) || (([Inventory Flag] = 'N' || [Inventory Flag] IS NULL ) && 
([Lot Flag] = 'N' || [Lot Flag] IS NULL ))) 

The syntax for this error message is as follows:

SyntaxError: Parse error on line #: <error message> Expression: <expression>.

Cause

The suspected causes of this problem are:
  • The required <FieldName> is exposed in the UI with an asterisk (*) next to it, but the field contains no value.

  • The required <FieldName> is not exposed in the UI and has a PreDefault or PostDefault expression to set its value when a new record is saved. The issue here could be one of the following:

    The expression failed to parse.

    The expression includes fields with no values (where no values are set), leading to an incorrect evaluation.

    The expression looks up a value in a particular LOV Type, but that LOV Type is not downloaded.

Solution

The steps to debug this error using the logs are:
  • Tap Log (the bug icon) on the application banner to open the log console, and then tap Clear to clear any existing logs.

  • Navigate to the view where the error occurs, and then create a new record and save it.

  • Close any error message that appears and then return to the log console.

  • In the log console, search for log messages that start with the following:

    BusComp - SetDefaultValues... 

    These log statements provide information about the PreDefault and PostDefault expressions that are set for fields when creating a new record and the evaluated value. Verify whether the value was evaluated correctly.

  • If the expression contains functions similar to the following, then the expression verifies whether the LOV Type and the required value is downloaded in the local database:

    LookupValue(<LOV Type>,<value to look up>)
  • If the log console shows log messages similar to the following, then the expression configured for the field in the Siebel repository is incorrect and must be fixed as indicated by the error message:

    SyntaxError: Parse error on line #:

Logging Error 6

Item

Description

Problem

In offline mode, the applet shows an incorrect set of records or no records at all.

The log event setting is set to Client System (to debug error messages displayed in offline mode).

Messages similar to the following example appear in the log console:

BusComp - SearchSpec, Name: Pharma Professional Call - Mobile, 
SearchSpec: (( ("Category" = "Contact Call") 
OR ("Category" = "Attendee Call")) 
OR ("Category" = "Account Call"))
The syntax for this error message is as follows:
BusComp - SearchSpec, Name: <BusComp Name>, 
SearchSpec: <BusComp Search Spec> 

Cause

The cause of this problem can be one or more of the following:
  • The downloaded records do not satisfy the business component search specification.

  • The visibility of the downloaded record does not match the visibility of the view in which the record is expected to be displayed.

  • The filter specification that is applied to download the data is incorrect.

Solution

The steps to debug using the logs are:
  • Tap Log (the bug icon) on the application banner to open the log console, and then tap Clear to clear any existing logs.

  • Navigate to the view where the error occurs.

  • Check the logs to verify the business component search specification that was applied when the view was populated with records. Verify whether or not the missing records satisfied the search specification.

  • If the browser's debugging tool to view the browser resources is available, then query the Web database to determine whether the required records are downloaded and the value in the PDAVisibilityTypes column for the records. Verify the visibility of records.

  • Verify the filter specification applied to download the records.