Siebel Sales Handheld Guide > Developing Siebel Handheld Applications >
Scripting in the Siebel Handheld Application
The Siebel Handheld application does not execute Siebel Visual Basic (VB) or Siebel eScript scripting.
The Handheld application runs Siebel VB or Siebel eScript scripts and specialized business component logic at synchronization time, rather than in real time on the handheld device. This has significant consequences in applets and controls, because scripts attached to applets and controls are ignored.
CAUTION: Be aware of the following additional issues with respect to scripts and validation:
- Deactivating scripts. Do not deactivate existing scripts in Siebel Tools to make the handheld device or the synchronization process accept data it is excluding. Errors can occur within the Siebel Web Client or elsewhere from where these scripts are run.
- Calls to user interface methods. When a business component script makes a call to a user interface method (such as Msg Box), the script cannot be executed, and the record update, deletion, or addition is rejected during synchronization. The Siebel Visual Basic code must be restricted to the business component level. Applet-level Siebel Visual Basic does not execute and, therefore, must not be written for the Handheld application. As a substitute to using Siebel Visual Basic on the Handheld application, for real-time execution, use the following business component user properties:
- BC/Field Read only field for making fields or business components read-only dynamically.
- Pickmap for fields on the picklist.
Do not use message boxes or prompts in the Siebel Visual Basic code used in conjunction with the Handheld application business components.
If the business component is shared between the Siebel Handheld Client and other applications, use the following constructs to determine whether the code is executed by the handheld synchronization process or if the code is executed in real-time by other applications:
'ActiveViewName' is only available when the script is called real time on the laptop
If (TheApplication.ActiveViewName<>"") then
ActiveViewName is not available if the business component is accessed by other server processes, such as workflow or business service.
To determine if the business component is called by synchronization for the Handheld application, do the following:
- Add a server script to Application_Start event of the Siebel Handheld application.
To do this, set a custom profile attribute with SetProfileAttr. If the custom attribute is not set, this indicates that:
- The Application_Start event of the Handheld application did not occur.
- The business component is called by something other than synchronization process for the Handheld application.
Business component level scripting is executed during the synchronization process for the Handheld application. You might want to enhance error handling if the business component is shared between the Handheld application and the laptop.