Siebel Consumer Goods Handheld Guide > Deployment of Siebel Handheld >

Scripting in the Siebel Handheld Client


The Siebel Handheld Client does not execute Siebel Visual Basic (VB) or Siebel eScript scripting.

The Siebel Web Client 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.

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. The script is probably used by the Siebel Web Client, and you can cause damage elsewhere.
  • Calls to user interface methods. When a business component script makes a call to a user interface method (such as MsgBox), the script cannot be executed, and the record update, deletion, or addition is rejected during synchronization. Strictly speaking, a script attached to a business component should not interact with the user interface, but it is nevertheless a common practice.

Any Siebel Visual Basic code should be restricted to the business component level. Applet-level Siebel Visual Basic will not be executed and, therefore, should not be written for the Siebel Handheld Client application. As a substitute to using Siebel Visual Basic on the Siebel Handheld Client 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 on the Siebel Visual Basic code used in conjunction with the Siebel Handheld Client application business components. If the business component is shared between the Siebel Handheld Client application and a laptop, use the following construct to determine if the code is being executed in real time on the laptop or during synchronization:

'ActiveViewName is only available when the script is called real time on the laptop

If (TheApplication.ActiveViewName<>"") then

MsgBox"....."

End If

Siebel Consumer Goods Handheld Guide