Siebel Medical Handheld Guide

Siebel Medical Handheld Guide
Siebel Medical Handheld
Guide
Siebel Innovation Pack 2013
Version 8.1/8.2
September 2013
Copyright © 2005, 2013 Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions
on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in
your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast,
modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any
means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for
interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be errorfree. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing
it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software,
any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users
are “commercial computer software” pursuant to the applicable Federal Acquisition Regulation and
agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and
adaptation of the programs, including any operating system, integrated software, any programs installed
on the hardware, and/or documentation, shall be subject to license terms and license restrictions
applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management
applications. It is not developed or intended for use in any inherently dangerous applications, including
applications that may create a risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and
other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any
damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be
trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks
are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD,
Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced
Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information on content,
products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and
expressly disclaim all warranties of any kind with respect to third-party content, products, and services.
Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due
to your access to or use of third-party content, products, or services.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website
at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers have access to electronic support through My Oracle Support. For information,
visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
Contents
Siebel Medical Handheld Guide 1
Chapter 1:
What’s New in This Release
Chapter 2:
Overview of Siebel Medical Handheld
Siebel Mobile Products
17
About Siebel Handheld Applications
19
Overview of Siebel Handheld Application Synchronization
20
Synchronization Methods and Architecture for Siebel Handheld Applications
Overview of Siebel Handheld Client Configuration
Chapter 3:
21
23
Developing Siebel Handheld Applications
Overview of Siebel Handheld Application Architecture
Unsupported Features for Siebel Handheld Client
26
26
About Defining User Functionality in the Siebel Handheld Client
Configuration Guidelines for the Siebel Handheld Client
About Creating Siebel Handheld Application Projects
28
30
Designing Screens and Views for Siebel Handheld Applications
Working With Different Handheld Device Specifications
28
32
35
Configuring User Interface Elements in the Siebel Handheld Client
36
Configuring List Applets for the Siebel Handheld Client 37
Configuring Fields to Display as Pop-Up Text Areas in List Applets
38
Configuring Alpha Tabs in List Applets for the Siebel Handheld Client 38
Configuring Form Applets for the Siebel Handheld Client 39
Configuring Form UI Applets for the Siebel Handheld Client 40
Using Auto Pop-Up Lists in the Siebel Handheld Client 41
Configuring Tree Applets for the Siebel Handheld Client 42
About Home Page Applets in Siebel Handheld Applications 44
About Buttons in Siebel Handheld Applications 44
About Multi-Value Groups in Siebel Handheld Applications
44
About the Menu Bar in Siebel Handheld Applications 45
About Toolbars in Siebel Handheld Applications 45
About the Status Bar in the Siebel Handheld Application 46
Siebel Medical Handheld Guide Version 8.1/8.2
3
Contents ■
About Hyperlinks in the Siebel Handheld Application
46
Using the COM Interface with Siebel Handheld Applications
Configuring Calendar Settings
46
46
User Properties for Calendar Settings
47
Configuring Calendar Color Codes and Descriptions
Configuring the Goto View Button 48
47
Developing Tasks for Task UI in Siebel Handheld Applications
Designing a Task for Siebel Handheld Applications 50
Creating a Task for Siebel Handheld Applications 50
Example of Creating a Task for Siebel Handheld Application
Scripting in the Siebel Handheld Application
Compiling the Siebel Handheld Application
49
51
52
53
Installing and Setting Up End User Translation Functionality
Performing Setup for Initial String Translation
Distributing Translated Strings 55
54
54
Configuring Printing from the Siebel Handheld Application
56
Defining Documents for Siebel Handheld Applications 56
Designing Print Applets for Siebel Handheld Applications 57
Configuring Print Applets for the Siebel Handheld Application 58
Configuring Print Buttons for the Siebel Handheld Application 58
Creating Print Templates for the Siebel Handheld Application 59
Configuring a Printer Settings Dialog Box for the Siebel Handheld Application 59
Configuring Multiple Form and Multiple Quantity Printing for the Siebel Handheld
Application 60
Configuring Siebel Handheld Applications to Open Other Applications
61
Configuring Signature Capture Capabilities in Siebel Handheld Applications
61
Enabling Signature Capture 62
Invoking Signature Capture Dialog Box and Display 62
Signature Capture Dialog Box and Signature Display 63
Example of Configuring Signature Capture in Activities More Info View in Siebel Handheld
Applications 63
Adding a Signature Capture Button in Siebel Tools 65
User Properties for Signature Capture Applets
66
Testing the Siebel Handheld Application
Chapter 4:
66
Siebel Handheld Application Administration
Overview of Siebel Handheld Application Administration Screens
Setting Up Users in Siebel Handheld Applications
4
71
Siebel Medical Handheld Guide Version 8.1/8.2
69
Contents ■
Assigning User Responsibilities to Siebel Handheld Application Users
Creating Siebel Handheld Application Views 71
Specifying Views for the Siebel Handheld Application 72
About Business Component Filters 72
About Business Object Filters 74
About Thread Throttling in Siebel Handheld Applications
71
75
About Settings in the Administration Screens of Siebel Handheld Applications
Configuring Application Settings for Siebel Handheld Applications
76
77
Configuring Component Level Settings for Siebel Handheld Applications
Administering Barcode Settings for Siebel Medical Handheld Applications
83
84
Enabling Barcode Scanning in Siebel Handheld Applications 84
Setting New Record Behavior for Barcode Scans 85
Mapping a Button for Socket In-Hand Scan Card 86
About the Barcode Parsing Algorithm Used in Siebel Medical Handheld Applications 86
Creating New Barcode Definitions for Siebel Handheld Applications 89
Enabling Applications Views for Barcode Scanning 93
Enhancing the Behavior of the Barcode Scan 94
Example of Creating a New Barcode Definition in the Siebel Handheld Application 97
About BatchSync for Siebel Handheld Applications
99
Process for Administering Batch Sync for Siebel Handheld Applications
Enabling BatchSync for Siebel Handheld Applications
Downloading a Database Extraction 101
Reviewing Batch Synchronization Status 102
Running a Batch Extract 104
Running a Batch Transaction Process 104
Load Balancing Support for Synchronization
Setting the ApplicationDirectory Parameter
100
105
106
Enabling Encryption for Siebel Handheld Applications
106
Enabling Application Lockout for a Siebel Handheld Application 107
Enabling Authentication for a Siebel Handheld Application 107
Enabling Local Database Encryption for a Siebel Handheld Application
Storing Asynchronous Data
100
108
108
About Monitoring Synchronization Sessions for Siebel Handheld Applications
109
Monitoring Synchronization Sessions for Siebel Handheld Applications 110
Obtaining Error Details from Synchronization Sessions in Siebel Handheld Applications
111
Obtaining Business Component Information from Synchronization Conflicts in Siebel
Handheld Applications 111
Siebel Medical Handheld Guide Version 8.1/8.2
5
Contents ■
Obtaining an Audit Trail for Synchronization Sessions in Siebel Handheld Applications
112
Responding to Synchronization Errors in Siebel Handheld Applications 112
Organization Enabled LOV Support
113
Enabling Organization LOV Support in the Siebel Handheld Client 114
Example of Configuring, Enabling, and Using Multiple Organization LOVs in Handheld
Applications 114
Administering Siebel Medical Handheld Applications for Consignment Inventory
Management 117
About Product Hierarchies 118
About Products, Assets, and Inventory Transactions 119
About Usage Calculations 121
Administering Products for Siebel Medical Handheld Applications 122
Managing Inventory Locations with Siebel Medical Handheld Applications 123
Re-creating Product Hierarchies in Inventory Locations with Siebel Medical Handheld
Applications 124
Setting Consignment Levels for Inventory for Siebel Medical Handheld Applications 124
Creating Assets for Siebel Medical Handheld Applications 125
Managing Inventory Transactions for Siebel Medical Handheld Applications 126
Viewing Signatures Captured for Approval-Required Moves from Siebel Medical Handheld
Applications 127
Assigning Cycle Counts for Siebel Medical Handheld Applications 128
Chapter 5:
Data Filtering for Siebel Handheld Applications
Developing Data Filters for Siebel Handheld Applications
129
Constructing Business Component and Business Object Filters for Siebel Handheld
Applications 130
Business Object Filters for Siebel Handheld Applications
131
Recommendations for Managing Business Object Filters for Siebel Handheld
Applications 131
Companion Synchronization Deployments 132
Direct Server Synchronization Deployments 132
Examples of Default Business Object Declarations
Designating Visibility 134
Overriding the Popup Visibility 135
Multiple Visibility Methods 135
Chapter 6:
132
Deploying Siebel Handheld Applications
Overview of Deployment for the Siebel Handheld Application Client
Installing the Siebel Server for Direct Server Synchronization
6
Siebel Medical Handheld Guide Version 8.1/8.2
139
137
Contents ■
Installing the Components for Direct Server Synchronization Using the Siebel Server
Installer
139
Siebel Server Component Parameters for Direct Server Synchronization 140
Configuring the Siebel Server for Direct Server Synchronization
141
Configuring Logging Levels for Direct Server Synchronization 141
Configuring Logging Levels for Companion Synchronization 142
Optimizing Siebel Server Process Management for Direct Server Synchronization
Performance and Scalability of Synchronization for Handheld Applications
Providing Synchronization Security with Secure Sockets Layer
Process of Installing the Siebel Handheld Application
143
144
145
Editing the Siebel Handheld Application Installation Configuration File
Enabling Back Up of Siebel Handheld Application Database
150
Installing Print Templates in the Siebel Handheld Install Directory
145
151
Setting Up Siebel Handheld Application Installation on a CompactFlash Card
Changing the SyncURL on Handheld Devices
143
152
152
Installing the Siebel Handheld Application from External Media
Distributing Siebel Handheld Application Patches
153
153
Deploying Patches to Handheld Applications with Direct Server Synchronization
154
Deploying Handheld Application Patches with Companion Synchronization
156
Creating Handheld Application Upgrade Kits for Companion Synchronization PDA 158
Deploying Attachments to Handheld Applications with Direct Server Synchronization
158
Deploying Handheld Application Attachments with Companion Synchronization
160
Downloading Patches to the Handheld Device 162
Setting up PatchAgent on Windows 2003
162
Using PatchAgent to Distribute New Print Templates to the Handheld Device
Chapter 7:
163
Synchronization Conflict Handling and
Recovery with Siebel Handheld Applications
Preventing Synchronization Transaction Conflicts with Handheld Applications
Extended Pick Processing in Siebel Handheld Applications
Insert Failure Processing in Siebel Handheld Applications
Recovering Error Data in Siebel Handheld Applications
Chapter 8:
165
165
167
169
Installing the Siebel Handheld Application
Process of Installing, Reinstalling, or Upgrading a Siebel Handheld Application
Uninstalling the Siebel Handheld Application
171
171
Siebel Medical Handheld Guide Version 8.1/8.2
7
Contents ■
Installing the Siebel Handheld Application
Chapter 9:
172
Working with Siebel Handheld Applications
Components of the Siebel Handheld Application Interface
Navigating the Siebel Handheld Application Interface
175
177
Navigating a List of Records in the Siebel Handheld Application
Entering Data with the Siebel Handheld Application
178
179
Finding and Querying Data in the Siebel Handheld Application
180
About Find in Siebel Handheld Applications 180
About Queries in Siebel Handheld Applications 180
Printing with the Siebel Handheld Application
180
Exporting Data with the Siebel Handheld Application
181
Setting User Preferences in the Siebel Handheld Application
182
Backing Up and Restoring Data with the Siebel Handheld Client
Synchronizing Data on Your Handheld Device
182
184
Using Synchronization with the Siebel Handheld Application Client
184
Using Companion Synchronization with the Siebel Handheld Client 185
Using Direct Server Synchronization with the Siebel Handheld Application Client
About Synchronization Options
188
Troubleshooting Synchronization with the Siebel Handheld Application Client
Guidelines for Improving Siebel Handheld Application Performance
190
Chapter 10: Using Siebel Medical Handheld
About Using Siebel Medical Handheld
195
Managing Accounts in Siebel Medical Handheld
196
Creating Accounts in Siebel Medical Handheld 197
Affiliating Contacts with Accounts in Siebel Medical Handheld 199
Specifying the Best Time to Call on an Account in Siebel Medical Handheld
Viewing Sales Data in Siebel Medical Handheld 200
Logging and Tracking Service Requests in Siebel Medical Handheld 200
Entering Private Notes for Accounts in Siebel Medical Handheld 201
Entering Shared Notes for Accounts in Siebel Medical Handheld 202
Associating Activities with Accounts in Siebel Medical Handheld 202
Tracking Opportunities with Accounts in Siebel Medical Handheld 203
Working with Contacts in Siebel Medical Handheld
Adding Contacts in Siebel Medical Handheld
8
187
203
204
Siebel Medical Handheld Guide Version 8.1/8.2
199
189
Contents ■
Associating Accounts to Contacts with Siebel Medical Handheld 205
Associating Contacts with Opportunities in Siebel Medical Handheld 205
Adding Private or Shared Notes About a Contact in Siebel Medical Handheld
Working with Sales Methods in Siebel Medical Handheld
Developing Opportunities in Siebel Medical Handheld
207
207
Creating Opportunities in Siebel Medical Handheld 208
Associating a Contact with an Opportunity in Siebel Medical Handheld
Associating a Product with an Opportunity in Siebel Medical Handheld
About Opportunity Quotes 211
Managing Activities in Siebel Medical Handheld
210
210
211
Creating Activities in Siebel Medical Handheld 212
Delegating Activities in Siebel Medical Handheld 213
Associating Contacts with Activities in Siebel Medical Handheld 213
Adding General Activities Using the Calendar in Siebel Medical Handheld
Developing Quotes in Siebel Medical Handheld
207
213
215
Creating Quotes in Siebel Medical Handheld 215
Using Auto Quote in Siebel Medical Handheld 216
Adding Quote Items in Siebel Medical Handheld 218
Printing Quotes in Siebel Medical Handheld 219
Managing Orders in Siebel Medical Handheld
219
Creating Orders in Siebel Medical Handheld 220
Adding Order Line Items in Siebel Medical Handheld 220
Entering Terms and Totals in Siebel Medical Handheld 221
Tracking Expenses in Siebel Medical Handheld
222
Creating an Expense Report in Siebel Medical Handheld 222
Submitting an Expense Report in Siebel Medical Handheld 223
Creating General Activities in Siebel Medical Handheld
223
Adding General Activities from the Activities View in Siebel Medical Handheld
Adding General Activities from the Calendar View in Siebel Medical Handheld
Managing MedEd Events in Siebel Medical Handheld
225
Creating a MedEd Event in Siebel Medical Handheld 226
Inviting Professionals to MedEd Events Using Siebel Medical Handheld
Managing Consigned Inventory with Siebel Medical Handheld
About Barcode Scanning in Siebel Medical Handheld
224
224
226
227
227
Managing and Performing Cycle Counts with Siebel Medical Handheld
229
Viewing, Scheduling and Accessing Cycle Counts in Siebel Medical Handheld
Starting a Cycle Count 231
Performing a Cycle Count Using Barcode Scanning 232
230
Siebel Medical Handheld Guide Version 8.1/8.2
9
Contents ■
Counting Products by Electronically Entering Product and Asset Records
Moving Products While Performing a Cycle Count 234
Completing Cycle Counts 235
Moving Inventory with Siebel Medical Handheld
235
Moving Inventory while Performing the Count 236
Moving Assets while Analyzing Inventory 237
Moving Products as a Stand-Alone Process 238
Capturing Signatures for Approval-Required Moves 239
Analyzing Inventory with Siebel Medical Handheld
Viewing Hierarchical Results for Inventory and Usage
Viewing Results for Consigned Inventory 242
Viewing Assets in an Inventory Location 243
240
240
Appendix A: Troubleshooting
Troubleshooting Siebel Handheld Application Installation
245
Troubleshooting Siebel Handheld Application Synchronization
246
Companion Synchronization Checklist 246
Direct Server Synchronization Checklist 247
Resynchronizing Problems 248
Synchronization Timeout Parameters 248
Siebel Handheld Application Log Files
249
Direct Server Synchronization Log and Output Files 250
Companion Synchronization Log and Output Files 250
Handheld Device Log 251
Using SQLTrace with Siebel Handheld Applications
End User Error Messages
Web Server Timeout Errors
252
253
253
Handheld Device Timeout Errors
253
Siebel Handheld Application Performance
254
Appendix B: Business Components and Classes
Business Components for Siebel Medical Handheld
257
Business Component Classes for Siebel Medical Handheld
Applet Classes for Siebel Medical Handheld
258
259
Appendix C: User Properties
User Properties for Siebel Medical Handheld Applications
10
Siebel Medical Handheld Guide Version 8.1/8.2
261
233
Contents ■
Appendix D: Print Tagging Language
Overview of Print Tagging Language for Siebel Handheld Applications
Print Mode Tags
Absolute Tag
Relative Tag
275
276
276
276
Data Output Tags
277
Applet Tag 277
Cell Tag 279
Picture Tag 281
Static Text Tag 283
Print Formatting Tags
283
Background Tag 283
Comment Tag 284
Divider Tag 285
DrawRect Tag 286
EndOfLine Tag 287
EndOfPage Tag 287
Footer Tag 288
Format Tag 288
Frame Tag 289
Header Tag 290
Landscape Tag 291
List Tag 291
LineTo Tag 293
Margin Tag 294
PageBreak Tag 295
Portrait Tag 295
Title Tag 296
Get and Set Tags
296
GetCount Tag 297
GetDate Tag 298
GetDirect Tag 298
GetField Tag 299
GetRegistry Tag 300
GetTime Tag 301
GetTotal Tag 301
SetVariable Tag 302
Control Positioning Tags
GetX Tag
GetY Tag
303
303
304
Siebel Medical Handheld Guide Version 8.1/8.2
11
Contents ■
Offset Tag 304
SetX Tag 305
SetY Tag 306
Data Manipulation and Logic Tags
Concat Tag 307
Conditional Tags 308
sql (WHERE) Tag 309
Variable Parameter Tags
307
311
Using Variables in Print Templates
311
Appendix E: Print Configuration Settings
Overview of Print Configuration Settings for Siebel Handheld Applications
Print Configuration Settings
315
MarginBottom 316
MarginLeft 316
MarginRight 316
MarginTop 317
PaperHeight 317
PaperSize 317
PaperWidth 317
PrinterBaudrate 318
PrinterCompressed 318
PrinterDensity 318
PrinterDither 319
PrinterDraftMode 319
PrinterFormFeed 319
PrinterHandshake 320
PrinterOrientation 320
PrinterPort 321
PrinterType 321
PrinterUserSelect 322
Default Printing Settings 323
Appendix F: COM Extensibility
About COM Extensibility
325
Overview of the SCEC Framework 325
Receiving Event Notifications 326
Invoking Siebel Methods (Action Requests) 328
Obtaining and Using Action Request Interface References
Process of Implementing a SCEC
12
332
Siebel Medical Handheld Guide Version 8.1/8.2
331
315
Contents ■
Obtaining the SCEC Support Files 332
Generating and Configuring a SCEC 333
Modifying SCEC Files 334
Deploying SCEC Files to a PDA Device 343
Configuring SCEC User Properties in Siebel Tools
Configuring SCEC Registry Settings 345
344
Index
Siebel Medical Handheld Guide Version 8.1/8.2
13
Contents ■
14
Siebel Medical Handheld Guide Version 8.1/8.2
1
What’s New in This Release
What’s New in Siebel Medical Handheld Guide, Version 8.1/8.2
No new features have been added to this guide for this release. This guide has been updated to
reflect only product name changes.
Siebel Medical Handheld Guide Version 8.1/8.2
15
What’s New in This Release ■
16
Siebel Medical Handheld Guide Version 8.1/8.2
2
Overview of Siebel Medical
Handheld
This chapter introduces Oracle’s Siebel Medical Handheld application. The following topics are
covered in this chapter:
■
“Siebel Mobile Products” on page 17
■
“About Siebel Handheld Applications” on page 19
■
“Overview of Siebel Handheld Application Synchronization” on page 20
■
“Synchronization Methods and Architecture for Siebel Handheld Applications” on page 21
■
“Overview of Siebel Handheld Client Configuration” on page 23
Siebel Mobile Products
Several mobile applications are included in the Siebel product line. Each serves a different purpose
and runs on different devices. Often, these applications complement each other. The mobile
applications are as follows:
Siebel Mobile Web Client and Siebel Remote. A disconnected client and supporting server-side
software, respectively. These applications provide intelligent transaction routing, data
synchronization, and Store-and-Forward Messaging (SFM) capabilities.
Siebel Handheld Application. A disconnected client with data filtering, data synchronization, and
Store-and-Forward Messaging capabilities.
Siebel Wireless. Siebel applications delivered to client browsers that connect to a Siebel Server
through a wireless network.
Figure 1 illustrates the hardware platforms on which these products run.
NOTE: In Figure 1, form factors refers to the general capabilities, screen shapes, and sizes of the
various devices shown in the illustration.
Siebel Medical Handheld Guide Version 8.1/8.2
17
Overview of Siebel Medical Handheld ■ Siebel Mobile Products
Figure 1.
Siebel Mobile Product Platforms
Table 1 describes the Siebel mobile products’ software components and supported hardware devices.
Table 1.
Siebel Mobile Product Software Components and Supported Devices
Product Group
Server Components
Siebel Remote
Siebel Remote
Store-and-Forward
Messaging
Siebel Handheld
Applications
Handheld Application
Synchronization Object
Manager
Client
Component
Siebel Mobile
Web Client
Supported Client Devices
Desktop PCs
Laptop PCs
Tablet PCs
Siebel Handheld
Client
Windows-based mobile devices
Client Browser
Any mobile device running a
supported client browser,
including wireless devices and
handheld devices
Store-and-forward
Messaging
Siebel Wireless
18
Wireless Object Manager
Siebel Medical Handheld Guide Version 8.1/8.2
Overview of Siebel Medical Handheld ■ About Siebel Handheld Applications
Table 2 describes the Siebel mobile products’ supported Siebel applications and documentation on
the Siebel Bookshelf for information about these products.
Table 2.
Siebel Mobile Product Supported Applications and Related Documentation
Product Group
Supported Applications
Related Documentation
Siebel Remote
Almost all Siebel Business
Applications and Siebel Industry
Applications
Siebel Remote and Replication Manager
Administration Guide
(Provides the same look and
feel as those applications.)
Siebel
Handheld
applications
Siebel Store-and-Forward Messaging Guide
for Mobile Web Client
Siebel Sales
Siebel Sales Handheld Guide
Siebel Field Service
Siebel Service Handheld Guide
Siebel Consumer Goods
Siebel Consumer Goods Handheld Guide
Siebel Medical
Siebel Medical Handheld Guide
Siebel Pharma
Siebel Pharma Handheld Guide
Siebel Store-and-Forward Messaging Guide
for Handheld
Siebel Wireless
Siebel Sales
Siebel Wireless Administration Guide
Siebel Field Service
Siebel Partner Relationship
Management
Siebel Self-Service Applications
About Siebel Handheld Applications
Oracle’s Siebel Handheld applications provide a focused subset of functionality in comparison to the
Siebel Web Client. The Siebel Handheld Application Client differs from the Siebel Web Client and the
Siebel Mobile Web Client in that it uses a selected subset of views, accommodates smaller screen
sizes, and has a reduced memory capacity. For a list of functional differences, see Chapter 3,
“Developing Siebel Handheld Applications.”
Some features that are available on the Siebel Mobile Web Client are not available on the Siebel
Handheld application. Scripting and Siebel engines (for example, Pricing and Reporting) are not
supported on Siebel Handheld applications. For a list of features that are not supported, see
“Unsupported Features for Siebel Handheld Client” on page 26.
Siebel Medical Handheld Guide Version 8.1/8.2
19
Overview of Siebel Medical Handheld ■ Overview of Siebel Handheld Application
Synchronization
Some supported features of the Siebel Handheld Client are as follows:
■
Application Development with Siebel Tools. Siebel Handheld applications can be configured
in Siebel Tools using the Web Applet Designer. You can take your existing Siebel application and
use this as the basis for the Siebel Handheld application, or you can create a new application by
using the Siebel Tools application shipped on the Siebel Handheld application DVD. For more
information about application development with Siebel Tools, see Chapter 3, “Developing Siebel
Handheld Applications.”
■
Data filtering. Filtering allows you to specify a subset of data to be used on the handheld device.
Filtering is an important feature of a Siebel Handheld application deployment because of the
relatively large size of the average enterprise database in comparison to the relatively limited
memory capabilities of handheld devices. It is important that you allocate sufficient time in the
project plan to create and test the handheld filters. For more information about data filtering,
see “Developing Siebel Handheld Applications” on page 25.
■
Installation options. The Siebel Handheld application can be installed on Windows-powered
devices in one of two ways. The first is to create a partnership between a desktop or laptop PC
and the handheld device using Microsoft ActiveSync. The second is to install the Siebel Handheld
application from external media, for example, a Cabinet (CAB) file. Handheld application patches
can be remotely deployed using PatchAgent. For more information about installation options, see
Chapter 8, “Installing the Siebel Handheld Application.”
■
Patch updates. Siebel Handheld applications automatically apply the latest software patches to
the handheld device when needed. Companion Synchronization allows users to synchronize the
Siebel Handheld application database to the local database on Companion PC and invokes Siebel
Remote to synchronize the local database with the Siebel Server database.
PatchAgent automates the deployment of patches to handheld devices as part of the
synchronization process. For more information about PatchAgent, see “Installing the Siebel
Handheld Application from External Media” on page 153.
■
Backing up and restoring data. The Siebel Handheld application provides database backup
functionality. A database restore utility is also included with the application. For more information
about database backup and restoration, see “Enabling Back Up of Siebel Handheld Application
Database” on page 150.
Overview of Siebel Handheld Application
Synchronization
The Siebel Handheld Application Synchronization (Sync) Client synchronizes data between the Siebel
Handheld application database and the Mobile Web Client database or Siebel Server database.
Figure 2 illustrates the Siebel Handheld synchronization infrastructure.
20
Siebel Medical Handheld Guide Version 8.1/8.2
Overview of Siebel Medical Handheld ■ Synchronization Methods and Architecture for
Siebel Handheld Applications
Figure 2.
Siebel Handheld Synchronization Infrastructure
The synchronization process does the following:
■
Updates the Siebel Server database with changes made to the Siebel Handheld application
database
■
Updates the database on the handheld device with changes made to the Siebel Server database
■
Downloads metadata changes, such as object definitions for new or modified screens or views
■
Allows users to select filters to limit the amount of data that is downloaded
■
Automatically applies the latest software patches to the handheld device when needed
Synchronization Methods and
Architecture for Siebel Handheld
Applications
The following methods can be used to synchronize data on the handheld device with data in the
Siebel Server database: Companion Synchronization (CS), Direct Server Synchronization (DSS) and
Direct Server Synchronization by Proxy (DSSvP). The architecture of these methods is discussed in
the following sections.
Siebel Medical Handheld Guide Version 8.1/8.2
21
Overview of Siebel Medical Handheld ■ Synchronization Methods and Architecture for
Siebel Handheld Applications
Handheld Application Synchronization
A Handheld Application Synchronization Server component that is running on the Siebel application
server can accept concurrent synchronization requests from multiple synchronization clients. When
connecting directly to a server, the Siebel Handheld Application Synchronization Client synchronizes
its data directly to a server database. Companion Synchronization allows users to synchronize the
Siebel Handheld application database to the local database on a companion PC device and invokes
Siebel Remote to synchronize a local database with the Siebel Server database.
In Direct Server Synchronization mode, the Siebel Handheld Application Synchronization Client uses
the HTTP (or HTTPS) protocol over a network connection to communicate with the Siebel Handheld
Application Synchronization Server. Users must configure their handheld devices for communication
over the desired network.
A companion synchronization server runs on a companion personal computer with a Mobile Web
Client installation and supports synchronization with a data source specified in a client configuration;
the database resides on the companion PC.
Companion Synchronization
Companion Synchronization allows users to synchronize the Siebel Handheld application and
database with a Siebel Remote database on a Mobile Web Client.
Microsoft ActiveSync is used to connect the handheld device and the companion PC through a serial
or USB connection. The user launches Siebel Handheld application synchronization from companion
PC or the device. The user can change the default filters using Siebel Handheld application
synchronization.
Direct Server Synchronization
Direct Server Synchronization allows users to synchronize their Siebel Handheld application and
database directly with the Siebel Server. The user connects the handheld device to the Siebel
application server through a network connection that uses the HTTP protocol. The connection runs
through a IIS Web Server to the application server, where the synchronization server components
are installed and running.
Direct Server Synchronization via Proxy
Direct Server Synchronization via Proxy (DSSvP) allows users to synchronize their Siebel Handheld
application and database directly with the Siebel Server. The user connects the handheld device to
the Siebel application server through ActiveSync and the network connection established by the
companion PC. The connection runs through a IIS Web Server to the application server, where the
synchronization server components are installed.
22
Siebel Medical Handheld Guide Version 8.1/8.2
Overview of Siebel Medical Handheld ■ Overview of Siebel Handheld Client Configuration
Overview of Siebel Handheld Client
Configuration
Figure 3 illustrates the Siebel Handheld client application architecture.
Figure 3.
Siebel Handheld Client Application Architecture
The Siebel Handheld executable, siebel.exe, runs on the handheld client in a disconnected state, and
includes the user interface, object manager, and data manager.
The siebel.exe accesses the siebel.rml file that contains the application definitions.
The siebel.rml file is the Siebel Handheld equivalent of the repository file used in desktop
applications, because it provides the definitions of the Siebel Handheld screens, views, and applets.
The final component of the Siebel Handheld Client architecture is the Siebel Handheld application
database. The Siebel Handheld application includes a relational database management system
designed to run on the Microsoft Windows-powered platform.
Complete the following steps to configure your Siebel Handheld Client.
To configure the Siebel Handheld Client
1
Define the user functionality.
Determine which user interface elements (such as screens, views, toolbars, applets, find, and
help) will be necessary for your Siebel Handheld Client users. For more information about
defining user functionality, see “About Defining User Functionality in the Siebel Handheld Client” on
page 28.
Siebel Medical Handheld Guide Version 8.1/8.2
23
Overview of Siebel Medical Handheld ■ Overview of Siebel Handheld Client Configuration
2
Configure the Siebel Handheld Client application user interface.
The process for configuring user interface elements in the Siebel Handheld Client is the same as
that for other Siebel clients. For more information about configuring user interfaces for Siebel
Handheld applications, see “Configuring User Interface Elements in the Siebel Handheld Client” on
page 36 and Configuring Siebel Business Applications.
3
Identify all eScript or VB script.
Siebel Handheld applications do not currently support scripting, including eScript or VB script.
Scripting used in your Siebel application can conflict with your Siebel Handheld application
configuration.
4
Compile the new configuration.
For more information about compiling the configuration, see “Compiling the Siebel Handheld
Application” on page 53.
5
Test the new configuration.
Test the configuration, repeating the previous steps, to address any configuration errors.
After completing the configuration for the Siebel Handheld Client, you are ready to install it on the
handheld devices. To install the Siebel Handheld application configuration on a handheld device, see
the instructions in “Installing the Siebel Handheld Application” on page 172.
24
Siebel Medical Handheld Guide Version 8.1/8.2
3
Developing Siebel Handheld
Applications
This chapter describes how to set up Siebel Handheld applications. The following topics are covered
in this chapter:
■
Overview of Siebel Handheld Application Architecture on page 26
■
Unsupported Features for Siebel Handheld Client on page 26
■
About Defining User Functionality in the Siebel Handheld Client on page 28
■
Configuration Guidelines for the Siebel Handheld Client on page 28
■
About Creating Siebel Handheld Application Projects on page 30
■
Designing Screens and Views for Siebel Handheld Applications on page 32
■
Working With Different Handheld Device Specifications on page 35
■
Configuring User Interface Elements in the Siebel Handheld Client on page 36
■
Using the COM Interface with Siebel Handheld Applications on page 46
■
Configuring Calendar Settings on page 46
■
Developing Tasks for Task UI in Siebel Handheld Applications on page 49
■
Scripting in the Siebel Handheld Application on page 52
■
Compiling the Siebel Handheld Application on page 53
■
Installing and Setting Up End User Translation Functionality on page 54
■
Configuring Printing from the Siebel Handheld Application on page 56
■
Configuring Siebel Handheld Applications to Open Other Applications on page 61
■
Configuring Signature Capture Capabilities in Siebel Handheld Applications on page 61
■
Testing the Siebel Handheld Application on page 66
Siebel Medical Handheld Guide Version 8.1/8.2
25
Developing Siebel Handheld Applications ■ Overview of Siebel Handheld Application
Architecture
Overview of Siebel Handheld Application
Architecture
The process for configuring a Siebel Handheld application has a few differences, described in this
chapter, from the process for configuring other types of Siebel applications.
NOTE: Familiarize yourself with the Siebel application configuration process described in Configuring
Siebel Business Applications before you attempt to configure the Siebel Handheld application.
The five layers in the Siebel Handheld application architecture are comparable to those used on the
Siebel Web Client:
■
Application layer. The application layer starts and closes the application.
■
User Interface layer. The user interface layer renders the display and interacts with actions of
the user.
■
Object Manager layer. The object manager layer provides a consistent object behavior and
interaction between all business objects within the application.
■
Data Manager layer. The data manager layer maintains an object-oriented abstraction of the
native data stored in the data repositories for the benefit of the object manager.
■
Database layer. The database layer includes the data that Siebel Handheld application users
access.
Your Administrator configures an application on the Siebel client using Siebel Tools and compiles the
Siebel repository (.srf) file. During the synchronization process, information specific to the Siebel
Handheld application is extracted from the Siebel repository file. This information is used to create
a repository metalanguage (.rml) file, which is downloaded to the handheld device.
The repository metalanguage file contains the layout information for the handheld device but not the
database layer. The database layer is generated in the transport file called dbfile.txt, which is
downloaded and imported to the Siebel Handheld application database (siebelDB.sdf). For more
information about Siebel Tools, see Using Siebel Tools.
Unsupported Features for Siebel
Handheld Client
The differences between configuring user interface elements for the Siebel Web Client and the Siebel
Handheld Client are shown in Table 3.
Table 3.
Configuring Siebel Client User Interface Elements
Client
Siebel Tools
SWT Template Files
Specialized Algorithms
Siebel Web Client
Yes
Yes
No
Siebel Handheld Client
Yes
No
Yes
26
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Unsupported Features for Siebel Handheld
Client
The following are not supported in Siebel Handheld applications:
■
Chart and explorer applet types are not supported.
■
Group boxes are not supported. For more information about group boxes, see “Group Boxes” on
page 40.
■
Alarm Manager is not supported. Therefore, if an alarm check box is added to an applet and the
check box is selected, no alarm sounds.
■
The base time zone is determined by the system settings on the Siebel Server and cannot be
changed on the handheld device.
■
Siebel Browser and Siebel Server side scripting are not supported.
■
Siebel Workflow is not supported.
■
Siebel Personalization.
See the following topics, which outline, more specifically, other unsupported features.
Functions
Siebel Handheld applications support most of the calculated fields and operations used in the Siebel
Web applications with a few exceptions. See the following list of unsupported functions.
■
AccountId
■
BCHasRows
■
DockingNodeId
■
DockingNodeName
■
DockingNodeRoutId
■
EAILookupExternal
■
EAILookupSiebel
■
EXISTS
NOTE: For example, the following expression on multi-value fields is not supported by Handheld
Applications: IIf(EXISTS([Multi-valued Field Name] IS NOT NULL),'Y','N').
■
GetHQInstanceId
■
GetHQInstanceName
■
GetNumBCRows
■
GetProfileAttr
■
GetXAval
■
IsDocked
■
LanguageName
■
LocaleName
■
LookupMessage
Siebel Medical Handheld Guide Version 8.1/8.2
27
Developing Siebel Handheld Applications ■ About Defining User Functionality in the
Siebel Handheld Client
■
LookupTranslation
■
NOT
■
ParentFieldValue. This function works as a calculated field but not in, or with, a search
specification.
■
RepositoryId
■
RepositoryName
■
RowIdToRowIdNum
■
ToolsLanguage
The NOT key word is not supported on Booleans. Use the != operator instead. For example, "Active"
!= "Y".
The RowIdToRowIdNum function is supported differently in Siebel Handheld applications than in the
Web applications. In Web applications, RowIdToRowIdNum converts a row ID to a numeric value. In
Siebel Handheld applications, the row ID itself is returned.
About Defining User Functionality in the
Siebel Handheld Client
The first step in configuring a Siebel Handheld Client is to determine which user interface elements
are necessary. Siebel Handheld Client users have different requirements from the Web Client users.
Keep in mind the differences in display size, memory capacity, and input methods between handheld
devices and larger computers, such as desktop computers.
The goal is to create applications that are easy for your users to use and which take advantage of
the strengths of the handheld device platform. Because of the processing speed, memory limitations,
and form factor differences, include only those user interface elements that are necessary for users
to complete their job responsibilities.
Configuration Guidelines for the Siebel
Handheld Client
This topic contains general guidelines to use when you configure the Handheld application. Use these
guidelines when you design any new objects for the Siebel Handheld Client. This approach facilitates
a logical separation of the Siebel Handheld Client user interface elements from the Siebel Web Client
user interface elements.
Identify User Activities
Consider the following when identifying user activities:
■
28
To conserve memory (and thereby improve performance) and ease navigation, identify business
processes that are required by users and develop applications that support these processes.
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuration Guidelines for the Siebel
Handheld Client
■
If more than one type of user needs a Siebel Handheld application, it is preferable to divide the
application into multiple responsibilities rather than give all possible users access to all available
screens and views. Responsibilities are fully configurable by the application developer.
■
Do not include additional functionality that is not required to reside on the device.
Limit the Number of Screens and Views
Consider the following when introducing new screens and views:
■
Keep the number of views in your application to 30 or fewer. Determine the critical business
processes that the Siebel Handheld application will support and pick only the views that are
necessary and are compliant with your business requirements.
■
Limit the number of views within a screen to 12 or fewer to keep the Show drop-down list concise.
■
Limit the number of screens to six or fewer to keep the Screen drop-down list concise.
■
Keep screen names to about 15 characters or fewer, so that they fit in the Screen drop-down list.
The number of characters is a general guide, because characters vary in width.
■
Keep view names to about 30 characters or fewer so that they fit in the Show drop-down list.
The number of characters is a general guide, because characters vary in width.
Limit the Number of Applets for Each View
Organize data in multiple applets in a single view to use Tabbed Views. This allows the user to access
critical data via a single click.
Limit the Number of Columns and Fields for Each Applet to Minimize
Scrolling
Consider the following when designing applets:
■
Design applications that contain as few screen and view hierarchy levels as possible. In a Webbased application, you can have views with many applets, and the user toggles between the
applets.
■
Include the most important fields and columns that a user needs to see at a glance before
scrolling. For example, if you have a form applet that is a parent, include only needed fields to
avoid scrolling.
■
If you are using a list applet, determine how wide it needs to be.
■
Design each applet so that it only contains columns and fields that are required for end-user
tasks.
■
Consider moving required and editable fields into visible area of the applet where users can enter
data and do not have to scroll. Because there is less screen space on a handheld device than on
a laptop or desktop, the most important data must be immediately visible.
■
The Date column can be formatted to show only the date instead of Date and Time where Time
is not relevant. This saves the user from having to scroll.
Siebel Medical Handheld Guide Version 8.1/8.2
29
Developing Siebel Handheld Applications ■ About Creating Siebel Handheld Application
Projects
■
To minimize horizontal scrolling, limit the number of columns displayed in a list applet to no more
than ten.
■
There is no limit on the number of fields in form applets of single-applet views. However, to
minimize scrolling, keep the number of fields to 20 or fewer.
■
Use a form applet for the parent for each parent-child view.
■
In a multi-applet view, limit the number of fields in form applets to five or fewer. Add additional
fields only if the field width is short. For example a check box field.
■
Reduce the number of fields if the fields are multi-line, for example, a Comments box that
contains three lines of text.
■
Do not include read-only check boxes in form applets. It is very difficult for users to discern that
the check box is not editable.
■
Do not add pick applets or set the Runtime property to true for Read-Only fields that have a
picklist value associated to them. This will improve overall extraction time, synchronization time
and dbfile.txt file size since the process will not be forced to extract all the picklist values for
these fields.
■
Keep query names to about 15 characters or fewer, so that they fit in the Queries drop-down list.
For example, North American Organization is too long for a query name, so change it to a shorter
name, such as N. American Org. The number of characters is a general guide because characters
vary in width (for example, W is wider than i).
■
For each screen, create a view called My *(asterisk) or All * as a single list applet view. For
example, for the Activities screen, create a My Contacts view that has the Contacts list applet
only.
Design Data Filters
Consider the following when designing data filters:
■
Limit the size of the dbfile.txt file to less than three megabytes (MB). The RDBMS on the
handheld device is approximately three times the size of dbfile.txt. If the data files are so large
that they cannot be imported into the database with the available memory, users cannot
successfully synchronize their data. For information about how to design data filters to limit the
amount of data that is synchronized to the handheld device, see Chapter 5, “Data Filtering for
Siebel Handheld Applications”.
■
When working with assessment creation functionality, you need to name your templates in such
a way that they will filter only the needed templates that will be downloaded to the device.
Without properly setting up filters, all templates will be downloaded to the device.
About Creating Siebel Handheld
Application Projects
The Siebel Handheld application projects appear in the list of projects in Siebel Tools; when Project
is selected in the Object Explorer, the list of projects is displayed in the Object List Editor.
30
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ About Creating Siebel Handheld Application
Projects
Use a naming convention that allows you to identify applications, screens, views, and applets
belonging to a particular Handheld application. This allows you to locate all the object definitions in
a Handheld application by querying on the name in the Object List Editor. For example, all of the
Handheld application screens, views, applets, toolbars, and menus use either an SHCE prefix (for
example, SHCE Sales Account List view) or a CE suffix. Use the Object List Editor to query for views
that contain the prefix SHCE or the suffix CE; doing so displays all of the Handheld application views.
If you create a new Siebel Handheld application, create a new suffix or prefix to identify the name
of the application and each screen, view, and applet name. For example, you might use PPC_SHCE
for an application.
Siebel Medical Handheld Guide Version 8.1/8.2
31
Developing Siebel Handheld Applications ■ Designing Screens and Views for Siebel
Handheld Applications
Designing Screens and Views for Siebel
Handheld Applications
Views in Siebel Handheld applications can display two or more applets simultaneously. You can
configure screens and views to display applets in two modes, as described in Table 4.
Table 4.
Applet Display Modes
Mode
Treatment of Applets
Traditional TwoApplet
If the screen or view has only one applet, the applet
uses the entire display area. If the screen or view has
two or more applets, the first two applets in the frame
array of a view definition are displayed, and the user
toggles to see the other applets. The first applet is
always displayed.
Maximum Number
of Applets
Two
Users can use the application-level menu to toggle
between applets. You can also provide a toggle button
as a visual cue to the user that there are additional
applets. Add a toggle button to each applet except the
first applet. Identify the button with a Toggle caption
and set the methodInvoked property to ToggleApplet.
For information about how to use the applicationlevel menu, see the online help for the Siebel
Handheld application.
Tabbed Applet
Only one applet is displayed. All other applets are
layered as tabs at the bottom or top of the display.
Tabbed applet mode enables the user to maintain
context and switch between applets easily. You can
configure a context bar to show the parent applet
information.
Six in portrait
orientation and
square screens.
Eight in landscape
orientation.
Users can navigate to other applets in the following
ways:
■
Tap the applet.
■
Tap the tab that represents the applet.
■
Use the application-level menu to select the
applet. For information about how to use the
application-level menu, see the online help for the
Siebel Handheld application.
NOTE: Use only unique display names in the Screens and Show drop-down lists. The Siebel Handheld
application uses the first screen or view display name that matches the selected name in the dropdown list. If two screens have the same display name, a search for the screen always returns the
first display name found.
32
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Designing Screens and Views for Siebel
Handheld Applications
Configuring Tabbed Applets for the Siebel Handheld Client
The applet display mode is controlled by the application user property DefaultViewType. For more
information about this user property, see DefaultViewType User Property on page 263.
To override the effect of the DefaultViewType setting, set the value of the view-level user property
ViewType. For more information about this user property, see ViewType User Property on page 274.
To configure tabbed applet behavior for an application
■
In Siebel Tools, set the value of the application user property DefaultViewType.
For more information about this user property, see DefaultViewType User Property on page 263.
To configure tabbed applet behavior for a view
1
In Siebel Tools, set the value of the view-level user property ViewType.
For more information about this user property, see ViewType User Property on page 274.
NOTE: ViewType overrides the DefaultViewType property in portrait orientation. In landscape
orientation and on square screens, the default applet display mode is Tabbed.
2
If you do not want to show the context bar that displays the parent applet information at the top
of a view, set the DisableParentBar user property to TRUE.
For more information about this user property, see DisableParentBar User Property on page 264.
Screen Allocation for Traditional Two-Applet Mode
The amount of screen space available for applets is determined by the type of applets in the view.
Two applets are stacked above one another. A parent form applet in a two-applet view displays
multiple fields on a screen. Users use the scroll bar to navigate. The form applet dynamically resizes
if there are fewer than five fields and, therefore, does not waste screen display space with empty
lines. The maximum number of fields that are displayed at one time is configurable by setting the
Max Parent Applet Size preference in the User Preferences dialog. For more information about user
preferences, see “Setting User Preferences in the Siebel Handheld Application” on page 182.
Drill-Down Only Views
Some views can be drill-down only views—that is, they can be accessed only by navigating from
another view. These views are not accessible through the Show drop-down list. However, when the
user navigates to the view, the view title appears in the Show drop-down list. To configure a drilldown only view, set the view title as you do for any other view and set the ScreenMenu property to
FALSE. For more information about drill-down only views, see Configuring Siebel Business
Applications.
Applet Focus Behavior
When navigating between views, sometimes you might need to override the default behavior for
giving focus to an applet
Siebel Medical Handheld Guide Version 8.1/8.2
33
Developing Siebel Handheld Applications ■ Designing Screens and Views for Siebel
Handheld Applications
The GotoView method is used to navigate from one view to another. A button control is added to the
applet in the view you want to navigate from, the button’s methodInvoked property is set to
GotoView and the button’s View property is set to the view that is to be created. When the GotoView
method is executed, it builds the specified view. If the view includes a parent and child applet,
GotoView gives focus to the child applet. This is the desired behavior in most instances when you
are simply navigating from one view to another.
If the desired behavior is to navigate to a new view and, additionally, to create a new record, then
you must use the GotoViewNewRecord method. This method calls two methods; first it calls
GotoView, and then it calls NewRecord, which creates a new record in the new view.
In some instances the default behavior of these methods does not produce the intended behavior.
For example, in the Orders view of the Service Requests screen, when you tap the Create New Order
button, it takes you to the Order Details view, which contains a parent form applet (Service Request
Order) and a child list applet (Service Order Entry Line Item). In this instance, when the Create New
Order button’s GotoViewNewRecord method is executed, you want a new order to be created.
However, the default behavior is to give focus to the child applet rather than creating a new record
in the parent applet. Therefore, you need to override the default behavior of GotoView with the
control user property OverrideDefaultApplet, and set the value to the applet that you want to give
focus. For more information about this user property, see OverrideDefaultApplet User Property on
page 267. For more information about the View user property, see View User Property on page 274.
For example, if you create a button labeled Create Service Request Order, you must define the user
properties shown in Table 5:
Table 5.
User Properties
Name
Value
View
SHCE Service Order Line Items View
OverrideDefaultApplet
0
Views with Associated Print Templates or Reports
Print templates are text files that you design and create for printing. After creating a print template,
you associate it with an applet. When a user chooses to print from a view, the print template that is
associated with the applet is automatically selected and used for printing. Follow these guidelines
when creating print templates:
■
The print template name for a particular display applet is registered in the Mail Template property
in the Applet object associated with the applet.
■
The template must be placed in the Templates directory.
■
The template name that goes into the Mail Template property must not include a path name or
extension. For example, if the full path of the template is \Program Files\Siebel
Handheld\Templates\InvoiceTemplate.txt, enter only the root name, InvoiceTemplate, in the
property field.
■
The template file itself must have a .txt extension on the device. In the case of Siebel Medical
Handheld, the provided print template is called: QuoteTemplate.txt.
34
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Working With Different Handheld Device
Specifications
For more information about printing and print templates, see the following:
■
“Configuring Printing from the Siebel Handheld Application” on page 56
■
“Installing Print Templates in the Siebel Handheld Install Directory” on page 151
■
“Printing with the Siebel Handheld Application” on page 180
■
Appendix D, “Print Tagging Language”
■
Appendix E, “Print Configuration Settings”
Working With Different Handheld Device
Specifications
Siebel Handheld applications can run on many handheld devices. The capabilities of handheld devices
vary, depending on the following characteristics:
■
Operating system (OS)
■
Processor
■
Storage memory
■
Screen orientation
■
Screen resolution
Siebel Handheld applications are aware of the devices on which they run. The applications do not
need to be compiled specifically for particular devices. Handheld applications are device aware in the
following respects:
■
OS: Siebel Handheld applications can identify the OS of the device on which they are running.
■
Storage memory: Siebel Handheld applications can determine the amount of storage memory
available on the device on which they are running. Handheld applications use this information to
determine if sufficient storage memory is available to download the dbfile.txt file.
Handheld applications do not download the file is available storage memory is insufficient. The
applications request the user to apply more restrictive filters, or to make more memory available
on the device.
■
Screen orientation: Views in Siebel Handheld applications are displayed differently depending
on the screen orientation of the device.
■
Portrait orientation—In this screen orientation one or two lists or forms are displayed on each
screen. When the screen displays two lists or forms, the user can maximize and minimize the
lists or forms.
Siebel Medical Handheld Guide Version 8.1/8.2
35
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
■
Landscape orientation and square screens—In this screen orientation one list or form is
displayed on each screen. The user can use a tab and an icon button to show one list or form,
and simultaneously hide the list or form that is currently displayed.
Dialog boxes and other UI elements are also aware of screen orientation. All UI controls are
automatically placed in an area that is not affected by changes to screen orientation. Any fields
that users can edit are automatically placed in a location that is not obscured when the Software
Input Panel (SIP) is displayed.
These automatic features are not enabled in form UI applets and task applets. When you develop
these applets for Siebel Handheld applications, you must manually lay out UI items so that they
are not obscured by changes to screen orientation or SIP display.
■
Screen resolution: Siebel Handheld applications can run on both high-resolution and lowresolution displays.
Configuring User Interface Elements in
the Siebel Handheld Client
When configuring user interface elements on the Siebel Handheld Client, also consider the processing
speed and memory constraints of handheld devices. The constraint on processing speed affects the
performance of a handheld device. The performance of a handheld device is also related to the
number of screens and views downloaded to the handheld device. Because handheld devices are not
meant to provide the same functionality as larger devices, such as laptops, the number of screens
and views must be kept to a minimum on the handheld device.
Due to size constraints on handheld devices, the Siebel Handheld Client displays user interface
elements differently from the Siebel Web Client. Consider these differences when configuring the
Siebel Handheld Client application. For example, Siebel Handheld Client does not support an
alphabetical index.
The following topics are related to configuring user interface elements in the Siebel Handheld Client:
■
“Configuring List Applets for the Siebel Handheld Client” on page 37
■
“Configuring Fields to Display as Pop-Up Text Areas in List Applets” on page 38
■
“Configuring Alpha Tabs in List Applets for the Siebel Handheld Client” on page 38
■
“Configuring Form Applets for the Siebel Handheld Client” on page 39
■
“Configuring Form UI Applets for the Siebel Handheld Client” on page 40
■
“Using Auto Pop-Up Lists in the Siebel Handheld Client” on page 41
■
“Configuring Tree Applets for the Siebel Handheld Client” on page 42
■
“Configuring Tabbed Applets for the Siebel Handheld Client” on page 33
■
“About Home Page Applets in Siebel Handheld Applications” on page 44
■
“About Buttons in Siebel Handheld Applications” on page 44
■
“About Multi-Value Groups in Siebel Handheld Applications” on page 44
■
“About the Menu Bar in Siebel Handheld Applications” on page 45
36
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
■
“About Toolbars in Siebel Handheld Applications” on page 45
■
“About the Status Bar in the Siebel Handheld Application” on page 46
■
“About Hyperlinks in the Siebel Handheld Application” on page 46
Configuring List Applets for the Siebel Handheld Client
You configure list applets and list columns for Siebel Handheld applications the same way you
configure them for other Siebel applications.
Recommended Strategy for Configuring List Applets
The recommended strategy when configuring the Siebel Handheld application is to use the list
applets for record navigation and to rely on form applets to provide the record details.
The following are additional guidelines to follow when designing list applets:
■
Configure specific list applets for your Handheld application, rather than reusing Siebel Web
Client list applets.
■
Remove all but the essential list columns. Because there is limited screen area to display list
columns, omit all unnecessary columns to minimize horizontal scrolling.
You can either remove the columns from the Handheld application or set the Show in List
property on the column to FALSE. These two methods are different in the following ways. If the
columns are removed from the Handheld application, the data is not downloaded to the handheld
device. This keeps the Handheld application data to a minimum and, in turn, optimizes the
synchronization process performance. If the Show in List property on the column is set to FALSE,
the data is still downloaded to the device but is not shown by default. This second approach,
though without the synchronization optimization benefit, does allow convenience for the user
who wants to customize visible columns. Take these concerns into account when setting up users.
■
Reorder the remaining list columns so that the most frequently used columns are furthest to the
left.
■
Reduce the default width of the list columns so that more columns can be viewed at one time.
■
Use hyperlinks to ease navigation by enabling users to drill into a form applet.
These changes can minimize the amount of horizontal scrolling and column reordering that users
must do. Limiting the number of list columns to those that are essential minimizes the amount of
data downloaded to the device, resulting in faster synchronization times and more economical use
of device memory.
NOTE: In Siebel Handheld applications, an asterisk (*) on a form applet, or in a column heading of
a list applet, indicates a required field. Administrators specify which fields are required.
Use Siebel Tools to modify, or rearrange List columns. For more information about the List column
options, see Configuring Siebel Business Applications.
Siebel Medical Handheld Guide Version 8.1/8.2
37
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
Configuring Fields to Display as Pop-Up Text Areas in
List Applets
You can configure fields to display as pop-up text areas in list applets, so that Handheld users can
enter new text or edit existing text in a field. Fields that are configured to display as pop-up text
areas in list applets contain an (...) ellipses button. Handheld users must click the ellipses button to
access the text area.
To configure a field to display as a pop-up text area in list applets
1
Set the text length of the field in the business component to 100 or more.
If the field text length is set to anything less than 100, then the (...) ellipses button will not
appear on the Handheld device for that field, and users will not be able access the text area.
2
For multi-value fields, which are read-only in Handheld applications:
■
Set the text length of the field and the destination in both the parent and child business
components to 100 or more.
■
In the List Column of the applet, set HTML Type to Field and set Runtime to TRUE.
If the field text length is set to anything less than 100 in either the parent or child business
component, then the (...) ellipses button will not appear on the Handheld device for that field,
and users will not be able access the text area.
Configuring Alpha Tabs in List Applets for the Siebel
Handheld Client
You can configure alpha tabs in list applets for Siebel Handheld applications to act on one or more
list applet columns and to appear as a row of tabs at the top of the applet. Alpha tabs have the
following characteristics:
■
Can be configured for any field in the list applet provided the field is set up as the Alpha Tab
Search Field user property in Siebel Tools.
■
Can only be configured for one field at a time in the list applet.
■
Can be configured to display either in single letter format (ungrouped) or in multiple letter
(grouped) format.
■
Can facilitate localizable tab definitions based on grouped and ungrouped alpha tab format. For
example, alpha tabs can be configured for additional accented characters (in the case of some
European Languages) and for English character ranges or local character ranges (in the case of
some Asian Languages).
■
Can include an ALL grouping which will show all records in the list applet by default the first time
a user navigates to the view after launching the application.
■
Can disable, if configured, any filters applied to the view the first time the view loads.
■
Are supported in portrait orientation, landscape orientation, and on square screens.
38
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
To configure alpha tabs in list applets
1
In Siebel Tools, configure the AlphaTab Named Search property on the List object.
For more information about this user property, see AlphaTab Named Search User Property on
page 261.
2
Decide whether you want your alpha tabs to display in grouped or ungrouped format. The default
behavior is to show grouped alpha tabs.
To display ungrouped alpha tabs, set the value of the DisableAlphaTabGroups user property for
the applet to TRUE.
For more information about this user property, see DisableAlphaTabGroups User Property on
page 264.
By default, your Siebel Handheld application ships with grouped and ungrouped versions of alpha
tabs for each language. For example:
IDS_ALPHATAB_GROUPED_SPEC "A-C|D-E|G-I|J-L|M-O|P-R|S-U|V-Z|*"
IDS_ALPHATAB_GROUPED_DISPLAY "ABC|DEF|GHI|JKL|MNO|PQR|STU|VWXYZ|All"
IDS_ALPHATAB_UNGROUPED_SPEC "A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|*"
IDS_ALPHATAB_UNGROUPED_DISPLAY "A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|All"
_SPEC represents the range for the search specification and _DISPLAY represents the strings that
will be displayed on each tab. Currently, you cannot override these specifications.
Configuring Form Applets for the Siebel Handheld Client
The Siebel Handheld application uses a specialized algorithm to format and display form applets. Due
to the display limitations on the device, only one pair of label and field controls are displayed on each
row of the form, regardless of the layout shown within Siebel Tools.
Layout Sequence
When configuring form applets for the Siebel Handheld application, the Applet Web Template Items
in the Applet Web Template determine the controls that appear on a form applet. The layout of form
applets on the Handheld application is determined by the HTML Sequence field set on control objects.
The HTML Sequence field determines the screen layout of a Handheld application. Controls are
ordered from top-to-bottom based on their HTML Sequence property values. Label and control pairs
that do not fit on the same line as other label and control pairs wrap to the next line.
Labels
Keep field labels in applications short (approximately 12 characters or fewer, depending on the
character width). Use abbreviations where possible. Labels that are too long are truncated.
Siebel Medical Handheld Guide Version 8.1/8.2
39
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
Group Boxes
Group boxes are not supported and are not displayed in form applets, even if they are added in the
Web Applet Designer. Therefore, reword the field labels to include group box information if necessary.
For example, you can have two group boxes on the form, one labeled Ship To and another labeled
Bill To. Each group box includes a field named Address. Because group boxes are not supported, the
Ship To and Bill To labels are lost, and two fields with the identical Address label remain. Therefore,
you must rename the Address labels “Ship To Addr” and “Bill To Addr” or some other label that
distinguishes them.
Radio Buttons
You can configure any static or dynamic picklist control in form applets to display as a set of radio
buttons, instead of as a normal picklist. To do this, you must set field type to DT_RADIO.
Configuring Form UI Applets for the Siebel Handheld
Client
Form UI is a technique of applet design which enables Siebel Handheld application developers to
create applets that are larger than normal form applets. An applet designed for form UI can have a
greater height and a greater width than the applet display area. Form UI enables application
developers to create large applets which can resemble a paper form.
You create form UI applets as normal form applets, but with the FormUI user property set to TRUE.
For more information about this user property, see FormUI User Property on page 265.
Location of UI Controls
The location of the UI controls on normal form applets is determined automatically. For form UI
applets, you can define the location of each control. This enables you to design the applet in the way
that you want the applet to appear to users. You can place UI controls in any location on the applet.
This enables you to create forms that are easier for your users to use, or reflect your current business
processes. For example, you can design an applet that resembles the layout of one of the paper
forms that your business currently uses.
You can also design more complicated forms. For example, you can create a form that has three fields
beside each other. Form UI allows the following benefits for UI design for Siebel Handheld
applications:
■
Flexible location of labels
■
Hidden labels
■
Flexible location of fields
■
Flexible field sizes
■
Flexible location of buttons
■
Flexible button sizes
■
Flexible location of radio buttons
40
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
You use the Grid Layout Editor in Siebel Tools to create form UI applets. Before you design the layout
of the applet, you must set the FormUI user property to TRUE. In Grid Layout Editor, add the required
controls to the applet, then arrange the controls appropriately.
Navigation Scheme
Form UI applets also have a new navigation scheme to enable users to navigate efficiently in a large
form applet. There are no scroll bars in form UI applets. Instead, users can tap-and-hold on an area
outside of the fields, then drag the form so that a part of the form that they cannot see is displayed.
To enable the new navigation scheme to function, the performance of the screen drawing
functionality for form UI applets is significantly better than for other types of applet.
COM Interface
To perform complex processing on a form UI applet, you can write components that use the
Component Object Model (COM) architecture. For example, if you want to implement data validation
or different UI, you can write a component extension for the applet. For more information about how
to write component extensions, see Appendix F, “COM Extensibility”.
UI Behaviors
To reduce the potential for user confusion, many of the automatic UI behaviors which occur in the
normal form applet do not occur in form UI applets. For example, the following behaviors are
different:
■
When the SIP opens, the form UI applet does not resize or scroll automatically to show the
insertion point. Instead, the user must drag the applet until the insertion point is visible.
■
When you tab to a field that is not visible, the form UI applet does not scroll automatically to the
active field. Instead, the user must drag the applet until the active field is visible.
Using Auto Pop-Up Lists in the Siebel Handheld Client
Sometimes when a user opens a view, the user must select a value from a pop-up list to fill in a
required field. You can configure the view so that the pop-up list automatically opens when the user
opens the view. If you do this, the user does not have to tap the control to open the pop-up list.
To configure a pop-up list to open automatically, use the AutoPopupField user property. For more
information about this user property, see AutoPopupField User Property on page 261.
To configure a pop-up list to open automatically, add the user property on the applet with Name set
to AutoPopupField.
Depending on the type of applet, this property is set differently:
■
For list applets, set the AutoPopupField property to the Business Component field name.
■
For form applets, set the AutoPopupField property to the name of the control.
Siebel Medical Handheld Guide Version 8.1/8.2
41
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
Configuring Tree Applets for the Siebel Handheld Client
As an alternative to List applets, Tree applets with automatic drilldown behavior can be configured
for Siebel Handheld applications in much the same way that you configure them for other Siebel
applications.
A tree applet is a structured and hierarchical list of nodes of related business components. Tree
applets are used to create explorer views where users can expand (by tapping the + button) and
collapse (by tapping the - button) nodes in the tree applet and view individual records in particular
folders. There are two types of nodes:
■
Folder nodes - have a folder bitmap next to them and represent hierarchies within the tree.
■
Record nodes - have a document bitmap next to them and represent one record in the node
business component.
The hierarchy displayed in a tree applet represents master-detail relationships between records of
different business components.
To configure a tree applet
1
2
3
42
In Siebel Tools, define a tree applet with the following properties:
Property Setting
Description
Class
The name of a C++ class used to manage the applet. For
explorer applets, Class must be set to CSSFrameTree. This is
required in order for the tree applet functionality to work.
Business Component
The name of the business component whose data is to be
displayed. The business component must be defined in the
business object specified for any view that uses this applet.
Define trees in the tree applet by specifying the following property for each tree:
Property Setting
Description
Name
The name of the tree object definition which is basically just a
name, usually ending with tree, to which child object definitions
in the form of tree nodes can be attached.
Define tree nodes under the tree object definition. A tree node corresponds to one folder that the
user sees in a tree applet. Important properties to define for each tree node object definition
include the following:
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
NOTE: Trees and tree nodes are usually created and edited in the Applet Designer of Siebel Tools.
Property Setting
Description
Display Name
The name of the tree node object definition (folder name) as it
will appear in the tree applet in Siebel applications. The display
name appears to the immediate right of the folder symbol.
Applet
The name of the applet that is opened in the right half of the
view when the user opens the corresponding folder. Generally a
list applet is specified. The applet must be based on a business
component that is in the appropriate hierarchical position in the
business object. If not specified, nothing opens in the righthand side of the view, which is desirable in some situations.
Position
Specifies the tree node’s hierarchical position relative to other
tree nodes, and its sequence on its level. The top-level node has
a value of 1 and all immediate child nodes of the top-level node
have a value of 1.x, where x specifies the node’s order relative
to other nodes on the same level. In turn, all immediate child
nodes of 1.x have a value of 1.x.x and so on.
In general, the right most digit in a position specifies its order
relative to others on the same level, and all other digits specify
the position it attaches to.
Business Component
The business component that populates values in this tree
node. This must be set to the same business component as is
specified by the applet invoked by this tree node.
Label Field
The name of the field in the business component that the Siebel
application uses to populate names in the record list that
appears when the node is expanded by the user.
Max Child Items
An integer that sets a limit on the number of child items that
appear under the tree node. An arrow appears to let the user
scroll further, if there are many child items.
Selected Bitmap Index
An integer indicating which bitmap, in a multiple bitmap file, to
display when a record is selected.
This property should be set to the value 5, which corresponds
to the folder symbol.
4
Decide on an operation mode for your applet by setting one of the following user properties in
Siebel Tools:
■
To display the applets in tabbed applet mode, set the view-level user property ViewType to
Tabbed.
For more information about this property, see ViewType User Property on page 274.
■
To display the applets in traditional two-applet mode, set the view-level user property
ViewType to Traditional.
Siebel Medical Handheld Guide Version 8.1/8.2
43
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
■
To suppress the second dynamic applet, so that only a single applet is displayed, set the viewlevel user property Disable Second Applet to TRUE.
For modes that display two applets, you can also specify how much space you want the tree
applet to occupy. For more information about this property, see Explorer Applet Size User
Property on page 264.
About Home Page Applets in Siebel Handheld
Applications
To configure a Home Page applet, create an applet that has controls of HTML Type Button only. Use
the following guidelines in creating your Home Page applets:
■
Set the MethodInvoked property of these controls to GotoView. Add a View user property to the
control, and set the value of the View property to the name of the view that you want to display.
For more information about this user property, see View User Property on page 274.
■
Set the Caption field.
■
Set the HTML Sequence field according to the order in which the buttons are laid out on the
device. The buttons appear on the Home Page applet of the handheld device, laid out in rows of
three buttons.
About Buttons in Siebel Handheld Applications
Set the HTML Type field on buttons to Button, MiniButton, PushButton, or MiniButtonEditNew. All of
these HTML Types map to the same button control on the handheld device.
Buttons with text labels on them are sized to the minimum width required to fit the text on the
buttons.
NOTE: You cannot use scripting to augment the button functionality in Siebel Handheld applications.
You can add buttons as long as the method invoked is supported by the class or superclass of the
frame or business component. You can also remove buttons from an applet. Be careful when
removing buttons, because you might alter the behavior of your application in unintended ways.
For more information about button functionality, see Appendix C, “User Properties.”
About Multi-Value Groups in Siebel Handheld
Applications
Multi-Value Groups (MVG) are supported Handheld applications in the same way that they are
supported by the Siebel Mobile Web Client. MVG fields and applets are used to input and display data
on Handheld applications.
44
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring User Interface Elements in the
Siebel Handheld Client
MVG fields have an MVG control button, similar to the ellipsis control (...). Tapping the MVG control—
for example, on a parent form or list applet—opens the MVG applet. When the MVG applet is open,
you can perform inserts, updates, or deletes on the MVG applet. Any updates performed on the MVG
applet automatically appear in the corresponding MVG field, if appropriate.
NOTE: MVG fields are displayed as greyed out or read-only in the parent applet.
For more information about creating and configuring MVGs for your Siebel application, see
Configuring Siebel Business Applications.
About the Menu Bar in Siebel Handheld Applications
The menu object definition in the Siebel repository that is implemented in Siebel Handheld
applications is named SHCE Generic. The default menu bar configuration for the Handheld application
includes the following menus: File, Edit, View, and Help. You can remove or rename menus on the
menu bar, but you cannot add new menus. You can reorder the menu items by changing the Position
property for the menu items. Generally, use the default menu bar configuration for all of your
Handheld applications.
About Toolbars in Siebel Handheld Applications
This topic describes how to configure the toolbar for your Siebel Handheld application.
The following lists the supported toolbar functions:
■
Back, Forward
■
New Record
■
New Query, Execute Query
■
Next Record, Previous Record, First Record, Last Record
■
Minimize or Maximize
■
Delete Record
The default toolbar can be configured in Siebel Tools by configuring the SHCE Main toolbar object.
SHCE Main is the main toolbar that is downloaded to the handheld device. If a toolbar named SHCE
Main does not exist in your repository, a default toolbar, Main, is downloaded instead.
The SHCE Main toolbar contains the default buttons for the device: Back, Forward, New Record, New
Query, and Execute Query. Change the order of the buttons on the display by modifying the Position
property of the toolbar items. Remove a toolbar button by deleting it or making it inactive.
You can add additional default buttons to the toolbar by creating toolbar items whose Command
property matches the name of an active bitmap in the SHCE Command Icons bitmap category. Do
not add bitmaps to the SHCE Command Icons bitmap category because only those commands, which
are already provided, are supported on the device. No additional commands are supported. You can
remove a bitmap or make a bitmap inactive if you do not want it to appear in the Customize Toolbar
dialog box.
Siebel Medical Handheld Guide Version 8.1/8.2
45
Developing Siebel Handheld Applications ■ Using the COM Interface with Siebel
Handheld Applications
You can change the bitmap for a toolbar by reimporting the bitmap from the SHCE Command Icons
bitmap category.
Users can customize their toolbar from the application-level menu. For information about how to use
the application-level menu, see the online help for the Siebel Handheld application. For more
information about toolbars, see Configuring Siebel Business Applications.
About the Status Bar in the Siebel Handheld Application
The status bar is located above the toolbar. The status bar displays the status of an applet with focus,
including the applet title and record item count (for example, Contacts: 1 of 13).
About Hyperlinks in the Siebel Handheld Application
Configuring a drilldown, or clicking a hyperlink or dynamic hyperlink in the Siebel Handheld
application, is performed the same way as with other Siebel applications. For more information about
configuring drilldowns, see Configuring Siebel Business Applications.
Using the COM Interface with Siebel
Handheld Applications
To perform complex processing on applets, you can write components that use the COM architecture.
For example, if you want to implement data validation or a more sophisticated UI, you can write a
component extension for the applet. For more information about how to write component extensions,
see Appendix F, “COM Extensibility”.
Configuring Calendar Settings
This topic provides information about calendar enhancements such as calendar layout simplification,
utilization of the menu bar as a partial toolbar, dynamic color and description coding. It also includes
configuration steps and examples of implementing the enhancements.
The following topics are related to configuring calendar settings:
■
“User Properties for Calendar Settings” on page 47
■
“Configuring Calendar Color Codes and Descriptions” on page 47
■
“Configuring the Goto View Button” on page 48
NOTE: The calendar settings are optional and need only be implemented, if required, by your
business processes.
46
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring Calendar Settings
User Properties for Calendar Settings
Administrators can set the following user properties to enhance the calendar views for the Siebel
Handheld applications:
■
SHCEDailySlotHeight
■
SHCEHideStatusBar
■
SHCEHideToolBar
■
SHCEMenuBackButton
■
SHCEMenuForwardButton
■
SHCEMenuNewButton
■
UseSystemLocale
For more information about how to use these properties, see User Properties on page 261.
NOTE: Registry settings take precedence over a user property configured from the user interface.
The administrator can also change the Setup.ini file to add the following Registry Setting parameters.
These parameters are used by all calendar views:
SHCEMenuNewButton = TRUE
SHCEMenuBackButton = TRUE
SHCEMenuForwardButton = TRUE
SHCEHideToolBar = TRUE
SHCEHideStatusBar = TRUE
UseSystemLocale = TRUE
AuxiliaryConfigPath = \Program Files\Siebel Handheld\Templates\AuxConfig.txt
Configuring Calendar Color Codes and Descriptions
The auxconfig file contains a section for each organization and the rule expressions to define the
color code and dynamic description for Daily and Weekly calendar views. Color code is rendered as
the side bar color in a Daily view and is rendered as text background color of the time indicator in
the Weekly view. The color code is a hexadecimal representation of the possible color to be used.
The key values that can be defined are:
Default Color: Used if the Color expression does not evaluate to any color code.
Color: Used to show color codes based on the Expression defined.
Day Description: Used for the Daily view and defines which fields to display for Calendar Activity
when it is shown in Daily view. The text word-wraps to multi-line display if timeslot spacing is for
two or more lines.
Week Description: Used for Weekly view and defines which fields to display on Calendar Activity
when it is shown in Weekly view. The number of fields displayed can be reduced due to limited display
space.
Siebel Medical Handheld Guide Version 8.1/8.2
47
Developing Siebel Handheld Applications ■ Configuring Calendar Settings
Table 6 shows an example of a section from the auxconfig.txt file:
Table 6.
Key Value Example
Key Value
Description
<1Ls-9n59>
Organization Id.
If the administrator defines these Key Value Set
under both Organization Id and Organization
Name, the Organization Id takes precedence.
Avoid duplicate sections for one Organization.
Default Color = 0000FF
Specifies what color code should be used for any
activity that does not evaluate to a color code
for each Color expression which in this example
is set to Blue (0000FF)
Color = IIf ([Category] ='Contact Call',
(IIf([Status]='Planned','FF0000',
(IIf([Status]='Submitted','00FF00','FFFF0
0')))),(IIf([Category]='Account Call',
(IIf([Status]='Planned','FF0000',
(IIf([Status]='Submitted','00FF00','FFFF0
0')))),'0000FF')))
Color evaluates the Expression and if the
activity is Contact Call or Account Call and has a
status of Planned, the color displays in red
(FF0000). If the activity has a status of
Submitted, the color displays in green (00FF00).
If the call has a status other than Planned and
Submitted, for example, Synchronized, then the
color displays in yellow (FFFF00). All other kinds
of activities are displayed in blue (0000FF).
Day Description = IIf ([Category]='Contact
Call', [Contact Last Name] + ' ' +
[Category] + ' ' + [Status],[Description])
Day Description evaluates the expression and if
the activity is Contact Call, Last Name, Category
of Call, and Status is displayed. If the activity is
not Contact Call, the Description field is
displayed on the calendar.
Week Description = IIf([Category]='Contact
Call', [Contact Last Name] + ' ' +
[Status],[Description])
Week Description evaluates the expression and
if the activity is Contact Call, Last Name, and
Status is displayed. If the activity is not Contact
Call, the Description field is displayed on the
calendar.
Configuring the Goto View Button
Click the Goto view button to navigate to a specified view. The view name needs to be defined as a
user property for the control.
To configure Goto View buttons on the Daily Calendar view
1
Set ClientConfigurationMode = ALL in tools.cfg file in \root\BIN\ENU directory.
2
Log in to Siebel Tools.
48
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Developing Tasks for Task UI in Siebel
Handheld Applications
3
Query for Applet Name: SHCE Sales eCalendar Daily Applet - My in Applet.
4
Navigate to Applet, then Control.
5
Add the following controls to Applet Control:
Name
Caption
HTML Type
Method Invoked
Type
CalNavigate
User defined
MiniButton
GotoView
Push Button
NOTE: The caption for all buttons can be user-defined. The method invoked is specialized.
6
Navigate to Applet, Control, then Control User Property.
7
Select CalNavigate in Control User Property.
8
Add the following Control User Property Item for CalNavigate:
9
Name
Control
Type
Item Identifier
CalNavigate
CalNavigate
Control
134
Add the following User Properties and respective values for the CalNavigate control:
Control Name
User Property Name
User Property Value
CalNavigate
View
Define the View name that you want to navigate to.
Developing Tasks for Task UI in Siebel
Handheld Applications
Siebel Task UI enables you to create an interactive tool that can help users to perform tasks. Siebel
Tasks are tools that display a series of screens, which guide users through the steps required to
perform a task. Siebel Tasks are similar to software wizards.
Siebel Tasks can allow the user to navigate backwards and forwards within the task, and can allow
users to pause and resume the task.
You can use Siebel Tasks to ensure that your business processes are executed as consistently and
efficiently as possible. You can replicate the steps of your business processes in a task. For example,
if your business process requires that the contact details of a new account are recorded before an
order can be generated for the account, you can construct a task to reflect this requirement. When
the users start the task to assign an order to a new account, the first screen they must complete is
the contact details screen. The users cannot navigate to the order details screen until they enter all
the required data on the contact details screen.
Siebel Tasks can guide inexperienced and intermittent users through the execution of unfamiliar
tasks, and in that way increase the efficiency of these users.
The following procedures describe how to implement tasks in your Siebel Handheld applications:
Siebel Medical Handheld Guide Version 8.1/8.2
49
Developing Siebel Handheld Applications ■ Developing Tasks for Task UI in Siebel
Handheld Applications
■
“Designing a Task for Siebel Handheld Applications” on page 50
■
“Creating a Task for Siebel Handheld Applications” on page 50
■
“Example of Creating a Task for Siebel Handheld Application” on page 51
For more information about Siebel Task UI, see Siebel Business Process Framework: Task UI Guide.
To perform complex processing on a task UI applet, you can write components that use the COM
architecture. For example, if you want to implement data validation or a more sophisticated UI, you
can write a component extension for the applet.
For more information about how to write component extensions, see Appendix F, “COM Extensibility”.
Designing a Task for Siebel Handheld Applications
Before you create a task for a Siebel Handheld application, you must design the structure and
sequential logic of the task.
The design involves doing the following:
1
Analyze the task, and divide the task into component steps. The steps that you identify will
become individual screens in the task.
2
Identify the sequence in which you want users to perform the steps that comprise the task. That
is, you must define how the task flows. If an error is detected on the current screen, you might
want to remain on the current screen until the error is resolved. In some situations, you might
want the sequence to reverse.
3
Identify the data that the user must enter or that must be displayed in the task.
Creating a Task for Siebel Handheld Applications
To create a Siebel Handheld application task, perform the following steps:
1
Create the task in Siebel Tools. A task for a Handheld application is implemented as a view which
contains a series of task applets. You must create an applet for each screen.
2
Set the user property of the view to indicate that the view is a Siebel Task.
3
You create the applets as form UI applets; that is, with the FormUI property set to TRUE. The
applets that you create must meet the following requirements:
50
■
Users cannot scroll on the applet, so the applet must fit in the display area of the target
device.
■
Any fields that users can edit must be in a location that is not obscured when the SIP is
displayed.
■
The only UI items that can appear in the bottom 20 pixels of the screen are the navigation
buttons.
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Developing Tasks for Task UI in Siebel
Handheld Applications
■
The navigation bar, menu bar, toolbar, and status bar on task applets are hidden. The applet
must use the navigation buttons to control all navigation.
For more information about form UI applets, see Configuring Form UI Applets for the Siebel
Handheld Client on page 40.
4
Add UI controls to the task applet.
5
Add one, two, or three navigation buttons to the applets. Use frame methods to associate
functionality with the buttons.
To add navigation buttons to an applet, you define the buttons in the user properties for the
applet. For example, if you want to configure Back, Cancel, and OK buttons for an applet named
OrderTaskProduct, add the following user property to the applet:
TaskNavigation=”Back, Cancel, Ok(OrderTaskProduct)”
Note the following:
■
A task applet does not automatically commit data when the user steps off the applet into another
task applet in the same view. You must create the required code to ensure that the data is
committed.
Alternatively, data is committed when the user steps off the view.
■
To perform more complex processing in a task, you can write components that use the COM
architecture. For example, if you want to implement data validation or a more sophisticated UI,
write a component extension for the Handheld application.
For more information about how to write component extensions, see Appendix F, “COM
Extensibility”.
Example of Creating a Task for Siebel Handheld
Application
The following example is a simple task for Siebel Handheld applications that users can execute to
take a simple order. This task creates three screens, as follows:
■
Select Product screen
■
Specify Quantity screen
■
Confirm Order screen
To create this task, perform the following steps:
1
In Siebel Tools, create a normal view named OrderTaskView.
2
Specify that the view is a task view, that is, set the TaskUI user property, as follows:
TaskUI=”TRUE”
For more information about this user property, see TaskUI User Property on page 273.
3
Create three applets on the view with the following names:
Siebel Medical Handheld Guide Version 8.1/8.2
51
Developing Siebel Handheld Applications ■ Scripting in the Siebel Handheld Application
4
5
■
OrderTaskProduct
■
OrderTaskQuantity
■
OrderTaskSummary
For each applet, set the user properties as described in the following table:
User Property
OrderTaskProduct
OrderTaskQuantity
OrderTaskSummary
FormUI
“True”
“True”
“True”
TaskBtnMethod1
“UndoRecord,GoBack”
“UndoRecord,GoBack”
“NewRecord,GotoApplet”
TaskBtnBitmap1
“Delete Record”
“Delete Record”
“More”
TaskBtnMethod2
“NewRecord”
“GotoApplet”
“GotoApplet”
TaskBtnTarget2
—
“TASK1”
“TASK2”
TaskBtnBitmap2
“New Record”
“Go Back”
“Go Back”
TaskBtnMethod3
“GotoApplet”
“GotoApplet”
“GoBack”
TaskBtnTarget3
“TASK2”
“TASK3”
—
TaskBtnBitmap3
“Go Forward”
“Go Forward”
“Goto Last”
In Grid Layout Editor, add the required controls to each applet, and arrange the controls
appropriately.
NOTE: No data validation is performed in this simple Task UI.
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:
52
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Compiling the Siebel Handheld Application
■
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
MsgBox"....."
End If
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:
1
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:
a
The Application_Start event of the Handheld application did not occur.
b
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.
Compiling the Siebel Handheld
Application
Compiling the repository for the Siebel Handheld application is identical to compiling on the Siebel
Web Client. For more information about compiling the repository, see Using Siebel Tools. For
deployment to production, always perform a full compilation. This assumes that you have organized
all of the object definitions for your Handheld application in one project or a limited set of projects.
When you compile your application, a Siebel repository file (.srf) is created and put in the destination
directory you specified during the compile procedure. Make the .srf file the source of repository
information for the Handheld application test client machine, defining all Siebel applications for that
client, when you move it to your local \Siebel\objects directory.
Siebel Medical Handheld Guide Version 8.1/8.2
53
Developing Siebel Handheld Applications ■ Installing and Setting Up End User
Translation Functionality
It is strongly recommended that you make a backup of the existing .srf file in your local
\Siebel\objects directory before overwriting it with the new one. That way, if you make an error or
you want to revert to the original application, you have a backup that you can easily restore.
Versioning for the repository is tracked, and if the .cfg, schema, or repository files have changed,
the synchronization process will automatically rebuild the .rml and schema. For more information
about compiling the Handheld application, see Using Siebel Tools.
Installing and Setting Up End User
Translation Functionality
End User Translation functionality provides you with the ability to translate the text strings within
the Siebel Handheld application. The translation process must happen during the development cycle
and once completed your development team can then package the translated strings for distribution.
The translation process requires the generation of a file of strings from the binaries of the Handheld
application which are then translated and distributed to the user base. This file, userstr.txt,
containing the translated strings is then used to override the strings within the existing binaries for
the Handheld application. Therefore, you will be required to build a copy of userstr.txt into the
installation media for your Handheld application.
The translation string file is version specific so you must repeat this process every time you upgrade
your Handheld application.
The following procedures are related to installing and setting up end user translation functionality:
■
“Performing Setup for Initial String Translation” on page 54
■
“Distributing Translated Strings” on page 55
Performing Setup for Initial String Translation
In order to perform the initial string translation you must perform the procedure in this topic prior
to installation:
To set up Siebel Handheld application for initial string translation
1
In the installation directory of the Siebel Handheld application, add the following two lines to the
setup.ini file:
[EndUserLocalization]
UserDefinedLang=Y
2
Install the Siebel Handheld application.
During application initialization and the subsequent startup, the file 'userstr.tmp' is generated
within the ApplicationDataDirectory (by default this is \Program Files\Siebel Handheld). This
file is generated upon startup whenever the UserDefinedFlag is set to Y within the registry of the
Handheld application and an existing userstr.txt cannot be found.
3
54
Copy the generated file over to the computer where you will be performing the string translation.
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Installing and Setting Up End User
Translation Functionality
4
Translate the strings as required and remove any untranslated strings from the file.
For example, given the following exported strings:
33872|HTML\
33873|Tab delimited text file\
33874|Export\
33875|Format:\
33876|Only Active applet\
33877|All applets in view\
33878|Output file name\
33879|Browse…\
33880|And paste output to clipboard\
33881|And open file\
Translate the required strings and remove any untranslated strings as follows:
33873|Archivo delimitado por tabulaciones\
33874|Exportar\
33875|Formato:\
33876|Sólo el applet activo\
33877|Todos los applets de la vista\
33878|Nombre del &archivo de salida:\
33880|Y pegar salida en el &portapapeles\
33881|Y &abrir el archive
NOTE: Strings 33872 and 33879 were removed from the userstr.txt, because they were not
required to be translated.
5
Save the file as userstr.txt in a UNICODE file format and then copy back into the
ApplicationDataDirectory on the handheld device.
6
After restarting the Siebel Handheld application, the translated strings are read from userstr.txt
in place of the strings included in the binaries of the Handheld application.
Distributing Translated Strings
When you have generated and tested the userstr.txt file of translated strings, include this file in the
installation media for the Siebel Handheld application.
To distribute translated strings
■
Create a new language sub-directory named UserDefinedLanguage, within the installation
directory of your Siebel Handheld application, from which user devices are installed and which
contains the setup.exe.
This directory with the name UserDefinedLanguage exists alongside the language sub directories
shipped with the application. The new userstr.txt file must be placed in this subdirectory.
Upon installation of the Handheld application, the custom file will be placed in the
ApplicationDataDirectory of the destination device along with the usual Handheld application
files.
Siebel Medical Handheld Guide Version 8.1/8.2
55
Developing Siebel Handheld Applications ■ Configuring Printing from the Siebel
Handheld Application
Configuring Printing from the Siebel
Handheld Application
Users can print from any view in the Siebel Handheld application. However, they are not necessarily
printing what they see on their screen. They can print a portion of the data they view or data that is
not viewable at the time.
A print template defines the document that is to be printed. After the template has been defined, it
must be associated with an applet in a view.
The following procedures are related to configuring printing from the Siebel Handheld application:
■
“Defining Documents for Siebel Handheld Applications” on page 56
■
“Designing Print Applets for Siebel Handheld Applications” on page 57
■
“Configuring Print Applets for the Siebel Handheld Application” on page 58
■
“Configuring Print Buttons for the Siebel Handheld Application” on page 58
■
“Creating Print Templates for the Siebel Handheld Application” on page 59
■
“Configuring a Printer Settings Dialog Box for the Siebel Handheld Application” on page 59
■
“Configuring Multiple Form and Multiple Quantity Printing for the Siebel Handheld Application” on
page 60
Defining Documents for Siebel Handheld Applications
Defining documents for printing includes several steps:
■
Determine the documents your users need to print.
■
Determine the views from which they are most likely to print the documents.
■
Lay out the document for printing.
Determining which documents users will need and the views from which they are most likely to print
requires that you have a good understanding of the users’ day-to-day work.
Whether the existing applets in a view include most of the required data or only a small portion is a
secondary consideration. It is not likely that a printout of the existing applets, which are formatted
for an electronic PDA interface, will provide an acceptable or usable printed document. In most
instances, you need to create additional applets that are specifically used for printing data.
The printed document will be composed of several applets which are added to the view. The applets
pull the data from the underlying business components. These applets, in turn, direct the data to the
print templates discussed in Appendix D, “Print Tagging Language.”
56
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring Printing from the Siebel
Handheld Application
Designing Print Applets for Siebel Handheld
Applications
The print template references applets associated with the view and is how you specify what data
appears in the printed document. For information on print templates, see “Creating Print Templates
for the Siebel Handheld Application” on page 59. As you design your applets, be aware of the print
specifications of the printers used in the field. Portable printers typically print on two-inch or
four-inch wide paper. You need to design your applets so that the data fits within the limits of the
paper width. Keep your documents simple so that they work with different sizes of paper. The
following are some guidelines to use when designing your applets to accommodate the smaller paper
sizes.
Form Applets
Data from only one business component can be displayed on each line in your document. When you
design your form applets, keep in mind that you can display a maximum of two columns of data in
form applets. You can specify that each column of data is preceded by an optional caption column.
This means you can have up to four columns displayed in your document—two data columns and two
caption columns. Alternatively, you can have no captions, and simply display one or two columns of
data.
The ratio between caption and data columns is, respectively, 35 percent and 65 percent. This is a
fixed relationship that cannot be customized in the template.
Limitations on multiple columns in printed output are largely hardware dependent. If printing seven
fields on a 40-column printer, the physical limitations allow only 4-5 characters for each field (40 (7-1))/7 = 4.85. To print more than four columns, an 80-column printer is recommended. Generally,
the capabilities of impact printers are lower than those of thermal printers.
List Applets
When specifying the width of a column, you can either specify it with a unit of measurement or as a
percentage of the total page width. For example, you can specify that the first column is 20 mm, and
the second column is 40 mm. If the width of the paper you print to is narrower than 60 mm, the
column widths automatically adjust to fit the printable width as a proportion of the specified width.
Therefore, the first column will always be 33 percent, and the second column will be 67 percent of
the paper width. The minimum width for a column is 8 mm, which includes a 3 mm gutter margin
between columns.
You can specify any number of columns in your list applet. However, if the width of the column is less
than 8 mm, the application ignores the column and does not print it.
On narrow paper widths, all the data from a field might not fit on one line. Data that does not fit can
be specified, in the Applet tag, to wrap to the next line and keep wrapping until the data in that field
is completely displayed. The printable width of the page is equal to the paper width minus the left
and right margins (PaperWidth – [LeftMargin + RightMargin]). These parameters are set in the
setup.ini file. For more information about setting these parameters, see Appendix E, “Print
Configuration Settings.”
Siebel Medical Handheld Guide Version 8.1/8.2
57
Developing Siebel Handheld Applications ■ Configuring Printing from the Siebel
Handheld Application
Configuring Print Applets for the Siebel Handheld
Application
Configure print applets as you do any other applet using Siebel Tools.
To set the properties for each applet in the view:
1
Set the HTML Popup Dimension value to 0x0.
The 0x0 setting hides the applet from the user who must not see the applet that is used to
generate the document. Exposure of these applets complicates a product that is tightly
configured for an effective and efficient workflow on a small mobile device.
NOTE: For compatibility with previous versions, Oracle continues to support the name, Popup
Dimension, for this property. However, it is recommended that you use HTML Popup Dimension.
2
Set the name of the Mail Template to be the name of the print template file. For more information
about the print template file, see “Creating Print Templates for the Siebel Handheld Application” on
page 59. For more information about the Mail Template property, see “Views with Associated Print
Templates or Reports” on page 34.
Configuring Print Buttons for the Siebel Handheld
Application
Users can use the application-level menu to print documents. For information about how to use the
application-level menu, see the online help for the Siebel Handheld application.
You can also include a Print button on the applet to give users a visual reminder that it is possible to
print from a particular view.
When you design your applets, keep the following in mind when deciding where to place the print
button:
■
Add the print button to the applet that is visible to the user. Do not add the print button to the
print applet, which the user never sees.
■
Consider what the desired behavior is when determining the placement of a print button.
For example, in a parent-child view, you might want to add the print button to the parent applet
to ensure that the print button is always enabled. This is not necessarily true if the print button
is placed on the child list applet. If there are no items in the list applet, the print button is
disabled, and the user cannot print from that view. If you only want the user to print when there
are list items, then placing the button on the child list applet is appropriate.
To configure a print button
1
From Siebel Tools, add a control to the print applet and specify the following:
HTML Type: Button
Method Invoked: Print
58
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring Printing from the Siebel
Handheld Application
2
Set the Display Name property of the button. Generally, this is set to Print.
Creating Print Templates for the Siebel Handheld
Application
Once you have identified and created the necessary views, you are ready to create print templates.
A print template is a text file that includes instructions for printing a document. It specifies the data
to be printed, document layout options, and text formatting. These instructions are specified using
a print tagging language that is described in Appendix D, “Print Tagging Language.”
For more information about print templates, see “Views with Associated Print Templates or Reports”
on page 34.
Configuring a Printer Settings Dialog Box for the Siebel
Handheld Application
If you want, you can configure a printer settings dialog box to popup once printing is initiated by a
user in your Siebel Handheld application. The printer settings dialog box prompts the user to specify
printer settings such as printer type, port, paper size, and page orientation.
If you do not configure a printer settings dialog box for your Handheld application, then you must
manually configure the printer settings for your Handheld application in the setup.ini registry file.
Print configuration settings are described in more detail in Appendix E, “Print Configuration Settings.”
NOTE: The print settings that the user selects in the printer settings dialog box override those set
in the registry (setup.ini file). The print settings specified via tags in the print template override
those set in the registry or selected by the user in the printer settings dialog box.
To configure a printer settings dialog box
1
In the installation directory of your Handheld application, open the setup.ini file.
2
In the [Printing] Section of your setup.ini file, add PrinterUserSelect=1 or PrinterUserSelect=2.
PrinterUserSelect=1 - displays a printer dialog box for each copy of each form if multi-form,
multi-copy printing is used.
PrinterUserSelect=2 - displays a printer dialog box only once when a form starts printing; the
same settings are used for all copies of all forms if multi-form, multi-copy printing is used.
3
Install and synchronize your Handheld application. For more information about installing and
synchronizing your Handheld application, see “Process of Installing the Siebel Handheld
Application” on page 145 and “Synchronizing Data on Your Handheld Device” on page 184.
Siebel Medical Handheld Guide Version 8.1/8.2
59
Developing Siebel Handheld Applications ■ Configuring Printing from the Siebel
Handheld Application
Configuring Multiple Form and Multiple Quantity
Printing for the Siebel Handheld Application
Where multiple print templates or forms are associated with an applet, you can configure your Siebel
Handheld application so that the user is given the option of specifying the number of copies, if any,
to print for each form associated with that applet.
User can select 0 (to not print that form) or specify more than 0 by clicking the arrow keys.
To configure multi-form, multi-quantity printing
1
Configure print applets as you would any other applet using Siebel Tools.
2
Add the print applets to the View from which you want to print.
a
From the Objects Explorer in Siebel Tools, select View, [My Print View], View Web Template,
Base, then the View Web Template Item, where [My Print view] is the name of the view from
which you want to invoke printing.
b
In the View Web Template Items List, add a record for each new print applet, specifying the value
for Applet by selecting the new print applets you created in Step 1.
NOTE: Specify values for Item Identifier to be greater than 2 to ensure that print applets are
not visible in the user interface.
3
Create print templates as specified in “Creating Print Templates for the Siebel Handheld
Application” on page 59.
4
Configure a print button using the PrintBatch method as follows:
a
From the Objects Explorer in Siebel Tools, select Applet,[My Print Applet], then Control, where
[My Print Applet] is the applet upon which you want the Print button to appear.
b
In the Control List, add a new record with the following properties:
Name = Print
HTML Type = Button
Method Invoked = PrintBatch
NOTE: If the applet already has a print button configured based on previous functionality,
just edit the Method Invoked property for that button to PrintBatch.
c
From the Objects Explorer in Siebel Tools, select Applet, [My Print Applet], then Applet User Prop,
where [My Print Applet] is the same applet that you specified in part a of Step 4.
d
In the Applet User Properties List, add a PrintForms user property. For more information about
this property, see PrintForms User Property on page 267.
Install and synchronize your Siebel Handheld application. For more information about how to
install and synchronize your Siebel Handheld application, see “Process of Installing the Siebel
Handheld Application” on page 145 and “Synchronizing Data on Your Handheld Device” on
page 184.
60
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring Siebel Handheld Applications to
Open Other Applications
Configuring Siebel Handheld
Applications to Open Other Applications
You can open other applications from hyperlinks within Siebel Handheld applications. To configure a
field to be a hyperlink, you must specify the field type as FT_URL in Siebel Tools. For more
information about how to configure a field, see Configuring Siebel Business Applications.
When a user taps a hyperlinked field, the content of the field is treated as a URL or as an attachment.
Field values that start with www or http are automatically treated as URLs, otherwise they are treated
as attachment files.
You must also configure the application user property, BrowserPath. You must specify the path to the
application that you want to use to open a document in a URL field. The BroswerPath user property
specifies the location of the executable file for the application in which to open attachments and
URLs. For more information about how to use the BrowserPath user property, see BrowserPath User
Property on page 262.
The AttachmentDir setting specifies the storage location for your attachment files. For more
information about AttachmentDir, see “Configuring the Attachment Storage Location and Storage
Capacity” on page 160.
NOTE: Field values are added to the start of the AttachmentDir registry value.
To open an application within a Siebel Handheld application
1
Set the BrowserPath application user property to, for example, \windows\pword.exe in Siebel
Tools.
2
Set the registry setting AttachmentDir to, for example, \Program Files\Siebel
Handheld\Attachment.
3
From the Siebel Handheld application on your handheld device, tap the URL or attachment to
open the file in Pocket Word.
In this example, the field is displayed as a hyperlink. If the value of the URL field is test.doc,
when the user taps the field value, the file
\Program Files\SiebelHandheld\Attachment\test.doc is opened. The file is opened in Pocket
Word, that is, \windows\pword.exe.
Configuring Signature Capture
Capabilities in Siebel Handheld
Applications
You can configure the Siebel Handheld application to capture, view, and print signatures. The
following procedures are related to configuring signature capture:
■
“Enabling Signature Capture” on page 62
■
“Invoking Signature Capture Dialog Box and Display” on page 62
Siebel Medical Handheld Guide Version 8.1/8.2
61
Developing Siebel Handheld Applications ■ Configuring Signature Capture Capabilities
in Siebel Handheld Applications
■
“Signature Capture Dialog Box and Signature Display” on page 63
■
“Example of Configuring Signature Capture in Activities More Info View in Siebel Handheld
Applications” on page 63
■
“Adding a Signature Capture Button in Siebel Tools” on page 65
■
“User Properties for Signature Capture Applets” on page 66
Enabling Signature Capture
Enabling signature capture requires implementing the required supporting field and column
definitions, adding a signature control to the applet and, if required, configuring an applet button
through which the signature capture dialog box can be invoked. A field can be configured as a
signature control in any list or form applet. Multiple signature controls can be added to a single
applet. Once captured, signatures are converted to an ASCII encoding data and stored with the
Siebel database as ASCII text.
When enabling Signature Capture, the following basic configuration is required:
■
The Business Component field mapped to the signature control must be of Type DTYPE_NOTE.
■
The underlying Table Column on which the Business Component field is based on Physical Type
LONG.
■
The Applet Control must have a control user property called Signature with a value Y. The
Control's HTML Type property must be set to Field.
The Applet Control, by default, does not redisplay the signature data if there is data in the underlying
business component field. In this case, the field displays as read-only and you are not able to see
the signature that was captured.
To redisplay signatures, add another Control user property called ShowData with a value Y. With this
additional configuration, the control is still read-only, but you are able to see the signature that was
captured. For a full list of user properties available for configuring signature capture, see “User
Properties for Signature Capture Applets” on page 66.
Invoking Signature Capture Dialog Box and Display
There are two ways to invoke the Signature Capture dialog box or Signature Display. By default, the
basic configuration specified in “Enabling Signature Capture” on page 62 allows you to invoke the
signature capture dialog box or display a signature using the (...) ellipses button.
To use a basic configuration to invoke the Signature Capture dialog box or display
with the Applet Signature button follow this procedure:
1
Create a new Control with properties HTML Type = MiniButton, Method Invoked = StartSignature
2
Add a Control user property to the MiniButton control to indicate the signature field in the
business component (for example, the field that is being used to store signature in the business
component on which the applet is based).
62
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring Signature Capture Capabilities
in Siebel Handheld Applications
For examples, see “Example of Configuring Signature Capture in Activities More Info View in Siebel
Handheld Applications” on page 63 and “Adding a Signature Capture Button in Siebel Tools” on page 65.
Signature Capture Dialog Box and Signature Display
The Signature Capture dialog or display box consists of three controls in the client area: header,
signature, and footer. A toolbar displays various buttons depending on the existence of signature
data.
Initially, when signature data does not exist or has not yet been captured, the user sees a single line
of text within the field control that reads Not Signed. Once the signature capture dialog box or
signature display is invoked, the Clear and Cancel buttons are enabled, while the Accept button is
disabled. Once the Signature area within the dialog box is populated, the Accept button is
automatically enabled. Table 7 describes the functionality around these three buttons.
Table 7.
Signature Capture Dialog Box Buttons
Button
Description
Accept
Tap this button to commit the signature to the database.
Clear
Tap this button to reset and clear the signature field.
Cancel
Tap this button to discard the signature and close the display.
Once the signature is committed (for example, signature captured and accepted in the database),
the user sees a single line of text x Signed x within the applet field control.
The Header and Footer is a line of text in one or more paragraphs. The specific Header or Footer
values that appear as well as how they appear in the dialog box is controlled by a set of user
properties. See “User Properties for Signature Capture Applets” on page 66.
Example of Configuring Signature Capture in Activities
More Info View in Siebel Handheld Applications
The following example provides detailed steps to configure signature capture in Activities More Info
View in the SIA Siebel Sales Handheld application. The Activities More Info View has one applet 'SIS
HH Activity Entry Applet - CE', which is based on the Action Business Component, which in turn is
based on S_EVT_ACT Table. The following example shows how to configure a field within the Action
Business Component called Signature, which is based on a new column created from the
S_EVT_ACT_X Table.
Siebel Medical Handheld Guide Version 8.1/8.2
63
Developing Siebel Handheld Applications ■ Configuring Signature Capture Capabilities
in Siebel Handheld Applications
To enable basic signature capture (for example, no header or footer), follow these
steps:
1
2
3
64
In Siebel Tools, add an extension column to the table S_EVT_ACT_X.
For this Field
Add This Value
Name
SIGNATURE
User Name
Signature
Type
Extension
Nullable
TRUE
Physical Type
Long
Length
0
Cascade Clear
Ignore
Transaction Log Code
TRUE
Status
Active
Sequence
999
Comments
Extension Column for Activity Signature Capture
Add a field to Action the business component with the following values:
For this Field
Add This Value
Name
Signature
Join
X_EVT_ACT_X
Column
SIGNATURE
Text Length
16,383
Type
DTYPE_NOTE
Comments
Custom Field added for Signature Capture
Add a control to the applet. For this example, you add the control to the 'SIS HH Activity Entry
Applet - CE'.
For this Field
Add This Value
Name
Signature
Caption
Signature
Caption String Reference
SBL_SIGNATURE-1005113048-35Y
Field
Signature
HTML Display Mode
EncodeData
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Configuring Signature Capture Capabilities
in Siebel Handheld Applications
4
5
For this Field
Add This Value
HTML Row Sensitivity
TRUE
HTML Type
Field
Runtime
TRUE
Text Alignment
Left
Visible
TRUE
Comments
Custom control added to display and invoke Signature Capture.
Add two Control User Properties to the new 'Signature' control with the following values:
User Property Name
Value
Signature
Y
Show Data
Y
Add the new control to the Edit Web Template for SIS HH Activity Entry Applet - CE.
You can now invoke the signature capture dialog box by tapping the ellipsis points (...) on the
signature field of the applet.
Adding a Signature Capture Button in Siebel Tools
Optionally, you can also configure the signature capture dialog box by placing a button on the applet.
The following configuration steps provide details on doing this.
To create a new minibutton control
1
Create a new MiniButton control against the 'SIS HH Activity Entry Applet - CE'.
For this Field
Add This Value
Name
SignatureCapture
Caption
Sign
Caption String Reference
SBL_SIGN-1005113047-35W
HTML Type
MiniButton
MethodInvoked
StartSignature
Comments
Custom MiniButton to Invoke Signature Capture.
Siebel Medical Handheld Guide Version 8.1/8.2
65
Developing Siebel Handheld Applications ■ Testing the Siebel Handheld Application
2
Add a Control user property to the MiniButton control to indicate the Signature field in the
business component:
Name: SignatureField
Value: Signature
User Properties for Signature Capture Applets
You can use user properties to modify the style and other features of the signature capture applet.
For more information about these user properties, see the following sections:
■
BorderStyle User Property on page 262
■
EncryptKey User Property on page 264
■
InkColor User Property on page 266
■
InkWidth User Property on page 266
■
ShowData User Property on page 270
■
Signature User Property on page 271
■
WritingGuide User Property on page 274
You can use other user properties to modify the header and footer display and the save function. For
more information about these user properties, see the following sections:
■
ConfirmAccept User Property on page 262
■
MaximumFooterLines User Property on page 266
■
MaximumHeaderLines User Property on page 267
■
SignatureDataField User Property on page 271
■
SignatureDate User Property on page 271
■
SignatureFooterField User Property on page 271
■
SignatureFooterSaveField User Property on page 272
■
SignatureHeaderField User Property on page 272
■
SignatureHeaderSaveField User Property on page 272
■
SignatureHeight User Property on page 272
■
SignatureTime User Property on page 272
Testing the Siebel Handheld Application
Before deploying your application to your users, be sure to thoroughly test the application by
synchronizing with a handheld device.
66
Siebel Medical Handheld Guide Version 8.1/8.2
Developing Siebel Handheld Applications ■ Testing the Siebel Handheld Application
To test your Siebel Handheld application
1
Download the configuration for your Siebel Handheld application to a handheld device so you can
test the functionality and verify that you have the desired behavior.
2
Check to see how much data is downloaded to your handheld device.
If too many records are downloaded, this increases the length of time it takes to synchronize the
handheld device and slows down the application performance.
For more information about checking to see how much data is downloaded to your handheld
device, see “Monitoring Synchronization Sessions for Siebel Handheld Applications” on page 110,
including the procedure “To monitor data download” on page 110.
NOTE: You can also check the log file on the Siebel Server to see how many records are downloaded
for each business component. However, you must turn on logging to capture this information in the
log file. For more information about enabling logging for Direct Server Sync, see “Configuring Logging
Levels for Direct Server Synchronization” on page 141. For more information about enabling logging
for Companion Synchronization, see “Configuring Logging Levels for Companion Synchronization” on
page 142.
Siebel Medical Handheld Guide Version 8.1/8.2
67
Developing Siebel Handheld Applications ■ Testing the Siebel Handheld Application
68
Siebel Medical Handheld Guide Version 8.1/8.2
4
Siebel Handheld Application
Administration
This chapter describes how to administer Siebel Handheld applications. The following topics are
covered in this chapter:
■
“Overview of Siebel Handheld Application Administration Screens” on page 69
■
“Setting Up Users in Siebel Handheld Applications” on page 71
■
“About Thread Throttling in Siebel Handheld Applications” on page 75
■
“About Settings in the Administration Screens of Siebel Handheld Applications” on page 76
■
“Configuring Application Settings for Siebel Handheld Applications” on page 77
■
“Configuring Component Level Settings for Siebel Handheld Applications” on page 83
■
“Administering Barcode Settings for Siebel Medical Handheld Applications” on page 84
■
“About BatchSync for Siebel Handheld Applications” on page 99
■
“Process for Administering Batch Sync for Siebel Handheld Applications” on page 100
■
“Load Balancing Support for Synchronization” on page 105
■
“Setting the ApplicationDirectory Parameter” on page 106
■
“Enabling Encryption for Siebel Handheld Applications” on page 106
■
“Storing Asynchronous Data” on page 108
■
“About Monitoring Synchronization Sessions for Siebel Handheld Applications” on page 109
■
“Organization Enabled LOV Support” on page 113
■
“Administering Siebel Medical Handheld Applications for Consignment Inventory Management” on
page 117
Overview of Siebel Handheld Application
Administration Screens
This chapter is designed to show you how to administer Siebel Handheld applications. Key tasks are
outlined that you can perform using the Administration - Mobile screen. Your organization might
follow a different task sequence depending on its business requirements.
Following are the views used for administering Handheld applications. You can access the
Administration - Mobile screen through either the Siebel Web Client or Siebel Mobile Web Client:
■
Session Administration. This view contains a detailed information about user synchronization
sessions. Use this view to monitor and investigate Handheld application user synchronization
activities.
Siebel Medical Handheld Guide Version 8.1/8.2
69
Siebel Handheld Application Administration ■ Overview of Siebel Handheld Application
Administration Screens
■
Server Component Administration. This view allows you to manage server-level settings for
synchronization components. These settings are used by the synchronization engine to extract
application definition and user data. These settings will override the application-level settings.
■
Application Administration. This view lists all the Handheld applications available within your
enterprise. From this view, you can create new application settings and administer settings that
have already been created. The contents of the following views are used by the synchronization
engine to extract application definition and user data:
■
■
Business Component Filters. Use this view tab to change synchronization filter settings
for business components. If you wish to restrict the contents of selected business
components to reduce the data set otherwise visible to your users, you can change filter
settings in this view.
■
Business Object Filters. Use this view tab to define business object level filters, which
restrict data that is downloaded to the Siebel Handheld Client upon synchronization.
■
Settings. Use this view tab to define parameter settings for your application.
Conflict Administration. This view allows you to access selected transaction errors.
■
Audit Trail. Use this view tab to obtain information about action taken on a particular data
conflict. Audit Trail must first be enabled for the conflict data. The business components are
Handheld Transaction Error and Handheld Txn Error Message.
■
Business Components. Use this view tab to see business component information
associated with a particular data conflict.
■
Error Details. Use this view tab to get detailed information about specific data conflicts. You
are also able to take particular action on any given conflict.
■
Barcode Administration. This view allows you to create new barcode definitions for your
Handheld applications.
■
User Administration. This view allows you to manage user-specific settings, such as business
object and business components filters, that filter the data that display to the user. The data sets
contained in these user views are used by the synchronization engine to extract application
definitions and user data. The Siebel Handheld application is populated by these data when the
user performs synchronization. These settings override the Siebel Server component-level and
application-level settings.
■
70
■
User Business Components. Under this view tab, you can set user-specific synchronization
filter directives for business components. These settings override application-level settings.
■
User Business Objects. Under this view tab, you can set user-specific filters for business
objects. In this setting, you limit the data set that is downloaded, at the time of
synchronization, to the Siebel Handheld Client. These settings override application-level
settings.
■
User Settings. Under this view tab, you can control user-specific settings which override the
Siebel Server component-level and application-level settings.
Batch Synchronization Administration. In this view you can extract Siebel Handheld
application databases, process-pending transactions, and apply the transactions to the Siebel
Server.
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Setting Up Users in Siebel Handheld
Applications
■
Barcode Enabling. In this view you can enable barcode scanning for chosen views in the Siebel
Handheld application.
NOTE: By default, most of the parameters referenced in this chapter are not automatically available
as options in the drop-down menus of your Handheld application, and as a result are not set in the
default configuration. If you want to make these and any other new parameters available, then you
must add them to your Handheld application by creating a new parameter record for each parameter
you want to make available.
Setting Up Users in Siebel Handheld
Applications
To set up users in a Siebel Handheld application, you must perform a number of tasks. The tasks that
you must perform include the following:
■
“Assigning User Responsibilities to Siebel Handheld Application Users” on page 71
■
“Creating Siebel Handheld Application Views” on page 71
■
“Setting Business Component Filters for Siebel Handheld Application Users” on page 73
■
“Setting Business Object Filters for Siebel Handheld Application Users” on page 74
Assigning User Responsibilities to Siebel Handheld
Application Users
You must create user accounts and assign responsibilities and passwords for each user of the
Handheld application. The steps are the same as those for creating user accounts, assigning
responsibilities and passwords for the Siebel Web Client. For more information about creating user
accounts, and assigning user responsibilities and passwords, see the Siebel Applications
Administration Guide.
Creating Siebel Handheld Application Views
The synchronization engine for the Handheld application extracts views based on configuration (SRF)
and the responsibility set up in the Application Administration view.
To configure a new view in your Handheld application, follow the list below.
Knowledge of Siebel Tools is required to perform these tasks.
1
Create the new view in Siebel Tools. For information on creating views, see Configuring Siebel
Business Applications.
2
Add that view to the Handheld application screen. For more information about adding views to
screens, see Configuring Siebel Business Applications.
Siebel Medical Handheld Guide Version 8.1/8.2
71
Siebel Handheld Application Administration ■ Setting Up Users in Siebel Handheld
Applications
3
Add the screen to the Handheld application, if required. For more information about adding
screens to applications, see Configuring Siebel Business Applications.
4
Compile the project. For more information about compiling projects, see Using Siebel Tools.
5
Add the new view to the Handheld application user’s responsibility. For more information about
adding views to a user’s responsibility, see “To add a Siebel Handheld application view to a user’s
responsibility” on page 72.
To add a Siebel Handheld application view to a user’s responsibility
1
Launch the Siebel Web Client application that uses the same database that the Handheld
application synchronizes with.
2
Navigate to the Administration - Application screen, then the Views view.
3
Add the new views.
4
In the Responsibilities view, associate each view with the appropriate Handheld application
responsibility.
5
Add appropriate users to the responsibility.
NOTE: For more information about adding views and associating views with responsibilities, see
Siebel Applications Administration Guide.
Specifying Views for the Siebel Handheld Application
The Handheld application uses a small subset of views used in the Siebel enterprise application.
Because there are memory resource constraints on handheld devices, it is recommended that you
compile an SRF to extract only those views that are used on the device.
The combination of the SRF and the user's responsibility determines which views are extracted. The
handheld device only extracts views whose parent screen is included in the Handheld application and
are part of the user's responsibility.
About Business Component Filters
Business component filters are used in some cases to restrict the size of extractions that otherwise
might be excessive. They suppress the extraction of business component records. Use business
component filters with discretion because excessive filtering can cause server data integrity
problems.
Business component filters can be specified at either the application level or the user level, but not
at the component level. They must not be specified at the user level outside of your test
environment, and when tested they must be migrated to the application level.
72
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Setting Up Users in Siebel Handheld
Applications
If you are configuring synchronization for Handheld applications, a suggested practice, is to start
with no business component filters at all. Attempt a synchronization and even if it fails due to
excessive data extraction volumes, view the extraction results to determine the business
components for which the data extraction was excessive. If any business component extraction is
found to be excessive, you can reduce the extraction by adjusting the existing search specs specified
in Siebel Tools (applets and business components), or Handheld application settings (for example,
in DefaultBusObj), and selection filters (business object filters). If nothing else works, a business
component filter can be used to force a reduction in the result set for a particular business
component.
Setting Business Component Filters for Siebel Handheld Application
Users
The Business Components Filters view tab in the Application Administration view contains the
synchronization filter settings for business components. If you wish to add or remove business
component filter settings for users, you do so in this view.
To add a business component filter setting
1
Navigate to the Administration - Mobile screen, then the Application Administration view.
2
In the Handheld Applications list, select the appropriate application, then click the Business
Component Filters view tab.
3
Click New, then enter the required information.
Some fields in the Business Component Filters view are described in the following table:
Field
Comments
Owner
Read only. Contains the Handheld application to which the business
component will be associated. For example, Siebel <Application
name> for CE.
Business Component
A text box. Enter the business component name.
Name
A text box. Enter the business component filter name. For example,
Filter 1.
Query
A text box. Enter the syntax for the query. For example, [Start
Date] <=Today()
For more information about developing queries, see “Data Filtering
for Siebel Handheld Applications” on page 129
To remove a business component filter setting
1
Navigate to the Administration - Mobile screen, then the Application Administration view.
2
In the Handheld Applications list, select the appropriate application, then click the Business
Component Filters view tab.
3
Select the filter setting record you wish to remove.
Siebel Medical Handheld Guide Version 8.1/8.2
73
Siebel Handheld Application Administration ■ Setting Up Users in Siebel Handheld
Applications
4
From the Business Component Filters menu, choose Delete Record.
About Business Object Filters
The Siebel Web Client supports named queries on most or all screens. These queries restrict the
result set displayed to the user. Business object filters are the Handheld application synchronization
equivalent to these named queries. Just like client based queries, they are applied to a specified
business object. They also contain search or sort specifications for business components that are part
of that business object.
The Default column is the only difference from the query syntax appearing in a BusObject filter for
the Siebel Web Client. The Default column is unique to the business object filter mechanism. For Web
client queries, users can set a default query for each view in their Preferences screen. If users do
not set a default query for each view in their Preferences screen, there is no default query, and so
all records are returned by default. This is not recommended for Handheld application deployments
as this might result in excessive volumes of data being extracted. Thus, the Default column allows
you to decide what filter to use by default if a user does not make a selection.
There is also a client option to revert to default filters selection. There must be at most a single
default filter for each business object name. It is not recommended that you set more than one filter
as the default for a particular business object. Note however, that the same default choice will be
made by all clients.
Business object filters can be specified at either the application level or the user level, but not at the
component level. Business object filters specified at the user level override a filter specified at the
application level, provided the application-level filter has the identical values for the business object
name and filter name. The list of filter choices presented to the user is the merged list of all
application filters except those overridden at the user level, plus all user filters.
Setting Business Object Filters for Siebel Handheld Application Users
The Business Object Filters View in the Application Administration view contains the synchronization
filter settings for business objects. If you wish to add or remove business object filter settings for
users, you do so in this view.
To add a business object filter setting
1
Navigate to the Administration - Mobile screen, then the Application Administration view.
2
In the Handheld Applications list, select the appropriate application, and then click the Business
Object Filters view tab.
3
Click New, and then enter the required information.
74
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ About Thread Throttling in Siebel
Handheld Applications
4
The fields in the Business Object Filters view are described in the following table:
Field
Comments
Owner
Read only. Contains the Handheld application to which the business
component will be associated. For example, Siebel <Application Name>
for CE.
Default
Check to allow you to decide what filter will be used by default if a user
does not make a selection.
Business Object
A text box. Enter the business object name. For example, Account.
Name
A text box. Enter the business object filter name. For example, BOFilter
1.
Query
A text box. Enter the syntax for the query, for example, as follows:
'Account'.Search = "[Account Status] = LookupValue (
""ACCOUNT_STATUS"", ""Active"" )" 'Account'.Sort = "Name,
Location"
For more information about developing queries, see “Data Filtering for
Siebel Handheld Applications.”
To remove a business object filter setting
1
Navigate to the Administration - Mobile screen, then the Application Administration view.
2
In the Handheld Applications list, select the appropriate application, and then click the Business
Object Filters view tab.
3
Select the filter setting record wish to remove.
4
From the Business Object Filters menu, choose Delete Record.
About Thread Throttling in Siebel
Handheld Applications
When a large number of users attempt to synchronize simultaneously, the load on a single server
can become excessive. Thread throttling significantly reduces the total number of simultaneously
active transaction processor threads and database extraction threads, thereby increasing the overall
throughput for synchronization, without reducing the number of concurrent users. Synchronization
performance degrades slightly but will successfully complete for all users.
Siebel Medical Handheld Guide Version 8.1/8.2
75
Siebel Handheld Application Administration ■ About Settings in the Administration
Screens of Siebel Handheld Applications
Thread throttling allows the maximum possible number of concurrent users. It throttles in a manner
that maximizes application server usage during any mixture of transaction processor and database
extraction threads. Thus, if the Siebel Handheld Application Server supports x concurrent transaction
processing threads, it will allow this number of transaction processing threads while disallowing all
database extraction threads. Similarly, if the server supports y concurrent database extraction
threads, it will allow this number of database extraction threads while disallowing all transaction
processing threads. If fewer than x transaction processing threads are currently active, some
database extraction threads are allowed to execute concurrently. Similarly, if fewer than y database
extraction threads are currently active, some transaction processing threads are allowed to execute
concurrently.
For information on thread throttling settings, see “Configuring Application Settings for Siebel Handheld
Applications” on page 77.
To enable thread throttling, see “To add a new application setting” on page 83.
About Settings in the Administration
Screens of Siebel Handheld Applications
Settings can appear at three levels: Application, Component, or User. Certain settings are only
allowed at specific levels.
There are also two types of settings: single-line and multi-line settings:
■
For a single-line setting, only one row can contain a unique setting name at a given level. Thus,
a single-line setting at the User level can be used only once at that level. For single-line settings,
the Sequence column must always contain a value of zero.
For single-line settings, you can leave the sequence column value alone, which will result in a
default value of zero being assigned.
■
For multi-line settings, the sequence column is necessary to allow multiple rows. The sequence
column has no effect on actual processing, but is part of the logical key in the database table.
When you create a new record in this database table, the record must have a unique logical key.
For multi-line settings, each line must include a different sequence number to avoid logical key
conflicts.
If the combination of setting name and sequence number is not unique for a particular parent record
(Application, Component, or User), you will receive an error message when stepping off or saving
the record. Multi-line entries must contain the correct key values before they can be saved to the
database.
The rules for override are that any setting, whether single line or multi-line, specified at the lower
levels overrides that same setting name at higher levels. Thus the settings at the application level
apply unless specific settings are overridden for a particular component or a particular user. When
an override occurs, it occurs for the complete setting name. Thus, if a particular multi-line setting
has three rows at the user level and twelve rows at the application level, the resulting multi-line
setting value for that setting will contain only the three rows at the user level. There is also an
override mechanism to allow a setting to be removed, rather than replaced. To remove a setting from
a higher level, specify the setting name to be removed, with an empty setting value.
76
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Configuring Application Settings for
Siebel Handheld Applications
Configuring Application Settings for
Siebel Handheld Applications
The Administration - Mobile screen contains a Settings list that allows you to change default settings.
Some of the settings are described in Table 8 on page 77.
The Handheld setting value field has a limit of 2000 characters. To create a default business object
(DefaultBusObj) setting value with more than 2000 characters:
Break the value into multiple lines of DefaultBusObj settings. Enter these settings using the same
DefaultBusObj value format:
BusObj|Visibility|Query|BusComp_1|query specifications_1[|BusComp_n|query
specifications_n]
When defining multiple lines of DefaultBusObj settings for a single business object, all view modes
and filters must match. If a business component is found in multiple DefaultBusObj settings for a
single business object, then the business component’s query specifications will be concatenated with
a space and appended to the previous business component’s query specifications. You must be aware
of this effect in order to decide if both query specifications must be combined with an OR or AND
operative.
The DefaultBCuserProps and DefaultFields settings for a single business component can also be
broken into multiple lines of settings if their values exceed 2000 characters. These settings must all
be entered using the same value format as well:
BusComp|BCUserProp_1[|BCUserProp_n] or BusComp|Field_1[|Field_n]
Table 8.
Settings for Siebel Handheld Applications
Setting Name
Definition
Valid Values
AllowRememberPassword
Single-line setting. Specifies whether
the Remember Password check box will
be displayed on the Siebel Handheld
Client Synchronization screen.
TRUE or FALSE
ApplicationDirectory
Single-line setting. Specifies the
working directory (UNC path) for the
Handheld application synchronization
component where user data is stored.
\\server
name\directory
name
BatchDownloadStagger
Single-line setting. Enables the setting
of the interval (in minutes) during which
the polling for ready extracts is
staggered.
integer >= 0;
default is 30
BatchInitialDownload
Single-line setting. Enables the setting
of the earliest time (HH:MM; 24-hour
clock) at which the polling for a
database extract can commence. The
setting must be UTC enabled.
00:00 is the default
value
Siebel Medical Handheld Guide Version 8.1/8.2
77
Siebel Handheld Application Administration ■ Configuring Application Settings for
Siebel Handheld Applications
Table 8.
Settings for Siebel Handheld Applications
Setting Name
Definition
Valid Values
BatchPollFrequency
Single-line setting. Enables the setting
of the amount of time (in minutes)
between polling sessions.
integer >= 0;
default is 15
ClientSyncDefault
Determines the default synchronization
options available to the synchronization
client in the Handheld application. It can
have the following values:
Deferred,
Upload
■
Upload which means that the Upload
Only option is selected in the batch
synchronization dialog on the client.
■
Deferred which means that the
Upload Now, Auto Download Later
option is selected.
DBExtractThreadLoad
Single-line setting. Enables Thread
Throttling functionality for database
extract threads. It is the load (or
weight) that will be assigned to each
individual Database Extractor thread.
For each running database extracting
thread, this load value will be used to
determine the total system load, which
is then compared against the
MaxTotalThreadLoads value. A new
thread will only be started if the total
system load does not exceed the
MaxTotalThreadLoads value. A value of
zero disables throttling of Database
Extractor threads.
DefaultBCUserProps
Multi-line setting. Reduces the number
of User Properties that are extracted to
the device metadata, thus decreasing
the number of fields for a business
component that need to be extracted.
These reductions lower the metadata
extract size and optimize client
performance by removing irrelevant
user properties from the Handheld
application configuration. If this
directive is not specified for a business
component, then all user properties will
be extracted.
78
Siebel Medical Handheld Guide Version 8.1/8.2
integer >= 0;
default is 2
Siebel Handheld Application Administration ■ Configuring Application Settings for
Siebel Handheld Applications
Table 8.
Settings for Siebel Handheld Applications
Setting Name
Definition
Valid Values
DefaultBusObj
Multi-line setting. Used to force the
extraction of a business object and its
designated business components. This
is typically used when a business
component is not extracted because it is
not specified via the “DefaultView”
directive and is required for the
application to function correctly.
Another use of this directive is to
designate business components that
function as RBOs (reverse business
objects).
Business Object
Name|Visibility
Level||Business
Component
Name|QBE query
construct
DefaultFields
Multi-line setting. Used to force the
extraction of fields for a particular
business component. This is typically
the case where the business component
is extracted via the “DefaultView”
directive but because the field is not
visible on the applet, it is not extracted.
Also when a hidden business component
is extracted via the “DefaultBusObj”
directive, it is necessary to specify all of
the fields that need to be extracted for
the business component. If no fields are
specified via this directive, then the
business component will not be
extracted for this case.
Business
Component
Name|Field1|Field2|
…
DefaultHandheldInsertMode
Single-line setting. Enables insert
failure processing for synchronization. If
enabled, synchronization will stop upon
encountering a data conflict during an
insert operation. Users or
administrators must resolve the data
conflict before synchronization can
resume. This feature is disabled by
default.
NoFail or FailOnError
For more
information about
QBE (query by
example) structure,
see “Constructing
Business Component
and Business Object
Filters for Siebel
Handheld
Applications” on
page 130.
Siebel Medical Handheld Guide Version 8.1/8.2
79
Siebel Handheld Application Administration ■ Configuring Application Settings for
Siebel Handheld Applications
Table 8.
Settings for Siebel Handheld Applications
Setting Name
Definition
Valid Values
DefaultHandheldSyncPickMode
Single-line setting. Enables Extended
Pick processing for synchronization. If
enabled, synchronization stops when a
data conflict is encountered during a
pick operation. Users or administrators
must resolve the data conflict before the
synchronization can resume. This
feature is disabled by default.
NoFail or FailOnError
Enable Application Lockout
Single-line setting. If set to TRUE, locks
the Siebel Handheld application after a
number of invalid attempts. The number
of invalid attempts is specified in the
FailedLoginAttempts setting. The Siebel
Handheld application locks for the
number of days specified in the
LockOutPeriod setting. The default
value is FALSE.
TRUE or FALSE
Enable Encryption
Single-line setting. If set to TRUE,
enables encryption of the database on
the handheld device. The default value
is FALSE.
TRUE or FALSE
EnableBatchExtraction
Single-line setting. This parameter
enables or disables the batch
synchronization functionality. Disable
batch synchronization is the default.
TRUE or FALSE
EnableThrottleDebugMode
Single-line setting. This parameter
enables or disables Thread Throttling
functionality.
TRUE or FALSE
ExtractionExpiration
For batch synchronization functionality.
It specifies the number of hours that is
used to determine when a database
extraction has expired. When a
database extract expires, batch
synchronization will reextract the
databases. If no value is provided, then
databases will be extracted every time
they are requested.
integer >= 0
80
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Configuring Application Settings for
Siebel Handheld Applications
Table 8.
Settings for Siebel Handheld Applications
Setting Name
Definition
Valid Values
LoadBalanceLoc
Single-line setting. This setting can be
specified only from the application level.
The IP address or server name of the
load balancer and port number are
specified in the following format:
Load balancing must
be used for batch
synchronization, if
enabled.
[IP Address]:[port number]
MaxBatchsyncTasks
Single-line setting. This parameter
enables a percentage of synchronization
component tasks to be allocated to
performing DBextract or Transaction
Processing.
integer >= 0;
default is 0.5
MaxThrottleWaitTime
Single-line setting. For Thread
Throttling functionality. This is the
upper limit on the amount of time (in
minutes) any individual throttling
request will be allowed to wait.
integer >= 0;
default is 5
MaxTotalThreadLoads
Single-line setting. For Thread
Throttling functionality. It defines the
maximum number of total thread loads
(determined by DBExtractThreadLoad
and TranProcThreadLoad for each type
of thread) that will be allowed to run
across the scope defined by
ThreadThrottleScope. If a throttling
request is made that causes this
maximum to be exceeded, the
requesting thread is delayed. The
default value is zero, which completely
disables the throttling mechanism.
integer >= 0;
default is 0
NoDatabaseBusComp
Multi-line setting. Defines a business
component that must be omitted from
the device database and excluded from
database extraction.
NoExtractBusComp
Multi-line setting. Defines a business
component that must be excluded from
database extraction.
SchemaChangeNotification
Multi-line setting. Defines a Business
Service that must receive the Handheld
Schema Change Notification.
(Siebel internal)
Siebel Medical Handheld Guide Version 8.1/8.2
81
Siebel Handheld Application Administration ■ Configuring Application Settings for
Siebel Handheld Applications
Table 8.
Settings for Siebel Handheld Applications
Setting Name
Definition
Valid Values
ThreadThrottleScope
Single-line setting. For Thread
Throttling functionality. Defines the
scope of the thread throttling
mechanism as using one of two different
modes:
Application or
Process
■
Process Thread, where throttling
occurs independently within each
process.
■
Application, where throttling occurs
across all processes running the
same synchronization application on
a single server.
Only the first character of the
ThreadThrottleScope parameter is used
to determine the value. All other
characters are ignored. Thus aardvark is
interpreted as Application. Case is also
ignored. The default value is
Application.
TranProcThreadLoad
82
Single-line setting. For Thread
Throttling functionality. It is the load (or
weight) that is assigned to each
individual Transaction Processor thread.
For each running transaction processing
thread, this load value is used to
determine the total system load, which
is then compared against the
MaxTotalThreadLoads value. A new
thread will only be started if the total
system load does not exceed the
MaxTotalThreadLoads value. A value of
zero disables throttling of transaction
processing threads.
Siebel Medical Handheld Guide Version 8.1/8.2
integer >= 0;
default is 3
Siebel Handheld Application Administration ■ Configuring Component Level Settings for
Siebel Handheld Applications
Table 8.
Settings for Siebel Handheld Applications
Setting Name
Definition
Valid Values
TranProcThreshold
Single-line setting. For Thread
Throttling functionality. This is the
minimum time (in minutes) that the
Transaction Processor will continue
processing transactions before
performing a handshake with the client.
Once this value has been exceeded, a
handshake occurs instead of starting to
process the next transaction. Doing so
prevents the client from timing out the
session when thread throttling is
enabled.
integer >= 0;
default is 5
TranReapplyComponent
Single-line setting. Server component
to use for playback of transactions for
parent component.
TranReapplyServer
Single-line setting. Siebel Application
Server to use for playback of
transactions for parent component.
To add a new application setting
1
Navigate to the Administration-Mobile screen, then the Application Administration view.
2
From the Settings list menu, select New Record.
3
Click the name field, and select the setting you require.
4
Click the Value field, and enter the text of the setting.
Configuring Component Level Settings
for Siebel Handheld Applications
You administer server components for your handheld device from the Administration - Mobile screen,
then the Server Component view. The component displayed is based on the application selected in
the Application Administration view. The Server Component Administration screen is used for
overriding application settings at the component level on a specific server. The data entered here is
used by the synchronization engine when the user synchronizes with the Siebel Server.
NOTE: You can use this method for Direct Server Synchronization but not Companion
Synchronization.
The Server Component screen contains a list of server components associated with the application
that was selected in the Application Administration screen. For each server component, the Settings
view details the associated settings.
Siebel Medical Handheld Guide Version 8.1/8.2
83
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
The Name field value needs to be the exact component name, such as SalesceObjMgr_enu, of the
synchronization server component for the Handheld application.
Server component settings are used primarily for functionality required for individual server
components. For example, thread throttling is dependent on components running on a particular
server and is best set at the Siebel Handheld Application Server component level. Examples of
settings that might be made at the component level are MaxTotalThreadLoads, TranProcThreadLoad,
DBExtractThreadLoad, and so on. Generally, settings made at the application level are shared by all
server components.
Administering Barcode Settings for
Siebel Medical Handheld Applications
Siebel Medical Handheld applications can scan and parse data from HIBC and UCC/EAN barcodes.
Administrators can set up Siebel Medical Handheld application to scan and parse any onedimensional barcode and render the corresponding data in an applet. For example, if a control in a
list applet is enabled for barcode scanning and the barcode scanned is valid, the Handheld application
will parse the barcode, create a new record, and fill in the field with parsed data. In form applets,
after the user scans an item, the data representing the item automatically populates the barcodeenabled field. In order to do this, Siebel Administrators must define the barcodes and how data will
be parsed from these barcodes in the Barcode Administration view.
The following procedures are included in this topic:
■
“Enabling Barcode Scanning in Siebel Handheld Applications” on page 84
■
“Setting New Record Behavior for Barcode Scans” on page 85
■
“Mapping a Button for Socket In-Hand Scan Card” on page 86
■
“About the Barcode Parsing Algorithm Used in Siebel Medical Handheld Applications” on page 86
■
“Creating New Barcode Definitions for Siebel Handheld Applications” on page 89
■
“Enabling Applications Views for Barcode Scanning” on page 93
■
“Enhancing the Behavior of the Barcode Scan” on page 94
■
“Example of Creating a New Barcode Definition in the Siebel Handheld Application” on page 97
Enabling Barcode Scanning in Siebel Handheld
Applications
Before using the barcode scanning feature, you must add the following parameter value to the
setup.ini file:
EnableBarcode = Y
If EnableBarcode is not set on a handheld device which has a barcode scanner attached to it, then:
■
84
When you install the Siebel Handheld application on that handheld device, and
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
■
Synchronize with the Siebel Server and default filters
An error message similar to the following displays as the application opens:
The barcode scanner could not be initialized.
If your Siebel Handheld application is not enabled for barcode scanning, then you must create an
Application Event Services object in Siebel Tools. For more information about enabling barcode
scanning for your Siebel Handheld application, see “To enable barcode scanning for a Handheld
application” on page 85.
To enable barcode scanning for a Handheld application
1
Navigate to Application object in Siebel Tools, and select Siebel HH LS Medical.
2
Expand to the Application Event Services object in Siebel Tools, and add a new entry with the
following details:
Field
Comments
Name
The description of the event. For example:
SHLS Core Barcode Serivce
Event Name
The name of the application event service. For example:
HHLS_Start
Service Name
The name of the business service on which to invoke the method. For
example:
SHLS Core Barcode Serivce
3
Add the following parameter value to the setup.ini file for your Handheld application:
EnableBarcode = Y
Setting New Record Behavior for Barcode Scans
You can specify whether to create a new record when a user scans a barcode. Typically, you create
a new record for a parseable scan, and update the active record for a non-parseable scan.
To set the new record behavior
■
In Siebel Tools, set the applet user property BarcodeNewRecord in Siebel Tools. For more
information about this user property, see BarcodeNewRecord User Property on page 262.
Siebel Medical Handheld Guide Version 8.1/8.2
85
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
Mapping a Button for Socket In-Hand Scan Card
Siebel Handheld applications support embedded barcode scanners provided in Symbol and Intermec
devices. In addition, Handheld applications support certain Socket scan cards. See Siebel System
Requirements and Supported Platforms on Oracle Technology Network for a list of supported
handheld devices and socket scan cards. Note that different socket scan cards will require different
scan card driver programs to be installed. Check with the card vendors or their Web sites for required
driver program installation.
For Intermec and Symbol devices, the barcode scanning can be triggered by the built-in buttons. If
you are using Socket scan cards, the following steps are required to be taken on the handheld device
for mapping a button to the barcode-triggering utility software, SocketTrigger.exe.
To map a button to SocketTrigger.exe (Socket Scan Card only)
1
On your handheld device, open the application that enables you to customize the hardware
button functions. For example, on Windows Mobile Version 5.0, choose Start, Settings , Personal,
then Buttons.
2
From the button list, select a button to trigger In-Hand Scan Card.
3
In the button assignment field, select SocketTrigger.
4
Confirm your selection.
About the Barcode Parsing Algorithm Used in Siebel
Medical Handheld Applications
Barcode readers convert a barcode to a set of characters. Siebel Medical Handheld utilizes a
specialized barcode class which defines the algorithm used to parse and automatically validate data
from these converted characters. By default, Siebel Medical Handheld applications can parse data
from HIBC and UCC/EAN barcodes but Siebel Administrators can easily define new one-dimensional
(1D) barcodes in the Barcode Administrations views.
It is therefore important to understand how Siebel's barcode algorithm will use data defined in the
Barcode Administration View to parse information from the barcode. Table 9 defines these applets as
well as the underlying business component and tables on which they are based.
Table 9.
Barcode Applets
Applet
Business Component
Table
Description
Barcode
SHCE Barcode
S_Barcode
Lists the barcodes defined for the
Siebel Medical Handheld
application.
Barcode Item
SHCE Barcode Item
S_Barcode_Item
Lists the data that will be parsed
from the barcode.
86
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
SHCE Barcode Item is a child of SHCE Barcode. Thus, for each record in S_Barcode table there are
many child records in the S_Barcode_Item table.
The barcode parsing algorithm uses barcode definitions in the Barcode applet to identify the barcode.
It uses the values specified in the Prefix, Minimum Length, and Maximum Length fields to find a
match. Once it finds a match, it will determine the corresponding values in the Barcode Type and
Separator (ASCII #) fields. It will then use this information to parse data from the barcode into
property sets as defined in Barcode Item applet.
The Barcode Type and Separator (ASCII #) fields determine how the child records in the Barcode
Item applet will be used to parse data from the barcode.
There are only two types of barcodes. Table 10 describes the type of barcodes standards.
Table 10.
Types of Barcodes
Barcode Type
Description
Example
Location
Barcode standards which always contact same data elements in
the same order.
HIBC
Code
Barcode standards which contain different element in any
order. Data elements are preceded by a code.
UCC/EAN
The Separator (ASCII #) field defines the ASCII character that will be used to separate data elements
if there is more than one element that is variable (for example, there is more than one record where
Minimum Length is not equal to Maximum Length in the Barcode Item applet).
The tables below provide examples of how the barcode parsing algorithm will use data in the Barcode
Administration views to parse data from Location-based barcode and a Code-Based barcode.
Example of Location Barcode Type
Table 11 provides an example of the Location Barcode type.
Location Barcode Type: HIBC +$$3061211220152LC
Table 11.
Matching Record in Barcode Applet
Name
Sequence
Minimum
Length
Maximum
Length
Prefix
Type
Medical HIBC
8
16
24
+$$3
Location
Separator
(ASCII #)
Secondary
+$$3
Siebel Medical Handheld Guide Version 8.1/8.2
87
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
Data is parsed based on the child records in the Barcode Item applet. Since Barcode Type is equal
to Location, the parsing algorithm used the sequence listed in Table 12 to parse data from the
barcode.
Table 12.
Child Records in Barcode Items Applet
Maximum
Length
Data
Description
Data
Format
Output Data
Parsed from
Barcode
Name
Sequence
Minimum
Length
Plus
1
4
4
Plus
Expiry Date
2
6
6
Expiry Date
Serial
Number
3
5
5
Serial
Number
12201
Lot Number
4
0
8
Lot Number
52
LC
5
1
1
LC
L
CC
6
1
1
CC
C
+$$3
YYMMDD
061211
Thus the relevant data that will be parsed from this barcode is as follows:
■
Expiry Data: Dec 11, 2006
■
Serial Number: 12201
■
Lot Number: 52
Example of Code Barcode Type
Table 13 provides an example of the Code Barcode type.
Code Barcode Type: UCC/ EAN^17040606106654355^2111202^3050
NOTE: The ^ character signifies a circumflex.
Table 13.
Matching Record in Barcode Applet
Name
Sequence
Minimum
Length
Maximum
Length
Prefix
Type
Separator
(ASCII #)
Medical UCC/
EAN Primary
31
16
17
01
Code
29
88
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
Data parsed based on child records in Barcode Item applet is shown in Table 14. Since Barcode Type
is equal to Code and Separator (ASCII #) is equal to 29 (corresponds to ^), the parsing algorithm
used the Code and Sequence to parse data from the barcode, and used ^ (the circumflex character)
to distinguish variable data elements.
Table 14.
Child Records in Barcode Items Applet
Data
Format
Output
Data
Parsed
from
Barcode
Name
Code
Sequence
Minimum
Length
Maximum
Length
Data
Description
Code 17
17
1
2
2
Code 17
Expiry
Date
17
2
6
6
Expiry Date
Code 10
10
1
2
2
Code 10
10
Lot
Number
10
2
1
20
Lot Number
6654355
Code 21
21
1
2
2
Code 21
21
Serial
Number
21
2
1
20
Serial
Number
11202
Code 30
30
1
2
2
Code 30
30
Quantity
30
2
1
8
Quantity
50
17
YYMMDD
040606
NOTE: The child records displayed in this table represent only a subset of all Barcode Item child
records for Medical UCC/EAN Primary. These records represent the child records that have a match
in the barcode that we are trying to parse.
Thus the relevant data that is parsed from this barcode is as follows:
■
Lot Number: 6654355
■
Expiry Date: June 6, 2004
■
Serial Number: 11202
■
Quantity: 50
Creating New Barcode Definitions for Siebel Handheld
Applications
You can define new one-dimensional barcodes in the Barcode Administration views. To define a new
barcode, you need to create a new barcode definition in the Barcodes list, then create corresponding
records in the Barcode Item list to define data elements within the barcode.
Siebel Medical Handheld Guide Version 8.1/8.2
89
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
To create a new barcode definition
1
Navigate to the Administration - Mobile screen, then the Barcode Administration view.
2
Click New, then fill in the fields.
The fields in the Barcodes list are described in the following table:
Field
Comments
Name
Required. Any descriptive name for the barcode. Must be unique for all
records defined in the Barcode screen.
Sequence
Required. This is the sequence for barcode parsing. The lower of two
sequence numbers takes precedence when deciding which barcode in
the list to match. For example, if a scanned barcode matches two
entries in the barcode list, the one with a lower sequence number will
be picked for the match. The lowest sequence number is 1.
Barcode Type
Required. Type of barcode standard. Can either be Location or Code. For
a Location type barcode, the barcode data element parsing is done
solely by the Sequence field in Barcode Item list. For a Code type
barcode, the barcode data is first parsed into multiple sections by the
Code field in the Barcode Item list, then is further parsed by the
Sequence field for each section.
For more information about barcode type, see “Example of Location Type
Barcode” on page 92 and “Example of Code Type Barcode” on page 93.
90
Buscomp
Optional. Used to designate into which business component the target
data is placed.
Min Length
Optional. The minimum length for the barcode data in digits. If it is not
set, the default minimum length is 1.
Max Length
Optional. The maximum length for the barcode data in digits. If it is not
set, the default maximum length is 10000.
Prefix
Optional. Defines the value that the parsing algorithm uses to identify
barcode definition to use. The allowed format for Prefix is any ASCII
character for exact match, '#' for any single digit number match (that
is, 0 - 9), '&' for any alphabet character in lower and upper case, or '*'
for a wild card match. For example, you can enter ##9&* as the prefix,
which means the first two characters can be any number, the third
character has to be '9', the fourth character can be any alphabet
character, and the fifth character can be any ASCII character.
Suffix
Optional. Allows you to associate suffixes with individual fields. The
allowed format for Suffix is the same as the one specified for Prefix. In
addition, the rules for matching Suffix are the same as the ones for
Prefix.
Description
Optional. Detailed description for this barcode.
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
3
In the Barcode Item list, add new records to identify how data will be parsed from barcode.
Depending on the type of barcode standard you just defined (either Location or Code), you then
need to create new records in the Barcode Item list to identify how data is parsed.
4
In the Barcode Item list, Click New, then update the required fields.
Some of the fields are described in the following table:
Field
Comments
Name
Required. Name of the barcode item (for example, Product Name
corresponds to the Product Name field). This name does not determine
which field in BusComp the parsed data is written to. That field is
determined by the Data Desc field.
Code
Applicable for Code barcodes only. Used to break a barcode into
multiple barcode sections.
Sequence
Required. The sequence for barcode data elements parsing. For
Location barcodes, this corresponds to the sequence used to parse data
elements from the barcodes. For Code barcodes, this corresponds to the
sequence used to parse data elements within barcode sections.
Min Length
Required. Minimum Length of the character string for this data element.
If this is a variable length string, then Minimum Length is not equal to
Maximum Length.
Max Length
Required. Maximum Length of the character string for this data
element. If this is a variable length string, then Minimum Length is not
equal to Maximum Length.
Data Desc
Optional. Used by algorithm to identify what field to parse this data
into. The value in this field must correspond to the exact field name.
For example, Product Name corresponds to the Product Name field.
Data Format
Optional. Defines format for data element (for example, MMDDYY is for
date).
Action
Optional. Defines the action for the data element. Both Data Format and
Action are written in the following format to the Data Desc field:
<parsed data element>,<Data Format>,<Action>
See the example in Table 18.
Siebel Medical Handheld Guide Version 8.1/8.2
91
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
Example of Location Type Barcode
The two entries for the Barcode list, HIBC Secondary and IBM, are shown in Table 15.
Table 15.
Location Type Barcode List Entries
Seque
nce
Barcode
Type
HIBC
Secondary
1
Location
Medical
Product
31
+$$9##
###3
IBM
2
Location
Tech
Product
30
+$$9##
###39
Name
Buscomp
Minimum
Length
Maximum
Length
Prefix
Suffix
Descri
ption
Entries for Barcode - HIBC Secondary in the Barcode Item list are shown in Table 16.
Table 16.
Location Type Barcode Item List Entries
Sequence
Minimum
Length
Maximum
Length
Data
Description
Prefix
1
4
4
Prefix
Quantity
2
5
5
Quantity
Exp date
flag
3
1
1
Exp flag
Date
4
6
6
Expiration
Date
Lot
5
0
13
Lot #
Link
6
1
1
Link
Check
7
1
1
Check
Name
Code
Data
Format
Action
YYMMDD
If the barcode being scanned is +$$90010039509283C001LZ, both barcode entries HIBS Secondary
and IBM are good matches. HIBC Secondary has a lower sequence as 1, it is picked as the final match
for parsing the barcode. The data is parsed as follows:
{(Prefix, "+$$9") (Quantity, "00100") (Exp flag, "3") (Expiration Date,
"950928,YYMMDD") (Lot #, "3C001") (Link, "L") (Check, "Z")}
NOTE: In this example, the use of “Prefix” in the two tables is different. The Prefix column in the
Barcode list table is required for matching the record in the Barcode list. The Prefix row in the
Barcode Item list table is a user defined data element to be parsed for a particular barcode.
92
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
Example of Code Type Barcode
Entries for Code type barcode in the Barcode list are shown in Table 17.
Table 17.
Code Type Barcode List Entries
Name
Sequence
Barcode
Type
UCC/
EAN
1
Code
Buscomp
Minimum
Length
Medical
Product
Maximum
Length
Prefix
37
01
Descri
ption
Suffix
Entries for Code type barcode in the Barcode Item list are shown in Table 18.
Table 18.
Code Type Barcode Item List Entries
Name
Code
Sequence
Minimum
Length
Maximum
Length
Data
Description
AI 01
01
1
2
2
AI 01
Packaging
Indicator
01
2
1
1
Indicator
UCC/EAN
#
01
3
12
12
UCC/EAN
Link
01
4
1
1
Link
Quantity
Section
30
1
3
5
Quantity
Section
AI 240
240
1
3
3
Product #
240
2
1
13
Data
Format
Action
1000
Validate
Product #
The barcode UCC/EAN is parsed to three sections, 01, 30, and 240. If the barcode being scanned is
01103123456789033050240ABCDEFG, the data is parsed as follows:
Parsed Data = {(AI 01, "01") (Indicator, "1") (UCC/EAN, "031234567890") (Link, "3")
(Quantity section, "3050,1000,Validate") (Product #, "ABCDEFG")}
NOTE: The Code portions in the barcode appear in bold text.
Enabling Applications Views for Barcode Scanning
You can enable any existing or new view for barcode scanning.
NOTE: You need to edit the user properties for the view applet's underlying business component.
See Appendix C, “User Properties” for details on how to edit the Barcode Fields user property.
Siebel Medical Handheld Guide Version 8.1/8.2
93
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
To enable an application view for barcode scanning
1
Navigate to the Administration - Mobile screen, then the Barcode Enabling view.
2
Click New, then enter the necessary information.
The fields in the Barcode Enable list are described in the following table:
Field
Comments
View
The view in the Handheld application from which the scan occurs.
Applet
The applet within the view from which the scan occurs.
Buscomp
The business component from which information is drawn.
Buscomp Field
The specific field within the business component that must be updated
through barcode scanning.
Enhancing the Behavior of the Barcode Scan
If your business process requires that a specific barcode logic be performed when you perform a
barcode scan using a handheld device, then you can enhance the behavior of your barcode scan.
Enhancing your barcode scan behavior reduces the time taken to perform routine tasks with the
scanner and quickly finds the correct record that needs to be updated.
The default behavior of a barcode scan results in the creation of a new record or the update of an
existing record. However, if you want to find and update a record at the same time without having
to use multiple key strokes, then you must define a new user property at the applet level.
To enhance the barcode scan behavior
1
Create a new applet user property called TriggerFindRecord in Siebel Tools.
For more information about creating TriggerFindRecord, see “Defining the TriggerFindRecord” on
page 94.
2
Create your barcode definition and add records to it identifying how the data will be parsed from
the barcode.
For more information about creating a barcode definition and adding records to it, see “Creating
New Barcode Definitions for Siebel Handheld Applications” on page 89.
3
Set your application views for barcode scanning.
For more information about enabling an application view for barcode scanning, see “Enabling
Applications Views for Barcode Scanning” on page 93.
Defining the TriggerFindRecord
To configure the behavior of your barcode scan, you must first define the user property
TriggerFindRecord at the applet level in Siebel Tools. The syntax for TriggerFindRecord is as follows:
TriggerFindRecord = <Search fields> | <Activate field> | <Method> | <Action to apply>
94
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
The fields in TriggerFindRecord are described in Table 19. Examples also follow Table 19.
Table 19.
TriggerFindRecord Fields
Field
Definition
<Search fields>
Key fields used for searching. Search fields must be separated by a
comma, for example, as follows:
<Key field 1>, <Key field 2>, ... <Key field N>
<Activate field>
The name of the (focus) field that is activated in the UI after a record
is found or added.
<Method>
This field defines what functionality needs to be performed on the
barcode scan. Each applet can define only one method in the user
property. The following methods (or process modes) are supported:
■
FindOnly—searches for matching records in a list based on key
fields. If no record is found, no new record is created. If matching
records are found, the first matching record is selected, and the
specified <Activate Field> has focus. If no focus field is specified,
users must click the field they want to update.
■
AddOnly—searches for a record in a list based on key fields. If no
record is found, a new record is created. If matching records are
found, the first matching record is selected, and the specified
<Activate Field> has focus. If no focus field is specified, users must
click the field they want to update. This method does not update
any fields in matching records.
■
UpdateOnly—searches for a record in a list based on key fields. If
no record is found, no new record is created. If matching records
are found, the first matching record is selected, and its data is
updated with the scanned data. Additionally, if <Action to apply>
has been specified, the appropriate intelligent updates occur. If no
focus field is specified, users must click the field they want to
update. This method does not create new records if the scanned
record does not exist in the list.
■
AddAndUpdate—searches for a record in a list based on key fields.
If no record is found, a new record is created and the specified
<Activate Field> is activated. If matching records are found, the
first matching record is selected, and its data is updated with the
scanned data. Additionally, if <Action to apply> has been specified,
the appropriate intelligent updates occur. If no focus field is
specified, users must click the field they want to update.
Siebel Medical Handheld Guide Version 8.1/8.2
95
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
Table 19.
TriggerFindRecord Fields
Field
Definition
<Action to apply>
Separated by a comma, this field defines the action that will be applied
to each field, for example, as follows:
<Field 1>,<Action> ^ <Field 2>,<Action> ... <Field N>,<Action>
The following actions can be applied to any field. Only one action can
be specified for each field:
■
Add—adds the scanned value to the field value. If the field specified
is nonnumeric, an error is returned.
■
Subtract—subtracts the scanned value from the field value. If the
field specified is nonnumeric, an error is returned.
■
Replace—sets the scanned value on the field.
If no action is specified, the default action is to Replace the value in the
field.
NOTE: <Action to apply> applies to the UpdateOnly and AddAndUpdate
methods only.
Example 1: FindOnly
In the following example, Product Code and Lot# are specified as the key fields on which the search
is based and Qt1 will be the activated field when the record is found:
TriggerFindRecord = Product Code, Lot# | Qty1 | FindOnly
Example 2: AddOnly
The following example specifies Product Code and Lot# as the key fields on which the search is
based. If the record is found, then it is selected. If no record is found, then a new record is created
with the scanned information, and Qty2 will be activated when the record is found or added:
TriggerFindRecord = Product Code, Lot# | Qty2 | AddOnly
Example 3: UpdateOnly
The following example specifies Product Code and Lot# as the key fields on which the search is
based. UpdateOnly is specified as the method so the fields of any found records will be updated with
the scanned information. The scanned Qty1 will be added to Qty1, the scanned Qty2 will be added
to Qty2, and no field will be activated when the record has been updated:
TriggerFindRecord = Product Code, Lot# | | UpdateOnly | Qty1, “Add” ^ Qty2, “Add”
96
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
Example 4: AddAndUpdate
In the following example:
■
SKU Code is specified as the key field on which the search is based.
■
AddAndUpdate is specified as the method, so the fields of found records will be updated with the
scanned information or a new record will be created with the scanned information.
■
The scanned Qty1 will be added to Qty1.
■
The scanned Qty2 will be subtracted from Qty2.
■
The Expiry Date will be set.
■
Qty1 will be the activated field when the record is found or added and updated.
TriggerFindRecord = SKU Code | Qty1 | AddAndUpdate | Qty1, “Add” ^ Qty2, “Subtract”
^ Expiry Date, “Replace”
Example of Creating a New Barcode Definition in the
Siebel Handheld Application
This topic gives one example of creating a new barcode definition in Siebel Service Handheld.
Although this example is for the Siebel Service Handheld application, it pertains to all Siebel
Handheld applications.
You can define new one-dimensional barcodes in the Barcode Administration views. To define a new
barcode, you need to create a new barcode definition in the Barcode list, then create corresponding
records in the Barcode Item list to define data elements within the barcode.
To create a new barcode definition, complete the following procedures. You can perform these
procedures differently, depending on your business model.
■
“To create a new barcode definition for the Siebel Service Handheld application” on page 97
■
“To enable the SHCE Service FS Activity Parts Movements views for barcode scanning” on page 98
To create a new barcode definition for the Siebel Service Handheld application
1
Navigate to the Administration - Mobile screen, then the Barcode Administration view.
2
Click New, then fill in the necessary fields.
The following table describes the fields in the Barcodes list.
Field
Sample Data
Name
Hard Disk 100 GB
Sequence
Set to the greatest number in the current list view plus one
Barcode Type
Location
Buscomp
FS Activity Parts Movement
Siebel Medical Handheld Guide Version 8.1/8.2
97
Siebel Handheld Application Administration ■ Administering Barcode Settings for Siebel
Medical Handheld Applications
3
Field
Sample Data
Min Length
12
Max Length
12
Prefix
#
Description
Service
In the Barcode Item list, add a new record to identify how data will be parsed from the barcode.
The following table describes the fields in the Barcode Item list.
Name
Sequence
Min Length
Max Length
UPC Code
1
1
1
MFG Code
2
5
5
Product Name
3
5
5
CC
4
1
1
Data Desc
Product Name
NOTE: Reducing the amount of barcode seed data extracted to the Siebel Service Handheld
application improves client performance and reduces synchronization database extract size. The
following steps provide an example of extracting only the barcode standards that are required
for the Siebel Service Handheld application. This is applicable as long as all the barcode records
for the Siebel Service Handheld application defined in the Barcode list have the Description
attribute set to Service.
a
Navigate to the Administration - Mobile screen, then the Application Administration view.
b
Select Siebel Service for CE.
c
Click the Settings view tab, and make sure the parent record is the application Siebel Service for
CE.
d
Locate the DefaultBusObj directive that has the following value:
❏
SHCE Barcode|0||SHCE Barcode||SHCE Barcode Item||SHCE Barcode Enable|.
Replace that value with the following value:
❏
SHCE Barcode|0||SHCE Barcode|[Description]="Service"|SHCE Barcode Item||SHCE
Barcode Enable|.
To enable the SHCE Service FS Activity Parts Movements views for barcode scanning
1
Navigate to the Administration - Mobile screen, then the Barcode Enabling view.
The Barcode Enable list appears.
98
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ About BatchSync for Siebel Handheld
Applications
2
3
4
If the following record does not exist, create a new record to enable the Product Name field in
the SHCE Service FS Activity Part Movements List Applet for barcode scanning with the following
information:
View
Applet
Buscomp
Buscomp Field
SHCE Service FS Activity
Part Movements
SHCE Service FS Activity Part
Movements List Applet
FS Activity Parts
Movement
Product Name
If the following record does not exist, create a new record for the Product Name field in the SHCE
Service FS Activity Part Movements Form Applet for barcode scanning with the following
information:
View
Applet
Buscomp
Buscomp Field
SHCE Service FS Activity
Part Movements (More
Info)
SHCE Service FS Activity Part
Movements Form Applet
FS Activity Parts
Movement
Product Name
Save the changes. Now the Buscomp Field Product Name in both the SHCE Service FS Activity
Part Movements view and the SHCE Service FS Activity Part Movements (More Info) view have
been enabled for barcode scanning. The Buscomp Field Product Name specified here matches the
value in the Data Desc column in the Barcode Item list defined earlier.
NOTE: The example provided above assumes that the product Hard Disk 100GB has been defined
and properly set in the appropriate product catalog.
About BatchSync for Siebel Handheld
Applications
BatchSync is a utility that enables Siebel Handheld customers to split the Siebel Handheld
synchronization process into several steps, as opposed to requiring a complete synchronization
(sync) session. When batch processing is enabled, you can select from one of four sync options after
logging in:
■
Full Sync. Uploads transactions to the Siebel Server, processes transactions, extracts a
configuration repository and database, downloads the repository and database to the handheld
device, and logs off.
■
Upload Only, Auto Download Later. Uploads transactions to the Siebel Server and sets the
handheld device to wait mode. After a specified period of time, the handheld device begins polling
the Siebel Servers at a predefined time interval. If, during polling, the device detects a valid
extract such as an un-expired dbfile.txt, the extract automatically downloads to the handheld
device.
■
Upload Only. Uploads transactions to the Siebel Server and immediately logs off to enable
transaction processing. If you need to create a new extract on the handheld device, the Upload
Only session must be followed up by a Download Only session after the batchextract.exe
completes on the Siebel Server.
Siebel Medical Handheld Guide Version 8.1/8.2
99
Siebel Handheld Application Administration ■ Process for Administering Batch Sync for
Siebel Handheld Applications
■
Download Only. Downloads a new database extract, followed by logoff. This option is only
available if there is a valid or un-expired extract on the Siebel Server, and if there are no
transactions remaining on the handheld device that requires uploading to the Siebel Server.
Process for Administering Batch Sync for
Siebel Handheld Applications
The following procedures are included in this topic:
■
“Enabling BatchSync for Siebel Handheld Applications” on page 100
■
“Downloading a Database Extraction” on page 101
■
“Reviewing Batch Synchronization Status” on page 102
■
“Running a Batch Extract” on page 104
■
“Running a Batch Transaction Process” on page 104
Enabling BatchSync for Siebel Handheld Applications
To split the synchronization process into several steps, you must enable the BatchSync utility for the
Siebel Handheld application.
To enable Batch Synchronization
1
Install the Siebel Handheld application on the handheld device. No changes are required to the
setup.ini or registry files.
2
Log on to the Siebel application from the Web. Ensure that the following are set up and running:
Siebel Server, Handheld Synchronization components, and Batch Sync component.
3
Navigate to the Administration - Mobile, then the Application Administration view.
4
Select the application you are using, navigate to the Settings Tab, and set the following
parameters to enable batch synchronization:
5
■
EnableBatchExtraction:TRUE
If set to TRUE, this parameter enables the batch synchronization functionality. Disable batch
synchronization is the default
■
ExtractionExpiration: 12
This parameter specifies the number of hours that is used to determine when a database
extraction has expired. When a database extraction expires, the batch synchronization reextracts the databases. If no value is specified, then the databases are extracted each time
they are requested.
Launch the Siebel Handheld application from the handheld device.
100
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Process for Administering Batch Sync for
Siebel Handheld Applications
6
Select File, then the Synchronize to synchronize the Siebel Handheld application with the Siebel
Server.
After the synchronization process completes, the new settings are downloaded to the handheld
device.
7
Select File, then the Synchronize to synchronize the Siebel Handheld application with the Siebel
Server again.
8
Enter your username and password, and select Start.
9
Verify that the four sync options are displayed:
■
Full Sync
■
Upload Now, Auto Download Later
■
Upload Only
■
Download Only
The option, Upload Only, is inactive if no new transaction records reside on the device. Download
Only will be inactive because no extract exists for the user on the Siebel Server yet.
10 Select Full Sync, and select All to set all filters during the synchronization process.
11 Launch the Siebel Handheld application from the device, and add some transaction records to
the handheld device.
12 Start the synchronization, select Upload Only, and select OK.
To check the status of the batch synchronization, see “Reviewing Batch Synchronization Status” on
page 102.
Downloading a Database Extraction
You can download a new database extraction from the Siebel Server.
To download a database extract
1
Navigate to the Administration – Server Management, then the Jobs view.
2
Add a new record and specify the following:
Component/Job: BatchSync
Mode: Asynchronous
3
Enter the requested server name.
4
In the Parameter applet, enter the following parameters:
■
Run Mode: Extract
■
Application Name: Siebel ePharma CE
■
Application Language code: ENU
5
In the Job Details applet, enter the time schedule parameters.
6
Select Start in the top parent applet.
Siebel Medical Handheld Guide Version 8.1/8.2
10 1
Siebel Handheld Application Administration ■ Process for Administering Batch Sync for
Siebel Handheld Applications
7
Navigate to the Administration Mobile, then the Batch Sync Administration view.
8
When the batch synchronization process is complete, launch the Siebel Handheld application
from the handheld device.
9
Select File, then the Synchronization, and select Download Only.
Table 20 lists the specific parameters for scheduling Siebel Handheld database extract jobs.
Table 20.
Parameters for Scheduling Handheld Database Extract Jobs
Parameter Name
Definition
RunMode
Run Mode. The following are valid values:
■
Extract—default value; extracts data for users who have uploaded
their transactions to the Siebel Server where the component is
running
■
ProcessTxn—processes pending transactions
■
ExtractUpgrade—extracts data for users who have uploaded their
transactions to the Siebel Server during a major upgrade. Use only
if an upgrade occurs between an upload and download of data
■
ProcessTxnUpgrade—processes pending transactions during the
upgrade. Use only if an upgrade occurs between an upload and
download of data
AppName
Application Name. An optional parameter to run batch synchronization
for a specific application. Apply this parameter only in deployments
where there are multiple Siebel Handheld applications. If no value is
specified, or if the value is unclear, batch synchronization will be
performed for all valid applications in the Siebel Handheld deployment.
AppLangCode
Application Language Code. This is a standard Siebel three-characters
language code. It is an optional parameter to run batch synchronization
for a specific language application; it is only applicable in Siebel
Handheld application deployments where there are multiple languages.
If no value is specified or if the value is unclear, batch synchronization
is performed for all valid languages of an application (if specified) or all
applications (if not specified).
Reviewing Batch Synchronization Status
The Batch Synchronization Status enables administrators to schedule and run batch synchronization
as well as check the status of a batch synchronization for a specific application.
102
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Process for Administering Batch Sync for
Siebel Handheld Applications
To review batch synchronization status
1
Navigate to the Administration - Mobile screen, then the BatchSync Administration view.
The Batch Synchronization Status displays a list of Handheld application users supported by
batch synchronization. The fields in the Batch Sync Status list are described in the following
table:
Field
Comments
User
User name of the Handheld application user supported by batch
synchronization.
Sync Node ID
Internal identifier of a Handheld device or node.
Batch Transaction Proc
Status
Last known status of the user's uploaded transactions with respect
to batch transaction processing. The status values are as follows:
■
Completed
■
Failed
■
No Transaction
■
Scheduled
■
Scheduled by Admin
■
Scheduled by Sync
■
Unknown
Transaction Received
Timestamp of the last upload of transactions to be processed in
batch.
Transaction Processed
Timestamp of the last processed transaction.
Batch Extract Status
Last known status of the user with respect to batch extract. The
status values are as follows:
Extract Completed
■
Downloaded
■
Extracted
■
Failed
■
Scheduled
■
No Extraction
■
Scheduled by Admin
■
Scheduled by Sync
■
Unknown
Timestamp of the last completed batch extract.
Siebel Medical Handheld Guide Version 8.1/8.2
10 3
Siebel Handheld Application Administration ■ Process for Administering Batch Sync for
Siebel Handheld Applications
2
Click the Batch Extraction Session tab to display the timestamp and status of batch extract
sessions for the specified user.
If you use the UploadOnly sync option, the records have a status of TxnRcvOk.
3
Click the Batch Transaction Processing Session tab to display the timestamp and status of batch
transaction processing sessions for the specified user.
Once the records are processed, the status changes to TxnProcOk.
NOTE: TxnRcvOK and TxnProcOK status are BatchSync specific. If you are running full sync, you
will not see these statuses. The transactions are generally processed when you logoff from an
Upload Only Session. The administrator can start a task to process all pending transactions which
would also change the status. In the case of a full sync, the transactions are processed as and
when they are uploaded.
Running a Batch Extract
When specifying a batch extract, administrators can specify that they want to extract data for users
who have uploaded their transactions to the server where the component is running.
To run a batch extract
1
Navigate to the Administration - Mobile screen, then the BatchSync Administration view.
2
Select the users for whom you want to run a batch extract.
3
Click Schedule Extract to change the batch extract status of the selected Handheld application
user to Scheduled.
Details of the Handheld application user is extracted when the batch synchronization component
is run with the appropriate run-mode. When the batch extract finishes, all users with a status of
Batch Extract have the value of Scheduled and are extracted for download.
NOTE: The devices for the selected users are able to perform a download-only synchronization
and download their extract.
4
Click Unschedule Extract to change the batch extract status of the selected user to Unscheduled.
Running a Batch Transaction Process
Administrators can run a batch transaction process for transactions that are uploaded to the Siebel
Server by users.
To run a batch transaction process
1
Navigate to the Administration - Mobile screen, then the BatchSync Administration view.
2
Select the users for whom you want to run a batch transaction process.
104
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Load Balancing Support for
Synchronization
3
Click Schedule Transaction-Processing to change the transaction process status of the selected
user to Scheduled.
The user's uploaded transactions are processed when the batch synchronization component is
run with the appropriate run-mode. When the batch transaction process finishes, all users with
a status of Batch Transaction Process have the value of Scheduled and are processed.
4
Click Unschedule Transaction-Processing to change the transaction process status of the selected
user to Unscheduled.
Load Balancing Support for
Synchronization
Siebel Handheld application direct server synchronization can be load-balanced (at the application
server level) to achieve better scalability and high availability. This capability removes the limitation
of assigning users to a specific application server at installation time.
The application server uses a location on the server to store users' extracted files and state
information. There is a unique synchronization directory for each user and device combination. The
ApplicationDirectory user parameter enables the administrator to define this location. For
information about setting the ApplicationDirectory user parameter, see “Setting the
ApplicationDirectory Parameter” on page 106.
By defining a shared location for this parameter, synchronization services for Handheld applications
can be load-balanced. When a user requests a synchronization session, their request is directed (by
a load-balancer) to an available Handheld application server hosting the appropriate Siebel Handheld
Object Manager, which will be able to access the user's synchronization directory. For example, a
Siebel Handheld application can be configured to point to a generic URL for synchronization.
The LoadBalanceLo parameter defines the location of the hostname (or IP address) port to be set for
the load balancing server. This setting must be used in a load-balanced environment. When this value
is specified, batch synchronization connects to the specified load balancer server instead of
connecting to the application server directly.
The load balancers supported for synchronization are the same as those for the full Siebel Business
application. You can use either the native load balancer or a third-party HTTP load balancers
supported by Oracle. For more information about the supported load balancers, see Siebel System
Requirements and Supported Platforms on Oracle Technology Network.
For information about configuring Siebel Server load balancing, see Siebel Applications
Administration Guide. Load balancing distributes workload across multiple Siebel Servers. For
background information on load balancing, see Siebel Installation Guide for the operating system you
are using and Siebel Deployment Planning Guide.
Siebel Medical Handheld Guide Version 8.1/8.2
10 5
Siebel Handheld Application Administration ■ Setting the ApplicationDirectory
Parameter
Setting the ApplicationDirectory
Parameter
ApplicationDirectory is an application-level parameter that is defined in the Administration - Mobile
screen. The default value for this parameter in the standard product is hhsync\app_name, where
app_name is the name of the application, such as sales or service, and so on. You can set this
parameter using the following procedures.
To set the ApplicationDirectory parameter
1
Login to the Siebel Server using a user ID with a Siebel administrator responsibility.
2
Navigate to the Administration - Mobile screen, then the Application Administration view.
3
Select the appropriate application (for example, Siebel Sales for CE) from the Handheld
Applications list.
4
In the bottom applet, choose the Settings view tab and set the value of the ApplicationDirectory
parameter to be the shared network location using a UNC format, for example, as follows:
\\shareddsk\hhsync\sales.
5
Save the change.
6
Restart the Handheld Object Manager server component.
NOTE: The location for the ApplicationDirectory must be a networked, high performance, highly
available drive. SAN or NAS with a high RAID rating is a good option for this purpose.
Enabling Encryption for Siebel Handheld
Applications
This topic relates to the encryption and security of the handheld device. Siebel Handheld applications
provide robust encryption of the Siebel password and database on the handheld CE devices. Users
are authenticated at application startup time and certain components of the Handheld applications
require intermittent access to the user’s password.
To enable full encryption of your Siebel Handheld application, complete the following procedures:
■
“Enabling Application Lockout for a Siebel Handheld Application” on page 107
■
“Enabling Authentication for a Siebel Handheld Application” on page 107
■
“Enabling Local Database Encryption for a Siebel Handheld Application” on page 108
106
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Enabling Encryption for Siebel Handheld
Applications
Enabling Application Lockout for a Siebel Handheld
Application
An application lockout can occur if a user fails to enter their correct password after a certain number
of attempts. If authentication fails n times, where n is defined by the administrator by setting the
FailedLoginAttempts setting, the current date is written to the security settings file, and a notification
message that the application is exiting is displayed. The administrator can set the duration of the
lockout by setting a value for the Lockout Period setting from the Administration - Mobile screen,
Application Administration, then the Settings view tab.
If a user forgets their password and transactions exist in the device database, then the administrator
can reset the user's password to blank using third-party device management software.
After the password is reset, the user can log in to the Siebel Handheld application using the blank
password. However, users must still provide their password to synchronize. After the next successful
synchronization login, the application password is automatically set to match the synchronization
password.
To configure the Enable Application Lockout setting
1
Navigate to the Administration - Mobile screen, Application Administration, then the Settings
view tab.
2
Select the Enable Application Lockout setting.
3
Set the value to TRUE.
Enabling Authentication for a Siebel Handheld
Application
The authentication of a handheld device is necessary for security reasons. Any user who has access
to a handheld device must not be able to use the Handheld application without the appropriate access
rights. For this reason, users are required to enter a password at the splash screen, before the
application loads. You are prompted for both a username and password when you want to perform
synchronization.
The Allow Remember Password feature allows the user to save their password when they log into the
Siebel Handheld application. If the user selects the Save Password check box on the log in splash
screen, the password is saved to the device registry. When complete, users will not need to enter
the password each time they log in to the Handheld application
The check box on the splash screen is only enabled when the administrator sets the Allow Remember
Password property to true.
To configure the Allow Remember Password setting
1
Navigate to the Administration - Mobile screen, Application Administration, then the Settings
view tab.
Siebel Medical Handheld Guide Version 8.1/8.2
10 7
Siebel Handheld Application Administration ■ Storing Asynchronous Data
2
Select the Allow Remember Password setting.
3
Set the value to TRUE.
Enabling Local Database Encryption for a Siebel
Handheld Application
Siebel Handheld database encryption is required to provide extra security for users data on the
handheld device. If the Enable Encryption setting is enable, the database is always encrypted so that
no other application can open and view the data. Once the application is loaded, the database is
decrypted as expected. No other application can try to access the database because it is locked by
the Handheld application. The database is always encrypted when not in use by the Handheld
application.
To enable encryption on a local database
1
Navigate to the Administration - Mobile screen, Application Administration, then the Settings
view tab.
2
Select the Enable Encryption setting.
3
Set the value to True.
When this setting is enabled, the database is encrypted when the application exits, and is decrypted
when the application is started.
Storing Asynchronous Data
An asynchronous query enables users to search information from the Siebel Server through SFM if
the information is not available from the Siebel Handheld application local database. Users can
integrate query results from an asynchronous query in the Siebel Handheld application database.
Users can perform an asynchronous query for the business objects (for example, Solution, Product,
Asset and Orders) defined for the application. For example, if a mobile field technician at a customer
site wants to check the status of an order and the order is not available on the local database, the
technician can send an asynchronous query to the Siebel Server through SFM by specifying the
account name and order date for the order. Shortly afterwards, the Asynchronous Query icon flashes,
which means that the query results are returned from the Siebel Server.
To store asynchronous data
1
Tap the icon to open the Asynchronous Query Result Alert window.
The alert window lists all the asynchronous queries performed by the user.
2
Highlight the query you want and tap the Details button.
The Asynchronous Query Result List view lists the data that meets the query criteria.
108
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ About Monitoring Synchronization
Sessions for Siebel Handheld Applications
3
Select the record that you want and tap the Store button to store the record into the Siebel
Handheld application database for further reference.
NOTE: When the record is stored on your Siebel Handheld application, you can review, search, or
update the record from the Handheld application screens and views.
Receiving Incoming Messages from the Server
From the incoming message notification window, users can drill down on the hyperlink under the
dispatched activity section to navigate directly to the activity detail view. Messages or activities are
dispatched through SFM. You can handle incoming alert messages differently, depending on your
business model.
You can tap the message alert icon to open the incoming message alert window. The alert window
displays all the incoming messages sent from the Siebel Server by SFM. The top row shows the most
recent message. You can close the alert window or can tap the hyperlinked activity # or message to
review the detail information of the activity or message.
Removing Reassigned Activities
You can remove reassigned activities differently, depending on your business mode. Users can delete
an activity from a Siebel Handheld application database through SFM if the activity has been assigned
to another user. If an activity has been dispatched to user A on a Handheld application and then the
activity is assigned to another mobile user, the activity on user A’s Handheld application must be
deleted.
For example, Technician A is assigned activity 12-98Y98 via SFM and the activity 12-98Y98 is stored
in the Handheld application database. A call center agent, however, then decides to re-assign the
activity (12-98Y98) to another technician, Technician B. The call center agent goes to the Dispatch
Board, drags and drop the activity, and assigns the activity to Technician B. Because the activity has
been reassigned to Technician B, the Siebel Server sends an SFM message to Technician A’s Handheld
application. This message arrives on Technician A’s handheld device, and removes the activity from
their Handheld application database. Technician A can see an alert message in the application's
incoming message alert window, which indicates that the activity has been assigned to another
technician and removed from their Handheld application database.
About Monitoring Synchronization
Sessions for Siebel Handheld
Applications
You can monitor synchronization sessions and synchronization conflicts for Siebel Handheld
applications from a number of screens within the Siebel Mobile Web Client. If you are using Direct
Server Synchronization (DSS) or Direct Server Synchronization via Proxy (DSSvP), you do so by way
of the Siebel Web Client. Every time a user synchronizes with the Siebel Server, a record is made.
The following procedures relate to monitoring synchronization:
■
“Monitoring Synchronization Sessions for Siebel Handheld Applications” on page 110
Siebel Medical Handheld Guide Version 8.1/8.2
10 9
Siebel Handheld Application Administration ■ About Monitoring Synchronization
Sessions for Siebel Handheld Applications
■
“Obtaining Error Details from Synchronization Sessions in Siebel Handheld Applications” on page 111
■
“Obtaining Business Component Information from Synchronization Conflicts in Siebel Handheld
Applications” on page 111
■
“Obtaining an Audit Trail for Synchronization Sessions in Siebel Handheld Applications” on page 112
■
“Responding to Synchronization Errors in Siebel Handheld Applications” on page 112
Monitoring Synchronization Sessions for Siebel
Handheld Applications
The Session Administration view allows you to gather all data related to each synchronization session
a user performs. In the Session Administration view, the Sync Status list appears above two child
lists—Sync Sessions and Extraction Info.
■
Sync Status Allows you to monitor each user synchronization session, and includes information
on synchronization status, date, type of synchronization, and so on.
■
Sync Sessions Allows you to gather further information on the status of each synchronization
session, including information on any conflicts that occurred during the synchronization, the size
of the data extracted, and so on.
■
Extraction Info Allows you to review a detailed description of all data extracted during the
synchronization session, including business component information and the number of records
extracted.
To monitor synchronization sessions
■
Navigate to the Administration - Mobile screen, then the Session Administration view.
The Sync Status list appears with the two child lists, Sync Sessions and Extraction Info, below it.
To monitor data download
1
Navigate to the Administration - Mobile screen, then the Session Administration view.
The Sync Status list appears with the two child lists, Sync Sessions and Extraction Info, below it.
2
Scroll down to the Extraction Info list.
There is one extraction record for each unique extraction context. Review the data extraction
information recorded. Information recorded for review is described in the following table.
110
Field
Comments
Business Component
The business component on which the synchronization is based.
Context
The context of the extraction.
# Records Extracted
The number of records that exist in the context of applied filters.
Extract Time
The length of time it took to extract the set of records.
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ About Monitoring Synchronization
Sessions for Siebel Handheld Applications
Field
Comments
Business Object Filter
The business object filter (if any) applied to the extraction.
Business Component Filter
The business component filter (if any) applied to the extraction.
You should use this information to help answer the following questions:
■
Why did I download a particular record to the device?
■
Why is an expected server record not downloaded to the device?
■
Why is the total number of records showing up in some views so big?
■
Why is the total number of records showing up in some views so small?
■
Why does the extraction take so long?
The extraction record lists the filters used to control the extraction, the context of the extraction,
how many records exist in that context for those filters, and how long it took to extract that set
of records. By analyzing these records, and looking at all extraction changes resulting from filter
changes, and, or changes to search specifications (defined in Siebel Tools), you can answer all
of the above questions.
NOTE: Because storage space on a handheld device is typically limited, and available networking
bandwidth for synchronization might not always be optimal, it is critical to carefully configure the
filters and keep the size of your local database small. It is recommended that users should have
a local database size of around three megabytes (MB), and this should never exceed 10 MB.
Obtaining Error Details from Synchronization Sessions
in Siebel Handheld Applications
The Conflict Administration view allows you to obtain information on synchronization errors that
occur during individual synchronization sessions.
To obtain synchronization error details
1
Navigate to the Administration - Mobile screen, then the Conflict Administration view.
2
In the Transactions list, select the appropriate record, and then click the Error Details view tab.
3
In the Error Details list, select or query for the desired record.
Obtaining Business Component Information from
Synchronization Conflicts in Siebel Handheld
Applications
The Transactions view on the Conflict Administration screen allows you to obtain business component
information related to synchronization errors that occur during individual synchronization sessions.
Siebel Medical Handheld Guide Version 8.1/8.2
11 1
Siebel Handheld Application Administration ■ About Monitoring Synchronization
Sessions for Siebel Handheld Applications
To obtain business component error details
1
Navigate to the Administration - Mobile screen, then the Conflict Administration view.
The Transactions list appears.
2
In the Transactions list, select the appropriate record, and then click the Business Components
view tab.
Obtaining an Audit Trail for Synchronization Sessions in
Siebel Handheld Applications
The Transactions view on the Conflict Administration screen allows you to obtain audit trail
information for an action that was taken against a particular transaction. You must enable Audit Trail
separately. For information about enabling Audit Trail, see Siebel Applications Administration Guide.
To obtain audit trail information for synchronization error details
1
Navigate to the Administration - Mobile screen, then the Conflict Administration view.
The Transactions list appears.
2
In the Transactions list, select the appropriate record, and then click the Audit Trail view tab.
Responding to Synchronization Errors in Siebel
Handheld Applications
When reviewing a synchronization error, you can respond to it in one of three ways—you can ignore
it, export it, or reapply it.
112
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Organization Enabled LOV Support
To respond to synchronization transaction errors
1
Navigate to the Administration - Mobile screen, then the Conflict Administration view.
The Transactions list appears. The transaction buttons are described in the following table:
Action
Result
Reapply
Reapplies the selected transaction with values listed in the view (or Field Value
view). These values override the results provided by the Siebel Server.
TranReapplyComponent and TranReapplyServer are necessary when using
Companion Synchronization and ignored for Direct Server Synchronization.
These are used when selecting transactions to reapply from the Administration Conflict screen.
If TranReapplyComponent and TranReapplyServer are not specified, it is
impossible to reapply transactions originating from Companion Synchronization.
2
Export
Exports the content of the transaction in the same format used by the
synchronization engine. For help with interpreting the content, create a service
request (SR) on My Oracle Support. Alternatively, you can phone Global
Customer Support directly to create a service request or get a status update on
your current SR. Support phone numbers are listed on My Oracle Support.
Ignore
Accepts the current status and does not act upon the error. The record becomes
read-only. There is no impact, except that the error will no longer appear in
queries for unresolved conflicts.
Click either Reapply, Export, or Ignore depending on your needs.
NOTE: This works only when the Object Manager is running on a Windows-based server.
Organization Enabled LOV Support
Siebel Handheld applications by default support a fixed set of LOV values for given LOV types across
all organizations. If you want your Handheld application to support multiple organization enabled
LOVs, then you must enable organization LOV support in the Siebel Handheld Client.
■
“Enabling Organization LOV Support in the Siebel Handheld Client” on page 114
■
“Example of Configuring, Enabling, and Using Multiple Organization LOVs in Handheld Applications”
on page 114
NOTE: Before enabling organization LOV support in the Siebel Handheld Client, make sure that you
have satisfactorily associated your organizations with LOV types and LOV values in the Siebel Web
Client. For more information about LOVs, see Siebel Applications Administration Guide. For more
information about setting up organization enabled lists of values, see Configuring Siebel Business
Applications and also the example that follows.
Siebel Medical Handheld Guide Version 8.1/8.2
11 3
Siebel Handheld Application Administration ■ Organization Enabled LOV Support
Enabling Organization LOV Support in the Siebel
Handheld Client
There are two main stages involved in enabling organization LOV support in the Siebel Handheld
Client.
■
First you must create a new business object in Siebel Tools (for example, SHCE LOV Internal)
and attach List Of Values (Internal) buscomp to it. For more information about creating business
objects in Siebel Tools, see Using Siebel Tools.
■
Then you must force extraction of the List Of Values (Internal) buscomp with a specific filter
expression. This involves the following:
■
Creating a new DefaultBusObj directive in the Siebel Web Client and assigning a value to it.
For more information about this task, see “To create a new default directive” on page 114.
■
Adding a business object filter setting to your Siebel Web Client, which will run on
DefaultBusObj. For more information about this task, see “To add a business object filter
setting” on page 74.
To create a new default directive
1
Navigate to the Administration - Mobile screen, then the Application Administration view.
2
In the Handheld Applications list, select the appropriate application, and then click the Settings
tab.
3
Click New, and then enter the required information.
Field
Comments
Name
The name of the directive. For example, DefaultBusObj.
Value
The value to set in the directive. This value should correspond to the
business object from which you want to extract List Of Values (Internal)
buscomp.
For example, SHCE LOV Internal|0|List Of Values (Internal)|[Intersection
Table Org Id].
Example of Configuring, Enabling, and Using Multiple
Organization LOVs in Handheld Applications
This topic gives an example of configuring, enabling, and using multiple organization LOVs in the
Siebel Service Handheld application. Although this example is for the Siebel Service Handheld
application, it pertains to all Siebel Handheld applications. You can perform these procedures
differently, depending on your business model.
■
“To configure organization LOVs in the Web client for Siebel Service Handheld” on page 115
■
“To enable organization LOV support for Siebel Service Handheld” on page 115
114
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Organization Enabled LOV Support
■
“To use organization enabled LOVs in Siebel Service Handheld” on page 116
To configure organization LOVs in the Web client for Siebel Service Handheld
1
Create the new LOV type CONTACT_TYPE LOV in Siebel Tools. Enter new records for its LOV
values and configure a picklist to display the LOV type.
For information about creating new LOV types and LOV values using Siebel Tools, see Configuring
Siebel Business Applications.
2
Set up CONTACT_TYPE LOV to be organized enabled. Do this by associating the following LOV
values to CONTACT_TYPE LOV for the following organizations.
LOV Type
LOV Value
For Xerco Pharmaceutical Organization:
CONTACT_TYPE LOV
Physician
CONTACT_TYPE LOV
Nurse Practitioner
CONTACT_TYPE LOV
Pharmacy Directory
For Medical Products Organization:
CONTACT_TYPE LOV
Cardiologist
CONTACT_TYPE LOV
Purchasing Director
CONTACT_TYPE LOV
Nurse Practitioner
For information about associating organizations to LOV values and LOV types, including
guidelines for setting up organization enabled lists of values, see Configuring Siebel Business
Applications.
To enable organization LOV support for Siebel Service Handheld
1
Create a new business object (SHCE LOV Internal) in Siebel Tools and attach List Of Values
(Internal) buscomp to it. For more information about enabling organization LOV support, see
Using Siebel Tools.
2
Create a new default directive for Siebel Service Handheld as follows:
a
Navigate to the Administration - Mobile screen, then the Application Administration view.
b
In the Handheld Applications list, select Siebel Service for CE, and then click the Settings tab.
Siebel Medical Handheld Guide Version 8.1/8.2
11 5
Siebel Handheld Application Administration ■ Organization Enabled LOV Support
c
Click New, and then enter the required information.
Field
Sample Data
Name
DefaultBusObj
Value
SHCE LOV Internal|0|List Of Values (Internal)|[Intersection Table Org Id]
NOTE: This value should correspond to the business object from which
you want to extract List Of Values (Internal) buscomp.
3
Add a business object filter setting for Siebel Service Handheld, which will run on DefaultBusObj,
as follows:
a
Navigate to the Administration - Mobile screen, then the Application Administration view.
b
In the Handheld Applications list, select Siebel Service for CE, and then click the Settings tab.
c
Click the Business Object Filters view tab.
d
Click New, and then enter the required information.
Field
Comments
Owner
Siebel Service for CE
Default
Leave unchecked
Business Object
Account
Name
OrgLOVFilter1
Query
[Intersection Table Org Id] is NOT NULL OR
[OrgSpecializedLOV.Internal_Organization] is NOT NULL
To use organization enabled LOVs in Siebel Service Handheld
1
Open your Siebel Service Handheld application in your handheld device, then synchronize with
the Web client. Make a note of your active position. For example, are you associated with the
Xerco Pharmaceutical Organization, the Medical Products Organization, or some other
organization.
For information about how to synchronize your handheld device with your Siebel Handheld
Application Server, see the online help for the Siebel Handheld application.
NOTE: If you do not know what your active position is, contact your system administrator.
116
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
2
Navigate to My Contacts on your handheld device and add a new contact record.
When you specify the contact type, the LOVs associated with your current organization (the
organization to which your active position is associated) are displayed in the Type field.
For information about how to add records, see the online help for the Siebel Handheld
application.
For example, if your active position is associated with Xerco Pharma Organization, then the Type
field includes the following LOV options: Physician, Nurse Practitioner, and Pharmacy Director.
But if your active position is associated with Medical Products Organization, then the Type field
includes the following LOV options: Cardiologist, Purchasing Director, and Nurse Practitioner.
NOTE: A user can be associated with multiple organizations if they hold multiple positions, but
only the organization of the active position determines which LOVs are displayed.
3
Navigate to My Contacts on your handheld device and open an existing contact record by tapping
it. Notice that when you view the contact type, the LOVs associated with the record’s owner
organization are displayed.
For example, if your active position is associated with Xerco Pharma Organization, but the owner
of the record you are viewing is associated with Medical Product Organization, then the LOVs
displayed for the picklist are those associated with Medical Product Organization (Cardiologist,
Purchasing Director, and Nurse Practitioner).
4
Synchronize the handheld device again to copy any changes made using your handheld device
with the Siebel Web Client database.
For more information about synchronization, see “Synchronizing Data on Your Handheld Device”
on page 184.
Administering Siebel Medical Handheld
Applications for Consignment Inventory
Management
This topic outlines an example process performed by a Siebel administrator and users. Your company
might follow a different process, depending on its business requirements.
A medical device company wants to track a product for managing the consignment inventory. The
administrator has already defined the product in the system so needs to define how this product is
going to be managed for the consignment inventory. The administrator uses the capture hierarchy
command to update the product hierarchy so that sales representatives are able to view hierarchical
results when analyzing inventory using the Siebel Handheld application. The administrator then
recreates the product hierarchy for each inventory location where these products are being kept and
defines consignment levels at that inventory location. For some products, the administrator is
required to record inventory that was sent to an inventory location or to a sales representative. The
administrator then assigns cycle counts to sales representatives.
Key Tasks in Administering Siebel Medical Handheld Applications
The key tasks in administering Siebel Medical Handheld applications are:
Siebel Medical Handheld Guide Version 8.1/8.2
11 7
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
■
Capturing product hierarchy:
“About Product Hierarchies” on page 118
“About Products, Assets, and Inventory Transactions” on page 119
“About Usage Calculations” on page 121
■
“Administering Products for Siebel Medical Handheld Applications” on page 122
■
“Managing Inventory Locations with Siebel Medical Handheld Applications” on page 123
■
“Re-creating Product Hierarchies in Inventory Locations with Siebel Medical Handheld Applications”
on page 124
■
“Setting Consignment Levels for Inventory for Siebel Medical Handheld Applications” on page 124
■
“Creating Assets for Siebel Medical Handheld Applications” on page 125
■
“Managing Inventory Transactions for Siebel Medical Handheld Applications” on page 126
■
“Viewing Signatures Captured for Approval-Required Moves from Siebel Medical Handheld
Applications” on page 127
■
“Assigning Cycle Counts for Siebel Medical Handheld Applications” on page 128
About Product Hierarchies
A product hierarchy is a grouping of products. It is a way to track relationships between products,
product groups or product classes. A product hierarchy is similar to a family tree on which you have
a root parent product, parents and child products, and leaf-level products. Your company can track
many product hierarchies for a certain inventory location. An example of one product hierarchy is
shown in Figure 4:
Figure 4.
Product Hierarchy
In this product hierarchy, Product A is the root parent. Product A is the parent product of Product B
and Product C. Product B and Product C are child products of Product A. Product B in turn is the
parent product of Product D and Product E. Product D and Product E are child products of Product B.
Product D, Product E and Product C are all leaf-level products.
118
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
With Siebel Medical Handheld applications, users are able to view detailed inventory and usage
information for all products in a product hierarchy in a hierarchical manner. By navigating to the
product hierarchy views, users can see aggregated product information on: inventory, current and
historical average usage. You can set up what level in the product hierarchy is shown in the Handheld
application.
About Products, Assets, and Inventory Transactions
Assets are physical instances of a product. Depending on how you administer a product, the Siebel
Medical Handheld application keeps track of assets differently. For example, products that are not
serialized, not unique, and are not tracked by lot number are simply tracked by product. When
counting these products, assets are not created in the assets table nor associated to a product during
a cycle count. On the other hand, products that are serialized require creation (if there are no asset
records) of asset records in the assets table and association to this product during a cycle count.
During an inventory count, transactions are created to adjust inventory information.
You need to determine how your company wants to track products by managing the consignment
inventory. Depending on how you define your products, the Handheld application generates
transactions automatically to create an asset record in the assets table, associate these assets to the
product, or adjust inventory transactions to update inventory information when a cycle count is
performed. These transactions update inventory information on the server during synchronization.
Siebel Medical Handheld Guide Version 8.1/8.2
11 9
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
Table 21 summarizes how cycle count records are generated by the Handheld application when a
sales representative performs a cycle count.
Table 21.
Cycle Count Records Overview
Product
Serialized?
Product Track by
Lot #?
Product
Unique?
Product and Asset Tracking During a
Cycle Count?
Yes
Not Applicable
Not Applicable
Check whether asset already exists in
the assets table.
If asset does not exist, create a new
asset and associate the asset with the
product for the cycle count being
performed. If the product has not been
counted, create a new detail record on
this product, and associate the asset
with this product.
If asset already exists, associate this
asset with the product for the cycle
count being performed. If the product
has not been counted, create a new
detail record on this product, and
associate the asset with this product.
No
Not Applicable
Yes
Check whether asset already exists in
the assets table.
If asset does not exist, create a new
asset and associate the asset with the
product for the cycle count being
performed. If the product has not been
counted, create a new detail record on
this product, and associate the asset
with this product.
If asset already exists, associate this
asset with the product for the cycle
count being performed. If the product
has not been counted, create a new
detail record on this product, and
associate the asset with this product.
120
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
Table 21.
Cycle Count Records Overview
Product
Serialized?
Product Track by
Lot #?
Product
Unique?
Product and Asset Tracking During a
Cycle Count?
No
Yes
No
Always create a new asset and create an
association between the asset and the
product for the cycle count. If a product
has not been counted, create a product
detail and associate the asset with that
product detail.
Update the quantity information on the
cycle count asset record if the quantity
is included in the barcode data, or else
set the quantity to 1
NOTE: Upon count complete, old asset
records are deleted, so only the most
recently counted assets are displayed.
No
No
No
If a product has been counted,
increment the quantity of that product
by 1.
If not, create a new product detail and
set the quantity equal to 1.
NOTE: The main difference between Serialized and Unique products is how uniqueness of the assets
is defined. Serialized products have more business rules associated with them. Unique products are
like Serialized products but do not have business rules associated with them, allowing a lot more
flexibility in choosing which fields define uniqueness of an asset. For more information about how
products are managed, see Siebel Life Sciences Guide.
About Usage Calculations
Sales representatives can use Siebel Medical Handheld to analyze usage behavior on consigned
inventory. They can compare Average Usage (in the field called Use in the Inventory Detail views)
and Historical Average Usage (in the field called Avg in the Inventory Detail views). Average Usage
is the quantity used over a predefined number of days based on the last two cycle counts performed.
The Historical Average Usage is the quantity used over a predefined number of days based on all
cycle counts ever performed for that product. By comparing these two calculations, sales
representatives will be able to determine whether there are any significant changes to usage
behavior for a certain product. They can use this information to identify cross-sell and up-sell
opportunities.
Detailed calculations are as follows:
■
On Count Complete, store Current Usage is based on adjustment and Current Count Date.
Current Usage is the difference between what was counted and what the application expects to
have.
Siebel Medical Handheld Guide Version 8.1/8.2
12 1
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
■
Calculate and store New Daily Usage equals Current Usage divided by (Current Count Date minus
Last Count Date).
■
Calculate New Historical Daily Usage equals ((Historical Daily Usage multiplied by Number of
Counts) plus New Daily Usage) divided by (Number of Counts plus 1).
■
Calculate and store Historical Average Usage equals New Historical Average Usage multiplied by
Use Days.
■
Calculate and store Average Usage equals New Daily Usage multiplied by Use Days.
■
Store Current Count Date as Last Count Date.
NOTE: The term, Use Days, is defined by the administrator for each inventory location. For
information about determining how to define Use Days, see “Managing Inventory Locations with Siebel
Medical Handheld Applications” on page 123. If Use Days is not defined for the Inventory Location (for
example, the field is blank), a default input of 30 is used to calculate usage. Usage is calculated when
sales representatives tap the Count Complete button as they complete a cycle count. It will only be
calculated for products that are counted during that cycle count. Also, usage numbers are not
calculated during the first time that a cycle count is performed on an inventory location (because
usage calculations need a reference cycle count).
Administering Products for Siebel Medical Handheld
Applications
To appear in a Siebel Medical Handheld inventory, a product must belong to a product hierarchy that
has been captured. The following procedure describes how to capture a product hierarchy.
NOTE: Make sure you have recaptured the hierarchy after editing the relationships between
products.
To capture a product's hierarchy
1
Navigate to the Administration - Product Administration screen.
Select the root products whose hierarchies you want to capture. If you select a product that is
not a root, that product is ignored. A dialog box lists these ignored records.
2
Click Capture Hierarchy.
This step prepares the product data so that it can be used by the Siebel Medical Handheld
application to track inventory. For more information about inventory, see “Managing Inventory
Locations with Siebel Medical Handheld Applications” on page 123.
122
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
Managing Inventory Locations with Siebel Medical
Handheld Applications
When tracking consigned inventory for a customer, you need to create an inventory location and
associate this inventory location with the account. You can then view and keep track of inventory at
this location.
To create and administer inventory locations
1
Navigate to the Inventory screen - My Inventory Locations view.
2
In the My Inventory Locations list, create a new record and enter the date for the appropriate
fields.
Some of the fields are described in the following table:
Field
Description
Name
Name to uniquely identify Inventory Location.
Type
Type of inventory location. For example, warehouse or trunk.
Position
Indicates employee associated with the inventory location.
Ownership
Indicates type of ownership.
Owner Company
Identifies the account that owns the inventory location.
Contact
Identifies contact information for the inventory location. The data
is used by sales representatives when scheduling cycle counts for
that inventory location on the Handheld application.
Requires Approval
Indicates what type of approval (Handheld application signature
capture) is required for movement of inventory. If the field is set to
Product, the user uses product settings defined in the Product
Administration screen to determine whether the movement requires
an approval. If the field is set to inventory location, all movement
of inventory requires an approval.
Use Days
Used to calculate Average and Historical Average Usage. For more
information about use days, see “About Usage Calculations” on
page 121.
To view inventory data for an inventory location
1
Navigate to the Inventory screen - My Inventory Locations view.
Select an inventory location from the My Inventory Locations list.
2
Click the hyperlink in the Name field.
The Product Inventory view appears for that Inventory Location.
Siebel Medical Handheld Guide Version 8.1/8.2
12 3
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
Re-creating Product Hierarchies in Inventory Locations
with Siebel Medical Handheld Applications
After creating an inventory location, you define which product, product classes, and product groups
are tracked in that inventory location. You can use the generate hierarchy command to re-create
product hierarchies in an inventory location. You must define product hierarchies for an inventory
location so that sales representatives are able to view inventory and usage results in a hierarchical
manner in the product hierarchy views.
To re-create product hierarchies in an inventory location
1
Navigate to the Inventory screen - My Inventory Locations list.
2
Select an inventory location from the My Inventory Locations list, and then click on the hyperlink
in the Name field.
The Product Inventory view for this Inventory location appears.
3
In Product Inventory list create a new record.
4
Click the select button in the Product field.
The Pick Product picklist appears.
5
Select a product from picklist, and click OK.
6
In the External Location form, click Generate Hierarchy.
Clicking the Generate Hierarchy button launches a business service that creates new product
inventory records for all products belonging to the same product hierarchy that the product you
select belongs. For each product inventory record created, corresponding records in the
Inventory Level list are also created for On-Hand Goods inventory.
Setting Consignment Levels for Inventory for Siebel
Medical Handheld Applications
After defining products and re-creating the product hierarchy, you then need to define consignment
levels.
To define consignment levels for inventory
1
Navigate to the Inventory screen - My Inventory Locations list.
124
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
2
Select an inventory location from the My Inventory Locations list, and then click on the hyperlink
in the Name field.
The Product Inventory view appears for this Inventory location. You can set consignment levels
by updating the fields in the Product Inventory List. The fields are explained in the following
table:
Field
Description
Min
Minimum level of inventory the customer agreed to keep at that
inventory location, usually, in return for pricing benefits.
Max
Maximum level of inventory required at that inventory location.
Consignment Level
Flag that when checked, indicates whether this product is
consigned.
Creating Assets for Siebel Medical Handheld
Applications
For some inventory, administrators might be required to keep track of assets, for instance, serialized
products. In these cases they need to create assets and associate these assets with products.
To create assets
1
Navigate to the Assets screen - All Assets view.
2
In the All Assets list, create a new record.
3
Update the required fields.
Some of the fields are described in the following table:
Field
Description
Asset #
Asset Number. Automatically generated but can be edited.
Product
Product Name.
NOTE: Once Product is selected, other fields are also updated, including:
Serial #, Type, Serialized.
Lot #
If the Product has Lot# Tracking selected in the Product Administration,
More Info views, then you need to select Lot# for this asset.
Unique ID
Used to identify the asset from product barcode data.
This must be created based on the Expression field in the Product
Administration, then the More Info view for the product. For example, if
Expression is set to: Lot Number, Serial Number, then Unique ID must be a
concatenation of Lot Number and Serial Number values for this asset.
Use By
Expiration date.
Siebel Medical Handheld Guide Version 8.1/8.2
12 5
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
Field
Description
State
Calculated based on Expiration Date. An asset can be good, short dated, or
expired.
Days Left
Calculated based on Expiration Date and current date. Days before the
product expires.
Managing Inventory Transactions for Siebel Medical
Handheld Applications
After creating assets, you can then create inventory transactions to record movement of inventory
from one inventory location to another. You can also keep track of inventory transactions created as
part of a cycle count and view signatures captured for approval-required moves.
NOTE: All inventory transactions created by Siebel Medical Handheld applications are created for
On-Hand Goods bucket. For more information about managing inventory and inventory transactions,
see Siebel Field Service Guide.
<DJ/Is it On-Hand Good or “Goods”? I have changed it in two places.>
To record movement of inventory
1
Navigate to the Inventory Transactions screen.
2
In the All Inventory Transactions list, create a new record and update the required fields.
Some fields are described in the following table:
126
Field
Description
Type
Type of inventory transaction. For example, Stock Transfer or
Receive Other. For information on transaction types, please refer to
Siebel Field Service Guide.
Product
Product being moved.
Source Location
Source location. This can be virtual (External Location) or a physical
location (warehouse, trunk, or a customer's inventory location).
Destination Location
Destination location. This can be virtual (External Location) or a
physical location (warehouse, trunk, or a customer's inventory
location).
Siebel Medical Handheld Guide Version 8.1/8.2
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
Field
Description
Source Availability;
Source Status;
Destination Availability;
Status
Defines inventory level at source location for that product.
Inventory levels are categories of products defined by a
combination of availability and status. Both availability and status
can have a variety of values. Availability values are Customer
Owned, In Transit, On Hand, On Order, and Reserved. Status values
are Good and Defective.
NOTE: When sales representatives are performing cycle counts,
transactions are automatically generated with Availability = On
Hand and Status = Good.
For information on transaction types, Siebel Field Service Guide.
3
Click the Transaction # Hyperlink.
The Inventory Transaction, then the Assets view appears.
4
In the Assets list, create a new record.
5
Click the select button in the Asset # field.
The Pick Asset picklist appears.
6
Select an asset, then click OK.
Viewing Signatures Captured for Approval-Required
Moves from Siebel Medical Handheld Applications
Sales representatives can decide to move inventory from a customer's inventory location, as in the
case of expired or short-dated product. Your company might decide to enforce varying levels of
control for movements that are done on certain products (for example, controlled substances, new
products, and so on). Or, your company might want to enforce control on all inventory movements
done on specific inventory locations. In such cases, your company can enforce sales representatives
to capture signature directly on the Handheld application. You can then view signatures captured for
these inventory transactions.
To view signatures captured for approval-required moves
1
Navigate to the Inventory Transactions screen.
2
In the All Inventory list, query for the inventory transaction you need.
3
Click the hyperlink in the Transaction # field.
4
Click the Approvals view tab.
Siebel Medical Handheld Guide Version 8.1/8.2
12 7
Siebel Handheld Application Administration ■ Administering Siebel Medical Handheld
Applications for Consignment Inventory Management
Assigning Cycle Counts for Siebel Medical Handheld
Applications
A regular task for the administrator is assigning cycle counts to be performed by sales
representatives on an inventory location.
The process below describes how cycle count can be assigned manually. But you can automate this
process, or define rules in assigning cycle counts. For more information about cycle counts and cycle
count administration, see Siebel Field Service Guide.
To assign a cycle count
1
Navigate to the Cycle Counts screen.
2
In the My Pending Cycle Counts list, create a new record.
Some fields are described in the following table:
Field
Description
Inventory Location
Location on which to perform the cycle count.
Owner
Owner of the cycle count. Determines who is assigned this cycle
count.
Due Date
Required date when the cycle count must be completed by.
Sales representatives receive this pending cycle count the next time they synchronize.
128
Siebel Medical Handheld Guide Version 8.1/8.2
5
Data Filtering for Siebel
Handheld Applications
The purpose of this chapter is to outline how to develop data filters for your Siebel Handheld
application. It includes the syntax for constructing business components and business object filters,
as well as some useful information on managing your business object filters. The following topics are
covered in this chapter:
■
“Developing Data Filters for Siebel Handheld Applications” on page 129
■
“Constructing Business Component and Business Object Filters for Siebel Handheld Applications” on
page 130
■
“Business Object Filters for Siebel Handheld Applications” on page 131
■
“Recommendations for Managing Business Object Filters for Siebel Handheld Applications” on
page 131
Developing Data Filters for Siebel
Handheld Applications
The following general steps are recommended for developing synchronization filters for Siebel
Handheld applications.
■
Identify the screens and views of your application. Then identify the business components that
are required to support each screen and view, noting the areas where each business component
occurs. For example, identify the form, list, or pick applets that are based on each business
component.
■
Within Siebel Tools, establish the base parent-child relationships and any reverse relationships
at the component level.
■
Review the business components that occur in picklists and consider creating business
component filters for those that will cause large numbers of records to synchronize to the device.
These filters are created and maintained in the Mobile Administration screens. For each business
component, determine whether it is possible to apply a search specification to all instances of
the business component within the Siebel Handheld application. Develop a set of suitable
business component filters in the Mobile Administration screens.
Common examples of business components that are suitable for global business component
filters include:
■
Employees (for large organizations)
■
Activities (for example, filter for current Activities, Activities of only certain kinds)
■
Accounts (for example, by geography)
■
Products (for example, active, orderable products)
Siebel Medical Handheld Guide Version 8.1/8.2
12 9
Data Filtering for Siebel Handheld Applications ■ Constructing Business Component and
Business Object Filters for Siebel Handheld Applications
■
■
Orders (for example, open, closed in last three months)
Create appropriate business object synchronization filters for each business object and make
sure that each business object includes a default filter. Default filters make sure that users avoid
accidental download of an excessive number of records.
NOTE: In a multilingual environment, default filters are created for the primary language only.
If your environment is multilingual, then you must configure additional filters for each additional
language you want to run.
Constructing Business Component and
Business Object Filters for Siebel
Handheld Applications
Business component filters are used to limit the extraction of a business component for every context
in which it is extracted.
Example of Business Component Filter Syntax:
Business component filters use query by example (QBE) syntax:
[Status] = "Not Started" OR [Status] = "In Progress" OR ([Status] IS NULL) OR
[Status] = "On Hold" OR ([Status] = "Done" AND [Done] >= Today() - 7)
For more information about QBE syntax, see Siebel Developer’s Reference.
Business object filters are used to supply filters that a user can select at synchronization time. These
are the filters that are displayed in the SetFilters dialog on the device.
Example of Business Object Filter Syntax:
Business object filters use predefined query (PDQ) syntax.
PDQ syntax rules are a follows:
■
The business component name must be a valid business component in the business object on
which the PDQ is based
■
Search and Sort can be specified for all active buscomps in the business object on which the view
is based, appended to each other in any order using space as delimiter.
The normal search specification and sort specification syntax applies except that quotes in the search
specification have to be escaped using double quotes because the search specification itself is
enclosed in double quotes.
The syntax is as follows:
'Account'.Search = "[State] = LookupValue ( ""STATE_ABBREV"", ""CA"" )" 'Account'.Sort =
"Name, Location"
Descriptions of the terms are shown in Table 22.
130
Siebel Medical Handheld Guide Version 8.1/8.2
Data Filtering for Siebel Handheld Applications ■ Business Object Filters for Siebel
Handheld Applications
Table 22.
Business Object Filter Syntax
Syntax Term
Description
Account
Business component name.
Search
Key word.
"[State] = LookupValue (""STATE_ABBREV"",
""CA"")"
Search specifications using PDQ syntax.
State
Field name.
LookupValue
Function for find and LOV value.
STATE_ABBREV
LOV type.
CA
LOV value.
'Account'.Sort = "Name, Location"
Sort specification for sorting the returned list.
For more information about PDQ syntax, see Siebel Developer’s Reference.
Business Object Filters for Siebel
Handheld Applications
All business object filters for Siebel Handheld applications are available for selection by a user at the
time of synchronization. Additionally, there is no naming convention for business object filters.
A default filter for a business object is indicated by checking the Default flag in the Administration Mobile screen, Application Administration, then the Business Object Filters view of the Siebel Web
Client. Be sure to define a default filter for each business object in the Handheld application. If no
filters are applied during the synchronization process, an unacceptably high volume of data will be
downloaded to the handheld device.
NOTE: In Siebel 7.7, a required field is always extracted in to the handheld device even if it is not
exposed in the UI or explicitly defined in Mobile Administration.
CAUTION: You must select only one filter as the default for each business object. If two filters are
marked as the default for the same business object, the actual default can be determined only by
proceeding to synchronize and select the default filters from the selection UI.
Recommendations for Managing
Business Object Filters for Siebel
Handheld Applications
The following topics provide recommendations for creating and managing filters.
■
“Companion Synchronization Deployments” on page 132
Siebel Medical Handheld Guide Version 8.1/8.2
13 1
Data Filtering for Siebel Handheld Applications ■ Recommendations for Managing
Business Object Filters for Siebel Handheld Applications
■
“Direct Server Synchronization Deployments” on page 132
■
“Examples of Default Business Object Declarations” on page 132
■
“Designating Visibility” on page 134
■
“Overriding the Popup Visibility” on page 135
■
“Multiple Visibility Methods” on page 135
Companion Synchronization Deployments
Administrators typically provide their users with an initial set of business object filters for the
Handheld application and instruct them how to manage the synchronization filters themselves later.
They are maintained in the Administration - Mobile screen, Application Administration, then the
Business Object Filters view. This view is hidden from mobile users so they cannot create their own
business object filters.
You manage these filters at the server level, then replicate any updates you make down to the
companion computers via Siebel Remote. The Handheld user can then access the updated filters after
performing a Companion Synchronization operation. For more information about filters, see “Setting
Business Object Filters for Siebel Handheld Application Users” on page 74.
Additionally, there are several sample business object filters for Handheld applications in the sample
database, as well as in the Siebel 7.8 seed data.
Direct Server Synchronization Deployments
For Direct Server Synchronization deployments, administrators can create user-specific business
object and business component filters in the Administration - Mobile screen, then the User
Administration view. For more information about creating business objects and business component
filters, see “Setting Business Component Filters for Siebel Handheld Application Users” on page 73 and
“Setting Business Object Filters for Siebel Handheld Application Users” on page 74.
Both application-level and user-level filters can be used in this deployment. They are managed in the
same set of views. Changes to any filters will be effective on your next synchronization session,
without having to restart the synchronization OM component for the Handheld application.
These business object filters are made available to all users and, therefore, must be defined with the
needs of all users in mind.
Examples of Default Business Object Declarations
You can set default business object declarations in the Administration - Mobile screen, Application
Administration, then the Settings view, as described in the following examples.
132
Siebel Medical Handheld Guide Version 8.1/8.2
Data Filtering for Siebel Handheld Applications ■ Recommendations for Managing
Business Object Filters for Siebel Handheld Applications
Example 1
“State Model” default business object setting:
State Model - Engine|0||State Model|[BusComp Name]="Expense"|State Model Transition||State Model - State||State Model - Position|
The first three segments of the declaration are followed by a series of repeating BusCompName
search specification pairs:
1
Business object name
2
Visibility Type
3
(Siebel internal)
4
Root business component name
5
Search specification QBE for root BusComp records
6
Child business component name
7
Search specification QBE for child BusComp records (this must normally be empty, causing all
children to be extracted)
8
Grandchild business component name
9
Search specification QBE for grandchild BusComp records (this must normally be empty, causing
all grandchildren to be extracted), and so on.
The total number of fields must be at least 5 and must be an odd number.
Example 2
Action|0||Action||Action Employee|
This example default business object declaration results in an extraction of the Action and Action
Employee business components where they occur with visibility 0 using the business object filter
indicated. The business object filters are generally used only for extracting business components that
do not correspond to any views or applets. Business object declarations identify specific business
components within the business object to be extracted. The business object filters normally give a
query based on the primary business component in the business object and force extraction of any
business components mentioned in the query when there is no corresponding applet within the
application that can cause the desired extraction to occur.
Example 3
In the following example, the declaration is used to extract all the Price List Line Items under the
Order Entry (Sales) business object.
DefaultBusObjs13=
Order Entry (Sales)|0||Price List Item|
Note that this declaration lacks an associated QBE clause. When this is the case, all of the records
available to the user for the given visibility are extracted.
Exercise caution when modifying a default business object setting for pick applets, and do so only
with the support of a skilled Siebel configurator.
Siebel Medical Handheld Guide Version 8.1/8.2
13 3
Data Filtering for Siebel Handheld Applications ■ Recommendations for Managing
Business Object Filters for Siebel Handheld Applications
Use default business object declarations to force the extraction of data for a given business
component in the context of a given business object and Visibility type. For more information about
visibility designations, see “Designating Visibility” on page 134. The default business object
extractions are performed in the first phase of data extraction.
You will most often use these declarations to extract additional data that is not extracted as part of
the user interface extraction. This can be useful for business components that are referenced
programmatically by other business components, but are not exposed in the user interface. The
default business object declarations are used to enforce the extraction of a subset of data to the
Handheld application that might not have been otherwise extracted or, most commonly, to filter the
data downloaded for dynamic picklists or pick applets.
All pick data is not downloaded to the device due to the memory constraints on the device. Only pick
data for fields that are editable is downloaded. Therefore, if you are doing a query on a pick field,
you might not be able to display the picklist. When viewing a record in an applet, if a pick field is
read-only, its pick button will be disabled. If users select a read-only field with a pick control, they
receive the following error: No data available in picklist because field is read-only.
Designating Visibility
It is very important that you use the correct visibility designation in the default business object
declarations. The visibility entered must be the visibility that governs the data displayed for the
business component within the context of the business object specified in the declaration. In the
previous Example 1, visibility code 3 is designated. This corresponds to All Visibility, which is the
visibility that applies to the Account business component when it is used in a pick applet.
You determine the correct visibility to use by examining View and business component properties
within Siebel Tools. When creating a default business object declaration to restrict the volume of data
extracted for a pick applet, begin by examining the Popup Visibility Type in Business Component
Properties. Cross-reference the visibility type to the list below, and enter the appropriate visibility
code in the declaration. If the Popup Visibility Type field on the business component is null, the
default value is All. Table 23 summarizes popup visibility types and the corresponding visibility codes.
Table 23.
Visibility Codes
Popup Visibility Type
Visibility Codes
Sales Representative
0
Manager
1
Personal
2
All
3
None
4
Organization
5
Contact
6
134
Siebel Medical Handheld Guide Version 8.1/8.2
Data Filtering for Siebel Handheld Applications ■ Recommendations for Managing
Business Object Filters for Siebel Handheld Applications
NOTE: Do not use the Group, Catalog, or Sub Organization Popup Visibility Types. These are not
supported in the CE Handheld application.
Overriding the Popup Visibility
If the Popup Visibility Type setting is not sufficiently restrictive (for example, All Visibility), this can
lead to a large number of records being extracted when the picklist is processed during
synchronization. Making the Popup Visibility Type more restrictive reduces the number of records
extracted for picklists. The OverridePopupVisibility user property for an applet overrides the Popup
Visibility Type on a business component. Use this property when the desired visibility differs from the
business component’s Popup Visibility Type, and you do not want to change the Popup Visibility Type.
If several picklists use the same business component, you can also use the OverridePopupVisibility
user property to vary the visibility of the picklists in the different applets.
There are two considerations you must keep in mind if multiple applications are sharing the same
repository. First, changing the Popup Visibility Type has a global effect for all instances where the
business component is used. If multiple applications share the same repository and use the same
business components, changing the Popup Visibility Type for a common business component might
have an undesirable effect for another application. Second, if multiple applications share the same
applet, the picklist in each applet shares the same visibility as defined by OverridePopupVisibility
property. This is because the OverridePopupVisibility property is set on the containing applet.
In Siebel Tools, navigate to Applet, then the Applet User Properties, and define the
OverridePopupVisibility user property on the applet containing the control that opens the pick applet.
For more information about this property, see OverridePopupVisibilityn User Property on page 267.
If OverridePopupVisibility is used, then the picklist and pick applet search specifications are ignored
during the synchronization when the records for the picklist are extracted.
Multiple Visibility Methods
When a record is extracted by means of different visibilities, the record is tagged with each visibility.
For example, if an individual contact record is extracted under Org visibility, and later the same
contact record is extracted under Salesrep visibility, the visibility field on the record contains a
bitmask indicating that the two visibilities apply for this record. Handheld synchronization extracts
data in the following order:
■
DefaultBusObjs
■
Views
■
PickList
Siebel Medical Handheld Guide Version 8.1/8.2
13 5
Data Filtering for Siebel Handheld Applications ■ Recommendations for Managing
Business Object Filters for Siebel Handheld Applications
You can check the visibilities for a record in the dbfile.txt file. Table 24 lists the values for the visibility
bitmasks.
Table 24.
Visibility Bitmask Values
Visibility Bitmask
Values
VISIBILITY_SALESREP
1
VISIBILITY_MANAGER
2
VISIBILITY_PERSONAL
4
VISIBILITY_ALL
8
VISIBILITY_NOVISIBILITY
16
VISIBILITY_ORG
32
VISIBILITY_CONTACT
64
For example, the visibility for a record extracted for both SalesRep and Org would have a visibility
set to 33.
NOTE: Not all visibilities are supported on the handheld device.
Specifically, Group, Catalog and Suborg visibilities are not supported. These are mapped to different
visibilities as follows:
■
Group -> All
■
Catalog -> Org
■
SubOrg -> Org
136
Siebel Medical Handheld Guide Version 8.1/8.2
6
Deploying Siebel Handheld
Applications
This chapter provides important information about how to deploy a Siebel Handheld application, and
includes information about server topology, hardware, network configuration, server installation,
Siebel Handheld application installation, and performance and scalability. The following topics are
covered in this chapter:
■
“Overview of Deployment for the Siebel Handheld Application Client” on page 137
■
“Installing the Siebel Server for Direct Server Synchronization” on page 139
■
“Configuring the Siebel Server for Direct Server Synchronization” on page 141
■
“Performance and Scalability of Synchronization for Handheld Applications” on page 143
■
“Providing Synchronization Security with Secure Sockets Layer” on page 144
■
“Process of Installing the Siebel Handheld Application” on page 145
■
“Installing Print Templates in the Siebel Handheld Install Directory” on page 151
■
“Setting Up Siebel Handheld Application Installation on a CompactFlash Card” on page 152
■
“Changing the SyncURL on Handheld Devices” on page 152
■
“Installing the Siebel Handheld Application from External Media” on page 153
■
“Distributing Siebel Handheld Application Patches” on page 153
■
“Setting up PatchAgent on Windows 2003” on page 162
Overview of Deployment for the Siebel
Handheld Application Client
This topic provides an overview of important factors to consider when planning a Siebel Handheld
application deployment using Direct Server Synchronization (DSS). One aspect of successful
planning and execution of a Handheld application deployment using DSS is to understand hardware
and network requirements. While these factors are generally applicable to all deployments, there are
unique aspects to each customer configuration and implementation strategy. Therefore, it is
recommended that customers conduct detailed configuration, sizing, and production readiness
reviews. For help with detailed configuration, sizing, and production readiness reviews, contact your
Oracle sales representative for Oracle Advanced Customer Services to request assistance from
Oracle's Application Expert Services. This is especially important for complex deployments, such as
those supporting large numbers of users over wide geographic areas.
You can also improve the performance and scalability of DSS deployments by working with the Siebel
application server component parameters. For more information about the Siebel application server,
see “Optimizing Siebel Server Process Management for Direct Server Synchronization” on page 143.
Siebel Medical Handheld Guide Version 8.1/8.2
13 7
Deploying Siebel Handheld Applications ■ Overview of Deployment for the Siebel
Handheld Application Client
NOTE: The recommendations in this chapter are general ones and are intended to raise your
awareness of the key factors in Siebel Handheld application synchronization, performance, and
scalability. These factors must be confirmed for your actual environment, and the usage patterns in
your enterprise must be taken into consideration.
Siebel Server Topology Overview
The diagram in Figure 5 shows the servers and components that are required to deploy Direct Server
Synchronization for a Handheld application. The components are the Siebel Handheld application
database, Siebel Server, Siebel Web engine, and Siebel Handheld application. The synchronization
components are the synchronization engine for the Siebel Handheld application which resides on
Siebel Server, and the Siebel Handheld Synchronization Client which resides on the Siebel Handheld
application.
CAUTION: Companion Synchronization uses Siebel Remote to complete the synchronization process
to the Siebel Server from the laptop. The remote mobile user's routing model must be set to
Handheld User. Otherwise, synchronization fails. For more information about Siebel Remote, see
Siebel Remote and Replication Manager Administration Guide.
Figure 5.
Servers and Components
Recommended Hardware and Network Configuration
There are many factors to take into account when designing and implementing your server and
network hardware and architecture, and sizing your Siebel Handheld application database. The
critical factor in sizing the implementation for a Siebel Handheld application is the expected peak
synchronization load. Specific Handheld application variables to consider in calculating this load are:
the number of concurrent users, number of transactions, and size of the data file. These variables
must be considered within the context of the hardware specifications, including memory and
processor speed.
The following resources are available as you plan the implementation of your Siebel Handheld
application:
■
Refer to Microsoft and manufacturer documentation for comprehensive information on server
hardware and registry parameters.
138
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Installing the Siebel Server for Direct Server
Synchronization
■
■
For specific recommendations on the following topics, refer to Bulletin 476964.1 on My Oracle
Support. This document was previously published as Siebel Technical Note 405.
■
Server architecture
■
Server hardware and registry parameters
■
Database server sizing
■
Database tuning
■
Dial-Up and network
■
Wireless
■
VPN (Virtual Private Networks)
The Handheld Review Package assists customers with planning their hardware and network
implementations for Handheld applications. For help with Handheld Review Package, contact your
Oracle sales representative for Oracle Advanced Customer Services to request assistance from
Oracle's Application Expert Services.
Installing the Siebel Server for Direct
Server Synchronization
The components that are required for Siebel Handheld applications are installed when you install the
Siebel Server.
This topic includes the following topics:
■
“Installing the Components for Direct Server Synchronization Using the Siebel Server Installer” on
page 139
■
“Siebel Server Component Parameters for Direct Server Synchronization” on page 140
For information about installing and configuring Siebel Server, see Siebel Installation Guide for the
operating system you are using.
Installing the Components for Direct Server
Synchronization Using the Siebel Server Installer
Install the Siebel Server, following the instructions in the Siebel Server installation guide for the
operating system you are using. When you reach the Setup Type screen in the Installer wizard, you
are presented with three installation options:
■
Typical. This setup option installs all Siebel Server components except those displayed.
■
Compact. This setup option installs only those components necessary to run the Siebel Server,
but no additional components or help.
■
Custom. This setup option lets you customize your installation by choosing the specific
components you want to install.
Siebel Medical Handheld Guide Version 8.1/8.2
13 9
Deploying Siebel Handheld Applications ■ Installing the Siebel Server for Direct Server
Synchronization
To install the components for Direct Server Synchronization with your Siebel Server
installation
1
During the Siebel Server installation, when the Setup Type screen appears, choose the Custom
setting, and then click Next.
NOTE: At this screen, you can also choose a different directory for your Siebel Server
installation.
2
From the following components, choose Handheld Synchronization:
■
Object Manager Component
■
Handheld Synchronization
■
Siebel Data Quality Connector
■
Remote Search Support
■
Siebel Java Integrator
NOTE: You must enable synchronization on your handheld device to enable Direct Server
Synchronization for your installation.
3
Click Next.
Continue with the installation in the Siebel Installation Guide for the operating system you are
using.
The install wizard automatically installs and configures the components for Direct Server
Synchronization.
Siebel Server Component Parameters for Direct Server
Synchronization
See Table 25 for a list of required parameters. For information on adding server components for
Direct Server Synchronization, see Siebel System Administration Guide.
Table 25.
Siebel Server Component Parameters for Direct Server Synchronization
Parameter
Default Value
Description
ApplicationName
SiebelMedicalCE
The Siebel Handheld application.
This value must match the name of
the Handheld application as it is
specified in Siebel Tools.
ApplicationTitle
Siebel Medical
The name of the Siebel Handheld
application as shown on the title bar
on the browser. This parameter is
only used if the Siebel application
developed for the handheld device is
run on the Siebel Mobile Web Client.
140
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Configuring the Siebel Server for Direct
Server Synchronization
Table 25.
Siebel Server Component Parameters for Direct Server Synchronization
Parameter
Default Value
Description
ApplicationSplashText
Siebel Medical CE
The Siebel Handheld application
name as shown on the splash
screen. This parameter is only used
if the Siebel Tools application
developed for the handheld device is
run on the Siebel Mobile Web Client.
ComponentName
Required for Direct Server
Synchronization, this parameter is
entered in the registry on the
handheld device.
Configuring the Siebel Server for Direct
Server Synchronization
The Siebel Server installer copies the necessary DLLs to create an Object Manager for Direct Server
Synchronization and creates and configures a Server Component and Component Group. This topic
describes which options you must select to correctly install the software, along with creating or
configuring additional Object Managers.
This topic includes the following topics:
■
“Configuring Logging Levels for Direct Server Synchronization” on page 141
■
“Configuring Logging Levels for Companion Synchronization” on page 142
■
“Optimizing Siebel Server Process Management for Direct Server Synchronization” on page 143
Configuring Logging Levels for Direct Server
Synchronization
To set the logging level, you need to perform the following two tasks:
■
“To configure Siebel Server logging levels” on page 142
■
“To configure Siebel Server logging levels using the Server Configuration screen” on page 142
You set the logging level to a value between 1 and 5 as shown in Table 26.
Table 26.
Logging Levels for Direct Server Synchronization and Companion Synchronization
Logging Level
Results
1
Error listing
2
Warning listing
Siebel Medical Handheld Guide Version 8.1/8.2
14 1
Deploying Siebel Handheld Applications ■ Configuring the Siebel Server for Direct
Server Synchronization
Table 26.
Logging Levels for Direct Server Synchronization and Companion Synchronization
Logging Level
Results
3
Information listing, including SQL tracing
4
Information listing
5
Debug
To configure Siebel Server logging levels
1
Log into Server Manager from a (m:\siebel\bin\w32ud) prompt.
2
Run the following:
change evtloglvl HandheldSyncLog=[LogLevel] for comp [OMName], where [LogLevel]
= an integer between 1 - 5 (5 enables all logging) and [OMName] = the OM name (for
example, <ApplicationName>CEObjMgr_enu)
Use the following procedure to configure Siebel Server logging levels using the Server Configuration
screen.
To configure Siebel Server logging levels using the Server Configuration screen
1
Navigate to Administration - Server Configuration screen, Servers view, then the Components
view tab.
2
In the Component list, query for the appropriate component, such as Handheld Sales CE (ENU).
3
In the Events list, search for the event type Handheld Sync Logging.
4
Set the value to a number between 1-5 and then save the change.
See Table 26 for logging level results.
Configuring Logging Levels for Companion
Synchronization
To enable logging for Companion Synchronization, you must add a parameter to the [pda] section
of the CFG file.
To configure logging levels for Companion Synchronization
1
Navigate to \client\bin\enu (or other language directory, such as \client\bin\fra).
2
Add the parameter HandheldSyncLogLevel and a valid value (1-5) to:
medicalce.cfg. For example, HandheldSyncLogLevel = 5.
See Table 26 for logging level results.
NOTE: To enable Object Manager logging, add ObjMgrSqlLogLevel to the PDA section of your Siebel
Handheld application’s CFG file. Valid values range from 1-5 as described in Table 26 on page 141.
142
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Performance and Scalability of
Synchronization for Handheld Applications
Optimizing Siebel Server Process Management for
Direct Server Synchronization
Several parameters are outlined below that help optimize Siebel Server processing for Direct Server
Synchronization.
To set parameters to optimize Siebel Server process management
1
Log into the Siebel application as a user with Administrative responsibility.
2
Navigate to the Administration - Server Configuration screen, Servers view, Components, then
the Parameters view tab.
3
In the Component Parameters sub-view, query for SalesCEObjManager.
4
Use the following table to update the parameters.
Parameter
Description
Max Tasks
Determines the maximum number of threads that can run
concurrently for a given component. Set the value of this parameter
to a number equal to that of the expected peak number of
concurrent synchronizations for each Siebel Server.
Min MT Servers
Determines how many multithreaded server processes are started
by default for the Siebel Object Manager.
Max MT Servers
Defines the maximum number of processes supported by the
instance of the Siebel Object Manager. The value for this parameter
must be the same as Min MT servers and must be set so that threads
for each process (Max Tasks/Max MT Servers) is optimized.
Performance and Scalability of
Synchronization for Handheld
Applications
There are a number of factors that affect the performance and scalability of synchronization in Siebel
Handheld applications. It is very important that administrators and those involved in the design and
deployment of Siebel Handheld applications understand the impact of usage parameters on
synchronization performance and scalability. For more information, see Bulletin 476964.1 (Siebel
Technical Note 405) for application-specific variables affecting synchronization and data from
synchronization scalability tests.
Siebel Medical Handheld Guide Version 8.1/8.2
14 3
Deploying Siebel Handheld Applications ■ Providing Synchronization Security with
Secure Sockets Layer
Using Multiple Siebel Handheld Synchronization Servers
As you scale your deployment, you might need to use multiple Siebel Handheld Synchronization
Servers to accommodate all of your users. Your users must be manually assigned to a particular
Siebel Handheld Synchronization Server. Resonate products cannot be used for load balancing. For
more information about scaling deployments, refer to Bulletin 476964.1 (Siebel Technical Note 405)
and to your hardware manufacturer’s documentation.
Providing Synchronization Security with
Secure Sockets Layer
The synchronization data stream can be secured using Secure Sockets Layer (SSL). To employ SSL
security:
■
Make sure that a certificate has been created and installed on all Web Servers that service
synchronization in Handheld applications.
Use the following steps to install the root certificate on each handheld device.
NOTE: PPC 2002 and PPC 2003 do not have a hosts file similar to the Windows Operation System
(for example, C:\WINNT\system32\drivers\etc\hosts.file), where you can set up mappings for
the IP address and host name.
To install the root certificate on the handheld device running PPC 2003 or newer
1
Navigate to the certificate authority server from your desktop computer.
2
Select the first option (retrieve the CA certificate or certificate revocation list), and click Next.
3
Click on Download CA certificate.
4
Click Save, and save as certca.cer on your desktop.
5
Use ActiveSync to copy the downloaded certificate, certca.cer, from the desktop to the My
Documents folder on the handheld device.
NOTE: Make sure the certca.cer file is copied into the My Documents folder.
6
Go to My Documents and tap the certificate icon.
The certificate must be installed. You can validate it by going to Settings, System, then the
Certificate.
7
Click the Root tab.
The new certificate is displayed on the list.
8
Open a browser, and run the following command, substituting the appropriate server name,
application name, UserName and Password.
https://<SERVERNAME>/<APPLICATION NAME>/
start.swe?SWEExtSource=siebelpda&SWEExtCmd=ExecuteLogin&UserName=<USER
LOGIN>&Password=<PASSWORD>
9
When a dialog box appears, click Yes.
144
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Process of Installing the Siebel Handheld
Application
To complete root certificate installation on PPC 2002 device
1
From a Web browser, navigate to the Microsoft Web site and download and launch the following
executable file:
AddRootCert.exe
2
Double-click to open the executable file.
A list of certificates appears.
3
Select certca.cer.
Information for the certca.cer Certificate appears.
4
Click Install Certificate.
5
Following successful installation, click OK.
Process of Installing the Siebel
Handheld Application
Before you install the Siebel Handheld application, perform the following tasks:
■
“Editing the Siebel Handheld Application Installation Configuration File” on page 145
■
“Enabling Back Up of Siebel Handheld Application Database” on page 150
■
“Deploying Patches to Handheld Applications with Direct Server Synchronization” on page 154
■
“Deploying Handheld Application Patches with Companion Synchronization” on page 156
■
“Creating Handheld Application Upgrade Kits for Companion Synchronization PDA” on page 158
■
“Deploying Attachments to Handheld Applications with Direct Server Synchronization” on page 158
■
“Deploying Handheld Application Attachments with Companion Synchronization” on page 160
■
“Downloading Patches to the Handheld Device” on page 162
■
“Setting up PatchAgent on Windows 2003” on page 162
NOTE: If you are setting up your Siebel Handheld application to allow end user translation
functionality, see “Installing and Setting Up End User Translation Functionality” on page 54.
Editing the Siebel Handheld Application Installation
Configuration File
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145.
The Siebel Handheld application setup.ini file configures the Siebel Handheld Client installer. Before
you deploy a custom-configured Siebel Handheld application, you must update the parameters in the
setup.ini file so that the correct values are written to the device registry before distributing the Siebel
Handheld Client installer to users.
Siebel Medical Handheld Guide Version 8.1/8.2
14 5
Deploying Siebel Handheld Applications ■ Process of Installing the Siebel Handheld
Application
The setup.ini file resides in the Siebel Handheld application directory. To modify this file, create a
Handheld application installation directory on the network, or create and duplicate a custom DVDROM for distribution to users. This installation directory must include the same files and directory
structure as the original DVD-ROM. Then, modify the setup.ini file in the custom installation
directory.
NOTE: If you wish to set up parameter values other than default values, add the parameter to the
setup.ini file and add the proper values.
Table 27 lists the parameters that you might need to modify in the setup.ini file, their default value,
and a description of the parameter.
Table 27.
Siebel Handheld Application setup.ini Parameters
Parameter
Default Value
Description
Version
8.0
Version of the desktop Siebel application
against which the Siebel Handheld
application version synchronizes.
ApplicationName
SiebelMedicalCE
The Siebel Handheld application. This value
must match the name of the Handheld
application as it is specified in Siebel Tools.
ApplicationSplashText
SiebelMedicalCE
The Siebel Handheld application name as
shown on the splash screen.
EnableRemote
N
Used for Integrated Sync. The default value
is N. Valid values are Y = [Enable Remote
Sync] check box is selected, N = [Enable
Remote Sync] check box is unselected in the
synchronization window of the Handheld
application.
MultiCurrency
True
Required for the Handheld application to
handle multiple currencies.
SyncURL
http:///Web
Server Name or IP
address/Virtual
Directory Name
Required for all synchronization methods.
This value is entered in the registry for the
Siebel Handheld application.
NOTE: PPC 2002 and PPC 2003 do not have
a hosts file similar to the Windows Operation
System (for example,
C:\WINNT\system32\drivers\etc\hosts.fi
le), where you can set up mappings for the
IP address and host name.
For more information about this parameter,
see “Changing the SyncURL on Handheld
Devices” on page 152.
[EndUserLocalization] Section
146
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Process of Installing the Siebel Handheld
Application
Table 27.
Siebel Handheld Application setup.ini Parameters
Parameter
Default Value
Description
User DefinedLang
Y
LogUserDefinedLangErrors
N
[Printing] Section
(various)
For more information about the parameters
used to configure printing, see Appendix E,
“Print Configuration Settings.”
[Backup] Section
(various)
Enables Siebel Handheld application
database backups.
For more information about settings for the
parameters in this section of the setup.ini
file, see “Enabling Siebel Handheld
Application Database Backup” on page 150.
[ApplicationLocation] Section
(various)
Specifies where the Siebel Handheld
application and database are installed.
For more information about the parameters
in this section of the setup.ini file, see
“Setting Up Siebel Handheld Application
Installation on a CompactFlash Card” on
page 152.
InternetOptionReceiveTimeout
600000
Length of time to receive data or a response
(except data extraction) from the server in
the case of Direct Server Synchronization or
the Laptop in the case of Companion
Synchronization, before the Siebel Handheld
application times out.
The default value, 600000 milliseconds, is
10 minutes.
InternetOptionSendTimeout
600000
Length of time to send data to the server in
the case of Direct Server Synchronization or
to the Laptop in the case of Companion
Synchronization, before the Siebel Handheld
application times out.
The default value, 600000 milliseconds, is
10 minutes.
Siebel Medical Handheld Guide Version 8.1/8.2
14 7
Deploying Siebel Handheld Applications ■ Process of Installing the Siebel Handheld
Application
Table 27.
Siebel Handheld Application setup.ini Parameters
Parameter
Default Value
Description
InternetOptionDataExtraction
Timeout
900000
Length of time to extract data from the
server in the case of Direct Server
Synchronization or from the Laptop in the
case of Companion Synchronization (to the
handheld device), before the Siebel
Handheld application times out.
The default value, 900000 milliseconds, is
15 minutes.
RemoteTimeout
1800000
Length of time for the handheld device
Syncmanager process to wait for a remote
synchronization to complete, before timing
out.
The default value, 1800000 milliseconds, is
30 minutes.
NOTE: This parameter only applies to
synchronizations using Companion
Synchronization and when remote
synchronization is enabled.
[Logging] Section
TXNErrorLevel
1
This level controls the extent of transaction
error information received from the server.
The default value is 1.
Valid values are 0 = no log information, 1 =
report txn errors in the Siebel Handheld
Client log, txnerror.hh.
A “Transaction Errors Reported” message
appears during synchronization when txn
errors occur. To view errors, double click the
message.
148
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Process of Installing the Siebel Handheld
Application
Table 27.
Siebel Handheld Application setup.ini Parameters
Parameter
Default Value
Description
DefaultLogLevel
2
The default value is 2. You can set the value
to any of the following:
-1 = NO LOGGING
0 = LOG_SYSTEM
1 = LOG_ERROR
2 = LOG_WARNING
3 = LOG_INFO, INCLUDING SQL TRACING
4 = LOG_DEBUG
The log messages with level equal to or
lower than the set value will be logged. For
example, if the default log level is set to 2,
the messages belonging to System, Error,
and Warning log levels will be logged. If the
DefaultLogLevel is -1, no logging will be
provided.
MaxLogFileSize
2000
This is the maximum log file size in KB. If the
program finds the size of the latest log file is
greater than this value, a new log file must
be used for logging.
MaxSavedLogFiles
3
Determines the number of log files to save
on the device. It does not include the one
currently used by the program. If the value
is set to 2, then the valid log file names are
siebel_log.txt, Siebel_log1.txt, and
siebel_log2.txt. Siebel_log.txt is the current
log file. Siebel_log1 is an older one and
Siebel_log2 is the oldest.
PressureThreshold
29
Prompts user to restart the Handheld
application after 30 visits, thereby freeing
application memory.
Siebel Medical Handheld Guide Version 8.1/8.2
14 9
Deploying Siebel Handheld Applications ■ Process of Installing the Siebel Handheld
Application
Enabling Back Up of Siebel Handheld Application
Database
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145.
The Siebel Handheld application framework provides a way to automatically back up a snapshot of a
user’s Siebel Handheld application database and current settings, and to restore those settings if the
handheld device fails. The backup functionality automatically copies all the necessary files to a single
compressed file. Each time a user backs up, the backup process creates a new copy of the file and
deletes older backup files. The backup process must close the Handheld application in order to copy
the RDBMS and handheld configuration files. After the files are copied, it automatically restarts the
Handheld application.
The backup feature must be enabled in the Handheld application. If the backup feature is enabled,
a backup is created during every synchronization. This way, the user retains an up-to-date snapshot
of the Siebel Handheld application database, and older backup versions are removed.
When the database backup feature is enabled, a Siebel Handheld application database backup occurs
automatically at the end of each synchronization. This makes the overall time to synchronize
somewhat longer. The size of the Siebel Handheld application database and the speed of the
CompactFlash card also affect the time it takes to complete synchronization.
NOTE: Backup files must not be used as a replacement for synchronization.
Setting Up Siebel Handheld Application Database Backups
To back up the Siebel Handheld application database, you must do the following:
1
Provide users with an external memory card.
2
Install the Siebel Handheld application with the backup functionality enabled. See, “Enabling
Siebel Handheld Application Database Backup” on page 150.
3
Instruct users to back up their Siebel Handheld application databases on a regular basis.
Backing Up to External Media
It is recommended that you back up to external media—for example, a CompactFlash card or the
embedded backup storage that is included in many devices.
Enabling Siebel Handheld Application Database Backup
Before users can back up their Siebel Handheld application databases, you must first enable the
Backup menu item on the Siebel Handheld application. This requires editing the setup.ini file to
enable backup.
NOTE: Backup files must be kept on external media or built-in storage. Trying to set the location to
the main memory, such as \My Documents, will not work.
150
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Installing Print Templates in the Siebel
Handheld Install Directory
The following is an example of the default settings for the backup parameters:
[Backup]
BackupLocation = \Storage Card\Siebel Backup
BackupEnabled = N
■
BackupEnabled = [Y/N] The default is N (No). Change this setting to Y (Yes) to enable the Backup
menu item and to trigger a backup to occur automatically after each synchronization.
If the product is installed with Backup = N, the backup menu item is disabled. You need to change
the parameter, then reinstall the product in order to enable the menu item.
■
BackupLocation = [Backup location] The default is an external storage card. Specify the location
where you want the data backed up.
For more information about the setup.ini file, see Chapter 8, “Installing the Siebel Handheld
Application.” For more information about backing up Siebel Handheld application data, see “Backing
Up and Restoring Data with the Siebel Handheld Client” on page 182
Restoring from a Backup
For information about restoring a Siebel Handheld application database from a backup, see “Backing
Up and Restoring Data with the Siebel Handheld Client” on page 182.
Installing Print Templates in the Siebel
Handheld Install Directory
If your Siebel Handheld application allows printing, you must include all print templates in the
template subdirectory of the Handheld application Install directory. The print templates are
language-specific, so copy the templates to the template subdirectory within the language directory
of the language you are deploying (for example, ...\ENU\Template). If the template includes double
byte characters, such as Japanese string, you must save the template files as Unicode (UTF16) files.
For supported language codes, see Siebel System Requirements and Supported Platforms on Oracle
Technology Network.
For more information about printing and print templates, see the following:
■
“Views with Associated Print Templates or Reports” on page 34
■
“Configuring Printing from the Siebel Handheld Application” on page 56
■
“Printing with the Siebel Handheld Application” on page 180
■
Appendix D, “Print Tagging Language”
■
Appendix E, “Print Configuration Settings”
Siebel Medical Handheld Guide Version 8.1/8.2
15 1
Deploying Siebel Handheld Applications ■ Setting Up Siebel Handheld Application
Installation on a CompactFlash Card
Setting Up Siebel Handheld Application
Installation on a CompactFlash Card
The default, when installing Siebel Handheld applications, is to install both the Handheld application
and the Siebel Handheld application database into random access memory (RAM) on the device. In
most instances, there is sufficient available memory, and users are satisfied with the Handheld
application performance. There are situations, however, where you might need to optimize storage
on the device.
If you need to maximize main memory availability, you can install the Handheld application binary
files on an external location such as a CompactFlash card. Installing the data on the CompactFlash
card is not recommended because performance likely degrades.
You can specify, in the Handheld application’s setup.ini file, where the Handheld application files and
Siebel Handheld application database files are to be installed. By default, this is set to the handheld
device. In the ApplicationLocation section of the setup.ini file, there are two parameters. The
following shows the default settings for these parameters:
[ApplicationLocation]
ApplicationBinariesLocation = Device
ApplicationDataLocation = Device
ApplicationBinariesLocation = Device means that the default location for the binaries is the handheld
device. The other value is CF (CompactFlash).
ApplicationDataLocation = Device means that the default location for data is the handheld device. It
is recommended that you always install the data files on the handheld device.
After you have edited the setup.ini file, follow the instructions for installing the Siebel Handheld
application.
Changing the SyncURL on Handheld
Devices
For Direct Server Synchronization, SyncURL is used to locate the Web Server and the virtual directory
so synchronization for the Siebel Handheld Client can communicate with synchronization for the
Siebel Handheld Application Server. For example:
SyncURL = http://web server name or IP address/virtual directory name
You can reset the SyncURL by re-installing the Handheld application with the updated setup.ini file.
For Companion Synchronization set up, the SyncURL parameter identifies the configuration file that
will be accessed on the Siebel Handheld Client for synchronization.
152
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Installing the Siebel Handheld Application
from External Media
For example, the default configuration file for Siebel Medical Handheld is named medicalce.cfg. For
companion synchronization set up, the SyncURL value must be http://xxxx/medicalce where xxxx
is any text string.
NOTE: PPC 2002 and PPC 2003 do not have a hosts file similar to the Windows Operation System
(for example, C:\WINNT\system32\drivers\etc\hosts.file), where you can set up mappings for
the IP address and host name.
Installing the Siebel Handheld
Application from External Media
Users who synchronize in Direct Server Synchronization mode might not have a PC, and so cannot
create a partnership and synchronize using Microsoft ActiveSync. You can install the Handheld
application for each user through a standard partnership, or you can configure a stand-alone
installer.
During the installation, the InstallShield Wizard screen prompts you by asking:
Would you like to deploy a CAB file to enable rapid installation for additional devices?
You can configure a stand-alone installer by selecting Yes.
You are prompted to select a language for the Handheld application and to specify a location for the
CAB file. The installer creates the CAB file in the location you specify.
The CAB file is a self-extracting file that includes all the files needed to install the Siebel Handheld
application on the handheld device. When you single-click the file, the CAB file installs the Handheld
application.
You can create an image of the Handheld application installer that can be loaded onto external media
such as a CompactFlash card. When you create a stand-alone installer platform, a Cabinet file (CAB)
is created in a location that you specify. The CAB file name must be siebel.pocketpc_arm.CAB. You
can copy the CAB file to a CompactFlash card, insert the card into the handheld device, and singleclick on the file to install the Siebel Handheld application on the device.
NOTE: When installing the Handheld application on the handheld device, the user is asked if they
want to install the Handheld application in the default directory. Regardless of the answer, the
Handheld application is always installed in the directory specified by the setup.ini file. Therefore, the
only way to change the directory the Handheld application is installed in is to modify the parameters
in the ApplicationLocation section of the setup.ini file.
Distributing Siebel Handheld Application
Patches
PatchAgent is the patch delivery mechanism for your Siebel Handheld applications. PatchAgent is a
tool that automates the deployment of patches to handheld devices as part of the synchronization
process. It allows administrators to distribute patches to users with minimal involvement by the
users.
Siebel Medical Handheld Guide Version 8.1/8.2
15 3
Deploying Siebel Handheld Applications ■ Distributing Siebel Handheld Application
Patches
During synchronization the PatchAgent executable is called, and if it detects a Handheld application
patch, it automatically installs the patch on the handheld device. In order for PatchAgent to detect
and deploy the patch, the patch files must be created and placed in the directory where PatchAgent
expects to find the files.
The following procedures are included in this topic:
■
“Deploying Patches to Handheld Applications with Direct Server Synchronization” on page 154
■
“Deploying Handheld Application Patches with Companion Synchronization” on page 156
■
“Creating Handheld Application Upgrade Kits for Companion Synchronization PDA” on page 158
■
“Deploying Attachments to Handheld Applications with Direct Server Synchronization” on page 158
■
“Deploying Handheld Application Attachments with Companion Synchronization” on page 160
■
“Downloading Patches to the Handheld Device” on page 162
■
“Using PatchAgent to Distribute New Print Templates to the Handheld Device” on page 163
Deploying Patches to Handheld Applications with Direct
Server Synchronization
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145.
In order to set up patch deployment for Direct Server Synchronization users, you need to patch the
Siebel Server and patch one Siebel Handheld Client which serves as the “model” from which patch
files are pulled. Then the patch files are then packaged and placed in the location on the Siebel
Server where PatchAgent expects to find the files. The next time the user synchronizes with Siebel
Server, the patch is installed onto their handheld device.
For more information about how the patch process works with synchronization, see “Downloading
Patches to the Handheld Device” on page 162.
To set up patch deployment
1
On Siebel Server, verify that the following directories exist. If they do not, create the directories.
■
C:\patch\AppBinDir
■
C:\patch\WinDir
NOTE: You can specify a drive other than C:. However, the directory names must be specified as
shown above.
2
Apply the patch to Siebel Server.
3
Apply the patch to one Siebel Handheld Client.
4
Examine the Handheld application directory (My Device\Program Files\Siebel Handheld) to
determine which files to copy over to the Siebel Server directory (C:\patch\AppBinDir).
154
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Distributing Siebel Handheld Application
Patches
5
Examine the Handheld application directory (My Device\Windows) to determine which files to
copy over to the Siebel Server directory (C:\patch\WinDir).
To do Step 4 and Step 5 accurately, it is recommended that you use one of the following methods:
■
First, take a snapshot of all files in the Siebel Handheld application directory before you install
the new build. Then install the new Handheld application build, making a note of all files that
are installed in the process.
By comparing the list of files in the Handheld application directory before installation of the
new build with the list of files in the Handheld application directory after installation of the
new build, you can determine which files are new and which files remain the same.
Copy all new files over to the Siebel Server directory.
■
Take a snapshot of the siebel.inf file before you install the new build. The siebel.inf file
contains a complete list of all files that are installed on the handheld device, and is created
just before the installation of the Handheld application (before clicking the finish button to
finish installation of your Siebel Handheld application, the
%temp%\siebelhh\files\siebel.inf file is created).
In the case of Step 4, by comparing the list of files in the [Files.AppBinDir] section of
siebel.inf with the list of files that are installed with the new build in the \Program
Files\Siebel Handheld folder, you can determine which files are new and which files remain
the same.
In the case of Step 5, by comparing the list of files in the [Files.Windows] section of
siebel.inf with the list of files that are installed with the new build in the \Windows folder, you
can determine which files are new and which files remain the same.
Copy all new files over to the Siebel Server directory.
NOTE: In all cases, compare the file size and timestamp on the older build with the newer build
to determine which files need to be patched.
6
From the DOS prompt, change directory to Siebel Root\SWEApp\BIN.
7
Execute the following command to stage the patch files and the patchlist.txt in the correct
location on the Siebel Server:
C:\Siebel Root\SWEApp\BIN>createpatchlist /s c:\patch /t c:\Siebel
Root\sweapp\cepatch
where
■
/s – source directory. The directory where the patch files were moved.
■
/t – target directory. The directory where PatchAgent checks for the patch files.
NOTE: You can specify a drive other than C:. However, the location of the source and target
directories must be specified exactly as shown.
After the patch files have been moved and the patch list created, the following message appears:
Patch List has been successfully created in Siebel Root\SWEApp\cepatch files transferred
successfully.
The patch files are now ready to be deployed to Direct Server Synchronization users.
Siebel Medical Handheld Guide Version 8.1/8.2
15 5
Deploying Siebel Handheld Applications ■ Distributing Siebel Handheld Application
Patches
Deploying Handheld Application Patches with
Companion Synchronization
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145.
In order to set up patch deployment for Companion Synchronization users, you need to create a
“model” of a patched Siebel Mobile Web Client and a patched Siebel Handheld Client. Then you pull
the designated patch files and place them in the correct directory on the user’s Mobile Web Client.
You can use Siebel Anywhere to create upgrade kits to automate this process of distributing patch
files to your user's Mobile Web Client. The next time the user uses Companion Synchronization to
synchronize their handheld device with the Siebel Mobile Web Client, the patch is installed on the
device.
For more information about how the patch process works with synchronization, see “Downloading
Patches to the Handheld Device” on page 162.
To set up patch deployment
1
On Siebel Server, verify that the following directories exist. If they do not, create the directories.
■
C:\patch\AppBinDir
■
C:\patch\WinDir
2
Apply the patch to Siebel Server.
3
Apply the patch to Siebel Mobile Web Client.
This Mobile Web Client serves as the model from which the patch files can be pulled.
4
Apply the patch to one Siebel Handheld Client.
This Siebel Handheld Client serves as the model from which the patch files can be pulled.
5
Examine the Handheld application directory (My Device\Program Files\Siebel Handheld) to
determine which files to copy over to the Siebel Server directory (C:\patch\AppBinDir).
6
Examine the Handheld application directory (My Device\Windows) to determine which files to
copy over to the Siebel Server directory (C:\patch\WinDir).
To do Step 5 and Step 6 accurately, it is recommended that you use one of the following methods:
■
First, take a snapshot of all files in the Siebel Handheld application directory before you install
the new build. Then install the new Handheld application build, making a note of all files that
are installed in the process.
By comparing the list of files in the Handheld application directory before installation of the
new build with the list of files in the Handheld application directory after installation of the
new build, you can determine which files are new and which files remain the same.
Copy all new files over to the Siebel Server directory.
156
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Distributing Siebel Handheld Application
Patches
■
Take a snapshot of the siebel.inf file before you install the new build. The siebel.inf file
contains a complete list of all files that are installed on the handheld device, and is created
just before the installation of the Handheld application (before clicking the finish button to
finish installation of your Siebel Handheld application, the
%temp%\siebelhh\files\siebel.inf file is created).
In the case of Step 5, by comparing the list of files in the [Files.AppBinDir] section of
siebel.inf with the list of files that are installed with the new build in the \Program
Files\Siebel Handheld folder, you can determine which files are new and which files remain
the same.
In the case of Step 6, by comparing the list of files in the [Files.Windows] section of
siebel.inf with the list of files that are installed with the new build in the \Windows folder, you
can determine which files are new and which files remain the same.
Copy all new files over to the Siebel Server directory.
NOTE: In all cases, compare the file size and timestamp on the older build with the newer build
to determine which files need to be patched.
7
From the DOS prompt, change directory to C:\Siebel Root\SWEApp\BIN.
8
Execute the following command to move the patch files to the correct location and generate a
patchlist.txt file:
C:\Siebel Root\SWEApp\BIN>createpatchlist /s c:\patch /t c:\Siebel
Root\sweapp\cepatch_xxx
where
■
/s – source directory. The directory where the patch files were moved.
■
/t – target directory. The directory where PatchAgent checks for the patch files.
■
xxx is the language [enu, esn, and so on].
NOTE: You can specify a drive other than C:. However, the location of the source and target
directories must be specified exactly as shown.
After the patch files have been moved and the patch list created, the following message appears:
Patch List has been successfully created in Siebel Root\SWEApp\cepatch_xxx files transferred
successfully.
9
Create the following directory on the user’s Mobile Web Client: Siebel
Root\client\cepatch_xxx (where xxx is the language [enu, esn, and so on]), and push the files
from the \Siebel Root\SWEApp\cepatch_xxx directory on Siebel Server to the Siebel
Root\client\cepatch_xxx on the Mobile Web Client.
NOTE: Siebel Anywhere upgrade kits can be used to carry out this step.
Siebel Medical Handheld Guide Version 8.1/8.2
15 7
Deploying Siebel Handheld Applications ■ Distributing Siebel Handheld Application
Patches
Creating Handheld Application Upgrade Kits for
Companion Synchronization PDA
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145.
NOTE: This step is optional. Additionally, you must have a license for Siebel Anywhere to distribute
patches to users.
You can use Siebel Anywhere upgrade kits to remotely distribute self-extracting zip files to your
users’ PCs. You can use self-extracting zip files to create new directories and immediately extract
files into the directories. Create one upgrade kit for each of the following:
■
Create the Siebel Mobile Web Client upgrade kit (Siebel Client Revisions).
Navigate to the Siebel image location for the current software version such as D:/
Siebel_Install_Image/7.8.1.0, and then navigate to the patch directory. Configure the zip file
to self-extract in the Siebel Root\client\BIN directory on the user’s Mobile Web Client.
■
Create the Siebel Handheld application upgrade kit (Siebel Client Revisions).
Create a self-extracting zip file that includes the files in the Siebel Root\SWEApp\cepatch
directory on the server. Configure the zip file to self-extract in the \client\cepatch directory on
the user’s Mobile Web Client.
■
Create any other upgrade kits as needed (for example, the Siebel Customer Repository File).
See Siebel Anywhere Administration Guide for detailed information on creating upgrade kits.
NOTE: If there are read-only files on the Mobile Web Client, the user might need to change the file
attributes to read-write before receiving and installing the upgrade kits. For help with a list of files
whose attributes need to be changed, create a service request (SR) on My Oracle Support. You can
use Siebel Anywhere to distribute a batch script that makes this change.
Deploying Attachments to Handheld Applications with
Direct Server Synchronization
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145.
You deploy attachments to the Siebel Handheld application with Direct Server Synchronization in
much the same way you deploy patches. PatchAgent automates the deployment of attachments to
handheld devices as part of the synchronization process. For more information about how the patch
process works with synchronization, see “Downloading Patches to the Handheld Device” on page 162.
You can specify the storage location for attachment files, and set a limit on the storage capacity to
be made available for attachments on a handheld device. For more information about storage
location and capacity, see “Configuring the Attachment Storage Location and Storage Capacity” on
page 160.
158
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Distributing Siebel Handheld Application
Patches
Setting Up Your Attachment Files
In order to set up attachments for Direct Server Synchronization users and subsequently download
them to a handheld device, you must first set up the attachment files on the Siebel Server that
requires a patch.
To set up attachment files on the Siebel Server that requires a patch
1
Set up your patch deployment as already described in steps 1-6 of “Deploying Patches to Handheld
Applications with Direct Server Synchronization” on page 154.
2
Execute the following command to stage the patch files and the patchlist.txt in the correct
location on the Siebel Server:
C:\Siebel Root\SWEApp\BIN>createpatchlist /s C:\AttachmentDir\UserResponsibilityX
/t C:\Siebel Root\sweapp\cepatch_xxx\UserResponsibilityX
where
■
/s – source directory. The directory where the patch files are located. Put all attachment files
for a certain responsibility (for example, UserResponsibilityX) here.
■
/t – target directory. The directory where PatchAgent checks for the patch files.
■
xxx is the language [enu, esn, and so on]
Repeat for other responsibilities, as required:
C:\Siebel Root\SWEApp\BIN>createpatchlist /s C:\AttachmentDir\UserResponsibilityY
/t C:\Siebel Root\sweapp\cepatch_xxx\UserResponsibilityY
After the patch files have been moved and the patch list created, the following message appears:
Patch List has been successfully created in
Siebel Root\SWEApp\cepatch_xxx\UserResponsibilityX files transferred successfully.
NOTE: The name of the user responsibility directory corresponds to the actual user responsibility
(for example, Sales Rep).
3
Copy the patchlist.txt and all the compressed patch files to the appropriate subdirectory, named
according to the responsibility, under the CEPatch directory on the Siebel Web Server:
\SWEApp\Public\enu\CEPatch_xxx\Route Sales - HH CE\patchlist.txt
The CEPatch directory on the Web Server will look similar to the following:
\SWEApp\Public\enu\CEPatch_xxx\patchlist.txt
\file1
\file2
\...
\UserResponsibilityX|
\UserResponsibilityX\patchlist.txt
\UserResponsibilityX\AttachmentFile1
\UserResponsibilityX\AttachmentFile2
\UserResponsibilityX\...
\UserResponsibilityY|
\UserResponsibilityY\patchlist.txt
\UserResponsibilityY\AttachmentFileA
Siebel Medical Handheld Guide Version 8.1/8.2
15 9
Deploying Siebel Handheld Applications ■ Distributing Siebel Handheld Application
Patches
\UserResponsibilityY\AttachmentFileB
\UserResponsibilityY\...
\...
The patch files are now ready to be downloaded to Direct Server Synchronization users. For more
information about downloading patch files, see “Downloading Patches to the Handheld Device” on
page 162.
Configuring the Attachment Storage Location and Storage Capacity
After the initial installation of your Siebel Handheld application, you can change the storage location
for your attachment files, and set a limit on the storage capacity to be made available for
attachments on your handheld device.
To change the storage location for attachment files, add the following line to the
RegKeyList section of patchlist.txt:
HKLM,%reg_path%,”AttachmentDir”,0x00000000,DIRECTORY
where
DIRECTORY is the new attachment folder you want to use.
To set a size limit on the storage capacity, add the following line to the RegKeyList
section of patchlist.txt:
HKLM,%reg_path%,”MaxAttachmentStorage”,0x00000000,SIZE
where
SIZE is a positive integer in bytes of storage (for example, 2MB=2,097,152 bytes).
Deploying Handheld Application Attachments with
Companion Synchronization
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145.
You deploy attachments to the Siebel Handheld Application with Companion Synchronization in much
the same way you deploy patches. PatchAgent automates the deployment of attachments to
handheld devices as part of the synchronization process. For more information about how the patch
process works with synchronization, see “Downloading Patches to the Handheld Device” on page 162.
You can specify the storage location for attachment files, and set a limit on the storage capacity to
be made available for attachments on a handheld device. For more information about storage
location and capacity, see “Configuring the Attachment Storage Location and Storage Capacity” on
page 160.
160
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Distributing Siebel Handheld Application
Patches
Setting Up Your Attachment Files
In order to set up attachments for Companion Synchronization users and subsequently download
them to a handheld device, you must first set up the attachment files on the server that requires a
patch.
To set up attachment files on the server that requires a patch
1
Set up your patch deployment as already described in steps 1-7 of “Deploying Handheld
Application Patches with Companion Synchronization” on page 156.
2
Execute the following command to stage the patch files and the patchlist.txt in the correct
location on the server:
C:\Siebel Root\SWEApp\BIN>createpatchlist /s c:\AttachmentDir\UserResponsibilityX
/t c:\Siebel Root\sweapp\cepatch_xxx\UserResponsibility
where
■
/s – source directory. The directory where the attachment files were located. Put all
attachment files for a certain responsibility (for example, UserResponsibilityX) here.
■
/t – target directory. The directory where PatchAgent checks for the patch files.
■
xxx is the language [enu, esn, and so on].
Repeat for other responsibilities, as required:
C:\Siebel Root\SWEApp\BIN>createpatchlist /s c:\AttachmentDir\UserResponsibilityY
/t c:\Siebel Root\sweapp\cepatch_xxx\UserResponsibilityY
After the patch files have been moved and the patch list created, the following message appears:
Patch List has been successfully created in Siebel Root\SWEApp\cepatch\UserResponsibilityX
files transferred successfully.
NOTE: The name of the user responsibility directory corresponds to the actual user responsibility
(for example, Pharma Sales Rep).
3
Copy the patchlist.txt and all compressed patch files to the appropriate subdirectory, named
according to the responsibility, under the CEPatch directory on the laptop:
\Client\CEPatch_xxx\Route Sales - HH CE\patchlist.txt
If using Companion Synchronization, use Siebel Anywhere to push the patch files to the laptop.
The CEPatch directory on the Web Server will look similar to the following:
\SWEApp\Public\enu\CEPatch_xxx\patchlist.txt
\file1
\file2
\...
\UserResponsibilityX|
\UserResponsibilityX\patchlist.txt
\UserResponsibilityX\AttachmentFile1
\UserResponsibilityX\AttachmentFile2
\UserResponsibilityX\...
\UserResponsibilityY|
\UserResponsibilityY\patchlist.txt
Siebel Medical Handheld Guide Version 8.1/8.2
16 1
Deploying Siebel Handheld Applications ■ Setting up PatchAgent on Windows 2003
\UserResponsibilityY\AttachmentFileA
\UserResponsibilityY\AttachmentFileB
\UserResponsibilityY\...
\...
The patch files are now ready to be downloaded to Companion Synchronization users. For more
information about patch download, see “Downloading Patches to the Handheld Device” on
page 162.
Downloading Patches to the Handheld Device
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145.
Patches are downloaded as part of the synchronization process. When the patch is staged, the patch
is downloaded the next time the user synchronizes the handheld device with Siebel Server. The users
synchronize as they normally do using Direct Server Synchronization or Companion Synchronization.
First, any transactions are uploaded from the handheld device. Then:
■
If a patch needs to be applied to the handheld device, the synchronization process terminates,
and the patch process is started, which downloads the patch.
■
If no patch needs to be applied, the synchronization process continues until the process is
complete.
After a successful patch installation, synchronization for the Siebel Handheld application launches
automatically and continues the extraction.
If the patch files are not successfully downloaded, the user is prompted to restart the patch process.
The user must locate and launch patchagent.exe manually. Then, once the patch is successfully
installed, the user is prompted to complete the synchronization.
Setting up PatchAgent on Windows 2003
This task is a step in “Process of Installing the Siebel Handheld Application” on page 145. When Siebel
Web Server Extension (SWSE) software is installed on Windows 2003, you must complete the steps
outlined in “To set up PatchAgent on Windows 2003” on page 162 to allow PatchAgent to run without
error on Siebel Handheld applications.
To set up PatchAgent on Windows 2003
1
Make sure that the Internet Guest Account (MACHINE_NAME\IUSR_MACHINE_NAME) exists in the
system. This is automatically created after you install Windows 2003 Server.
2
Right-click on the CEPATCH folder and select Properties.
a
Select the Security tab and add the following account:
Internet Guest Account MACHINE_NAME\IUSR_MACHINE_NAME
b
162
Set the permission to Yes for all rights, except for Full Control.
Siebel Medical Handheld Guide Version 8.1/8.2
Deploying Siebel Handheld Applications ■ Setting up PatchAgent on Windows 2003
3
Open Internet Information Services (IIS) console and navigate to the Properties tab on the IIS
level.
Select the MIME types tab (go to the MIME types section) and add the following two properties
to create a new MIME type:
Property
Comment
.*
The extension field (.* is a period followed by an asterisk).
application/octet-stream
The MIME type field.
Only add these properties if using IIS 5.0 or 5.5. If using IIS 6.0, then add the following
properties instead:
Property
Comment
.*
The extension field (.* is a period followed by an asterisk).
application
The MIME type field.
This step is required to enable PatchAgent to access all files at the file level.
4
Using IIS console, right-click the cepatch_enu virtual folder and select the Properties tab.
a
Go to the Security tab, and click the Edit... button.
The authentication and access control dialog box displays.
5
b
Enter the details for the user account (for example, IUSR_MACHINE_NAME).
c
Enter the password for the account.
d
Select the Enable Anonymous Access check box.
Restart IIS.
NOTE: On a standard Windows 2003 installation, steps 1 and 4 might already be in place, but steps
2 and 3 must be setup by you.
Using PatchAgent to Distribute New Print Templates to
the Handheld Device
New print templates can be distributed as a patch to your Siebel Handheld Application users. Patches
are downloaded to handheld devices as part of the synchronization process.
Complete the steps in the following procedure to distribute new print templates to a handheld device.
To distribute new print templates using PatchAgent to a handheld device
Bundle your print templates into a patch, using dsspatchagent.exe. When handheld application
users then synchronize using Direct Server Synchronization or Companion Synchronization:
Siebel Medical Handheld Guide Version 8.1/8.2
16 3
Deploying Siebel Handheld Applications ■ Setting up PatchAgent on Windows 2003
■
The handheld device checks for the presence of patches in <SiebelRoot>\sweapp\cepatch.
■
The handheld device uploads and processes transactions as described in “Downloading
Patches to the Handheld Device” on page 162.
For more information about deploying patches to Handheld Applications, see:
■
164
“Deploying Patches to Handheld Applications with Direct Server Synchronization” on page 154
Siebel Medical Handheld Guide Version 8.1/8.2
7
Synchronization Conflict
Handling and Recovery with
Siebel Handheld Applications
The purpose of this chapter is to outline how to handle synchronization conflicts and recovery for
Siebel Handheld applications. The following topics are covered in this chapter:
■
“Preventing Synchronization Transaction Conflicts with Handheld Applications” on page 165
■
“Recovering Error Data in Siebel Handheld Applications” on page 169
Preventing Synchronization Transaction
Conflicts with Handheld Applications
When multiple users synchronize with a remote database, transaction conflicts can occur which can
result in data loss. The Extended Pick and Insert Failure functionality minimizes synchronization
conflicts. If transaction conflicts are unavoidable, then the Synchronization Service for the Siebel
Handheld application captures the transaction information so that the data can be recovered. The
combination of these features eliminates the potential for data loss.
There are two features that minimize synchronization transaction conflicts—Extended Pick
processing and Insert Failure processing:
■
“Extended Pick Processing in Siebel Handheld Applications” on page 165
■
“Insert Failure Processing in Siebel Handheld Applications” on page 167
Extended Pick Processing in Siebel Handheld
Applications
The Handheld application is used to capture and record transactions entered by users. During
synchronization, these transactions are processed on the server. A situation can arise in which a
transaction fails when it is applied to the Siebel Server (through Direct Server Synchronization) or
Siebel Mobile Web Client (through Companion Synchronization)—both of which are referred to as
server. For example, a Handheld application user creates a professional call activity for one of their
contacts. However, since they last synchronized with the server, the contact involved in this
transaction was deleted from the server database. As a result, when the user tries to synchronize
their handheld device, the server does not find the contact, and the call activity for the contact
cannot be inserted into the server database. To generalize this example, any transaction that
involves data selected through picklists or pick applets fails on the server if that pick data is not
present at the time of synchronization.
With many users synchronizing with Siebel Server and modifying data at different times, this
scenario is not uncommon.
Siebel Medical Handheld Guide Version 8.1/8.2
16 5
Synchronization Conflict Handling and Recovery with Siebel Handheld Applications
■ Preventing Synchronization Transaction Conflicts with Handheld Applications
The following describes how a pick transaction is recorded on a handheld device and processed on
the server during synchronization. Assume that the user wants to create a new call activity for the
contact. In order to do this, the user inserts a new record in the Professional Call screen and picks
the desired contact. When the contact is selected on the handheld device, the Row Id of the contact
(Contact Id) is recorded. However, on the handheld device, the application does not record any of
the pick map fields associated with the contact; only the Contact Id is recorded. When the user
synchronizes their handheld device, that Contact Id is used to locate the contact record in the server
database. The Contact Id is then used to retrieve all of the fields used in the pick map for the Contact
Id (Last Name, First Name, Middle Initial, Address, City, State, Zip Code, and so on).
In order to minimize pick processing failures, the Handheld application must record the pick row ID
and all of the pick map data that is required for a successful transaction. This data must be recorded
at the time of the pick, so that it can be passed to the server for processing. This enhanced
functionality is called Extended Pick processing. Now, when the user synchronizes, the transaction
is processed on the server as follows:
■
The synchronization process first looks for the pick record on the server database. For example,
to add an activity it looks for the contact and, if it finds the contact, it retrieves the necessary
data and adds the activity. This is the default behavior.
■
If the server does not find the pick map record in the database and extended pick processing is
enabled, it retrieves the pick record ID and pick map data from the Handheld application
transaction and applies the data directly to the server.
Enabling Extended Pick Processing in Siebel Handheld Applications
You can enable Extended Pick processing globally or at the business component level when
configuring the Siebel Handheld application. When the DefaultHandheldSyncPickMode parameter is
enabled, every pick transaction is subject to pick processing.
To enable extended pick processing globally
1
Navigate to the Administration - Mobile screen, then the Application Administration view.
2
Click the Settings tab, then Query on the following value:
DefaultHandheldSyncPickMode
If there is no such record, a new record with that value must be created. See Table 28 for the
values to enter.
Table 28.
166
Application Settings
Setting Name
Value
Description
DefaultHandheldSyncPickMode
NoFail
Turns Extended Pick processing ON.
FailOnError
Turns Extended Pick processing OFF This is
the default behavior if the parameter is not
specified in the Settings view.
Siebel Medical Handheld Guide Version 8.1/8.2
Synchronization Conflict Handling and Recovery with Siebel Handheld Applications
■ Preventing Synchronization Transaction Conflicts with Handheld Applications
To enable extended pick processing at the business component level
■
When enabling extended pick processing at the business component level, the user property is
defined on specific business components. Use the HandheldSyncPickMode user property to set
the extended pick processing mode for the fields you require. For more information about this
user property, see HandheldSyncPickMode User Property on page 265.
Table 29 shows the combined effect of the settings in the Application - Mobile, then the Settings View
and on a business component.
■
The DefaultHandheldSyncPickMode setting is omitted from application settings.
■
If there is no setting on a particular business component, the setting defined in the Settings view
applies.
■
If there is no setting defined in the Settings view, or on the business component, the default
behavior is for Extended Pick to be turned OFF.
In Table 29, read down the Tools Configuration column (which shows what HandheldSyncPickMode is
equal to) and across to the Mobile Administration View Setting column (which shows what
DefaultHandheldSyncPickMode is equal to) to see the combined result. For example, a NoFail
configuration in Tools combined with a FailOnError setting in the Mobile Administration View results
in the combined effect NoFail.
Table 29.
Combined Effect of Extended Pick Settings for Business Components
Tools Configuration (User Property)
Mobile Administration View Settings
NoFail
FailOnError
Omitted
NoFail
NoFail
NoFail
NoFail
FailOnError
FailOnError
FailOnError
FailOnError
Omitted
NoFail
FailOnError
FailOnError
Insert Failure Processing in Siebel Handheld
Applications
When the server executes an insert transaction and the insert fails, there are two ways the insert
failure can be handled:
■
A record is logged that indicates the insert failed, and synchronization continues. This is the
default insert behavior. The Conflict Administration screen can be used to recover the data.
Siebel Medical Handheld Guide Version 8.1/8.2
16 7
Synchronization Conflict Handling and Recovery with Siebel Handheld Applications
■ Preventing Synchronization Transaction Conflicts with Handheld Applications
■
The insert failure is logged, including details of the failure, and synchronization is interrupted.
This is the FailOnError behavior. FailOnError behavior guarantees that, if an insert fails, data loss
does not occur since synchronization is stopped until the circumstances causing the failure are
resolved.
NOTE: If FailOnError processing takes place, synchronization is interrupted. The synchronization
process continues to fail until the problem is resolved. Users must contact their system
administrators to recover from the failure. The recovery effort can involve modifying transactions
queued for processing, modifying data on the server, or reentering transactions through the Siebel
Handheld application.
Handling Insert Failures
You can enable insert failure processing globally or at the business component level when you
configure the Siebel Handheld application. The following setting applies globally throughout the
application. When FailOnError is specified, every failed insert interrupts synchronization.
DefaultHandheldInsertMode
You can specify the value for this setting through the Settings view in the Administration-Mobile
screen.
Table 30 shows the settings for this parameter.
Table 30.
Insert Failure Processing Parameter Setting
Parameter
DefaultHandheldInsertMode
Value
Description
NoFail
Insert failures are logged and synchronization
continues. This is the default behavior.
FailOnError
Insert failures are logged and synchronization
terminates. The system administrator must
intercede to recover from this failure.
You can also use the HandheldInsertFailMode user property to enable insert failure processing at the
business component level. For more information about this user property, see
HandheldInsertFailMode User Property on page 265.
Table 31 shows the combined effect of the setting in the Settings view and the setting on a business
component.
■
The business component setting always takes precedence over the settings defined in the
Administration-Mobile, then the Settings view.
■
If there is no setting on a particular business component, the Applications Settings value applies.
■
If there is no setting in either the Settings view or on the business component, the default
behavior is the same as NoFail. Insert failures are logged and synchronization continues.
168
Siebel Medical Handheld Guide Version 8.1/8.2
Synchronization Conflict Handling and Recovery with Siebel Handheld Applications
■ Recovering Error Data in Siebel Handheld Applications
In Table 31, read down the Tools Configuration column (which shows what HandheldInsertFailMode
is equal to) and across to the Application Settings Value (which shows what the
DefaultHandheldInsertMode is equal to) to see the combined result. For example, a NoFail BC setting
combined with a FailOnError application setting results in the combined effect NoFail.
Table 31.
Combined Effect of Insert Failure Settings
Tools Configuration (User Property)
Application Settings Value
NoFail
FailOnError
Omitted
NoFail
NoFail
NoFail
NoFail
FailOnError
FailOnError
FailOnError
FailOnError
No Setting on Business Component
NoFail
FailOnError
NoFail
Recovering Error Data in Siebel
Handheld Applications
Selected synchronization and conflict errors are captured to the database, and can be accessed
through the Conflict Administration screens. This mechanism is always enabled. For more
information about recovering error data, see “Obtaining Error Details from Synchronization Sessions
in Siebel Handheld Applications” on page 111.
Siebel Medical Handheld Guide Version 8.1/8.2
16 9
Synchronization Conflict Handling and Recovery with Siebel Handheld Applications
■ Recovering Error Data in Siebel Handheld Applications
170
Siebel Medical Handheld Guide Version 8.1/8.2
8
Installing the Siebel Handheld
Application
This chapter guides you through the process of installing and upgrading a Siebel Handheld
application. The following topics are covered in this chapter:
■
“Process of Installing, Reinstalling, or Upgrading a Siebel Handheld Application” on page 171
■
“Uninstalling the Siebel Handheld Application” on page 171
■
“Installing the Siebel Handheld Application” on page 172
Process of Installing, Reinstalling, or
Upgrading a Siebel Handheld Application
The Siebel Handheld application cannot be upgraded directly on the handheld device. You must
uninstall the old Siebel Handheld application and then install the new one. To reinstall or upgrade
your existing Siebel Handheld application and migrate its data and settings to the current release,
or to install a new Siebel Handheld application, use the following process:
1
If you have a Siebel Handheld application installed, before you reinstall or upgrade the
application, back up its data by synchronizing your application with the Siebel Handheld
application database. See “Synchronizing Data on Your Handheld Device” on page 184.
2
If you have a Siebel Handheld application installed, uninstall the Siebel Handheld application. See
“Uninstalling the Siebel Handheld Application” on page 171.
3
Install the current version of your Siebel Handheld application. See “Installing the Siebel Handheld
Application” on page 172.
4
Synchronize your Siebel Handheld application data. See “Synchronizing Data on Your Handheld
Device” on page 184.
Uninstalling the Siebel Handheld
Application
Uninstalling the Siebel Handheld application deletes the database files as well as the application files.
This task is a step in “Process of Installing, Reinstalling, or Upgrading a Siebel Handheld Application” on
page 171.
CAUTION: Before uninstalling your Siebel Handheld application, you must synchronize the Siebel
Handheld application database to save any changes to your data since the last synchronization. If
you do not synchronize before uninstalling, these changes will be lost.
Siebel Medical Handheld Guide Version 8.1/8.2
17 1
Installing the Siebel Handheld Application ■ Installing the Siebel Handheld Application
To uninstall the Siebel Handheld application
1
Synchronize your Siebel Handheld application database. See “Synchronizing Data on Your
Handheld Device” on page 184.
2
Select Start, then Settings.
3
Select the System tab, and tap Remove Programs.
4
From Remove Programs, select the Siebel Handheld application, and tap Remove.
A dialog box appears indicating that a file cannot be deleted. This occurs because a file might
still reside in memory.
5
Ignore the message, and tap OK to delete all the Siebel Handheld application and database files.
Installing the Siebel Handheld
Application
There are two ways to install software onto any Windows-powered handheld device. The first is to
create a partnership between a desktop or laptop PC and the handheld device using Microsoft
ActiveSync. The second is to install the Siebel Handheld application from some type of external
media.
The steps in this procedure apply to both companion synchronization and Direct Server
Synchronization. For more information about Direct Server Synchronization and setting filters, see
Chapter 5, “Data Filtering for Siebel Handheld Applications.”
NOTE: Often, a Direct Server Synchronization user does not have access to a PC for creating a
partnership with her or his handheld device. In such cases, an administrator must create a temporary
partnership with each user's device and install the Siebel Handheld application. You can install it in
Direct Server Synchronization mode with the Siebel Installer as described in this topic.
This task is a step in “Process of Installing, Reinstalling, or Upgrading a Siebel Handheld Application” on
page 171.
To install the Siebel Handheld application
1
Using Microsoft ActiveSync, establish a partnership between the handheld device and the PC.
2
On the PC network or DVD-ROM, locate the folder where the Siebel Handheld Application folder
is installed, then double-click setup.exe.
The installation process begins.
3
Follow the directions that appear on screen to complete the installation.
172
Siebel Medical Handheld Guide Version 8.1/8.2
Installing the Siebel Handheld Application ■ Installing the Siebel Handheld Application
4
After installing the Siebel Handheld application, and before using it, perform an initial
synchronization. If you are using Companion Synchronization to synchronize your data,
synchronize the Siebel Handheld application database with the Siebel Remote database. See
“Synchronizing Data on Your Handheld Device” on page 184.
NOTE: Before using the Siebel Handheld application, you must synchronize the handheld device
to download the Siebel Handheld application configuration and populate the Siebel Handheld
application database. Therefore, an administrator can install the Siebel Handheld application for
a user, but the synchronization must occur while a user is logged in to the Siebel Handheld
application with a valid username and password.
Siebel Medical Handheld Guide Version 8.1/8.2
17 3
Installing the Siebel Handheld Application ■ Installing the Siebel Handheld Application
174
Siebel Medical Handheld Guide Version 8.1/8.2
9
Working with Siebel Handheld
Applications
The purpose of this chapter is to introduce the Siebel Handheld application interface by describing
the components of the interface and how to navigate it, and introducing some useful tasks, such as,
entering data, exporting data, synchronizing data, and printing. The following topics are covered in
this chapter:
■
“Components of the Siebel Handheld Application Interface” on page 175
■
“Navigating the Siebel Handheld Application Interface” on page 177
■
“Navigating a List of Records in the Siebel Handheld Application” on page 178
■
“Entering Data with the Siebel Handheld Application” on page 179
■
“Finding and Querying Data in the Siebel Handheld Application” on page 180
■
“Printing with the Siebel Handheld Application” on page 180
■
“Exporting Data with the Siebel Handheld Application” on page 181
■
“Setting User Preferences in the Siebel Handheld Application” on page 182
■
“Backing Up and Restoring Data with the Siebel Handheld Client” on page 182
■
“Synchronizing Data on Your Handheld Device” on page 184
■
“About Synchronization Options” on page 188
■
“Troubleshooting Synchronization with the Siebel Handheld Application Client” on page 189
■
“Guidelines for Improving Siebel Handheld Application Performance” on page 190
Components of the Siebel Handheld
Application Interface
The components of the Siebel Handheld application interface include the Screens drop-down list,
Show drop-down list, application-level menu, Queries drop-down list, toolbar, and status bar.
Siebel Medical Handheld Guide Version 8.1/8.2
17 5
Working with Siebel Handheld Applications ■ Components of the Siebel Handheld
Application Interface
Figure 6 shows the components of the Siebel Handheld application.
Figure 6.
Siebel Handheld Application Screen Components
Screens Drop-Down List
The Screens drop-down list is the first level of navigation in the Siebel Handheld application. When
you launch the Siebel Handheld application for the first time, this drop-down list is labeled Screens
unless you have configured a start up view to appear. When you tap the Screens drop-down list, a
drop-down list of all available screens appears. Tap the desired screen in the list to navigate to it.
For information about configuring a start up view, see “Setting User Preferences in the Siebel Handheld
Application” on page 182.
Show Drop-Down List
The Show drop-down list is the second level of navigation in the Siebel Handheld application. This is
where you choose views for the selected screen. When you launch the Siebel Handheld application
for the first time, this drop-down list is labeled Views.
Application-Level Menu
The application–level menu consists of the File, Edit, View, and Help menus. Tap a menu to select a
menu option. The options that are available in each menu vary depending on the task you are
performing.
176
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Navigating the Siebel Handheld
Application Interface
Queries Drop-Down List
Up to two predefined queries, or business object filters are displayed in the Queries drop-down list.
The list displays the query chosen when you synchronized (or the default filter if you did not change
the Set Filters selection) and the All Records query, if it is defined. For more information about the
queries drop-down list, see Chapter 5, “Data Filtering for Siebel Handheld Applications.”
Toolbar
The toolbar on the Siebel Handheld application has buttons for frequently used functionality like
record navigation and querying. You can configure your toolbar and specify which buttons are
displayed. For more information about the toolbar on your Siebel Handheld application, see the
Siebel Handheld application online help.
Status Bar
The status bar appears at the bottom of the application window. It provides information about the
current view.
Navigating the Siebel Handheld
Application Interface
Navigating the Siebel Handheld application is achieved through the Screens drop-down list, the Show
drop-down list, drilling down, drilling across, toolbar buttons, and toggling.
Screens Drop-Down List
The Screens drop-down list provides the first level of navigation. Here you select the screen you want
to work with. For more information about the Screens drop-down list, see “Components of the Siebel
Handheld Application Interface” on page 175.
Show Drop-Down List
The Show drop-down list is the second level of navigation. After you have selected a screen from the
Screens drop-down list, select a view from the Show drop-down list. Views in the Show drop-down
list are specific to each screen.
Navigating between Applets
Two or more applets can be displayed at any one time in a Siebel Handheld application. Navigating
between applets depends on whether your application is configured to display in traditional twoapplet mode or tabbed applet mode.
For information about how to navigate between applets in either mode, see the online help for the
Siebel Handheld application.
Siebel Medical Handheld Guide Version 8.1/8.2
17 7
Working with Siebel Handheld Applications ■ Navigating a List of Records in the Siebel
Handheld Application
Expandable Fields
Due to the limited screen size on the handheld device, it is not always easy to view the data in a field
without scrolling or resizing the field width. Therefore, some fields that can contain large amounts
of text are expandable—that is, the data can be viewed in a text box. An ellipsis (...) appears in the
field to indicate that the field is expandable. When you tap the ellipsis, a text box opens showing the
data in that field. When you step off the field, the text box closes.
In form applets, an ellipsis is always visible in those fields that are expandable. However, in list
applets, due to space constraints, the ellipsis is not always visible in expandable fields. When you
tap on an expandable field in a list applet, the ellipsis appears. Once the ellipsis appears, you tap
the ellipsis to open the text box.
URLs in Applet Fields
Tapping on a field that contains a URL value launches the URL in PocketIE.
Navigating a List of Records in the Siebel
Handheld Application
Within the view you select from the Show drop-down list, you can view detailed information on a
record. When records are displayed in a list, you can drill down or drill across the record to get
additional details.
Drilling down occurs when you tap a hyperlink in a record and are taken to another view within the
current screen. For example, if you are in the Accounts screen, and tap the Account Name hyperlink,
you navigate to the details for that account. You do not leave the Accounts screen; you just move
deeper into it.
NOTE: Hyperlinks are indicated by blue underlined text as long as they are set up this way in User
Preferences. For more information about user preferences, see “Setting User Preferences in the Siebel
Handheld Application” on page 182.
Drilling across a record occurs when you tap a hyperlink in a record and are taken to another view
in a different screen. For example, tapping a hyperlink in the Accounts column of a contact record in
the Contacts screen takes you to the record for that account in the Accounts screen.
Dynamic drilldown occurs when you tap a hyperlink in a record and are taken to another screen or
just another view. Where you navigate to depends on the content in the drilldown field.
History Arrows
To navigate back to views you have recently displayed, tap the Back button. After you have used the
Back button, you can use the Forward button to navigate back to your original screen and view.
NOTE: The History arrows allow you to navigate only between views. These arrows do not allow you
to recover data that might have been entered or deleted in another view.
178
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Entering Data with the Siebel Handheld
Application
Record Navigation Buttons
Use the Record Navigation buttons to move back and forth though a set of records. The navigation
buttons are described in Table 32.
Table 32.
Button
Record Navigation Buttons
Description
Navigates back to the previous record in the list or form.
Navigates forward to the next record in the list or form.
Navigates back a view based on the navigation history. You can define which views
are part of the history. If a view is set to not be recorded as part of the history, the
back button will not go back to that view.
Entering Data with the Siebel Handheld
Application
There are several different methods for entering data in the Siebel Handheld application. Tap the up
arrow next to the Input Panel button to select a method. See the user guide for your device for
information on using the different input methods.
Working with Columns in the Siebel Handheld Application Client
Data is displayed in lists and forms in your Siebel Handheld application. You can organize and work
within it in a number of ways to better suit your needs.
There are several ways in which to organize columns in a list. You can:
■
Sort data by up to three columns
■
Resize columns
■
Change the order in which the columns appear
■
Show and hide columns
■
Lock columns for horizontal scrolling
You can sort records in a list by tapping in the column header of the column in which you want to
sort the records. If the green column sort indicator points up, the column is sorted in ascending
order. If it points down, the column is sorted in descending order.
If you need to sort by more than one column, you can sort up to three columns at one time. For
information about how to perform an advanced sort, see the online help for the Siebel Handheld
application.
Resize columns by tapping and dragging the divider between the column headings until the column
is the desired size.
Siebel Medical Handheld Guide Version 8.1/8.2
17 9
Working with Siebel Handheld Applications ■ Finding and Querying Data in the Siebel
Handheld Application
You can also change the order of columns. For information about how to change the order of columns,
see the online help for the Siebel Handheld application.
Show and hide columns using the Columns Displayed dialog box. In the Available columns list, select
the items you want to show and tap the arrow to move the selected items to the Selected columns
list. To hide columns, select the items and tap the arrow to move the selected items to the Available
columns list.
Lock or unlock columns by tapping and holding the column header.
Finding and Querying Data in the Siebel
Handheld Application
You can search for data using the Find or Query functionality in your Siebel Handheld application.
■
“About Find in Siebel Handheld Applications” on page 180
■
“About Queries in Siebel Handheld Applications” on page 180
About Find in Siebel Handheld Applications
You can use the Find feature to do a simple search for a record. For more information about how to
use the Find feature, see the online help for the Siebel Handheld application.
About Queries in Siebel Handheld Applications
Use Query to locate a number of records containing a specific set of criteria. There are a number of
ways in which to perform query tasks in your Siebel Handheld application.
For information about how to perform query tasks, see the online help for the Siebel Handheld
application.
Printing with the Siebel Handheld
Application
You can print from any view in the Siebel Handheld application that has been configured to support
printing. When you print from a handheld device, a document that has been configured for the view
is printed. You can print directly to a printer, or, if you are not connected to a printer at the time, you
can queue your print jobs and wait until you have access to a printer to print your documents.
NOTE: When you print from a view, you are not necessarily printing what is visible on the screen at
the time. Every field on the screen might not be relevant for the document. The document might
contain only a portion of what is in the view, and it might also contain data that is not viewable at
the time. A separate applet, which often cannot be viewed in the user interface, is configured
specifically for printing.
180
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Exporting Data with the Siebel Handheld
Application
The print templates used for generating and formatting print output are installed during setup. For
a list of supported printers, see Siebel System Requirements and Supported Platforms on Oracle
Technology Network.
For more information about printing and print templates, see the following:
■
“Views with Associated Print Templates or Reports” on page 34
■
“Configuring Printing from the Siebel Handheld Application” on page 56
■
“Installing Print Templates in the Siebel Handheld Install Directory” on page 151
■
Appendix D, “Print Tagging Language”
■
Appendix E, “Print Configuration Settings”
For information about how to perform print tasks, see the online help for the Siebel Handheld
application.
Exporting Data with the Siebel Handheld
Application
You can export data from any view in your application in HTML format or as tab delimited text and
save it to a file. This file can be viewed in applications such as Microsoft Pocket Word, Microsoft
Pocket Excel, and Internet Explorer.
For information about how to export data, see the online help for the Siebel Handheld application.
In the Export dialog box, you can specify the following:
■
Format. Specify either HTML or Tab delimited text file.
■
Export. Select Only active applet to export only the data in the active applet. Select All applets
in view to export the data in all visible applets.
■
Output file name. By default, the file is saved in the temp directory with the filename “output.”
You can tap Browse to specify a different location or filename.
■
Paste Output to Clipboard. Select the check box to save the data to the clipboard.
■
Open file. Select the check box to automatically open the file. When you tap OK in the Export
dialog box, the data is exported to the specified file, and the file is automatically opened.
NOTE: You must specify a valid output format for the application. See Table 33 for the correct
formats to specify for the supported applications.
Table 33.
Export Data Options
To export data to
Do the following
Microsoft Word
Set the Format option to Tab delimited text file.
Siebel Medical Handheld Guide Version 8.1/8.2
18 1
Working with Siebel Handheld Applications ■ Setting User Preferences in the Siebel
Handheld Application
Table 33.
Export Data Options
To export data to
Do the following
Microsoft Excel
Select the And paste output to clipboard check box. Set the
Output format to either HTML or Tab delimited text file. Paste
the data from the clipboard into an Excel spreadsheet.
Microsoft Internet Explorer
Set the Format option to HTML.
Setting User Preferences in the Siebel
Handheld Application
You can set preferences that are related to the appearance and functionality of your Siebel Handheld
application. You can do the following:
■
Set a default startup screen.
■
Set the maximum number of history threads to save.
■
Set the maximum percentage of the display area that the parent applet can take up.
■
Change font size.
NOTE: After Siebel 7.5.x, the default font size of record text in applets was increased by 1 point
to facilitate user interaction with the handheld device.
■
Set the grid lines.
■
Set preferences for the calendar, for example, default view, start time, time slot interval, and
default appointment duration.
For information about how to set the user preferences, see the online help for the Siebel Handheld
application.
User preferences are stored within the following files (located on the handheld device in My Device,
Program Files, Siebel Handheld directory), which you can distribute to all Siebel Handheld users to
preserve a consistent look and feel for your Siebel Handheld application installation:
■
Siebel.spf stores all user preferences (list appearance, behavior, and calendar preferences).
■
Siebel.ssf stores all layout specifications (column visibility, and column width).
Backing Up and Restoring Data with the
Siebel Handheld Client
It is recommended that you back up your data to an external device—for example, a CompactFlash
card or a Secure ID card. If the handheld device is damaged, the backup might not be retrievable.
If you store your backups in RAM, depending on the size of your application and data extract, you
can decrease the amount of memory available for the application, and your application performance
can suffer.
182
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Backing Up and Restoring Data with the
Siebel Handheld Client
Automatic Backup after Synchronization
The automatic backup feature must be enabled in the application by your System Administrator. If
the backup feature is enabled, a backup is automatically created at the end of every synchronization.
This way, you have an up-to-date snapshot of the database.
CAUTION: You must never synchronize your data to the handheld device and then restore the
database using an older copy of the database. If you do, the next time you synchronize, the
application tries to rewrite changed transactions. This can cause data integrity problems. Therefore,
when the database backup feature is enabled, a database backup occurs automatically at the end of
each synchronization.
Keep in mind that enabling automatic backup makes the overall time to synchronize somewhat
longer. The size of the database and the speed of the CompactFlash card also affect the time it takes
to complete synchronization.
For more information about automatic backup, see “Enabling Back Up of Siebel Handheld Application
Database” on page 150.
Backing Up Data
You can back up the data in your Siebel Handheld application. The Siebel Handheld application
configuration files and data are copied to the backup location specified in the setup.ini file. Typically,
the backup location is a CF or SD card. For example:
BackupLocation = \CF Card\Siebel Backup
OR,
BackupLocation = \Storage Card\Siebel Backup
For more information about database backup, see “Enabling Siebel Handheld Application Database
Backup” on page 150. For more information about how to back up data, see the online help for the
Siebel Handheld application.
Restoring Data from a Backup
In order to restore the application to its previous state, the user must contact the system
administrator. Any work performed on the handheld device since the last backup will be lost.
To restore the database
1
Remove the external flash card from the damaged device and place it in a new handheld device
where the application has been installed.
2
Navigate to the \Program Files\Siebel Handheld folder.
3
Start the restore by tapping the BackupUtility file twice.
A dialog box appears, asking you to confirm that you want to restore the device from a previous
backup.
Siebel Medical Handheld Guide Version 8.1/8.2
18 3
Working with Siebel Handheld Applications ■ Synchronizing Data on Your Handheld
Device
4
Tap Yes.
A status dialog box appears, indicating that the restore is in progress. The backup utility restores
the files to the state when the backup was performed. A dialog box appears telling you if the
restore was successful. If successful, it asks you to confirm that you want to restart the Siebel
Handheld application.
5
Tap Yes to start using the application.
Synchronizing Data on Your Handheld
Device
The tasks covered in this topic are part of the “Process of Installing, Reinstalling, or Upgrading a Siebel
Handheld Application” on page 171.
You must synchronize the data on your handheld device:
■
After you install or upgrade the Siebel Handheld application.
■
Before uninstalling the Siebel Handheld application.
■
On a regular basis to keep your data synchronized with Siebel Server and Siebel Mobile Web
Client.
The topics that follow describe how to synchronize using Companion Synchronization (CS), Direct
Server Synchronization (DSS) and Direct Server Synchronization via Proxy (DSSvP), and provide
some troubleshooting tips:
■
“Using Synchronization with the Siebel Handheld Application Client” on page 184
■
“Using Companion Synchronization with the Siebel Handheld Client” on page 185
■
“Using Direct Server Synchronization with the Siebel Handheld Application Client” on page 187
Using Synchronization with the Siebel Handheld
Application Client
Synchronization in the Siebel Handheld application differs depending on whether users synchronize
through Companion Synchronization, Direct Server Synchronization or Direct Server Synchronization
via Proxy. The following topics show you how to launch and use synchronization in your Siebel
Handheld application for each method.
NOTE: A given user can only synchronize using one method. For example, it is not possible to install
a Siebel Handheld application that a particular user will synchronize both to the Siebel Mobile Web
Client database through Companion Synchronization and also to the Siebel Server database directly
through Direct Server Synchronization.
184
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Synchronizing Data on Your Handheld
Device
Using Companion Synchronization with the Siebel
Handheld Client
If you are using Companion Synchronization, you must follow a three-step process to synchronize
you Handheld application, remote, and server databases. Immediately before and after every Siebel
Remote synchronization, you must perform a Companion Synchronization. This process can be time
consuming for the user and difficult for the administrator to enforce.
Integrated Synchronization eliminates the need for you to initiate three separate synchronization
sessions for each Siebel Remote synchronization.
Before using Integrated Synchronization, you must specify or add the parameter RemoteCfgName in
the [pda] section of medicalce.cfg for the CFG file that will be used to invoke Siebel Remote
synchronization. For example, RemoteCfgName=emedical.cfg. If you do not specify this parameter
it will default to siebel.cfg. This parameter is used by Siebel Handheld application synchronization to
invoke Siebel Remote. It applies only when synchronizing using the Integrated Synchronization
option.
Integrated Synchronization automatically initiates each of the following synchronization steps:
1
Handheld Upload and Processing - Handheld application transactions are uploaded to the
companion PC and processed.
2
Siebel Remote Synchronization - The Siebel Mobile Client is synchronized with the Siebel Server.
Transactions on the Mobile Client database are uploaded to the Siebel Server, and changes to
the Siebel Server are downloaded to the Mobile Client database.
CAUTION: If there is a Handheld application patch staged on the server, synchronization
terminates and the patch is installed. After the patch installation is completed, you are prompted
to synchronize again (using either Integrated Synchronization or Companion Synchronization) to
complete the data extraction and download (that is, move to Step 3). It is critical that you
synchronize a second time after the patch installation is completed. If you fail to do so, you will
not be able to start the Siebel Handheld application.
3
Handheld Data Extract and Download - Data is extracted from the Mobile Client database to the
handheld device database.
You can use Companion Synchronization to synchronize your Handheld application with Siebel Mobile
Client as many times as you wish between Integrated Synchronization sessions. However, it is
recommended that you conduct Integrated Synchronization sessions frequently so that the Siebel
Remote synchronization process does not take long periods of time to complete and update conflicts
are minimized.
To perform Companion Synchronization from the PC
1
From the companion PC, establish a Microsoft ActiveSync connection to the handheld device.
2
From the companion PC, choose Start, Programs, then Siebel Handheld Sync.
The Siebel Handheld Synchronization dialog box appears.
a
Enter your name and password.
Siebel Medical Handheld Guide Version 8.1/8.2
18 5
Working with Siebel Handheld Applications ■ Synchronizing Data on Your Handheld
Device
b
Select the Perform Remote Sync check box to perform an Integrated Synchronization.
If you want to perform a Companion Synchronization only, then unselect the Perform Remote
Sync check box.
Selected Bypass Set Filters skips the step of selecting the filters and immediately starts the
synchronization process. If you select Bypass Set Filters, then the filters that you selected
the last time you synchronized are used. If this is the first time you are synchronize, then
the default filters are used.
3
Tap Start.
NOTE: Tap Default Filters to restore the filter selection to the default setting.
4
5
Tap OK and tap Start to begin synchronization.
a
The Siebel Handheld Sync dialog box appears. If “Perform Remote Sync” was selected, this is
followed by the Siebel Remote dialog box. When synchronization has successfully completed, the
Finished dialog box appears.
b
If a Handheld application patch needs to be installed, the synchronization process is interrupted
and the patch is installed. After the patch is installed, you must restart Siebel Handheld
application synchronization to complete the data extract process. If you fail to do so, you cannot
start your application.
c
The Finished dialog box appears indicating that the synchronization has successfully completed.
Tap OK to exit Siebel Handheld Sync.
NOTE: If synchronization errors occur, an error dialog box appears.
You can also perform a companion synchronization by running hhsync.exe from the command line.
This executable runs in silent mode without user input, It allows customers to launch Handheld Sync
without entering a user name and password. This can be done by including the hhsync.exe in a batch
file.
To perform Companion Synchronization from the command line
1
From the companion PC, establish a Microsoft ActiveSync connection to the handheld device.
2
Choose Start, Programs, Accessories, then Command Prompt
3
Enter the following command:
Run hhsync.exe /u sporter /p sporter /errlog d:\txn.log /remote Y /remote_mode F
where:
/u =<User name> (Required)
/p = <Password>
/errlog = <Transaction error file path/name>
/remote = <Perform remote sync. Accepted values: Y or N>
/remote_mode = <Remote sync mode. Accepted values: F or U. F: Full Sync and U: Upload Only.
186
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Synchronizing Data on Your Handheld
Device
Companion Synchronization can also be performed in the method described for Direct Server
Synchronization via Proxy in “Using Direct Server Synchronization with the Siebel Handheld Application
Client” on page 187.
To perform Companion Synchronization from the handheld device
1
Start the synchronization process from the application-level menu.
For information about how to start synchronization from the application-level menu, see the
online help for the Siebel Handheld application.
2
In the Sync window, select the Enable Remote Sync check box. It is disabled by default.
For information on changing the parameter value for EnableRemote in the setup.ini file, see
“Siebel Handheld Application setup.ini Parameters” on page 146.
3
See the steps for synchronizing using DSSvP in the procedure “To synchronize with the Siebel
Handheld Application Server” on page 187.
Using Direct Server Synchronization with the Siebel
Handheld Application Client
There are two methods for synchronizing between the handheld device and the Siebel Handheld
Application Server:
■
Direct Server Synchronization (DSS) provides synchronization between the Siebel Handheld
application and the Siebel Handheld Application Server.
■
Direct Server Synchronization via Proxy (DSSvP) provides synchronization between the Siebel
Handheld application and the Siebel Handheld Application Server, using the desktop or
companion PC to provide the network connection between the handheld device and the server.
To synchronize with the Siebel Handheld Application Server
1
If you are synchronizing using DSS, create a direct network connection through a modem or a
direct LAN connection.
If you are synchronizing using DSSvP, establish an ActiveSync connection between the handheld
device and the PC.
2
Start the synchronization process from the application-level menu.
For information about how to start synchronization from the application-level menu, see the
online help for the Siebel Handheld application.
3
Enter your user name and password.
4
Tap Start.
The Siebel Handheld Sync dialog box appears.
Siebel Medical Handheld Guide Version 8.1/8.2
18 7
Working with Siebel Handheld Applications ■ About Synchronization Options
5
Tap OK to exit Siebel Handheld Sync dialog, and the application launches automatically. If
synchronization errors occur, an error dialog box appears.
NOTE: DSS works if the version of the Siebel Handheld application on your handheld device is
slightly different to the version installed on your server. However, it is recommended that
versions of the Siebel Handheld application on your device be the same or as close as possible
to the Siebel Handheld application version on the server.
About Synchronization Options
From the Siebel Handheld Sync dialog, the following items are contained in the Options menu:
■
Filters: If this is the first time you synchronize, then the default filters are used. Enables you to
choose the screens that you want to filter. Choose the filter for each screen that you select. You
can choose only one filter for each screen.
■
Change User: This option enables a new user to use the handheld device when the original user
no longer needs the device. The Siebel Handheld application does not need to be re-installed
when a new user wants to access the application from the handheld device.
NOTE: If there are pending transactions for the current user, you have to synchronize them first
before you can change to a different user name.
■
Save Password: If you want to save your password so that you do not need to enter it each
time you access the Siebel Handheld Sync dialog, select the Save Password check box.
When you select Save Password, the password is encrypted and saved on your hard drive. Once
the password is saved, when you start the application you do not see the Siebel Handheld Sync
login dialog. The encrypted password must be deleted in order for you to be able to access the
login dialog box. To remove the encrypted password, delete "Password=<encrypted text>" under
the [Parameters] section of the pimsync.cfg file.
Save password check box is enabled only if the Allow Save Password application setting is set to
TRUE on the server. That is done using the Administration - Mobile screen on the server. Once
the password is saved on the device, you are not prompted for the password when the Siebel
Handheld application is launched. Similarly, when you invoke the Siebel Handheld Sync login
dialog, the password and user name is pre-populated if password is already saved on the device.
Remote Sync option is only enabled for Companion Synchronization users. Remote Sync allows
for integrated synchronization which defines an end to end sync session. Data is uploaded from
the device to the desktop and then to the server in the same session. The download of data also
happens from the server to the desktop and then to the device.
The Remote Sync option only specifies the mode of remote synchronization that you want to
perform. You can select to upload transactions or do a full remote session, which also involves
downloading the latest data from the server.
You can select from the following options:
■
Upload Only: Upload transactions from the companion PC to the server.
■
Upload and Download: By default Upload and Download is selected. This defines what
happens when remote synchronization is invoked.
188
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Troubleshooting Synchronization with the
Siebel Handheld Application Client
Troubleshooting Synchronization with
the Siebel Handheld Application Client
This topic lists potential error messages that are associated with synchronization. In addition, this
topic helps to understand transaction errors.
General Synchronization Errors
There are a number of different errors that can occur when synchronization does not complete
successfully, for example:
■
Faulty wire connection
■
Server crash
■
Insufficient memory
■
Login error
■
Where Microsoft (MS) Embedded Visual Basis (EVB) is installed for PPC 2003 on a handheld
device, MS EVB replaces any existing MS DLLS in the \Windows directory, resulting in the
following error upon (second and subsequent) handheld synchronizations:
The version of resource DLL MSDAEREN.DLL is not valid.
To fix this problem, copy msdadc.dll, msdaer.dll, and msdaeren.dll from \Program Files\Siebel
Handheld directory to the \Windows directory.
When these errors occur, the user must exit Siebel Handheld application synchronization and launch
the application again.
NOTE: When you restart Siebel Handheld application synchronization, you might see an error
message indicating that another instance of syncmanager.exe is running. You are asked whether you
want to terminate the first instance or not, and you must choose Yes.
Transaction Conflicts
Transaction conflicts are minimized when customers adhere to the standard configuration practices
outlined in this document. However, even when proper configuration practices are followed, conflicts
can occur for a variety of reasons. For example, if a field value is updated on both the Siebel
Handheld Application Client and the Siebel Server between synchronization events, a transaction
update conflict occurs. In this instance, the user is presented with an error dialog after
synchronization has completed.
A transaction consists of one or more smaller transactions called mini-transactions. For example, if
you update several fields in a record, the update to the record counts as a single transaction, and
each update to a field is a mini-transaction. Individual fields are skipped when update conflicts occur.
Changes to any field that has been updated on the server since the last synchronization (perhaps by
another Siebel Handheld application user) are discarded (but logged and returned as errors to the
user). All non-conflicting fields normally are updated. Except for field-level conflicts, which are
skipped when they occur, a transaction is applied in its entirety, and at this point will either succeed
or fail in its entirety.
Siebel Medical Handheld Guide Version 8.1/8.2
18 9
Working with Siebel Handheld Applications ■ Guidelines for Improving Siebel Handheld
Application Performance
Guidelines for Improving Siebel
Handheld Application Performance
If you find that the performance of the Siebel Handheld application is very slow or begins to degrade,
the following can help to improve the application performance:
■
Verify that you are using a Siebel supported device for your application. See Siebel System
Requirements and Supported Platforms on Oracle Technology Network.
■
Maximize the amount of memory that is available to run the Siebel Handheld application. When
you run the Siebel Handheld application, it is recommended that you do not run any other
applications.
■
Increase the amount of memory that is allocated for running applications.
■
Install the binaries to a CompactFlash card. For more information about this task, see “Setting
Up Siebel Handheld Application Installation on a CompactFlash Card” on page 152.
To increase application memory
1
From the Start menu, select Settings.
2
Select the System tab and tap Memory.
3
Move the slider bar so that more memory is allocated to Program Memory, then tap OK.
The following topics contain guidelines to help reduce the Repository Meta Language (RML) file size,
database file (dbfile) size, and synchronization time.
Guidelines for Reducing the Synchronization Time
The process of reducing the sync time and improving performance for the Siebel Handheld
application depends on your ability to:
■
Reduce the amount of data that is downloaded
■
Reduce the period of time it takes to extract the data
■
Reduce the size of the .RML file
Follow these guidelines:
■
Keep the Siebel Handheld application database file under 3 megabytes (MB).
■
Keep the RML file under 1.5 MB.
■
Limit the amount of views in the application to 30.
Limit the size of the dbfile.txt file to less than 3 megabytes (MB). The RDBMS on the handheld device
will be approximately three times the size of dbfile.txt. If the data files are so large that they cannot
be imported into the database with the available memory, users will not be able to successfully
synchronize their data. Design data filters to limit the amount of data that is synchronized with the
handheld device.
If too many records are downloaded, this increases the length of time it takes to synchronize the
handheld device and slows down the Siebel Handheld application performance.
190
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Guidelines for Improving Siebel Handheld
Application Performance
For more information about checking to see how much data is downloaded to your handheld device,
see “Monitoring Synchronization Sessions for Siebel Handheld Applications” on page 110.
NOTE: You can also check the Siebel Server log file to see how many records are downloaded for
each business component. However, you must turn on logging to capture this information in the log
file. For more information about enabling logging for Direct Server Synchronization, see “Configuring
Logging Levels for Direct Server Synchronization” on page 141. For more information about enabling
logging for Companion Synchronization, see “Configuring Logging Levels for Companion
Synchronization” on page 142.
Guidelines for Designing Data Filters
Oracle suggests the following general steps for developing synchronization filters for the Siebel
Handheld application:
■
Ensure you have configured the Business Object filters, in addition to the Business Component
filters. Failure to optimize or set Business Object filters will lead to more data being downloaded,
which negatively affects the overall synchronization time. Therefore, set the Business Object
filters for your Siebel Handheld application deployment.
■
Identify the screens and views of your Siebel Handheld application. Also, identify the business
components that are required to support each screen and view, noting the areas where each
business component occurs. For example, identify the form, list, or pick applets that are based
on each business component.
■
Set expectations as what data and how many records will be shown to a user for each view (Low,
Avg, High). For Child records, make sure you specify a number based on the parent record.
■
List the expected record counts for the picklist and pick applets.
■
Prioritize the value of the data that is downloaded.
■
Within Siebel Tools, establish the base parent-child relationships and any reverse relationships
at the component level.
■
Create the appropriate business object synchronization filters for each business object or screen
and make sure that each screen includes a default filter. Default filters help to ensure that users
avoid accidentally downloading an excessive number of records.
■
Review the business components that occur in picklists and consider creating default
synchronization filter declarations for those that will cause large numbers of records to
synchronize to the handheld device. These declarations are maintained in the PDAQBE file.
■
Pay attention to the business components containing enterprise visible data and create suitable
filters for:
■
■
Employees (for large organizations)
■
Positions (for large organizations)
■
Products (for example, active, orderable products)
■
Activities (for example, filter for current Activities, Activities of only certain kinds)
Ensure that the filter queries are based on the indexed fields, and that they are optimized to
download only the required data to the handheld device.
Siebel Medical Handheld Guide Version 8.1/8.2
19 1
Working with Siebel Handheld Applications ■ Guidelines for Improving Siebel Handheld
Application Performance
■
Translate all parent business component filters to the default business component filters to boost
performance significantly.
NOTE: Configuration file directives are used only in specific situations and do not consider them as
the primary method for filtering data. Modify these filters and directives cautiously and only with the
support of skilled Siebel configurators.
For more information about how to design data filters to limit the amount of data that is synchronized
to the handheld device, see Chapter 5, “Data Filtering for Siebel Handheld Applications”.
Guidelines for Reducing Synchronization Time
To reduce the synchronization time, filter the amount of data downloaded to the
business objects first. Specifically, set the data filters in this order:
1
Business Object filters. This setting restricts data to the necessary parent records.
2
Business Component filters. This setting extracts the relevant child records from only those
parent records that made it through the Business Object filters.
Guidelines for Reducing the Time of Data Extraction
Your Siebel Handheld application generates different types of log and output files. Review the
generated log file to identify:
■
Which business object, business component, views, applets, and picklists are being extracted
and in what order?
■
How many records are being extracted?
■
How long it takes for each record to be extracted?
Based on the information in the log file you need to identify trouble spots, which might be caused by
bad filter query, no indexes, or too much data. For more information about how to address some of
these issues, see “Siebel Handheld Application Performance” on page 254.
You can also eliminate pick applets and set run-time property=False for read only fields to avoid the
unnecessary extraction for data.
Review the data and evaluate if the same data is being extracted twice under two business
components with different names. If this situation is the case, change the configuration to rectify
this. Additional configuration information can be found Bulletin 476964.1 on My Oracle Support. This
document was previously published as Siebel Technical Note 405.
Guidelines for Reducing the Size of the RML File
The Siebel Handheld application performs best if you use the following guidelines:
■
Keep the number of views in your application to 30 or fewer.
■
For optimal usability, limit each view to one or two applets.
192
Siebel Medical Handheld Guide Version 8.1/8.2
Working with Siebel Handheld Applications ■ Guidelines for Improving Siebel Handheld
Application Performance
■
To minimize horizontal scrolling, limit the number of columns displayed in a list applet to no more
than ten.
■
There is no limit on the number of fields in form applets of single-applet views. However, to
minimize scrolling, keep the number of fields to 20 or fewer.
■
Use a form applet for the parent for each parent-child view.
■
In a multi-applet view, limit the number of fields in form applets to five or fewer for Pocket PC
and 10 or fewer for Handheld PC. Add additional fields only if the field width is short, for example,
a check box field. Reduce the number of fields if the fields are multiline. for example, a
Comments box that contains three lines of text.
■
Limit the number of views within a screen to 12 or fewer so that the View drop-down list is not
too long and unwieldy.
■
Limit the number of screens to six or fewer so that the Screen drop-down list is not too long and
unwieldy.
NOTE: You can control the RML file size by making changes to the CFG file used during Companion
Sync. For more information, see “Using Companion Synchronization with the Siebel Handheld Client”
on page 185.
The areas that affect the RML file size are:
■
DefaultViewxxx. The greater the number of views, the larger the RML file size, which results
in an increase in sync time.
■
DefaultBusObjs. An increase in the number of business objects and business component results
in a larger RML size and dbfile size.
■
DefaultFields. An increase in the amount of fields also results in larger RML size and dbfile size.
Guidelines for Improving the Configuration of the Siebel Handheld
Application
Use the following guidelines when reviewing your Siebel Handheld application:
■
Multi-value fields with links to search specifications have a negative impact on extraction time.
■
For custom or heavily configured business components, it might be beneficial in some cases to
clone the business component for the Siebel Handheld application to reduce the number of joins,
links, and fields that are needed.
■
Force Active and Link Spec properties force a field to be extracted to the Siebel Handheld
application. If possible, avoid using these properties for fields that do not need to be downloaded
to the handheld device.
■
Siebel Handheld applications rely on specialized classes and user properties. These might require
some Out-Of-Box (OOB) fields to be present when configuring the Siebel Handheld application.
During development, ensure to keep the logging levels at the maximum level and review the log
files for any missing fields.
■
Avoid over-customization because it usually causes performance degradation and problems
during an upgrade.
For more information, see “Configuration Guidelines for the Siebel Handheld Client” on page 28.
Siebel Medical Handheld Guide Version 8.1/8.2
19 3
Working with Siebel Handheld Applications ■ Guidelines for Improving Siebel Handheld
Application Performance
194
Siebel Medical Handheld Guide Version 8.1/8.2
10 Using Siebel Medical Handheld
This chapter describes how to use some important features in your Siebel Medical Handheld
application. The following topics are covered in this chapter:
■
“About Using Siebel Medical Handheld” on page 195
■
“Managing Accounts in Siebel Medical Handheld” on page 196
■
“Working with Contacts in Siebel Medical Handheld” on page 203
■
“Working with Sales Methods in Siebel Medical Handheld” on page 207
■
“Developing Opportunities in Siebel Medical Handheld” on page 207
■
“Managing Activities in Siebel Medical Handheld” on page 211
■
“Developing Quotes in Siebel Medical Handheld” on page 215
■
“Managing Orders in Siebel Medical Handheld” on page 219
■
“Tracking Expenses in Siebel Medical Handheld” on page 222
■
“Creating General Activities in Siebel Medical Handheld” on page 223
■
“Managing MedEd Events in Siebel Medical Handheld” on page 225
■
“Managing Consigned Inventory with Siebel Medical Handheld” on page 227
■
“About Barcode Scanning in Siebel Medical Handheld” on page 227
■
“Managing and Performing Cycle Counts with Siebel Medical Handheld” on page 229
■
“Moving Inventory with Siebel Medical Handheld” on page 235
■
“Analyzing Inventory with Siebel Medical Handheld” on page 240
About Using Siebel Medical Handheld
Siebel Medical Handheld provides medical field representatives with tools and information to
effectively execute sales related tasks at point of contact. Given the fragmented and highly
diversified nature of the medical device industry, the main point of contact for an account can be
either a sales representative or service representative. Siebel Medical Handheld is designed to allow
sales and service professionals to have one view of the customer enabling key tasks such as
managing information on contacts and accounts, tracking opportunities, performing cycle counts,
and tracking consigned inventory.
This chapter is designed to show you how to use Siebel Medical Handheld. Business scenarios
accompany each major topic and illustrate key tasks you can perform using Siebel Medical Handheld.
Your company might follow a different sequence according to its business requirements.
Siebel Medical Handheld Guide Version 8.1/8.2
19 5
Using Siebel Medical Handheld ■ Managing Accounts in Siebel Medical Handheld
Using Siebel Medical Handheld, field sales representatives and field service engineers can manage
accounts and contacts, manage activities associated with these accounts and contacts, view medical
education events and invite contacts to these events, track opportunities, generate orders and
quotes, view products, and manage consignment inventory.
Managing Accounts in Siebel Medical
Handheld
Siebel Medical Handheld allows you to manage and track information on accounts. An account is any
healthcare business that generates sales for your company or potentially could generate business.
Typical examples of accounts include hospitals, clinics, HMOs, wholesalers, group purchasing
organizations (GPOs), and pharmacies. An account can also be any organization with which multiple
contacts are associated, such as a group practice or an assisted-living facility.
Scenario for Managing Accounts in Siebel Medical Handheld
This scenario gives one example of how you can use Siebel Medical Handheld to manage accounts.
You might use Siebel Medical Handheld differently, depending on your business model.
A radiologist in a hospital is interested in a company’s new MRI machine. The sales representative
sets up a time for a sales call later in the week.
During the sales call, the sales representative asks a number of questions to determine the account
structure of the radiologist’s business to help the representative determine how to best fill their
needs. The sales representative learns that the prospect’s business has a total of four locations, and
that sales and service are billed through the main office, although each location receives a billing
statement.
After the sales representative meets with the radiologist, they use Siebel Medical Handheld to edit
information on the account.
The following tasks are related to accounts and account management:
■
“Creating Accounts in Siebel Medical Handheld” on page 197
■
“Affiliating Contacts with Accounts in Siebel Medical Handheld” on page 199
■
“Specifying the Best Time to Call on an Account in Siebel Medical Handheld” on page 199
■
“Viewing Sales Data in Siebel Medical Handheld” on page 200
■
“Logging and Tracking Service Requests in Siebel Medical Handheld” on page 200
■
“Entering Private Notes for Accounts in Siebel Medical Handheld” on page 201
■
“Entering Shared Notes for Accounts in Siebel Medical Handheld” on page 202
■
“Associating Activities with Accounts in Siebel Medical Handheld” on page 202
■
“Tracking Opportunities with Accounts in Siebel Medical Handheld” on page 203
196
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing Accounts in Siebel Medical Handheld
Creating Accounts in Siebel Medical Handheld
When you identify a possible lead, the lead can be added as an account. You can then begin to add
and track information about the account.
Multiple employees can be assigned, as a team, to an account. Any employee assigned to the team
can update the account's information. A user who adds an account is automatically designated as
the primary account team member. However, the user can also be added to an account team created
by another user, such as a manager.
To create an account
1
Navigate to the Accounts screen.
The My Accounts list appears.
2
Tap the New Record button.
3
In the Name field tap the ellipsis (...), then enter a name for the account, then select More Info.
4
In the More Info view, complete the necessary fields.
Some fields are explained in the following table:
Field
Comments
Name
Required. Name of the account.
Account Type
Required. Name of the account. For example, Hospital, Pharmacy,
Practice, Clinic, and so on).
Site
Physical location of the account.
Status
Customer designated status of the account. (For example, active,
suspended, inactive, new and so on).
Main Phone #
Phone number for the account.
To add account addresses
1
Navigate to the Accounts screen.
2
In the My Accounts list, select the account record.
3
From the Show drop-down list, choose Addresses.
4
In the Account Addresses view, tap to select the Addresses list, and then tap the New Record
button.
Siebel Medical Handheld Guide Version 8.1/8.2
19 7
Using Siebel Medical Handheld ■ Managing Accounts in Siebel Medical Handheld
5
Complete the fields for the address, and tap the Primary field to display a check mark if this is
the primary address for the account.
Some fields are explained in the following table:
Field
Comments
Primary
Check flag defining whether address is the primary address for the
account.
Address Line 1
Required. Typically, street address, floor or suite.
City
A required field.
State
Required. In two letter format. For example, CA, NY, and so on.
To add additional account information
1
Navigate to the Accounts screen.
2
In the My Accounts list, select the desired account.
3
From the Show drop-down list, select More Info.
4
Complete the fields to add additional information.
Some fields in the More Info form are described in the following table:
198
Field
Comments
Site
Physical location of the account.
Route
The route number as decided by your company. This is a predefined list
of values, set up by your administrator. Values appear as a drop-down
list.
Account Type
A predefined list of values. For example, Planning Group.
Mkt Potential
You may designate this field to indicate its potential for sales. A
predefined list of values includes High, Medium, and Low.
Account Team
Displays the primary sales representative for the sales team assigned
to the account.
Status
You designate the current status of an account with this field. For
example, Suspended, Qualified, or Active.
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing Accounts in Siebel Medical Handheld
Affiliating Contacts with Accounts in Siebel Medical
Handheld
A contact is a doctor, surgeon, hospital administrator, nurse, or someone else associated with a
hospital, clinic, and so on. Accounts can be, for instance, hospitals, pharmacies, HMOs, clinics, or
group practices. As you continue to work closely with a prospective account, professional contacts
associated with the account become important. Contacts can belong to multiple accounts, but only
one of them can be the primary account.
To affiliate a contact with an account
1
Navigate to the Accounts screen.
The My Accounts list appears.
2
In the My Accounts list, select the account to which the contact will be added.
3
From the Show drop-down list, select Affiliations.
4
Tap the Affiliations list to select it, then tap the New Record button.
5
Tap in the Last Name field of the new record.
The Pick Contact picklist appears.
6
Choose a contact, and tap OK.
7
In the Affiliations list, tap the Direct field to make it active, then check the box to indicate
whether the contact is a direct affiliation.
Specifying the Best Time to Call on an Account in Siebel
Medical Handheld
You enter Best Times to Call an account in the Accounts screen. Using the Best Times to Call view,
you can enter the best times to call an account based on a selected address.
To specify the best time to call on an account
1
Navigate to the Accounts screen and select an account from the My Accounts list.
2
From the Show drop-down list, choose Best Times to Call.
3
Tap the Best Times to Call list, then tap the New Record button.
Siebel Medical Handheld Guide Version 8.1/8.2
19 9
Using Siebel Medical Handheld ■ Managing Accounts in Siebel Medical Handheld
4
Enter the necessary data.
The fields in the Best Times to Call list are described in the following table:
Field
Comments
Start Day
A required field. Tap in this field, then choose desired day
from a drop-down list.
Start Time
A required field. Tap in this field, then choose the desired
time from a pop-up window.
End Time
A required field. Tap in this field, then choose the desired
time from a pop-up window.
Comments
Tap the ellipsis (...) then enter any comments.
Viewing Sales Data in Siebel Medical Handheld
Sales data can be analyzed to measure market potential, target customers, align sales territories,
and track market shifts. Sales data is typically syndicated information that is loaded periodically by
the Siebel administrator.
You can review this information using the Sales Data view.
To view sales data
1
Navigate to the Accounts screen, and select an account from the Accounts list.
2
From the Show drop-down list, select Sales Data.
3
Review the data in the list on a product-by-product basis.
Logging and Tracking Service Requests in Siebel
Medical Handheld
You log new service requests and track the status of service requests for each account on the
Accounts screen.
To enter a new service request
1
Navigate to the Accounts screen and select an account from the My Accounts list.
2
From the Show drop-down list, choose Service Requests.
3
Tap the Service Requests list, then tap Log New SR.
The Service Request detail view appears.
200
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing Accounts in Siebel Medical Handheld
4
Choose the severity of the service request from the Severity drop-down list, then fill in the
remaining fields.
Some fields are described in the following table:
Field
Comments
SR #
System generated value.
Summary
Tap the ellipsis (...) to enter a summary of the service request.
Status
Chose from a list of values.
Sub-Status
Chose from a list of values.
Priority
Choose a value from 1 to 4, with 1 representing the highest priority.
Area
Choose a service request area, such as Emergency Repair or
Complaint.
Sub-Area
Choose a service request sub-area, such as Product Information or
Finance Complaint.
Asset #
Enter asset, serial, or product ID number.
Symptom
Pick a symptom code, such as New Part Defective or OS Problem.
Resolution
Choose the appropriate resolution, such as Upgrade Part or
Documentation Error.
Rate List
List of current rates for service items.
Price List
List of current prices.
Cust Descript
Tap the ellipsis (...) to enter a customer description of the service
request.
Entering Private Notes for Accounts in Siebel Medical
Handheld
You enter Private Notes from the Accounts screen. Private Notes are those which can only be seen
by you.
To enter private notes
1
Navigate to the Accounts screen and select an account from the My Accounts list.
2
From the Show drop-down list, choose Private Notes.
3
Tap the Private Notes view, then tap the New Record button.
The Date Created field is automatically populated.
4
Tap the ellipsis (...) and enter the text for your note, then tap out of the field to close the note.
Siebel Medical Handheld Guide Version 8.1/8.2
20 1
Using Siebel Medical Handheld ■ Managing Accounts in Siebel Medical Handheld
Entering Shared Notes for Accounts in Siebel Medical
Handheld
You enter notes to be shared across your team from the Accounts screen. Shared notes are shared
with all employees that are part of a given account.
To create shared notes
1
Navigate to the Accounts screen and select an account from the My Accounts list.
2
From the Show drop-down list, choose Shared Notes.
3
Tap the Shared Notes view, and then tap the New Record button.
The Date Created field, and the Created By field are automatically populated.
4
Tap the ellipsis (...), enter the text for your note, and then tap out of the field to close the note.
Associating Activities with Accounts in Siebel Medical
Handheld
An activity is a task or event that is generally, but not always, performed for a contact, account, or
opportunity. You will likely have many meetings, calls, presentations, and other activities
surrounding an account.
Activities provide a place to enter and track this information. If the activity entered has a time
associated with it, it will appear on the Activities and Calendar screens.
To associate activities with accounts
1
Navigate to the Accounts screen.
2
In the My Accounts list, select the account with which the activity will be associated.
3
From the Show drop-down list, select Activities.
4
In the Account Activities view, tap the Activities list to select it, and then tap the New Record
button.
5
In the new row, complete the necessary fields.
The Type field defaults to Other. The fields are described in the following table:
202
Field
Comments
Type
A required field. From the drop-down list, choose an activity type, such as
Call or Maintenance.
Description
Enter a description of the activity, such as Hospital Visit or Quarterly
Maintenance.
Status
Enter the status of the activity, such as In Progress or Unscheduled.
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Working with Contacts in Siebel Medical Handheld
Field
Comments
Priority
Enter a value from 1 to 4, with 1 representing the highest priority.
Due
Enter a date for the activity to be completed.
6
Tap the default activity Type hyperlink to display the Activities screen’s More Info view.
7
In the More Info form, add and edit details about the activity.
For more information, see “Creating Activities in Siebel Medical Handheld” on page 212.
Tracking Opportunities with Accounts in Siebel Medical
Handheld
Accounts are a source of business for your company. An opportunity is a potential revenuegenerating event and is another type of information that you can use to manage your accounts within
Siebel Medical Handheld.
For more information about opportunities, see “Developing Opportunities in Siebel Medical Handheld”
on page 207.
To add an opportunity to an account
1
Navigate to the Accounts screen.
The My Accounts list appears.
2
In the My Accounts list, select the account to which the opportunity will be associated.
3
From the Show drop-down list, choose Opportunities.
4
In the Account Opportunities view, tap the Opportunities list to select it, and then tap the New
Record button.
5
In the Opportunities list, complete the necessary fields for the new record.
The Account field is automatically populated with the name of the selected account. Sales stage
selections are based on the sales methods used by your organization.
Working with Contacts in Siebel Medical
Handheld
This topic describes how to manage contact information using all of the views accessible from the
drop-down list in the Contacts screen. A contact is typically a physician, nurse, hospital
administrator, or lab technician, and so on. purchasing officer, nurse, physician, or hospital
administrator. In a more general sense, a contact is any individual a medical device company deems
significant to their business process.
Siebel Medical Handheld Guide Version 8.1/8.2
20 3
Using Siebel Medical Handheld ■ Working with Contacts in Siebel Medical Handheld
Sales representatives use Siebel Medical Handheld to add and update contact profile information
which may include adding new contacts, tracking affiliations between contacts and accounts,
transcribing relevant notes, and tracking sales data.
Scenario for Managing Contacts in Siebel Medical Handheld
This scenario gives one example how you can use Siebel Medical Handheld to manage contacts. You
might use Siebel Medical Handheld differently, depending on your business model.
At a trade show, a sales representative exchanges business cards with the people they meet. Instead
of waiting until they return to their office, the sales representative uses Siebel Medical Handheld to
enter essential contact information. When the sales representative returns to their office, they
identify individuals that might be possible sources for leads.
As the sales representative works with each contact, the possibility of doing business—an
opportunity—can arise. If so, the sales representative can then create an opportunity and associate
contacts and activities with it to track important milestones and key players for closing the deal.
The following procedures related to managing contacts in Siebel Medical Handheld are included in
this topic:
■
“Adding Contacts in Siebel Medical Handheld” on page 204.
■
“Associating Accounts to Contacts with Siebel Medical Handheld” on page 205
■
“Associating Contacts with Opportunities in Siebel Medical Handheld” on page 205
■
“Adding Private or Shared Notes About a Contact in Siebel Medical Handheld” on page 207
Adding Contacts in Siebel Medical Handheld
Using the Contacts screen and the My Contacts view, you can add contacts and update contact
information directly in Siebel Medical Handheld.
To add contacts
1
Navigate to the Contacts screen.
2
From the Show drop-down list, select My Contacts, or Personal Contacts.
3
■
My Contacts: Use this list for contacts that you might or might not share with the rest of your
organization.
■
Personal Contacts: Use this list for contacts that are not shared with the rest of your
organization.
Tap the New Record button, then fill the Last Name and First Name fields.
204
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Working with Contacts in Siebel Medical Handheld
4
From the Show drop-down list, choose More Info, and then complete additional fields, as needed.
The following table describes some fields in the Contact form.
Field
Comments
Job Title
A text field where you key in the job title of the contact.
Contact Method
A drop-down list where you can chose the preferred contact method.
Site
Physical location of the account.
Comments
Tap this field, then enter comments. Comments entered are visible
depending on the type of contact define. For instance, if you are creating
a contact in the My Contacts list, the comments entered for that contact
will be visible by other members of your team.
Associating Accounts to Contacts with Siebel Medical
Handheld
A contact can be associated to several accounts. For example, a surgeon can be affiliated to a group
practice and several hospitals. You can keep track of all the accounts your contact is affiliated to in
the Contact Affiliations view.
To associate an account to a contact
1
Navigate to the Contacts screen.
The My Contacts list appears.
2
In the My Contacts list, select the contact to whom the opportunity will be associated.
3
From the Show drop-down list, choose Affiliations.
4
Tap in the Affiliations list, then tap the New Record button.
The Pick Account list appears.
5
Select an Account, and Tap OK.
Associating Contacts with Opportunities in Siebel
Medical Handheld
A contact may be a source of revenue for your company. Potential revenue-generating events are
called Opportunities. You will want to associate a contact with an existing opportunity to track
information about both the opportunity and the contact. For more information, see “Creating
Opportunities in Siebel Medical Handheld” on page 208.
Siebel Medical Handheld Guide Version 8.1/8.2
20 5
Using Siebel Medical Handheld ■ Working with Contacts in Siebel Medical Handheld
To associate a contact with an existing opportunity
1
Navigate to the Contacts screen.
The My Contacts list appears.
2
In the My Contacts list, select the contact with whom the opportunity will be associated.
3
From the Show drop-down list, choose Opportunities.
4
Tap in the Opportunities list, then tap the New Record button.
The Add Opportunities list appears.
5
In the Add Opportunities list, select the opportunity to associate with the contact, and then tap
OK.
To associate a contact with a new opportunity
1
Navigate to the Contacts screen.
The My Contacts list appears.
2
In the My Contacts list, select the contact with whom you will associate the new opportunity.
3
From the Show drop-down list, choose Opportunities.
4
Tap in the Opportunities list, then tap the New Record button.
The Add Opportunities list appears.
5
Tap New, then enter the necessary fields.
The fields are described in the following table:
206
Field
Comments
Name
The name of the product.
Account
This field will be automatically populated with the account to which you are
associating the opportunity.
Revenue
Tap the ellipsis to enter currency type, amount, and exchange date.
Probability
From the drop down-list in this field, you can chose a probability figure.
Close Date
After tapping the calendar button in this field, choose a close date for the
chosen opportunity from the pop-up window.
Sales Stage
From the drop-down list in this field, choose the present stage of the sale.
Primary
The account owner, or primary contact for the account in your organization.
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Working with Sales Methods in Siebel Medical Handheld
Adding Private or Shared Notes About a Contact in
Siebel Medical Handheld
Using the Private Notes and Shared Notes views, you can create and update notes on contacts.
Private notes are visible only to the creator of the note; shared notes are available to other sales
representatives calling on the contact.
To add notes about contacts
1
Navigate to the Contacts screen, and select a contact from the My Contacts list.
2
From the Show drop-down list, select one of the following:
3
■
Private Notes. Limits access to the note to the person creating it.
■
Shared Notes. Allows all account team members to access the note.
Tap the New Record button, then in the note field, enter your note data.
To enlarge the Note field, tap the ellipsis (...).
Working with Sales Methods in Siebel
Medical Handheld
A sales method is a formalized approach or methodology used during the sales process. A sales
method can encompass all activities associated with the sales process, from prospecting to
forecasting to closing deals. This approach allows sales representatives to use the most appropriate
method for opportunities.
The application administrator will create and implement the sales stages your company uses, and
then establish values in your Siebel application that represent these methods and stages. A
recommended business practice is to designate a default sales method in your Siebel application.
This practice allows a sales method to be associated with each opportunity and aids in charting and
reporting accuracy.
Sales methods can differ within a company. For instance, a sales method for managing a complex
multimillion dollar opportunity may include 15 stages, while a sales method for a simple low-dollar
opportunity may require only four stages.
For more information about creating or implementing sales stages, see Siebel Applications
Administration Guide.
Developing Opportunities in Siebel
Medical Handheld
An opportunity is defined as a potential revenue-generating event. An opportunity is usually
associated with an account and one or more contacts, products, activities, and quotes. Examples of
opportunities are:
Siebel Medical Handheld Guide Version 8.1/8.2
20 7
Using Siebel Medical Handheld ■ Developing Opportunities in Siebel Medical Handheld
■
At a trade show, a company representative expresses interest in purchasing a product.
■
When called by a telesales representative, a contact indicates interest in contracting
maintenance services.
■
In a conversation with an existing client, the client expresses an interest in upgrading to the
newest product model.
■
While on a regularly scheduled visit, a Sales Representative finds out that one of the MRI
machines has broken down and convinces their contact in that hospital to take a look at the
company’s MRI machine.
■
In a conversation with a doctor regarding a newly launched drug-coated stent, the doctor
expresses interest.
Scenario for Developing Opportunities in Siebel Medical Handheld
This scenario gives one example of how you can use Siebel Medical Handheld to develop sales
opportunities. You might use Siebel Medical Handheld differently, depending on your business model.
A sales representative is involved in revenue-generating and customer contact activities at their
company. At a trade show the sales representative meets a prospective customer who could be a
lead for a new business opportunity. Using their Siebel Medical Handheld application, the sales
representative discovers that the company is listed in Siebel Medical as an account, but the person
they met is not listed as a contact associated with the account.
After adding this person as a contact, the sales representative creates the opportunity. Next, the
sales representative schedules meetings, records the associated activities, and associates other
important contacts with the opportunity.
As the sales process continues, the sales representative gathers and updates information about the
account, its contacts, and the opportunity. As the relationship grows, the sales representative can
add, view, and share information and key knowledge with other members of the sales team.
The following procedures related to developing opportunities in Siebel Medical Handheld are included
in this topic:
■
“Creating Opportunities in Siebel Medical Handheld” on page 208.
■
“Associating a Contact with an Opportunity in Siebel Medical Handheld” on page 210.
■
“Associating a Product with an Opportunity in Siebel Medical Handheld” on page 210.
■
“About Opportunity Quotes” on page 211.
Creating Opportunities in Siebel Medical Handheld
Each time you identify an opportunity, you should create a new record. You create new opportunity
records in the Opportunity screen.
208
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Developing Opportunities in Siebel Medical Handheld
To create an opportunity
1
Navigate to the Opportunities screen, and from the Show drop-down list, choose My
Opportunities.
The My Opportunities list appears.
2
Tap the New Record button, and complete the necessary fields.
3
Some of the fields are explained in the following table.
Field
Comments
Name
Required. A value that identifies the opportunity.
Account
Allows you to associate an opportunity with an account.
Description
A text area for additional information about the opportunity.
Site
A default value that populates automatically when you associate the
opportunity with a specific account and location.
Primary
Displays the primary Sales Team member for the opportunity.
Revenue
Allows you to enter the currency amount of the opportunity. This field
defaults to zero.
Probability %
Allows you to enter the percentage of confidence you have that the deal will
close with the specified revenue on the specified close date. Probability
automatically updates based on the Sales Method and Sales Stage selected.
Expected Value
Displays a currency value that is calculated based on the potential revenue
field multiplied by the value in the probability field. A lower percent in the
probability field reduces the expected value that will be included in your
revenue forecast.
Close Date
Required. Allows you to enter the expected date on which the opportunity
will close. The default date is the same as the Created Date. It is important
to modify the date, if the opportunity will close on a different date, since
this date is used in revenue forecasting.
Lead Quality
A list of values established by your company that allows you to rank the
quality of the lead. Default values include 1-Excellent, 2-Very High, 3-High,
4-Fair, 5-Poor.
Sales Method
A list of values established by your company that list the sales
methodologies. For more information, see “Working with Sales Methods in
Siebel Medical Handheld” on page 207.
Sales Stage
A list of values established by your company that lists the sales stages
associated with the sales method you selected.
Siebel Medical Handheld Guide Version 8.1/8.2
20 9
Using Siebel Medical Handheld ■ Developing Opportunities in Siebel Medical Handheld
Associating a Contact with an Opportunity in Siebel
Medical Handheld
As you work with an opportunity, you will want to maintain information about the contacts associated
with the opportunity.
The Opportunities screen’s Contacts view allows you to associate and review contact-related
information for an opportunity.
To associate a contact with an opportunity
1
Navigate to the Opportunities screen, and from the Show drop-down list choose My
Opportunities.
2
In the My Opportunities list, select the opportunity with which you want to associate a contact.
3
From the Show drop-down list, choose Contacts.
4
Tap the Contacts list to select it, and then tap the New Record button.
5
In the Add Contacts dialog box, select the contact or contacts you wish to add, and then tap OK.
NOTE: You can also associate new contacts with opportunities.
Associating a Product with an Opportunity in Siebel
Medical Handheld
Specific products can be associated with an opportunity. For example, if a customer is interested in
purchasing a new product model, this information can be entered in the Products view.
After the information is entered, you can tap the product to find additional information such as
product features and prices.
To associate a product with an opportunity
1
Navigate to the Opportunities screen.
The My Opportunities list appears.
2
In the My Opportunities list, select the opportunity with which you want to associate a product.
3
From the Show drop-down list, choose Products.
210
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing Activities in Siebel Medical Handheld
4
In the Opportunity Products view, tap the Products list to select it, and then tap the New Record
button.
Some fields in the Products list are described in the following table:
Field
Comments
Product
Tap in this field to receive a list of values from which you will chose the
desired product.
Part Number
This field is automatically filled based on your choice for the Product field.
Net Price
Manually enter the unit price.
Extended Price
This price will be automatically calculated based on the figure you enter
in the Quantity field.
Auto Quote
By default this field is checked to indicate that you want to make this
record available for auto quotes. Uncheck it if you want to make the
record unavailable.
5
In the new row, tap in the Products field, then chose the desired product from the Pick Product
picklist, and tap OK.
6
Tap the quantity field, the enter the desired number, the enter the price of the unit in the Net
Price field.
The Extended Price field will be automatically filled in.
7
Fill in the Delivery Date field.
8
Leave the Auto Quote field checked if you wish this association to be accessible to Auto Quote.
About Opportunity Quotes
The Opportunity Quotes view displays quotes that have been generated for a specific opportunity.
After adding products to an opportunity in the Opportunity Products view, you can navigate to the
Opportunity Quotes view to initiate Auto Quote functionality or to manually create a quote. For more
information, see “Creating Quotes in Siebel Medical Handheld” on page 215.
Managing Activities in Siebel Medical
Handheld
An organization’s records should accurately reflect the amount of work required and performed to
maintain customer satisfaction. This practice avoids duplication of effort if a different or an additional
team member has to get involved. It also keeps everyone up to date as to exactly what activities
have occurred and when they have occurred.
Siebel Medical Handheld Guide Version 8.1/8.2
21 1
Using Siebel Medical Handheld ■ Managing Activities in Siebel Medical Handheld
Activities are various tasks or events that are performed for contacts, accounts, and opportunities.
Activities that are given start times are automatically entered on the activities screen and your
calendar.
Scenario for Managing Activities
This scenario gives one example of how you can use Siebel Medical Handheld to manage activities.
You might use Siebel Medical Handheld differently, depending on your business model.
While working away from their desk, a sales manager receives a call from a customer who wants to
visit the sales manager’s company for an executive summary meeting. The customer also wants the
sales team to perform a product demonstration. The sales manager schedules the meeting using
their handheld device. After the sales manager’s next synchronization, the meeting appears on the
calendars of the team members. The sales manager delegates the tasks required to prepare for the
meeting, such as preparing presentation slides, reserving a conference room, and configuring the
demo system. These activities appear in the sales manager’s Activities screen and calendar for the
customer’s account.
As the sales manager and the team members complete the activities, the activities are marked as
done, providing key status information about the opportunity.
The following procedures related to activity management in Siebel Medical Handheld are included in
this topic:
■
“Creating Activities in Siebel Medical Handheld” on page 212
■
“Delegating Activities in Siebel Medical Handheld” on page 213
■
“Associating Contacts with Activities in Siebel Medical Handheld” on page 213
■
“Adding General Activities Using the Calendar in Siebel Medical Handheld” on page 213
Creating Activities in Siebel Medical Handheld
Throughout the day, you have new tasks to accomplish and activities to monitor. These activities are
part of your business. By keeping track of these activity records on your handheld device, you make
sure your team members know about these tasks, and you create a valuable history of your past
interactions with customers.
To create a new activity
1
Navigate to the Activities screen.
The My Activities list appears.
2
Tap the New Record button, and in the new row, complete the necessary fields.
A default value is provided in the activity Type field.
3
Tap the hyperlink value in the Type field, and in the More Info form, complete the fields.
212
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing Activities in Siebel Medical Handheld
Delegating Activities in Siebel Medical Handheld
If you work as part of a sales team or are the manager, an important part of managing your activities
includes managing other people’s activities. When an activity needs to be performed by someone
else, you can reassign or delegate it to an employee.
To delegate an activity
1
Navigate to the Activities screen.
The My Activities list appears.
2
In the My Activities list, find the activity that needs to be delegated.
3
From the Show drop-down list, select Employees.
4
In the Activity Employees view, tap the Employees list to select it, and then tap the New Record
button.
The Add Employees list appears.
5
In the Add Employees list, select the employees to whom the activity will be assigned, and tap
OK.
To make an employee the primary for the activity, tap the Primary field to display a check mark.
Associating Contacts with Activities in Siebel Medical
Handheld
When you add an activity to your calendar, you might also want to have a record of contacts who will
be participating in the activity.
To associate a contact with an activity
1
Navigate to the Activities screen.
2
In the My Activities list, select the activity with which a contact will be associated.
3
From the Show drop-down list, select Contacts.
4
In the Activity Contacts view, tap the Contacts list to select it, and then tap the New Record
button.
5
In the Add Contacts picklist, select the contacts and then tap OK.
Adding General Activities Using the Calendar in Siebel
Medical Handheld
General activities and appointments must have the Planned Start and Duration fields populated in
order to be displayed in the correct time slot on the Daily Calendar view.
Siebel Medical Handheld Guide Version 8.1/8.2
21 3
Using Siebel Medical Handheld ■ Managing Activities in Siebel Medical Handheld
To add a general activity in the Calendar view
1
Navigate to the Calendar screen.
2
From the Show drop-down list, select Daily, Weekly, or Monthly.
3
For My Weekly or My Monthly, select the day on which you want to schedule a general activity.
4
Tap the New Record button.
You may also tap an open time slot within the Daily view.
5
In the new record, complete the necessary fields for the appointment or task.
Some fields are described in the following table:
Field
Comments
Type
The type of activity. Activity types might be call, email-outbound,
demonstration, and so on.
Planned
Start
This date-time field defaults to the time selected when you created the new
appointment.
Duration
When the duration is updated, the planned completion time is automatically
adjusted.
Account
Complete this field if the activity is related to a particular account.
Repeat
Tap the check box to display a check mark if the appointment or task is
recurring.
The Siebel Handheld application Calendar does not support modification of
single instances of recurring activities. For example, if you delete or modify an
appointment scheduled to recur daily for 10 days, the entire series will be
deleted.
Until
This field allows you to indicate the end date of a repeating appointment.
To specify contact participants
1
Navigate to the Calendar screen and locate the day the task or appointment occurs.
2
Tap the task or appointment hyperlink to display the Calendar form.
3
From the Show drop-down list, select Contact Participants.
4
In the Calendar Contacts view, tap the Contacts list to select it, and then tap the New Record
button.
5
In the Add Contacts dialog box, select contacts and tap OK.
To specify employee participants
1
Navigate to the Calendar screen and locate the day the task or appointment occurs.
214
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Developing Quotes in Siebel Medical Handheld
2
Tap the task or appointment hyperlink to display the Calendar form.
If the appointment or task repeats over time, you will be asked to indicate if changes to the
appointment should be applied to the specific occurrence, or to all occurrences.
3
From the Show drop-down list, select Employee Participants.
4
In the Calendar Employees view, tap the Employees list to select it, and then tap the New Record
button.
5
In the Add Employees dialog box, select employees, and then tap OK.
Developing Quotes in Siebel Medical
Handheld
When the customer is ready to purchase a product or service, you can develop a quote using Siebel
Medical Handheld that includes specific prices for products and services with related payment terms.
Scenario for Developing Quotes
This scenario gives one example of how you can use Siebel Medical Handheld to develop quotes. You
might use Siebel Medical Handheld differently, depending on your business model.
A mobile sales representative relies on quotes to create formal offers to clients for a variety of
products and services that their company provides. Using Siebel Medical Handheld, the sales
representative can produce accurate offers at the customer site, with up-to-date product and pricing
information. When details and pricing are finalized, the sales representative can print the quote and
deliver it promptly to the customer.
The following procedures related to quote management in Siebel Medical Handheld are included in
this topic:
■
“Creating Quotes in Siebel Medical Handheld” on page 215
■
“Using Auto Quote in Siebel Medical Handheld” on page 216
■
“Adding Quote Items in Siebel Medical Handheld” on page 218
■
“Printing Quotes in Siebel Medical Handheld” on page 219
Creating Quotes in Siebel Medical Handheld
Quotes includes effective dates, price lists, and discounts used in pricing products and services.
Before any of this information can be added to a quote, however, the quote must be created with
basic information.
To create a quote
1
Navigate to the Opportunities screen.
2
In the My Opportunities list, select the opportunity for which the quote will be generated.
Siebel Medical Handheld Guide Version 8.1/8.2
21 5
Using Siebel Medical Handheld ■ Developing Quotes in Siebel Medical Handheld
3
From the Show drop-down list, select Quotes.
4
In the Opportunity Quotes view, tap the Quotes list to select it, and then tap the New Record
button.
The new quote is automatically assigned a record identifier, a revision number, the default status
of In Progress, and a created date.
5
In the Name field, enter a name for the quote.
When you tab to an adjacent field, the quote name becomes a hyperlink.
6
Tap the hyperlink in the Name field to display the More Info form where you can add quote
details.
Using Auto Quote in Siebel Medical Handheld
If you are working with an opportunity for which the products and solutions have already been
specified in the Opportunity Products view, there is a faster method to generate a quote. You can use
the Auto Quote button.
When Auto Quote generates a quote from an opportunity, quote line items are created for each
product under the opportunity that has the Auto Quote flag checked. The Quote Item fields are
populated from the corresponding Opportunity Product’s fields, as shown in Table 34.
Table 34.
Quote Item Fields Populated by Opportunity Product Fields
Opportunity Product Fields
Quote Item Fields
Product
Product
Product Quantity
Extended Quantity Requested
In addition, information from the generated quote’s Quote # field is copied to the Opportunity
Products’ Quote # field. The Part Number field of the generated Quote Item is determined by the
quote item's product.
Table 35 shows the quote record fields that are automatically populated when Auto Quote is used to
create a quote.
Table 35.
Quote Fields Populated with Auto Quote
Field
Value
Quote #
System generated
Revision
1
Name
Quote number, unless the user provides another value
Opportunity
The opportunity from which the quote is automatically generated.
Account
The account for the opportunity
216
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Developing Quotes in Siebel Medical Handheld
Table 35.
Quote Fields Populated with Auto Quote
Field
Value
Account Site
The location of the account associated with the opportunity
Status
In Progress
Active
Checked
Currency
The currency code for the opportunity
Price List
The price list associated with the opportunity’s account
Sales Rep
User ID
Effective
Current date
Through
Current date plus 30 days (30 days is determined by the
QUOTE_EXPIRATION_PERIOD list of values.)
To create a quote using Auto Quote
1
Navigate to the Opportunities screen.
2
In the My Opportunities list, select the opportunity for which the quote will be generated.
3
From the Show drop-down list, select Quotes.
4
In the Opportunity Quotes view, tap Auto Quote.
Some of the fields are described in the following table:
5
Field
Comments
Quote #
Read only. A unique, system generated identifier.
Revision
Read only. Automatically generated value which reflects the revision state of
the record.
Name
Read only. An automatically generated hyperlink. Tap this field and the More
Info view of the quote will appear, along with the opportunity for which the
quote is being generated.
Status
A drop-down list which enables you to choose the status of the quote, for
instance, Closed, Accepted, Expired, and so on.
Price List
Tap this field to access a picklist of preconfigured price lists.
Edit fields as necessary, and then tap the hyperlink in the quote Name field.
Siebel Medical Handheld Guide Version 8.1/8.2
21 7
Using Siebel Medical Handheld ■ Developing Quotes in Siebel Medical Handheld
6
In the Quote detail form, enter additional information about the quote.
Some fields in the Quote detail form are described in the following table:
7
Field
Comments
Opportunity
A hyperlink with the name of the opportunity. Tap this hyperlink to see details
in the Opportunity detail view.
Account
The account under which the opportunity is drawn.
Price List
The name of the price list chosen in the Auto Quote view.
Discount
Tap for a list of values from which you can chose the discount percentage you
will be giving the opportunity.
Sales Rep
The name of the user.
Effective
Chose from a calendar view to set the effective date for the quote.
Through
Current date plus 30 days (30 days is determined by the
QUOTE_EXPIRATION_PERIOD list of values.)
From the Show drop-down list, choose My Quote to review the quote.
Adding Quote Items in Siebel Medical Handheld
Using the Quotes screen, you can add line items to quotes that you are developing. If the Auto Quote
method is used, products associated with opportunities appear automatically as line items with any
applicable discounts.
Line items can be used to:
■
Add new products as line items
■
Apply manual price adjustments to the line items using the Toggle button
To add line items
1
Navigate to the Opportunities screen.
2
In the My Opportunities list, select the opportunity with which the quote is associated.
3
From the Show drop-down list, select Quotes.
4
In the Opportunity Quotes view, locate the quote in the list, and tap the Name hyperlink.
The quote detail form appears.
5
From the Show drop-down list, select Quote Items.
6
In the Quote Line Items view, tap the Line Items list, and then tap the New Record button.
218
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing Orders in Siebel Medical Handheld
7
In the Line Items list, complete the required fields.
Pricing changes are not applied until after you have synchronized with the Siebel Handheld
Client. Values are then based on the product's price in the parent quote's price list.
You can also choose a price list for a quote item. That price list will override the price list you
picked for the quote.
Tap the Toggle button to display a form that you can use to add Item discounts and other
adjustments.
To delete line items
1
Navigate to the Quotes screen.
2
In the My Quotes list, select the quote containing the line item that will be deleted, and choose
Quote Items from the Show drop-down list.
3
In the Quotes Line Items view, select the quote item in the list.
4
From the Edit Menu, select Delete Record.
NOTE: Quote revisions are not supported Siebel Handheld applications.
Printing Quotes in Siebel Medical Handheld
Once the customer has expressed significant interest, it is often appropriate to present a hard copy
quote.
To print a quote
1
Navigate to the Quotes screen.
2
In the My Quotes list, select the quote containing the line items that will be printed.
3
From the Show drop-down list, select Quote Items.
4
Align the infrared ports on the handheld device and the printer.
5
In the parent Quotes form, tap the Print button.
Managing Orders in Siebel Medical
Handheld
After you have completed the initial quote, and the customer has agreed to the products and prices
you have presented, you create a sales order.
The following procedures related to order management in Siebel Medical Handheld are included in
this topic:
■
“Creating Orders in Siebel Medical Handheld” on page 220
Siebel Medical Handheld Guide Version 8.1/8.2
21 9
Using Siebel Medical Handheld ■ Managing Orders in Siebel Medical Handheld
■
“Adding Order Line Items in Siebel Medical Handheld” on page 220
■
“Entering Terms and Totals in Siebel Medical Handheld” on page 221
Creating Orders in Siebel Medical Handheld
You can create orders from quotes manually or by using the Auto Order button.
To create an Auto Order from your quote
1
Navigate to the Quotes screen.
2
In the My Quotes list, select the quote from which an order will be generated.
3
From the Show drop-down list, select Orders.
4
In the Quotes list, select the quote, and then in the Orders list tap AutoOrder.
A new record appears in the Orders list, with the order date, number, type, status and so on,
filled in.
5
In the Orders list, tap the Order # hyperlink.
6
Tap the Orders Line Items list to select it.
Line items from the Quote will be carried over to the order.
To manually create an order
1
Navigate to Orders screen.
The My Sales Orders list appears.
2
Tap the New Record button, then complete the necessary fields.
From the Show drop-down list, choose More Info to display a form where you can add more
details.
Adding Order Line Items in Siebel Medical Handheld
Once the initial sales order is created, you can complete the line items that make up the order.
1
Navigate to the Orders screen.
The My Sales Orders appears.
2
In the My Sales Orders list, select the order to which line items will be added.
3
From the Show drop-down list, select Line Items.
4
In the Order Line Item view, tap the Line Items list to select it, and then tap the New Record
button.
A new blank record appears.
220
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing Orders in Siebel Medical Handheld
5
Tap in the Product field.
The Pick Product list appears.
6
Tap the Product field and chose a product from the list of values.
The remaining fields will be automatically populated based product choice.
7
Complete any remaining fields for the line item, and repeat these steps to add additional line
items.
Repeat the steps to add additional line items.
NOTE: Beginning with Siebel Handheld application, pricing changes are not applied until after
you have synchronized with the server (for Direct Server Sync) or Mobile Web Client (for
Companion Synchronization). Any changes to the Product, Part #, Price List, Discount %, and
Qty fields will clear the price fields.
After synchronizing, the Totals field is updated with the Quantity Requested total, and the Order
record Item Total and Total fields are updated based on the sum of the Line Item Start Price and
Net Price fields, respectively.
Entering Terms and Totals in Siebel Medical Handheld
After completing the line items, navigate to the Order Terms view to enter shipping and payment
information for the order.
To add terms and totals
1
Navigate to the Orders screen.
2
In the My Sales Orders list, select the order.
3
From the Show drop-down list, select Order Terms.
4
In the Order Terms view, tap the Terms form to select it, then complete the necessary fields in
the Terms form.
The fields are described in the following table:
Field
Comments
Payment Terms
Tap in the field, the select the payment term period from a pop-up
list.
Ship Carrier
Tap in the field, then select a shipping carrier from a drop down list.
Shipping Instructions
Tap the ellipsis (...), then manually enter any shipping instructions.
NOTE: The basic configuration for Siebel Medical Handheld does not include detailed shipping and
billing fields. These fields are based on different business components and can be configured as
required.
Siebel Medical Handheld Guide Version 8.1/8.2
22 1
Using Siebel Medical Handheld ■ Tracking Expenses in Siebel Medical Handheld
Tracking Expenses in Siebel Medical
Handheld
You can track expenses and create expense reports using Siebel Medical Handheld.
The following procedures related to expense management in Siebel Medical Handheld are included
in this topic:
■
“Creating an Expense Report in Siebel Medical Handheld” on page 222
■
“Submitting an Expense Report in Siebel Medical Handheld” on page 223
Creating an Expense Report in Siebel Medical Handheld
You can create expense reports in Siebel Medical Handheld, then upload them to your server at the
time of sync.
To create an expense report
1
Navigate to the Expenses screen.
The My Expense Reports list appears.
2
In the Expense Reports list, tap the New Record button, complete the Period and Name field, and
then choose More Info from the Show drop-down list.
Some fields in the Expense Reports list are described in the following table:
Field
Comments
Expense Report #
Read only. An automatically generated, unique identifier.
Name
Required. Enter a name for the expense report.
Class
A predefined list of values which indicate classes your company
deems appropriate for expense reports. Such as, Holiday, or internal.
Status
If you create the expense report with the Handheld device, this field
will be prepopulated with the value of In Progress. You may tap in the
field to adjust the value to express the current state of the expense
report.
Submit To
Read only. A predefined association set up by the system
administrator. When you create a new expense report, the Submit To
field is automatically populated with the login of manager to whom
you report.
Reimbursable
Tap this check box to indicate whether the expense is reimbursable.
To add detailed line items
1
Navigate to the Expenses screen.
222
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Creating General Activities in Siebel Medical Handheld
2
In the My Expense Reports list, locate the expense report record.
3
From the Show drop-down list, select Expense Items.
4
In the Expense Report Line Items view, tap the Line Items list, and then tap the New Record
button.
5
In the new row, complete the necessary fields for the line item.
You can not enter Line Items whose Start or End Date is outside of the Expense Report period.
NOTE: The Expense Reports functionality in Siebel Medical Handheld currently does not support
the Mileage expense type or detailed Hotel expense tax itemization. If these expense types are
required, you must enter these items using the desktop Siebel Medical application.
6
Repeat the steps to add line items.
Submitting an Expense Report in Siebel Medical
Handheld
After creating an expense report, you need to submit it for approval.
To submit an expense report
1
Navigate to the Expenses screen.
The My Expense Reports screen appears.
2
Select the desired expense report, then tap the Status field, and select submitted from the dropdown list.
The next time you synchronize to your enterprise system, the expense report will be submitted.
Creating General Activities in Siebel
Medical Handheld
Sales representatives use general activities to manage time and schedule demands and to keep their
manager informed of their workload. A general activity in Siebel Medical Handheld is used to track
noncall tasks such as to-do items, personal events, and correspondence.
In a typical scenario, a sales manager for a medical device company uses the Activities screen to
create and track the activities on which they plan to spend time on during the next month. After
scheduling a contact call with a customer, the sales manager uses the Calendar to review scheduled
activities for the upcoming weeks.
The following procedures related to adding activities from the Activities and Calendar views in Siebel
Medical Handheld are included in this topic:
■
“Adding General Activities from the Activities View in Siebel Medical Handheld” on page 224
■
“Adding General Activities from the Calendar View in Siebel Medical Handheld” on page 224
Siebel Medical Handheld Guide Version 8.1/8.2
22 3
Using Siebel Medical Handheld ■ Creating General Activities in Siebel Medical Handheld
Adding General Activities from the Activities View in
Siebel Medical Handheld
All activities with valid dates and times appear in the Siebel Medical Handheld Calendar views as well
as in the Activities views. The Calendar views provide a visual representation of each user’s
scheduled activities.
NOTE: The Planned Start and Duration fields in general activities and appointments must contain
entries in order for the appointments and activities to appear in the correct time period in the Daily
Calendar view. While the Planned Start field is visible in the Activities screen’s My Activities view,
this field is not visible in the Contacts screen’s Activities and Accounts, then the Activities views. The
Planned Start field can be exposed during application configuration.
To add a general activity from the Activities view
1
Navigate to the Activities screen.
The My Activities list appears.
2
Tap the New Record button, then complete the necessary fields.
NOTE: Select More Info from the Show drop-down list to edit additional fields for each record.
Some of the fields are described in the following table:
Field
Comments
Type
The type of activity. The values displayed in this drop-down list depend on the
value of the Activity field. For example, the activity types that you can select
for a contact call are different from those that you can select for a general
activity.
Duration
Select a time from 15 to 120 minutes from the drop-down list.
Account
Tapping in this field takes you to a pop-up list with account names.
Repeat
Checking this box allows you to specify the frequency and end date of a
recurring activity.
Adding General Activities from the Calendar View in
Siebel Medical Handheld
General activities and appointments must have the Planned Start and Duration fields populated in
order to be displayed in the correct time slot on the Daily Calendar view.
To add a general activity in the Calendar view
1
Navigate to the Calendar screen.
2
From the Show drop-down list, select Daily, Weekly, or Monthly.
224
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing MedEd Events in Siebel Medical Handheld
3
For My Weekly or My Monthly, select the day and time on which you want to schedule a general
activity.
4
Tap the New Record button, then complete the necessary fields.
Some of the fields are described in the following table:
5
6
Field
Comments
Type
The type of activity. The values displayed in this drop-down depend on the
kind of activity.
Description
Tap on the ellipsis to add comments or clarification to the activity.
Type
Choose a general activity type from the drop-down list.
Until
The end date of a repeating appointment. If you do not select a value, 12
more appointments will be scheduled.
To specify contact participants:
a
From the Show drop-down list, select Contact Participants.
b
Tap the New Record button.
c
In the Add Contacts dialog box, select participants and then tap OK.
To specify employee participants:
a
From the Show drop-down list, select Employee Participants.
b
Tap the New Record button.
The Participants list appears.
c
Select participants, and then tap OK.
Managing MedEd Events in Siebel
Medical Handheld
This topic describes how a medical device company can use Siebel Medical Handheld to plan a
medical education (MedEd) event. A MedEd event refers to a promotional or educational event
attended by physicians and medical professionals. An event functions as a forum for exchanging
information on a particular disease, illness, therapeutic class, or product. A medical education event
can be as simple as a lunch-and-learn in a physician's office or as complex as a seminar series or
national sales meeting.
Sales representatives in the field can use Siebel Medical Handheld to view and create MedEd events
and invite contacts to MedEd events.
The following procedures related to MedEd Event management in Siebel Medical Handheld are
included in this topic:
■
Creating a MedEd Event in Siebel Medical Handheld on page 226
Siebel Medical Handheld Guide Version 8.1/8.2
22 5
Using Siebel Medical Handheld ■ Managing MedEd Events in Siebel Medical Handheld
■
Inviting Professionals to MedEd Events Using Siebel Medical Handheld on page 226
Creating a MedEd Event in Siebel Medical Handheld
You can create MedEd events directly in Siebel Medical Handheld.
To create a MedEd event
1
Navigate to the MedEd screen.
The My Med Ed events list appears.
2
Tap the New Record button, then complete the necessary fields.
Some of the fields are described in the following table:
Field
Comments
Name
Enter a name for the event in this field.
Event ID
The Event ID field is automatically populated.
Objective
A text field in which you can enter a description of the event objective.
Start Date
Date and time that the event starts. Set the time fields before selecting a
calendar day.
End Date
Date and time that the event ends. Set the time fields before selecting a
calendar day.
Budget
The amount of money budgeted for the event.
Location
A text field where you can enter the location of the event.
Event Status
Indicates whether the event is active, cancelled, completed, in progress,
inactive, or planned.
CME Credit
Number of CME (Continued Medical Education) credits that can be earned at
the event.
Type
The category of medical education event being offered.
Inviting Professionals to MedEd Events Using Siebel
Medical Handheld
When you have scheduled a MedEd event and have decided what sessions will be offered, you can
invite health care professionals to attend.
226
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing Consigned Inventory with Siebel Medical
Handheld
To invite a contact to a MedEd event
1
Navigate to the MedEd screen.
The My Med Events screen appears.
2
From the Show drop-down list, select Invitees.
3
Tap the New Record button, then in the new row, complete the fields.
Some of the fields are described in the following table:
Field
Comments
Last Name
The contact or invitee. Select from the Pick Contact list. The First Name
field is automatically populated based on this choice.
Invitee Status
Indicates whether the invitee has confirmed attendance, is on a wait list,
and so on. Pending is the default value.
Role
Describes the selected contact’s role at the session. A drop-down list allows
you to designate the contact’s role in the session.
Managing Consigned Inventory with
Siebel Medical Handheld
Medical products companies tend to manage many different products with very complex
characteristics and variations. Some of these products are low volume with high costs while others
are high volume with low costs. The margin and turn-over rate can also vary widely across these
different products. Different products in a company's portfolio may be tracked differently; within the
portfolio some products may be serialized, labeled by lot number, or merely labeled by part number.
Additionally, some products have a prescribed expiration date based on product testing data that a
company submits to the FDA or other regulatory body as part of regulatory submission, while other
product do not. An expired product cannot be reworked for reuse, but rather must be discarded and
recognized as a loss.
There are 3 task groups for managing cycle count activity and performing cycle counts:
■
Performing Cycle Count. You perform cycle count tasks in the Cycle Count views.
■
Analyzing Inventory. You analyze inventory tasks in the Inventory views.
■
Moving Inventory. You move inventory tasks in the Inventory and Move views.
About Barcode Scanning in Siebel
Medical Handheld
The Siebel Medical Handheld application is able to parse HIBIC, UCC/EAN and Combined UCC/EAN
barcodes. For information on setting up barcode scanning in your handheld device, see
“Administering Barcode Settings for Siebel Medical Handheld Applications” on page 84.
While in scan mode, the application automatically performs the following tasks:
Siebel Medical Handheld Guide Version 8.1/8.2
22 7
Using Siebel Medical Handheld ■ About Barcode Scanning in Siebel Medical Handheld
■
Scan barcodes.
■
Parse data from barcodes. For example: Lot number, Serial Number, Expiration Date.
■
Validate Data. Notify sales representatives whether product counted is Short Dated or Expired;
as well as notify sales representatives if there are any errors in double-counting.
The function buttons on the Scan Barcodes view are described in the Table 36.
Table 36.
Scan Barcodes View Fields
Field
Comments
Stop
Tap this button to disable barcode scanning. After tapping Stop, you will be
navigated to the Cycle Count Detail View.
Clear
Tap this button to clear all the fields in the form, and undo any cycle count or
product detail record that has be created on that scan.
Move
Tap this button to be navigated to the Part Move View, where a Part Move record
will be populated with the current data. For information on part moves, see “Moving
Products While Performing a Cycle Count” on page 234.
The fields in the Scan Barcodes list are described in Table 37.
Table 37.
Scan Barcodes list Fields
Field
Comments
Product
The name of the product that has been scanned.
Part #
Part number for the product. This number could be the manufacturer’s number, the
HIBC number or the UCC/EAN number.
Lot #
Lot number to which the product asset belongs. This needs to be set up in the
Assets table or included in the Barcode if the product is tracked by lot number or
is a unique product that has a lot number included in its unique expression.
Serial #
Serial number for the product. This needs to be set up in the Assets table or
included in the Barcode if the product is serialized or is a unique product that has
a serial number included in its unique expression.
Asset #
Asset number for the product asset.
Use By
Expiration date for product asset.
Days
Calculated field. Calculates number of days until expiration.
State
Calculated field. Calculates whether the product asset is good, shortdated or
expired.
228
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing and Performing Cycle Counts with Siebel
Medical Handheld
Managing and Performing Cycle Counts
with Siebel Medical Handheld
You can view information on all your cycle counts. Because contact information for the inventory
location on which you are doing your cycle count can be found on the same view, you can use this
information to schedule the cycle count.
Scenario for Performing a Cycle Count
This scenario is one example of how you can use Siebel Medical Handheld for performing part
movements. You might use Siebel Medical Handheld differently, depending on your business model.
A sales representative for a medical device company synchronizes with a Siebel Handheld Client at
the start of the day to get the latest information downloaded to their handheld device. The sales
representative navigates to the My Pending Cycle Counts view to see all cycle counts that they have
been assigned. They see one that is due two weeks from the present, and use the information on
inventory location to call the contact and schedule an appointment. While on the phone, the sales
representative taps the Schedule button to navigate to the Calendar views to create an appointment
for a cycle count. They then update the status of cycle count status to Scheduled.
On site, the sales representative outfits their handheld device with a compatible in hand scan card,
navigates to the My Pending Cycle Counts view, selects the cycle count to perform and taps Start
which navigates to the Cycle Count Detail View. The sales representative taps Scan to enable the
barcode scanner and display the Scan Barcodes pop-up window. They then align the barcode scanner
with the part number barcode on the first package and presses the device button to initiate
screening.
NOTE: For information on supported scanners, see Siebel System Requirements and Supported
Platforms on Oracle Technology Network.
The following cycle count tasks are included in this topic:
■
“Viewing, Scheduling and Accessing Cycle Counts in Siebel Medical Handheld” on page 230
■
“Starting a Cycle Count” on page 231
■
“Performing a Cycle Count Using Barcode Scanning” on page 232
■
“Counting Products by Electronically Entering Product and Asset Records” on page 233
■
“Moving Products While Performing a Cycle Count” on page 234
■
“Completing Cycle Counts” on page 235
Siebel Medical Handheld Guide Version 8.1/8.2
22 9
Using Siebel Medical Handheld ■ Managing and Performing Cycle Counts with Siebel
Medical Handheld
Viewing, Scheduling and Accessing Cycle Counts in
Siebel Medical Handheld
Users can review all pending cycle counts assigned to them. For information on how administrators
can set assign cycle counts, see “Assigning Cycle Counts for Siebel Medical Handheld Applications” on
page 128. Users can determine critical information on these cycle counts to help them prioritize their
activities. They can view information on inventory location, due date, and status for each of their
cycle counts. Using information on the Siebel Medical Handheld, users can navigate to the Calendar
view to schedule their cycle counts.
To view pending cycle count assignments
1
Navigate to Cycle Count.
The My Pending Cycle Counts list appears, with a form listing pertinent details of the site. The
fields in the My Pending Cycle Counts list are described in the following table:
Field
Comments
CC#
This field is populated by a hyperlinked number which indicates the cycle
count number. Tap this hyperlink to gain access to the individual cycle counts
in the queue, which are displayed in the Cycle Count Detail view.
Inv Location
This field displays the location where the cycle count will take place.
Due Date
The date and time the cycle count is to be completed.
Status
This field displays the status of the pending cycle count. You set this field to
reflect current status of cycle count. The choices are: Open, Assigned,
Scheduled, In Progress, Done, and Closed.
Start Date
Updated when a user taps the Start button while initiating the cycle count.
End Date
The date the cycle count ended. The field is updated when a user taps Count
Complete at the end of a cycle count.
Account
The name of the inventory location, where the inventory will be counted, for
instance a laboratory, administration office, or warehouse, and so on.
Owner
The employee to which the cycle count is assigned.
To access cycle count records
1
Navigate to Cycle Count.
The My Pending Cycle Counts list appears sorted in ascending order by due date.
230
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing and Performing Cycle Counts with Siebel
Medical Handheld
2
From the My Pending Cycle Counts list, tap the appropriate cycle count hyperlink in the CC# field.
The Cycle Count Detail view appears, along with a detailed list of products at that site. The fields
in the Cycle Count Detail view are described in the following table:
Field
Comments
Location
The physical location where the inventory will take place, such a hospital or
lab. This field is a read only.
Account
The name of the account where the inventory is billed. This field is read only.
Comments
You can enter comments associated with the account in this field.
The fields in the Product Detail list are blank upon initiating a cycle count. Some of the fields are
described in the following table:
Field
Comments
Product
A hyperlink, listing the product name, which links to the product detail view.
Part #
Part number as assigned to the item.
Description
Description of the item. Tap the ellipsis (...), and then enter a description.
To schedule a cycle count
1
Navigate to Cycle Count.
The My Pending Cycle Counts list appears sorted in ascending order by due date.
2
Select the desired cycle count record.
3
In the Cycle Count Detail view, tap the Schedule button.
The Weekly Calendar view appears.
4
Create an appointment in the Calendar view for the cycle count.
For information on working with Calendar views, see “Adding General Activities Using the Calendar
in Siebel Medical Handheld” on page 213.
Starting a Cycle Count
Once you are ready to perform a cycle count, you can initiate a count from the Pending Cycle Count
view. Starting a cycle count would automatically changes the status of the cycle count to Started and
navigates you to the Cycle Count Detail view, where you can start counting products.
To start a cycle count
1
Navigate to Cycle Count.
The My Pending Cycle Counts list appears sorted in ascending order by due date.
Siebel Medical Handheld Guide Version 8.1/8.2
23 1
Using Siebel Medical Handheld ■ Managing and Performing Cycle Counts with Siebel
Medical Handheld
2
Select the desired cycle count record, then tap Start.
The Cycle Count Detail View appears.
Performing a Cycle Count Using Barcode Scanning
After initiating a cycle count, you are now able to count products in the Cycle Count Detail view.
There are two ways to perform the count. You can count products using barcode scanning, if your
device is outfitted with a supported scanner, or you can electronically enter product and asset records
in the Cycle Count Detail view. For information on supported scanners, see Siebel System
Requirements and Supported Platforms on Oracle Technology Network.
To count products using barcode scanning
1
In the Cycle Count Detail view, tap the Scan button.
The Scan Barcodes Form appears. The fields in the Scan Barcodes form are described in the
following table:
2
Field
Comments
Product
Name of the product.
Part #
Product part number.
Lot #
Lot number of the product asset being scanned.
Serial #
Serial number of the product asset being scanned.
Asset #
Asset number of the asset being scanned. Auto-generated if there is no data
on Asset number on the barcode.
Qty
Quantity found on the product asset being scanned.
Use By
Expiration date of the product asset being scanned.
Days
Calculated field, the number of days until the product expires calculated based
on current date.
State
Calculated field. A product asset can be Good, Short-Dated, or Expired. A
product is short dated if Days is less than Short Days defined for this product.
Align the device scanner to the barcode and hit the device button to initiate scan.
An audio beep will confirm the scan. Data from the barcode is parsed into appropriate fields on
the Scan Barcodes Form.
232
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Managing and Performing Cycle Counts with Siebel
Medical Handheld
a
If the product requires only one barcode, the Days and Status field will be calculated and the
application will provide appropriate audio and visual confirmation depending on the State as
follows:
State
Outcome
Good
Audio beep
Short Dated
Audio beep
Expired
Audio beep and pop-up window
For expired products, the you would have to tap OK on the pop-up to acknowledge that
product is expired. You cannot continue to the next scan without acknowledging this pop-up.
b
If the product requires two barcodes, align the device scanner to the second barcode and hit the
device button to initiate scan.
An Audio beep confirms scan. Data from barcode is parsed into appropriate fields on the Scan
Barcodes Form. Use By Days and Status will be calculated and the application will provide
appropriate audio and visual confirmation. See the previous step.
3
Repeat the previous steps for all products that will be counted by barcode scanning
4
Tap Stop to navigate back to Cycle Count Detail view.
Counting Products by Electronically Entering Product
and Asset Records
When you are counting products during a cycle count, you are actually counting assets for that
product. An asset is an instance of a product. Depending on how a product is defined in the Product
Administration views, you may need to create new assets and associate these assets to a product
when counting. This process is done automatically as part of the barcode scanning process. However,
if barcode scanning is not enabled and you are counting products by electronically adding records,
then you need to specify the product and associate assets to the product.
To add products to a cycle count
1
Navigate to Cycle Count.
The My Pending Cycle Counts list appears sorted in ascending order by due date.
2
Select the desired Cycle Count record.
3
From the Show drop-down list, select Cycle Count Detail.
4
Tap in the Cycle Count Detail list to make it active, then tap the New Record button.
5
Tap the arrow drop down on the Product field
The Products picklist will pop-up.
Siebel Medical Handheld Guide Version 8.1/8.2
23 3
Using Siebel Medical Handheld ■ Managing and Performing Cycle Counts with Siebel
Medical Handheld
6
Select a product from the Products pick applet and tap OK button.
Repeat the procedure for as many products as required.
To associate an existing asset to a product
1
Tap in the Cycle Count Detail list to make it active.
2
Select the product with which you would like to associate the asset.
3
Tap the Product hyperlink.
The Product Detail View appears.
4
Tap in the Product Detail list, then tap the New Record button.
5
Tap the arrow in the Lot # field.
The Assets picklist appears.
6
Choose the desired asset, the tap OK.
7
Tap the Back button to navigate to the Cycle Count Detail view
To associate a new asset to a product
1
Tap in the Cycle Count Detail list to make it active.
2
Select the product with which you would like to associate the asset.
3
Click the Product hyperlink.
The Product Detail View appears.
4
Tap in the Product Detail view, then tap the New Record button.
5
Tap the arrow for Lot#, Serial#, or Asset# field.
The Assets picklist appears.
6
Tap New from the Assets picklist.
7
Enter required information for the asset
NOTE: Asset# is auto-generated and Unique ID is read-only. If the product is defined to be
serialized in the Product Administration views, Qty will also be read-only.
8
Tap OK
Repeat the previous steps if you need to create new assets and associate with this product.
9
Tap the Back button to navigate to the Cycle Count Detail view.
Moving Products While Performing a Cycle Count
You can choose to move a product while performing a cycle count. See “Moving Inventory with Siebel
Medical Handheld” on page 235.
234
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Moving Inventory with Siebel Medical Handheld
Completing Cycle Counts
After counting products, you can review the products and assets you counted. You can then complete
the cycle count to make sure that inventory information on the server is updated with information
from your cycle count when you synchronized the handheld device.
To complete a cycle count
1
On the Cycle Count Detail View, Tap Count Complete.
NOTE: Note: If you performed a part move that required approval, you will be navigated to the
Move Approvals view. To capture a signature for an approval-required move, see “Capturing
Signatures for Approval-Required Moves” on page 239.
Moving Inventory with Siebel Medical
Handheld
You can move products that are expired or short-dated from any source location to any destination
location. You can decide to move products while performing a count (for example, an expired
product) or after a count (for example, a short-dated product that you believe would have a higher
probability of being used in another inventory location). You may also decide to move inventory to
another sales representative’s trunk (for example, swap inventory).
Scenario for Performing Part Movements
This topic gives one example of how you can use Siebel Medical Handheld for performing part
movements. You might use Siebel Medical Handheld differently, depending on your business model.
A medical devices sales representative is in the middle of a cycle count. While scanning a product,
they are notified by a beep and dialog box that the product just scanned is expired. The sales
representative taps OK in the dialog box, and sets aside the product as something they will need to
take out of that inventory location. To record this, the sales representative taps Move while still in
the Barcode Scan pop-up view. This brings them to the Part Move view which lists the product and
asset they are moving. Most fields in this view will be prepopulated, so the sales representative
inspects those fields, then taps Accept. A dialog box appears notifying the sales representative that
the move will not be committed until they complete their count. They tap OK, then they tap the back
button to get back to the Scan Barcodes view. They tap Stop to disable scanning and tap Count
Complete to complete their cycle count. This move requires an approval so they are navigated
directly to the Move Approvals view. Additionally, there were a couple of products that were short
dated, and the sales representative would like to discuss them with their contact. After discussing,
the sales representative and the contact agree that these short dated products are better off being
moved so the sales representative navigates to the Inventory Assets view, selects the asset they
wants to move, and taps the Move button. This again brings them to the Part Move form, they inspect
the data, is confident it is accurate, and taps Accept.
Siebel Medical Handheld Guide Version 8.1/8.2
23 5
Using Siebel Medical Handheld ■ Moving Inventory with Siebel Medical Handheld
Because this inventory location is set up to require approval when products are being moved out of
the location, the sales representative needs to capture a signature for this move. After tapping
accept, they are navigated directly to Inventory Move Approvals view, where the signature can be
captured.
You can initiate a move from a number of views in you Handheld application. You can decide to move
an expired product as part of the cycle count process. Or you can decide to move product as a standalone process.
You can perform the following tasks with inventory:
■
“Moving Inventory while Performing the Count” on page 236
■
“Moving Assets while Analyzing Inventory” on page 237
■
“Moving Products as a Stand-Alone Process” on page 238
■
“Capturing Signatures for Approval-Required Moves” on page 239
Moving Inventory while Performing the Count
You can choose to move a product while performing a cycle count. If you scan an expired product,
you can choose to set it aside and record the part move before you scan the next product. This can
also be done while performing a count by electronic addition of product and assets
To move a product from the Scan Barcodes view while scanning products during a
count
1
While in the Scan Barcodes view, tap Move.
NOTE: After scanning expired product, an Expired Product pop-up will appear. Acknowledge this
message by tapping OK on the pop-up.
The following table explains some of the fields:
236
Field
Description
Pre-Default Value
Type
Transaction Type
Stock Transfer
From
Source Inventory Location
Inventory location on which the cycle
count is being performed.
To
Destination inventory location
Representatives’ inventory trunk, if
defined.
Product
Product being moved.
Product name of the product that was
scanned.
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Moving Inventory with Siebel Medical Handheld
Field
Description
Pre-Default Value
Qty
Quantity
Read-only depending on how the
product is defined in Product
Administration view.
Requires Approval
Check flag indicating whether
part move requires a
signature approval.
Read-only.
2
Review and update information as needed.
3
Tap Accept to accept the part move, or Cancel to void the transaction.
NOTE: Upon tapping Accept for a move that requires approval, an Error dialog box will appear
specifying: “The Part Move could not be committed due to a cycle count in progress at the Source
Location. Your request has been saved and will be processed when the Cycle Count has been
completed at the Source Location.”
4
Tap OK to acknowledge and navigate back to the Part Move view.
5
Tap the Back button to go back to the Scan Barcodes view.
To move a product from Cycle Count Detail view while performing a count by
electronically entering products and assets
1
After electronically adding an asset, navigate to the Product Detail View.
For information on adding an asset, see “To add products to a cycle count” on page 233.
2
Select the asset you want to move and tap Move.
The Part Move form appears with product, asset, and inventory information prepopulated.
3
Review and update information as needed.
4
Tap Accept to accept the part move or Cancel to void the transaction.
NOTE: Upon tapping Accept for a move that requires approval, an Error dialog box will appear
specifying: “The Part Move could not be committed due to a cycle count in progress at the Source
Location. Your request has been saved and will be processed when the Cycle Count has been
completed at the Source Location.”
5
Tap OK to acknowledge, and navigate back to the Part Move view.
6
Tap the Back button to go back to the Product Detail View.
Moving Assets while Analyzing Inventory
While discussing the results of your cycle count with your contact, you may decide to move some
short-dated products to another inventory location where they have a higher probability of being
used. You can initiate this move from the Inventory Assets view or from the Move Transactions view.
Siebel Medical Handheld Guide Version 8.1/8.2
23 7
Using Siebel Medical Handheld ■ Moving Inventory with Siebel Medical Handheld
To move a product from Inventory Assets view
1
Navigate to the Inventory screen, then select Assets from the Show drop-down list.
2
In the Assets list, select asset record.
3
Tap Move.
Part Move form appears with product, asset, and inventory information prepopulated as
described in the following table:
4
Field
Description
Pre-Default Value
Type
Transaction Type
Stock Transfer.
From
Source Inventory Location
Inventory location on which the cycle
count is being performed.
To
Destination inventory
location
Representative’s inventory trunk, if
defined.
Product
Product being moved.
Product name of the product that was
scanned.
Qty
Quantity
Read-only depending on how the
product is defined in Product
Administration view.
Requires Approval
Check flag indicating
whether part move requires
a signature approval.
Read-only.
Tap Accept to accept the part move or Cancel to void the transaction.
NOTE: Tapping Accept would commit the transaction. If this move requires an approval from
your contact at the inventory location, you will be automatically navigated to the Move Approvals
view. To move more inventory, tap Back button to navigate back to Inventory Assets view and
repeat the previous steps.
Moving Products as a Stand-Alone Process
You can also move inventory as a stand-alone process.
To move inventory from the Move Transactions view
1
Navigate to Move, then from the Show drop-down list, choose Inv Transactions.
238
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Moving Inventory with Siebel Medical Handheld
2
Tap Move.
The Part Move Form appears with product, asset, and inventory information prepopulated as
described in the following table:
Field
Description
Pre-Default Value
Type
Transaction Type
Stock Transfer
From
Source Inventory Location
None. Required.
To
Destination inventory location
None. Required.
Product
Product being moved
None. Required.
Qty
Quantity
0. Read-only depending on how the product is
defined in Product Administration views.
Requires
Approval
Check flag indicating whether
part move requires a
signature approval.
Read-only.
3
Tap in the Detail view, then update the From, To, and Product fields.
4
Tap in the Assets list to make it active, and then tap the New Record button.
5
Tap the Lot#, Serial#, or Asset# drop-down control for the new record created.
The Pick Asset list appears.
6
Select an asset record, then tap OK.
7
Tap Accept to accept the part move or Cancel to void the transaction
NOTE: Tapping Accept commits the transaction. If this move requires an approval from your
contact at the inventory location, you will be automatically navigated to the Move Approvals view.
To move more inventory, tap the Back button to navigate back to Move Transactions view and
repeat the steps above.
Capturing Signatures for Approval-Required Moves
You can capture signatures directly on the handheld device for moves that require approval. This
approval can be enforced at the inventory location level or at the product level by your System
Administrator. For more information, see “Moving Inventory with Siebel Medical Handheld” on
page 235. If a move requires approval, you will be automatically navigated to the Inventory, then
the Move Approvals view.
To capture a signature for an approval-required move:
1
On the Inventory Move Approval view, tap in the Move Approval List to make it active.
NOTE: Make sure that the Pick field has a check for all move transactions that you want to
capture signatures for.
Siebel Medical Handheld Guide Version 8.1/8.2
23 9
Using Siebel Medical Handheld ■ Analyzing Inventory with Siebel Medical Handheld
2
Tap Sign.
The Signature Capture pop-up appears.
3
Capture the signature from the contact, then tap Accept.
Analyzing Inventory with Siebel Medical
Handheld
Analyzing inventory is critical task in managing consigned inventory. You can view all assets that are
in that inventory location and determine which short-dated assets would have a higher probability
of being used in another inventory location. You can also view detailed inventory and usage
information on consigned inventory for that inventory location and assess whether the customer is
complying with its contractual commitment of minimum level of inventory. Lastly, you can view
detailed inventory and usage for all products and product classes or groups in a hierarchical format.
Scenario for Analyzing Inventory Results
This scenario is one example of how you can use Siebel Medical Handheld to analyze inventory. You
might use Siebel Medical Handheld differently, depending on your business model.
After completing a cycle count, a medical representative taps Count Complete on their handheld
device. The application navigates them to the Inventory Detail view where they can review the count
and usage results at different levels in the product hierarchy. The medical representative then taps
Consignment to examine the customer's adherence to the contract. Based on the usage summary
and the consignment data, the medical representative determines that they should discuss adjusting
consignment levels with the doctor or contact that site.
When analyzing inventory, you can perform the following tasks:
■
“Viewing Hierarchical Results for Inventory and Usage” on page 240
■
“Viewing Results for Consigned Inventory” on page 242
■
“Viewing Assets in an Inventory Location” on page 243
Viewing Hierarchical Results for Inventory and Usage
You can view detailed inventory and usage information on products, product classes, and product
groups for an inventory location. Siebel Medical Handheld tracks this relationship using a product
hierarchy approach. You can view results for all products in the product hierarchy through explorer
type views that let you go down and up various levels in the product hierarchy.
About Product Hierarchies
A product hierarchy is a grouping of products. It is a way to track relationships between products,
product groups, or product classes. A product hierarchy is similar to a family tree on which you have
root parent product, parents and child products, and leaf-level products. Your company can track
many product hierarchies for a certain inventory location.
240
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Analyzing Inventory with Siebel Medical Handheld
Your administrator defines this product hierarchy as part of the product administration process. Your
administrator also defines which products are being tracked for an inventory location and up to what
level of the product hierarchy will be tracked by the Handheld application.
About Usage Calculations
Sales representatives can use the Siebel Medical Handheld to analyze usage behavior on consigned
inventory. They can compare Average Usage (Field called 'Use' in the Inventory Detail views) and
Historical Average Usage (Field called 'Avg' in the Inventory Detail views). Average Usage is the
quantity used over a pre-defined number of days based on the last two cycle counts performed. The
Historical Average Usage is the quantity used over a pre-defined number of days based on all cycle
counts ever performed for that product. By comparing these two calculations, you will be able to
determine whether there are any significant changes to usage behavior for a certain product. You
can use this information to identify cross-sell and up-sell opportunities.
For details on how Usage is calculated, please refer to “Administering Siebel Medical Handheld
Applications for Consignment Inventory Management” on page 117.
NOTE: Usage is calculated when Sales Representatives tap 'Count Complete' button as they
complete a cycle count. It will only be calculated for products that are counted during that cycle
count. Also, Usage numbers will not be calculated during the first time that a cycle count is performed
on an inventory location. Usage calculations need a reference cycle count, since it is the first cycle
count, the application will not be able to calculate meaningful numbers.
To access hierarchical inventory and usage results
1
Navigate to Inventory.
The Inventory Locations screen appears.
2
Select the inventory location from the Inventory list.
3
From the Show drop-down list, select Inventory Detail.
NOTE: You can also be automatically navigated to the Inventory Details view after completing a
cycle count.
4
Tap Roll up.
NOTE: Tapping Roll up ensures that inventory and usage is calculated using the latest cycle count
results and aggregates these values up through the product hierarchy
5
Tap on the Inventory list, and tap the any product record's hyperlink.
The Product Hierarchy view appears. The top list applet shows top-level products. The bottom
applet lists all child products for product that is selected on the top list applet. The following table
lists the information which is available for the top and bottom lists applets.
Field
Comments
Product
Name of the product.
Part #
Product part number.
Siebel Medical Handheld Guide Version 8.1/8.2
24 1
Using Siebel Medical Handheld ■ Analyzing Inventory with Siebel Medical Handheld
Field
Comments
Min
Contracted minimum level of inventory required for that product in the
inventory location. This is the minimum inventory that this customer agreed in
return for pricing benefits.
Level
Flag to identify whether this product is consigned to the inventory location.
Qty
Current level of inventory.
Delta
Calculated. Difference between Min and Qty. If negative, this is the amount less
then the minimum level required.
Use
Calculated. Average Usage. Average Usage is the average quantity used within
a pre-defined number of days based on last two cycle counts. Please refer to
About Usage Calculations for details.
Avg
Calculated. Historical Average Usage. Historical Average Usage is the average
quantity used within a pre-defined number of days based on all cycle counts
performed for that product.
6
Select a different product in the top list applet to show it's child product information in a
subordinate list.
7
Navigate down the product hierarchy to show next level parent and child product information.
See “To navigate product hierarchy” on page 242 for more information.
To navigate product hierarchy
1
In the Product Hierarchy view, tap Down.
Both lists refresh to show second-level parent and child products.
2
Continue to tap Down to navigate down the product hierarchy until you reach leaf-level products,
or do the following:
■
Tap Up to navigate up the product hierarchy.
■
Tap the Back button to go back to the Inventory Detail view.
Viewing Results for Consigned Inventory
You can keep track of compliance to contractual commitments and detailed inventory and usage
information for consigned inventory at an inventory location.
To view results for consigned inventory:
1
Navigate to Inventory.
The Inventory Locations screen appears.
2
Select the inventory location from the Inventory Locations list.
242
Siebel Medical Handheld Guide Version 8.1/8.2
Using Siebel Medical Handheld ■ Analyzing Inventory with Siebel Medical Handheld
3
From the drop-down list, select Inventory Detail.
NOTE: You can also be automatically navigated to the Inventory Details view after completing a
cycle count.
4
Tap the Consignment button.
The Consignment Detail view appears. The top form applet shows information on the inventory
location and last roll up date. The bottom applet lists all products that are consigned at that
inventory location regardless of their place in the product hierarchy. The following table lists the
information which is provided for all consigned products:
5
Field
Comments
Product
Name of the product.
Part #
Product part number.
Min
Contracted minimum level of inventory required for that product in the
inventory location. This is the minimum inventory that this customer agreed in
return for pricing benefits.
Qty
Current level of inventory
Delta
Calculated. Difference between Min and Qty. If negative, this is the amount less
than the minimum level required.
Use
Calculated. Average quantity used per day based on last two cycle counts.
Avg
Calculated. Historical average quantity used per day based on all cycle counts.
Tap the Back button to navigate to the Inventory Detail view.
Viewing Assets in an Inventory Location
You can determine which products and assets are located in an inventory location. For each asset,
you will be able to determine critical information to manage the inventory, such as expiration date
and status.
To view assets in an inventory location
1
Navigate to Inventory.
The Inventory Locations screen appears.
Siebel Medical Handheld Guide Version 8.1/8.2
24 3
Using Siebel Medical Handheld ■ Analyzing Inventory with Siebel Medical Handheld
2
Select an inventory location, and then select Assets from the Show drop-down list.
The Inventory Assets view appears. The top applet shows information on the inventory location.
The bottom applet provides detailed information for all assets located in that inventory location,
as follows:
Field
Comments
Product
Name of Product.
Part #
Product part number.
Lot #
Lot number of product asset being scanned.
Serial #
Serial number of the product asset being scanned.
State
Calculated field. A product asset can be Good, Short-Dated, or Expired. A
product is short dated if Days is less than the Short Days defined for this
product.
Qty
Quantity found on the product asset being scanned.
Days Left
Calculated field, the number of days until the product expires calculated based
on current date.
Use By
Expiration date of the product asset being scanned.
NOTE: You can also move products from the Inventory Assets view. To do this, see “Moving Assets
while Analyzing Inventory” on page 237.
244
Siebel Medical Handheld Guide Version 8.1/8.2
A
Troubleshooting
This appendix addresses some of the common issues—including installation, logging, and
performance—faced while deploying a Siebel Handheld application. The audience for this appendix
is Siebel database administrators, system administrators, and application administrators. The
following topics are covered in this appendix:
■
“Troubleshooting Siebel Handheld Application Installation” on page 245
■
“Troubleshooting Siebel Handheld Application Synchronization” on page 246
■
“Siebel Handheld Application Log Files” on page 249
■
“Using SQLTrace with Siebel Handheld Applications” on page 252
■
“End User Error Messages” on page 253
■
“Web Server Timeout Errors” on page 253
■
“Handheld Device Timeout Errors” on page 253
■
“Siebel Handheld Application Performance” on page 254
Troubleshooting Siebel Handheld
Application Installation
Siebel Handheld applications support a specific and limited set of devices, Handheld application OS,
desktop OS, server OS, server databases, and languages. This range of devices and platform support
varies widely across the range of Siebel Handheld application releases and must be carefully checked
to confirm support. For information about supported handheld devices, operating systems, desktop
OS, server OS, and server databases, see Siebel System Requirements and Supported Platforms on
Oracle Technology Network for your Siebel application.
Client Installation, Backup, and Restore
If you encounter problems while installing the Siebel Handheld application on client devices from a
desktop PC, refer to the following checklist. Most installation problems are covered by this checklist.
■
Confirm that the handheld device is certified and supported. Refer to Siebel System
Requirements and Supported Platforms on Oracle Technology Network.
■
Confirm that the handheld device has 64 megabytes (MB) or higher of random access memory
(RAM) with the majority of it available for the Siebel Handheld application.
■
Make sure an ActiveSync connection is running (green icon). If not, check your computer to make
sure that the serial or USB port is activated and functioning correctly.
Siebel Medical Handheld Guide Version 8.1/8.2
24 5
Troubleshooting ■ Troubleshooting Siebel Handheld Application Synchronization
■
If a previous version of Siebel Handheld application is installed on the device, make sure you
uninstall the application. For more information about uninstalling applications, see “Uninstalling
the Siebel Handheld Application” on page 171.
The binaries for the Siebel Handheld application can also be installed to a CompactFlash card to
conserve (RAM) memory. The application will still be loaded into memory when it executes. To install
on the CompactFlash card, set the ApplicationBinariesLocation and ApplicationDataLocation
parameters in the setup.ini file. For more information about installing on a CompactFlash card, see
“Setting Up Siebel Handheld Application Installation on a CompactFlash Card” on page 152.
The Siebel Handheld application only (no data) can also be copied onto a CompactFlash card to aid
in deployments. The initial backup image must be made of a device that has not done an initial
synchronization. An initial synchronization will still be required by each user to receive the
configuration and data. For information on backup utilities, see the documentation accompanying
your handheld device.
It is also possible to back up your Siebel Handheld application on a PC using the Backup/Restore
feature within ActiveSync.
Troubleshooting Siebel Handheld
Application Synchronization
Synchronization problems can be caused by incorrect settings in the Siebel Handheld application
setup.ini or .cfg files. Be sure that application names, data sources, and .srfs are correct.
Make sure to set the SyncURL setting in the client setup.ini file for all synchronization methods. Also,
be sure to grant the user visibility to these views in the Administration - Application screen, then the
Responsibilities view.
NOTE: Check the log files and confirm the accuracy of the generated connect string.
To troubleshoot synchronization for your Siebel Handheld application, review the following topics:
■
“Companion Synchronization Checklist” on page 246
■
“Direct Server Synchronization Checklist” on page 247
■
“Resynchronizing Problems” on page 248
■
“Synchronization Timeout Parameters” on page 248
Companion Synchronization Checklist
Use the following list to troubleshoot problems you encounter using Companion Synchronization.
■
Is the latest version of ActiveSync (version 3.5 or later) installed and running?
■
Is ActiveSync connected (green icon)?
■
Do you have the correct data source defined in the .cfg file of your Siebel Handheld application?
246
Siebel Medical Handheld Guide Version 8.1/8.2
Troubleshooting ■ Troubleshooting Siebel Handheld Application Synchronization
■
If you have problems logging in, check to make sure that you can use the same credentials to
log into the desktop client.
■
Remember to keep a 1:1 ratio of users to devices. Only a single user can log in to synchronize
each device. Failure to do so causes data corruption.
When using a SRF with a custom configuration and a synchronization error occurs during
initialization, follow the steps below to troubleshoot problems:
To troubleshoot Companion Synchronization configuration errors
1
Add HandheldSyncLogLevel = 5 to the [pda] section in the .cfg and look for more error details
in the CompSync log.
2
Use the Validate function in Siebel Tools to look for a configuration error.
3
Remove Siebel Handheld application views from user responsibility until synchronization passes
the error point.
4
Remove DefaultBusObjs from the Administration - Mobile screen, Application Administration,
then the Settings view until synchronization passes the error point.
Direct Server Synchronization Checklist
Use the following checklist to troubleshoot problems you encounter using Direct Server Sync.
■
Did you install all client and server components successfully?
■
Is there a PDA Object Manager (OM) running on the Siebel Server?
■
Did you bounce the IIS, SWE, and Siebel Server after installation?
■
Do you have network access to the URL for DSS? Can you ping the IIS server from inside and, if
applicable, from outside the firewall?
■
Can you successfully run a SWE command?
■
Do you have the correct SyncURL defined in the setup.ini file?
■
Is the network connection working from the device? Try Pocket Internet Explorer.
■
If you have problems logging in, check to make sure that you can use the same credentials to
log into the desktop client.
■
Remember to keep a one to one ratio of users to devices. Only a single user can log in to
synchronize each device. Failure to do so causes data corruption.
When using a SRF with a custom configuration and a synchronization error occurs during
initialization, follow the steps below to troubleshoot problems:
Siebel Medical Handheld Guide Version 8.1/8.2
24 7
Troubleshooting ■ Troubleshooting Siebel Handheld Application Synchronization
To troubleshoot Direct Server Synchronization configuration errors
1
Turn on synchronization logging for your Siebel Handheld application to 5 and look for more error
details in the Synchronization OM log of your Siebel Handheld application.
For more information about logging, see “Configuring Logging Levels for Direct Server
Synchronization” on page 141.
2
Use the Validate function in Siebel Tools to look for a configuration error.
3
Remove the Siebel Handheld application views from user responsibility until synchronization
passes the error point.
4
Remove DefaultBusObjs from the Administration - Mobile screen, Application Administration,
then the Settings view until synchronization passes the error point.
Resynchronizing Problems
Generally if, for whatever reason, synchronization is terminated, the user is prompted with a
message and the synchronization process ends. In this situation the synchronization session is
allowed to close. However, if the connection with the server is unintentionally broken, the session
might not have a chance to close before the connection is broken. Therefore, if the user tries to
immediately synchronize again, they might get an error message and be unable to synchronize. If
this occurs, the user must wait for a period of time (generally, 15 minutes) to allow the session to
time out and terminate. Once the session terminates, the user can synchronize again.
Synchronization Timeout Parameters
The following parameters control the timeouts for the synchronization process:
■
Companion Synchronization timeout parameters are stored in the laptop registry under
HKEY_CURRENT_USER, Software, Oracle, Siebel Handheld, and include the following:
SyncTimeout—This sets the timeout value for the entire synchronization process (from the
handheld device to the laptop to the server and back again). The default value, 1800000
milliseconds, is 30 minutes.
RemoteTimeout—This is the length of time for the handheld device Syncmanager process to wait
for a remote synchronization to complete, before timing out. The default value, 1800000
milliseconds, is 30 minutes.
RemoteTimeout can also be controlled from the setup.ini file. For more information about the
setup.ini parameters, see “Siebel Handheld Application setup.ini Parameters” on page 146.
NOTE: RemoteTimeout only applies to synchronizations using Companion Synchronization and
when remote synchronization is enabled.
248
Siebel Medical Handheld Guide Version 8.1/8.2
Troubleshooting ■ Siebel Handheld Application Log Files
■
Direct Server Synchronization timeout parameters are stored in the .cfg file and include:
IIS Timeout—This is the length of idle time between communications from a handheld device to
the server, before a timeout occurs.
OM Timeout—An OM (object manager) timeout is triggered by an idle timeout on the server or
any loss of communication with the OM for the defined period.
For more information about changing these timeout settings, see “To change the IIS timeout
value” on page 249 and “To change the OM timeout value” on page 249.
To change the IIS timeout value
1
Open IIS.
2
Go to Default Web Site, right click, and open Properties.
3
Change the value for the Connection Timeout setting.
The default value for Connection Timeout is 900000 milliseconds, or 15 minutes.
NOTE: This parameter only applies to synchronizations using Direct Server Sync.
To change the OM timeout value
1
Open the .cfg file for your handheld device.
2
Under the Siebel section, change the entry for SrvrTimeOutInterval.
The default value for SrvrTimeOutInterval is 600000 milliseconds, or 10 minutes.
NOTE: This parameter only applies to synchronizations using Direct Server Sync.
Siebel Handheld Application Log Files
This topic provides information about the different types of log and output files that are generated
by your Siebel Handheld application. This topic includes the following information:
■
“Direct Server Synchronization Log and Output Files” on page 250
■
“Companion Synchronization Log and Output Files” on page 250
■
“Handheld Device Log” on page 251
A new handheld synchronization log file, hhsync.log, is created on the first synchronization of each
day, and when the synchronization node id changes in the Siebel Handheld application. The
synchronization node id changes when you re-install or restart the Siebel Handheld application on
your handheld device. Where multiple synchronization node folders are created under the user folder
(for example, as follows in DSS), then this means that the synchronization node id has changed:
\Siebsrvr\hhsync\phce\userName\syncNode
Siebel Medical Handheld Guide Version 8.1/8.2
24 9
Troubleshooting ■ Siebel Handheld Application Log Files
Direct Server Synchronization Log and Output Files
The name of the Direct Server Synchronization Log is the OM name plus the task ID for that log
session. The log is found in the log subdirectory under the Siebel root directory. Depending on the
amount of detail enabled, this file can give a good perspective of what has happened during
synchronization regarding the Siebel OM.
To assist in service request (SR) resolution, collect the following files when logging
a Siebel Handheld application service request. The following files are found on the
machine where Siebel Server is installed:
■ All server synchronization user files in the Siebel Root\siebsrvr\hhsync\application
directory\user id\node id directory.
■
Server application event log extract.
■
Server system event log extract.
■
All files in the Siebel Root\siebsrvr\log directory including CompName_task.log.
where CompName is the name of an application server component, and task is a Siebel task
number. Each synchronization session is assigned a new Siebel task, so there will be many of
these. An example CompName value is SalesCE_enu (note that language is part of the
component name itself).
■
All files from all subdirectories under the Siebel Root\siebsrvr\logarchive directory.
■
Server performance and monitoring log files (showing memory, network, disk performance), if
available.
The following files are found on the machine where the Web Server (that is, IIS) is installed:
■
SWE log files from Siebel Root\eappweb\log (all files).
■
IIS server application event log extract.
■
IIS server system event log extract.
■
IIS server performance and monitoring log files (showing memory, network, disk performance),
if available.
For help with resolution, create a SR on My Oracle Support.
Companion Synchronization Log and Output Files
The name of the Companion Synchronization Log is compsync.log. It is found in the log subdirectory
under the Siebel root directory. Depending on the amount of detail enabled, this file can give a good
perspective of what has happened during synchronization regarding the Siebel object manager:
■
Siebel Root\client\hhsync\application directory\user id\node id directory.
■
NT application event log extract.
■
NT system event log extract.
■
All files in the Siebel Root\client\log directory.
250
Siebel Medical Handheld Guide Version 8.1/8.2
Troubleshooting ■ Siebel Handheld Application Log Files
■
Performance and monitoring (Perfmon) log files (showing memory, network, disk performance),
if available.
Handheld Device Log
The siebel_ log.txt file is found in the /Program Files/Siebel Handheld directory on the handheld
device. It is controlled by reg key DefaultLogLevel, with values 0-4. For more information about
DefaultLogLevel, see “Siebel Handheld Application setup.ini Parameters” on page 146.
The default value of the reg key during installation is 2. This file logs all of the following:
■
Database objects that were imported during synchronization.
■
All SQL statements generated by the application. You must set a parameter in the setup.ini file
to turn this log on. DefaultLogLevel=3 and 4 will log SQL statements to the device log.
For more information about setting DefaultLogLevel, see “Siebel Handheld Application setup.ini
Parameters” on page 146.
■
All system error messages. You must set a parameter in the setup.ini file to turn this log on.
DefaultLogLevel=4 will give the most detailed log with debug info.
For more information about setting DefaultLogLevel, see “Siebel Handheld Application setup.ini
Parameters” on page 146.
■
All of the messages displayed on the Sync Manager dialog box as well as some basic information
about synchronization, such as data source and connect string. You can set the logging level for
this file using the DefaultLogLevel parameter in the setup.ini file.
Logging Synchronization Errors for Siebel Handheld Applications
Synchronization for a Siebel Handheld application logs all the strings that the user sees in the
synchronization message window, as well as many informational messages that do not get displayed
in the UI. These informational messages are used to help track down where an error occurred.
Synchronization for a Siebel Handheld application determines which messages get logged based on
a value stored in the registry under the key DefaultLogLevel. The values range from 0 to 4, where 0
logs all error messages and strings that the user sees, and 4 logs all data that is sent and received
during synchronization.
If synchronization for your Siebel Handheld application fails, check the siebel_log.txt file immediately
after the failure. If you need more detail, increase the logging level of DefaultLogLevel and run
synchronization for the Siebel Handheld application again. For more information about changing
DefaultLogLevel, see “Siebel Handheld Application setup.ini Parameters” on page 146.
You can determine when and where an error occurs during synchronization of your Siebel Handheld
application by referring to siebel_log.txt and the Sync Object Manager log.
The device log, siebel_log.txt, shows the last HTTP command that was sent to server, for example,
ExecuteLogin, Init, ProcessTransactionEx, ExtractDB, and so on. The Sync Object Manager log
receives the request and invokes the corresponding method.
Siebel Medical Handheld Guide Version 8.1/8.2
25 1
Troubleshooting ■ Using SQLTrace with Siebel Handheld Applications
For example, in the device log (siebel_log.txt), the following code indicates that the device is sending
an initialization request to the Siebel Server:
INFO0x6F46107E03/30/2005 16:58:27http ://PPP_PEER:2323/medicalce/
start.swe?SWEExtSource=siebelpda&SWEExtCmd=Init&PatchLevel=7.7.2.2PDA%5b18356_1]
8.471262E-309NU&SyncFormat=CE0&SyncNodeId=&TimeStamp=1112230707
INFO0x6F46107E03/30/2005 16:59:20<Init ReturnCode="OK" Complete="100">
The server log (Sync Object Manager log, that is, CompNameObjMgr_enu_xxxxx.log), shows that
the Init request is received by the server and the Init method is invoked:
ObjMgrBusServiceLogInvokeMethod402005-03-23 10:45:27Begin: Business Service
'Handheld Synchronization' invoke method: 'Init' at 10c2bc68
HandheldSyncLogDebug502005-03-23 10:45:27Request Init received
(Where CompName is the server component name of the synchronization for the specific Siebel
Handheld application.)
In addition to the device log, check the CompSync log in laptop (for Companion Synchronization) or
SalesCEObjMgr_enu_xxxxx.log in Siebel Server (for DSS). For more information about changing
logging levels, see “Configuring Logging Levels for Direct Server Synchronization” on page 141 and
“Configuring Logging Levels for Companion Synchronization” on page 142.
Using SQLTrace with Siebel Handheld
Applications
Use SQLTrace for diagnostic purposes if you encounter serious configuration errors or performance
problems and cannot otherwise diagnose the problem. The problem can quickly become apparent in
the log entries from SQL tracing.
NOTE: SQLTrace can also be enabled for Companion Synchronization too.
To enable SQL tracing
CAUTION: When SQL tracing is enabled, synchronization is severely and adversely affected.
Therefore, it is recommended that you turn SQL tracing on for a limited time to diagnose a specific
problem, then turn SQL tracing off.
1
Log into srvrmgr prompt.
2
At the DOS prompt, run server manager (srvmgr) from the <siebsrvr/bin> directory:
srvrmgr /g gateway /e enterprise /u sadmin /p sadmin
3
Run: change evtloglvl ObjMgrSqlLog=4 for comp [OMName], where [OMName] = the OM name
(for example, MedicalCEObjMgr_enu).
4
Log entries are written as described in “Siebel Handheld Application Log Files” on page 249.
252
Siebel Medical Handheld Guide Version 8.1/8.2
Troubleshooting ■ End User Error Messages
End User Error Messages
In addition to errors found in the siebel_log.txt file, you might receive a Transaction Errors Reported
message during synchronization. These errors are logged in TXNError.hh. The message appears on
the handheld device in the Syncmanager Status box. You can double-click the message at any time
to see the errors. You can set the following settings in setup.ini:
■
TXNErrorLevel = 0 (no log information)
■
TXNErrorLevel = 1 (report txn errors in the client)
For more information about user messages, see “Troubleshooting Synchronization with the Siebel
Handheld Application Client” on page 189.
Web Server Timeout Errors
If synchronization times are long due to the size of the database file or the speed of the network
connection, your users can encounter Web Server timeout errors and synchronization failures. First
try to resolve this problem by reducing the size of your extract and configuring your server
performance. You can reduce the size of the extract by fine-tuning filters, or if appropriate filters
have already been defined, select ones that will return less data. If after doing this, your users
continue to experience timeout errors, then increase the timeout parameter on IIS for the default
Web Server.
Follow the procedure for your platform to change the timeout parameter.
To change the timeout parameter on Windows
1
From the Start menu, select Programs, Administrative Tools, then Internet Services Manager.
2
From the Internet Information Services window, select the local machine, right-click on the
Default Web Site, and select Properties from the pop-up list.
3
From the Web Site Properties window, select the Web Site tab.
4
Under the Connections heading, locate the Connection Timeout property and increase the
number of seconds.
5
Click OK.
Handheld Device Timeout Errors
The following three parameters are stored in the device registry. They control the device timeout.
For more information about device timeout errors, see the following parameters in “Siebel Handheld
Application setup.ini Parameters” on page 146:
■
InternetOptionReceiveTimeout = 600000
■
InternetOptionSendTimeout = 600000
■
InternetOptionDataExtractionTimeout = 600000
Siebel Medical Handheld Guide Version 8.1/8.2
25 3
Troubleshooting ■ Siebel Handheld Application Performance
Siebel Handheld Application
Performance
This topic discusses ways you can optimize your client performance, server performance, and
network performance.
Client Performance
Client performance is affected primarily by the device capability (minimum 206 MHz processor and
64 MB RAM), configuration, and the quantity of data loaded onto the device. In general, screen-toscreen and view-to-view navigation times of 3 to 4 seconds or less are considered normal.
It is strongly recommended that you follow these general guidelines to optimize the performance of
your Siebel Handheld applications:
■
Keep configuration under 30 views.
■
Keep RML file size under 1.75 MB.
■
Keep database files (dbfile.txt) under 3 MB.
■
Keep the number of records for each business component under 2,500.
■
Avoid installing other applications on the device at the same time.
■
Users must synchronize their data frequently.
Additional configuration information can be found in Bulletin 476964.1 on My Oracle Support. This
document was previously published as Siebel Technical Note 405.
The Siebel Handheld Client benefits from periodically closing and restarting the Siebel Handheld
application to release memory consumed by the operating system. Close the Siebel Handheld
application from the application-level menu. For information about how to close the application, see
the online help for the Siebel Handheld application.
If an external VGA driver is or has been loaded on the device in the past and is no longer needed,
be sure to unload it, because it is known to have significant performance impacts on handheld
devices.
Server Performance
Server performance affects the performance and scalability of Direct Server Synchronization
processes. Customers can engage Expert Services to do a Scalability Review. The following
guidelines are general in nature and pertain to the synchronization components of your Siebel
Handheld application running on a Siebel Server:
■
Use Performance Monitor to track memory and processor performance on the Siebel Server.
■
Make sure that the Servers (IIS, GW, OM and DB) are on the same high speed LAN segment.
■
The synchronization components of your Siebel Handheld application will stress Siebel Server
and database performance because of the intensive interactions during large concurrent
synchronizations.
■
Estimate that 64 MB is used for each Siebmtsh.exe instance.
254
Siebel Medical Handheld Guide Version 8.1/8.2
Troubleshooting ■ Siebel Handheld Application Performance
■
To calculate the theoretical maximum concurrent users:
Numusers=Server_Memory*threads_per_process_ratio/64 MB
■
Optimize the Threads for each Process Ratio (Max Tasks/Max MT Servers) according to Technical
Note 405.
■
Set Max Tasks=Max. number of concurrent users (for example, 150).
■
Set MinMTServers=MaxMTServers (for example, 30 for 5:1 ratio, if this is determined to be
appropriate).
To optimize and tune a Siebel DB server:
■
Use Performance Monitor to track memory and processor performance on the DB server.
■
Turn on SQL tracing and search for long-running SQL calls.
■
Estimate 64 MB of RAM for each concurrent user.
■
Consider creating indexes to tune the queries. For help with creating indexes to tune queries,
contact your Oracle sales representative for Oracle Advanced Customer Services to request
assistance from Oracle's Application Expert Services.
■
Consider using a RAID 0+1 disk array with an expanded number of spindles to optimize database
performance.
NOTE: Make sure that DB Server settings are set to recommended values. Set timeouts at the Siebel
Server. Be careful that the timeout is set longer than the longest SQL query.
Network Performance
The condition of the network affects Direct Server Synchronization performance and scalability. In
general, a low-latency, high-bandwidth network is preferred with dedicated rather than shared
network connections. The following are general network considerations:
■
Make sure there is adequate bandwidth throughout the entire round-trip of network packets and
estimate where bottlenecks will occur due to high concurrent load. For example, if 50 users are
concurrently synchronizing 1 MB each, 50 MB of data must pass through the network. If this data
is passing through a single leased 56 KB/second line, then this data will minimally take 500,000
KB/56 KB/sec=8928 seconds=148 minutes. In reality, a 56 KB per second line will offer only 3040 KB per second average throughput, which causes further bandwidth constraints. Check the
total available bandwidth of network providers (private or public ISP).
■
Verify that you have low latency lines with ping round trips of less than 1 second (1000 ms) with
no dropped packets.
■
Verify if roundtrips occur with less than 10 hops.
■
Check the actual throughput of network connections by performing simple file transfers with no
Siebel software.
■
VPN software from third parties accounts for 30 to 60 percent of additional packet overhead
because of the encryption.
Siebel Medical Handheld Guide Version 8.1/8.2
25 5
Troubleshooting ■ Siebel Handheld Application Performance
Network problems can usually be resolved by working with network providers to size network
connections and optimize network routing. Consider the use of burst networks, quality of service
contracts, private networks, and dedicated modem banks directly into a high-speed LAN
environment.
256
Siebel Medical Handheld Guide Version 8.1/8.2
B
Business Components and
Classes
The Siebel Handheld Client supports a subset of the business components and classes supported by
the Siebel Web Client application. This appendix lists the supported business components, business
component classes, and applet classes. The following topics are covered in this appendix:
■
“Business Components for Siebel Medical Handheld” on page 257
■
“Business Component Classes for Siebel Medical Handheld” on page 258
■
“Applet Classes for Siebel Medical Handheld” on page 259
Business Components for Siebel Medical
Handheld
Table 38 lists the supported business components for Siebel Medical Handheld applications.
Table 38.
Business Components for Siebel Medical Handheld
Supported Business Components
Description
Account Contact Affiliation
Holds contact affiliation information in relation to
accounts.
Account Note
Holds note information in relation to an account.
Account Private Note
Holds private note information in relation to an
account.
Asset Mgmt - Asset
Holds asset information
CUT Address
Holds address related information, such as, Postal
Code and City.
Contact Account Affiliation
Holds account affiliation information in relation to
contacts.
Cycle Counting
A business component that allows a Rep to perform
Cycle Counting. This is the header record with Start
and End Dates and Inventory Location.
FS Bucket
Holds information about inventory details, such as,
availability, inventory location, inventory level, and
product details of the inventory in the
representatives trunk.
FS InvLoc Product
Holds the invoice location details for a product.
Siebel Medical Handheld Guide Version 8.1/8.2
25 7
Business Components and Classes ■ Business Component Classes for Siebel Medical
Handheld
Table 38.
Business Components for Siebel Medical Handheld
Supported Business Components
Description
FS Inventory Location
Holds inventory location information for a given
account or customer.
FS Inventory Transaction
Holds inventory transaction information for an
activity.
FS Transaction Assets
Holds information about asset transactions,
including asset number and asset description.
Pharma ME Event
Holds details about the Medical Education events to
which a contact is invited.
Pharma Professional Note
Holds note information for a pharmaceutical
company.
Pharma Professional Private Note
Holds private note information for a pharmaceutical
company.
Retail Outlet Best Call Time
Holds information about the best time to call on
retail outlets for a pharmaceutical company.
Other business components supported by Siebel Medical Handheld include the following:
■
CUT Address Inter Table - CE
■
FS Cycle Counting Serial Parts
■
HH LS Medical CC Barcode Display
■
HH LS Medical Virtual Bucket
■
LS Medical Cycle Counting Execution
■
LS Medical Signature
■
Pharma ME Event Professional Invitee
Business Component Classes for Siebel
Medical Handheld
This topic lists the supported business component classes for Siebel Medical Handheld applications.
It is not recommended that you configure your own business components. Instead, use only the
following classes:
NOTE: The business component classes for Siebel Handheld applications are based on the classes
for the Siebel Web Client. However, in most instances, because of the limitations of Siebel Handheld
applications, only a subset of the class functionality that is required for the handheld application is
supported. All business components are shared by the Siebel Handheld application and the Siebel
Server.
■
CSSBCMedCyclCnt
258
Siebel Medical Handheld Guide Version 8.1/8.2
Business Components and Classes ■ Applet Classes for Siebel Medical Handheld
■
CSSBCLSBucket
■
CSSBCMedCyclCntSerialPart
■
CSSBCLSCYCInvLoc
■
CSSBCLSInvTxn
■
CSSBCLSInvTxnAsset
■
CSSBCMedBarcodeDisplay
■
CSSBCMedCyclCntExecution
Applet Classes for Siebel Medical
Handheld
You can create additional screens and views for your Siebel Handheld application. Any new screens
and views must be based on classes and business components that are supported for the Siebel
Medical Handheld application.
This topic lists the supported applet classes for Siebel Medical Handheld applications:
■
CSSFrameListLSAsset
■
CSSFrameListLSInvLoc
■
CSSFrameListLSInvTxn
■
CSSFrameListLSProdDetail
■
CSSFrameListLSProdHrchy
■
CSSFrameListMedCCAsset
■
CSSFrameListMedCycCntDetail
■
CSSFrameListMedCyclCnt
■
CSSFrameListPMSign
■
CSSFrameLSInvLoc
■
CSSFrameLSPartMove
■
CSSFrameMedCycCntScan
Siebel Medical Handheld Guide Version 8.1/8.2
25 9
Business Components and Classes ■ Applet Classes for Siebel Medical Handheld
260
Siebel Medical Handheld Guide Version 8.1/8.2
C
User Properties
This appendix documents the specific user properties for Siebel Medical Handheld applications. The
following topics are included in this appendix:
■
“User Properties for Siebel Medical Handheld Applications” on page 261
User Properties for Siebel Medical
Handheld Applications
This topic lists the user properties for Siebel Medical Handheld applications.
AlphaTab Named Search User Property
Use this property to specify the field on which you want to implement the Alpha Tab Search feature.
Values:
Fields available in your application.
Parent Object Type: List applet.
Usage:
Select the field from the drop-down list.
For example, if you specify the Account Name field as the AlphaTab Names
Search, the alpha search is applied to the Account Name field in the business
component for the list applet, and the list applet displays an alpha tab search
bar.
Note:
You can configure as many AlphaTab Named Search properties as you
require, but you can define only one for each list applet.
AutoPopupField User Property
Use this property to configure a view so that a pop-up list for a particular field automatically opens
when the user opens the view.
Values:
Fields available in your application.
Parent Object Type: View.
Usage:
If the field is in a list applet, set the AutoPopupField property of the view to
the Business Component field name.
If the field is in a form applet, set the AutoPopupField property of the view
to the name of the control.
Siebel Medical Handheld Guide Version 8.1/8.2
26 1
User Properties ■ User Properties for Siebel Medical Handheld Applications
BarcodeNewRecord User Property
Use this property to specify the behavior you require for new record creation when a scan is
performed.
Values:
Y or N.
Parent Object Type: Applet.
Usage:
If you specify Y, when the user performs a parseable scan, a new record is
created for the scan, and that record is populated with the values parsed
from the barcode.
If you specify N, when the user performs a nonparseable scan, a new record
is not created for the scan, but the active field is populated with the barcode
number.
BC Read Only Field User Property
For information about this user property, see Siebel Developer’s Reference and Configuring Siebel
Business Applications.
BorderStyle User Property
Use this property to specify the border style of a signature control.
Values:
Double or Single.
Parent Object Type: Signature control applet.
Usage:
Specify the style you require for the control.
BrowserPath User Property
Use this property to specify the application to start when the user taps a URL or attachment in the
application. By default, when users tap a URL or attachment, the item is displayed in Pocket Internet
Explorer.
Values:
String.
Parent Object Type: Application.
Usage:
The default value for this property makes attachments and URLs open in
Pocket Internet Explorer.
ConfirmAccept User Property
Use this property to specify whether to display a confirmation message after the user taps the Accept
button on the signature control.
Values:
Y or N.
Parent Object Type: Signature control applet.
262
Siebel Medical Handheld Guide Version 8.1/8.2
User Properties ■ User Properties for Siebel Medical Handheld Applications
Usage:
Set this property to Y to display a confirmation message after the user taps
the Accept button.
Set this property to N to display no confirmation message.
DefaultViewType User Property
Use this property to configure how applets are displayed in an application. For more information
about applet display modes, see Designing Screens and Views for Siebel Handheld Applications on
page 32.
Values:
Tabbed or Traditional.
Default Value:
Traditional
Parent Object Type: Application.
Usage:
If set to Tabbed, the first applet in the frame array of a view definition is
treated as the parent applet. The parent applet is displayed when users
navigate to this view. All other applets in the view are treated as child applets
and appear on the tab bar of the parent applet. A parent context bar also
appears at the top of the view.
If set to Traditional, the application displays the applets in the traditional
two-applet view. To switch between the two applets, choose View, then
Toggle.
In portrait orientation, the default tabbed applet behavior for the application,
when not explicitly specified, is Traditional. You can change the default
tabbed applet behavior to Tabbed, if required.
In landscape orientation and square screens, the default tabbed applet
behavior for the application is Tabbed, and you cannot change this value to
Traditional.
Note:
This user property can be overridden by the view-level user property
ViewType. For more information about the ViewType user property, see
ViewType User Property on page 274.
Disable Second Applet User Property
Use this property when you configure a tree applet to suppress the dynamically created second
applet so that only a single applet is displayed.
Values:
TRUE or FALSE.
Default Value:
FALSE
Parent Object Type: View.
Usage:
If set to TRUE, the second dynamic applet is not displayed.
If set to FALSE, only a single applet is displayed.
Siebel Medical Handheld Guide Version 8.1/8.2
26 3
User Properties ■ User Properties for Siebel Medical Handheld Applications
DisableAlphaTabGroups User Property
Use this property to specify how to display alpha tabs in ungrouped format.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, the alpha tabs are displayed in ungrouped format.
If set to FALSE, the alpha tabs are displayed in grouped format.
DisableParentBar User Property
Use this property to specify not to display the parent context bar in a view that displays multiple
applets in tabbed applet mode. You might use this property if a view contains applets that are not
linked in a parent-child relationship.
Values:
TRUE or FALSE.
Parent Object Type: View.
Usage:
If set to TRUE, the parent context bar is not displayed. When a user selects
an applet, the tab of the applet is highlighted, but no parent context bar is
displayed.
If set to FALSE, the parent context bar is displayed.
EncryptKey User Property
Use this property to specify the default key to use when encrypting signatures. If you do not specify
a value for this property, an internal mechanism is used to generate the encryption key.
Values:
Integer, between 1 and 99999999.
Parent Object Type: Signature control applet.
Usage:
Enter the encryption key you require as the value for this property.
Expired Product Message Box User Property
Use this property to display a message box during the cycle count process when the process
encounters an expired product.
Values:
Y or N.
Parent Object Type: FS Cycle Counting Serial Parts business component.
Usage:
If set to Y, displays a message box when an expired product is encountered.
Explorer Applet Size User Property
Use this property when you configure a tree applet to specify how much space you want the tree
applet to occupy.
Values:
264
Integer, between 1 and 100.
Siebel Medical Handheld Guide Version 8.1/8.2
User Properties ■ User Properties for Siebel Medical Handheld Applications
Default Value:
50
Parent Object Type: View.
Usage:
Enter the percentage of space that you want the tree applet to occupy.
Field Read Only Field fieldname User Property
For information about this user property, see Siebel Developer’s Reference and Configuring Siebel
Business Applications.
FormUI User Property
Form UI is a technique of applet design that enables Siebel Handheld application developers to create
applets that are larger than normal form applets. For more information about Form UI applets, see
Configuring Form UI Applets for the Siebel Handheld Client on page 40.
Use this property to specify whether an applet is a Form UI applet or not.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, makes the applet a form UI applet.
If set to FALSE, makes the applet a normal applet.
HandheldInsertFailMode User Property
Use this property to specify how to handle record insert failures for the business component. For
more information about how insert failures are handled, see “Insert Failure Processing in Siebel
Handheld Applications” on page 167.
Values:
NoFail or FailOnError.
Default Value:
NoFail
Parent Object Type: Business component.
Usage:
If you specify NoFail, insert failures are logged and synchronization
continues.
If you specify FailOnError, insert failures are logged and synchronization
terminates.
HandheldSyncPickMode User Property
Use this property to enable Extended Pick processing for specified fields in a business component.
For more information about Extended Pick processing, see “Extended Pick Processing in Siebel
Handheld Applications” on page 165.
Values:
Fieldname_1|Mode_1, Fieldname_2|Mode_2 ... Fieldname_n|Mode_n
Parent Object Type: Business component.
Siebel Medical Handheld Guide Version 8.1/8.2
26 5
User Properties ■ User Properties for Siebel Medical Handheld Applications
Usage:
Specify the field name and the mode for each field for which you want to
specify this property. Specify one of the following modes:
■
NoFail
■
FailOnError
If set to NoFail, enables Extended Pick processing for the specified field.
If set to FailOnError, disables Extended Pick processing for the specified field.
Note:
The setting on the business component takes precedence over the setting
defined in the Settings view tab on the Administration - Mobile screen, then
the Application Administration view.
You can use the business component setting to nullify the global application
of Extended Pick. Conversely, you can enable Extended Pick processing on
specific business components if the setting in the Settings view tab has
disabled the functionality.
InkColor User Property
Use this property to specify the color to use on the signature control applet.
Values:
Hexadecimal value from 0x000000 to 0xFFFFFF.
Parent Object Type: Signature control applet.
Usage:
The six hexadecimal digits in the value that you specify represent the color
to use. The six digits comprise three groups of two digits. Each group of two
digits is the value for one of the colors: blue, green, and red, in that order.
For example, the value 0xFF0000 represents the color blue.
InkWidth User Property
Use this property to specify the width of the line that is created in the signature control applet.
Values:
1-5.
Parent Object Type: Signature control applet.
Usage:
A typical line width is 2.
MaximumFooterLines User Property
Use this property to specify the maximum height of the footer display control.
Values:
Integer.
Parent Object Type: Signature control applet.
Usage:
266
Specify the height as the number of text lines. If the footer text exceeds this
number, the user can use the pen to scroll vertically. The footer display
control does not display a scroll bar.
Siebel Medical Handheld Guide Version 8.1/8.2
User Properties ■ User Properties for Siebel Medical Handheld Applications
MaximumHeaderLines User Property
Use this property to specify the maximum height of the header display control.
Values:
Integer.
Parent Object Type: Signature control applet.
Usage:
Specify the height as the number of text lines. If the header text exceeds this
number, the user can use the pen to scroll vertically. The header display
control does not display a scroll bar.
On Field Update Set n User Property
For information about this property, see Siebel Developer’s Reference.
OverrideDefaultApplet User Property
Use this property to override the default behavior to give focus to an applet. This user property is
typically used with the GotoViewNewRecord method.
Values:
0 or 1.
Parent Object Type: Control.
Usage:
If set to 0, gives the focus to the parent applet.
If set to 1, gives the focus to the child applet.
OverridePopupVisibilityn User Property
Use this property to specify fields that override the business component Popup Visibility Type setting
in an applet. Use this property when the visibility you require for a field differs from the Popup
Visibility Type of the business component, and you do not want to change the Popup Visibility Type
of the business component. For more information about visibility types, see Designating Visibility on
page 134.
Values:
Business_Component_Field, Visibility_Type
Parent Object Type: Applet control or column.
Usage:
The name of the OverridePopupVisibility parameter must be unique, so you
must append a unique number to the name of the parameter for any other
items, for example, OverridePopupVisibility1, OverridePopupVisibility2, and
so on.
Assign a value to this property that contains the name of the business
component field, followed by a comma, and then the visibility type you
require for the field. Table 23 summarizes popup visibility types and the
corresponding visibility codes.
PrintForms User Property
You can implement multiple printing of forms in Siebel Handheld applications. To do this, you must
add a control that invokes the PrintBatch method.
Siebel Medical Handheld Guide Version 8.1/8.2
26 7
User Properties ■ User Properties for Siebel Medical Handheld Applications
Use the PrintForms user property to specify the forms to print, the print templates, and a default
number of copies of each form to print. You can specify up to 10 sets of forms, print templates, and
default numbers.
For more information about how to configure multiple-form printing and multiple-quantity printing,
see Configuring Multiple Form and Multiple Quantity Printing for the Siebel Handheld Application on
page 60.
Values:
form_name_1, template_filename_1,
default_number_of_copies_1,form_name_2, template_filename_2,
default_number_of_copies_2, ... form_name_10, template_filename_10,
default_number_of_copies_10,
Parent Object Type: Control.
Usage:
Enter the sets of forms, print templates, and default numbers that you
require.
Note 1:
Do not enter a space before or after the commas. A comma must always
follow the last entry.
Note 2:
All of the applets that are specified in the following print tags must be
configured in the view from which the PrintBatch method is invoked:
■
Applet
■
List
■
GetTotal
■
GetCount
In other words, all of the applets that are specified in these print tags, in all
of the print templates that are used in the PrintBatch method, must be
configured in the view.
Use the GetDirect print tag to get the value of a field from a business
component that is not configured in the view.
Example:
You might have forms with templates as follows:
■
Order with Price, OrderwithPrice.txt
■
Order without Price, OrderwithoutPrice.txt
■
Temporary ID Card, TemporaryIDCard.txt
To print one copy of the first form only, specify the following value for this
property:
Order with Price,OrderwithPrice.txt,1,Order without
Price,OrderwithoutPrice.txt,0,Temporary ID
Card,TemporaryIDCard.txt,0,
268
Siebel Medical Handheld Guide Version 8.1/8.2
User Properties ■ User Properties for Siebel Medical Handheld Applications
SHCE COM Disable User Property
Use this property to disable support for the COM feature for a Siebel Handheld application.
Values:
Y or N.
Parent Object Type: Application.
Usage:
Set to Y to disable the COM feature.
SHCEDailySlotHeight User Property
Use this property to change the time slot spacing in the Daily Calendar Applet.
Values:
Integer, between 14 and 50.
Default Value:
15
Parent Object Type: Daily calendar applet.
Usage:
No additional information.
SHCEHideNavBar User Property
Use this property to hide the navigation bar in a calendar applet or find applet.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, hides the navigation bar.
If set to FALSE, does not hide the navigation bar.
SHCEHideStatusBar User Property
Use this property to hide the status bar in a calendar applet or find applet.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, hides the status bar.
If set to FALSE, does not hide the status bar.
SHCEHideToolBar User Property
Use this property to hide the toolbar in a calendar applet or find applet.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, hides the toolbar.
If set to FALSE, does not hide the toolbar.
Siebel Medical Handheld Guide Version 8.1/8.2
26 9
User Properties ■ User Properties for Siebel Medical Handheld Applications
SHCEMenuBackButton User Property
Use this property to add the Go Back button to the menu bar in a calendar applet or find applet. This
property enables you to have no toolbar on the applet to save screen space, and to still have a Go
Back button in the applet.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, adds the Go Back button to the menu bar.
If set to FALSE, does not add the Go Back button to the menu bar.
SHCEMenuForwardButton User Property
Use this property to add the Go Forward button to the menu bar in an applet. This property enables
you to have no toolbar on the applet to save screen space, and to still have a Go Forward button in
the applet.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, adds the Go Forward button to the menu bar.
If set to FALSE, does not add the Go Forward button to the menu bar.
SHCEMenuNewButton User Property
Use this property to add the New Record button to the menu bar in an applet. This property enables
you to have no toolbar on the applet to save screen space, and to still have a New Record button in
the applet.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, adds the New Record button to the menu bar.
If set to FALSE, does not add the New Record button to the menu bar.
ShowData User Property
Use this property to specify if the content of the signature field can be displayed. If you specify not
to display signature data, the ellipses in the signature applet control are disabled.
Values:
Y or N.
Parent Object Type: Signature field in a signature capture applet.
Usage:
Set this property to Y to allow the content of the signature field to be
displayed.
Set this property to N to prevent the display of signatures.
270
Siebel Medical Handheld Guide Version 8.1/8.2
User Properties ■ User Properties for Siebel Medical Handheld Applications
Signature User Property
Use this property to specify if a field can store a signature.
Values:
Y or N.
Parent Object Type: Signature capture applet.
Usage:
Set this property to Y to make a field a signature field.
Set this property to N if you do not want a field to store signatures.
SignatureDataField User Property
Use this property to specify a destination field for the captured signature if you do not want to save
the signature in the user interface field.
Values:
A field name in the current business component.
Parent Object Type: Signature capture applet.
Usage:
Enter the name of the business component field where you want to save the
signature data.
SignatureDate User Property
Use this property to specify whether to add the current date under the signature footer.
Values:
Y or N.
Parent Object Type: Signature capture applet.
Usage:
No additional information.
Note:
The date is added in the regional default date format of the handheld device.
The date is saved to the field specified in the SignatureFooterSaveField user
property. For more information about this user property, see
SignatureFooterSaveField User Property on page 272.
SignatureField User Property
Use this property to specify the name of the user interface field where the signature data is stored.
Values:
UI field name.
Parent Object Type: Signature button control.
Usage:
Enter the name of the field where you want to store the signature data.
SignatureFooterField User Property
Use this property to specify the field from which to copy the content for the signature footer.
Values:
A field name in the current business component.
Parent Object Type: Signature capture applet.
Usage:
No additional information.
Siebel Medical Handheld Guide Version 8.1/8.2
27 1
User Properties ■ User Properties for Siebel Medical Handheld Applications
SignatureFooterSaveField User Property
Use this property to specify the field to which the content for the signature footer is saved.
Values:
A field name in the current business component.
Parent Object Type: Signature capture applet.
Usage:
If the SignatureDate user property is set to Y, the date is included in the data
that is saved to this field.
If the SignatureTime user property is set to Y, the time is included in the data
that is saved to this field.
SignatureHeaderField User Property
Use this property to specify the field from which to copy the content for the signature header.
Values:
A field name in the current business component.
Parent Object Type: Signature capture applet.
Usage:
No additional information.
SignatureHeaderSaveField User Property
Use this property to specify the field to which the content for the signature header is saved.
Values:
A field name in the current business component.
Parent Object Type: Signature capture applet.
Usage:
No additional information.
SignatureHeight User Property
Use this property to specify the height of the signature capture control.
Values:
Integer, between 1 and 200.
Parent Object Type: Control on signature capture applet.
Usage:
Specify the height in pixels.
SignatureTime User Property
Use this property to specify whether to add the current time under the signature footer.
Values:
Y or N.
Parent Object Type: Signature capture applet.
Usage:
No additional information.
Note:
The time is added in the time format of the handheld device.
The time is saved to the field specified in the SignatureFooterSaveField user
property. For more information about this user property, see
SignatureFooterSaveField User Property on page 272.
272
Siebel Medical Handheld Guide Version 8.1/8.2
User Properties ■ User Properties for Siebel Medical Handheld Applications
SignatureWidth User Property
By default, signature controls occupy the full width of the screen on the handheld device. Use the
SignatureWidth user property to set the width of a signature control.
Values:
Integer, between 1 and 240.
Parent Object Type: UI field.
Usage:
Enter the width of the screen.
SingleSelect User Property
Use this property to restrict to one the number of records that the user can select from a control.
Values:
TRUE or FALSE.
Parent Object Type: Control.
Usage:
If set to TRUE, disables multiselect mode and autoselect mode, and enables
the user to select one record only.
If set to FALSE, enables multiselect mode and autoselect mode.
Synchronize Rollup Data User Property
Use this property to log transactions when the user taps Rollup in the Inventory Detail view.
Values:
Y or N.
Parent Object Type: FS Inventory Location business component.
Usage:
If set to Y, transactions are logged.
Note:
These transactions update the bucket records directly and no inventory
transactions are generated.
TaskUI User Property
Use this property to specify that a view contains a Siebel Task. For more information about Siebel
Tasks, see Developing Tasks for Task UI in Siebel Handheld Applications on page 49.
Values:
TRUE or FALSE.
Parent Object Type: View.
Usage:
If set to TRUE, specifies that the view contains a Siebel Task.
If set to FALSE, specifies that the view is not a Siebel Task.
TriggerFindRecord User Property
For information about how to use this property, see Enhancing the Behavior of the Barcode Scan on
page 94.
Siebel Medical Handheld Guide Version 8.1/8.2
27 3
User Properties ■ User Properties for Siebel Medical Handheld Applications
UseSystemLocale User Property
Use this property if you want a Calendar applet to display the dates according to the regional date
settings on the handheld device where the application is installed.
Values:
TRUE or FALSE.
Parent Object Type: Applet.
Usage:
If set to TRUE, the applet uses the regional date settings on the handheld
device to display dates on the calendar.
If set to FALSE, the applet does not use the regional date settings.
View User Property
Use this property to specify the name of the view to display when a user selects the control.
Values:
Views available in your application.
Parent Object Type: Control.
Usage:
No additional information.
ViewType User Property
Use this property to configure how applets are displayed in a view. For more information about applet
display modes, see Designing Screens and Views for Siebel Handheld Applications on page 32.
Values:
Tabbed or Traditional.
Parent Object Type: View.
Usage:
For information about the usage of this property, see DefaultViewType User
Property on page 263.
Note:
ViewType overrides the DefaultViewType property in portrait orientation. In
landscape orientation and on square screens, the default applet display
mode is Tabbed.
WritingGuide User Property
Use this property to display information in the applet. This information provides instructions on how
to create a signature on a handheld device.
Values:
Y or N.
Parent Object Type: Signature control applet.
Usage:
Set this property to Y to display the writing guide in the applet.
Set this property to N if you do not want to display the writing guide in the
applet.
274
Siebel Medical Handheld Guide Version 8.1/8.2
D
Print Tagging Language
This appendix describes the print tagging language that is used to create print templates for your
handheld device. The audience for this appendix is Siebel Handheld application developers. The
following topics are covered in this appendix:
■
“Overview of Print Tagging Language for Siebel Handheld Applications” on page 275
■
“Print Mode Tags” on page 276
■
“Data Output Tags” on page 277
■
“Print Formatting Tags” on page 283
■
“Get and Set Tags” on page 296
■
“Control Positioning Tags” on page 303
■
“Data Manipulation and Logic Tags” on page 307
■
“Using Variables in Print Templates” on page 311
Overview of Print Tagging Language for
Siebel Handheld Applications
You can create the print template file in any text editor:
■
Tags are enclosed in angle brackets and identified with the keyword TAG, followed by a colon.
For example, <TAG: ....>.
■
Parameters are specified with a keyword, followed by an equals sign (=). Arguments are in
uppercase, surrounded by quotation marks. For example, Font = "FONT FACE".
■
Values are in uppercase and lowercase, surrounded by quotation marks. For example, Font =
"Helvetica".
■
Tags can appear in any order in the file. The only required tag is the Title tag.
■
Variables within a print template must be uniquely named. Variable names must be one-word
strings and spaces are not allowed.
Siebel Medical Handheld Guide Version 8.1/8.2
27 5
Print Tagging Language ■ Print Mode Tags
Print Mode Tags
The following two tags determine the mode of printing. The print mode determines how printing is
going to be handled by the Siebel Handheld application.
■
“Absolute Tag” on page 276
■
“Relative Tag” on page 276
Absolute Tag
The Absolute tag sets the print mode to absolute. Print mode determines how printing is going to be
handled by your Handheld application. Absolute mode-only tags and parameters are enabled and
processed accordingly while in absolute mode.
Usage
The Absolute tag can appear anywhere in the template for any number of times to switch between
print modes. Print mode defaults to Relative if none is specified.
Syntax
To use this tag, use the following syntax:
<TAG:Absolute>
Parameter
Description
TAG:Absolute
(Required) Absolute tag indicator.
Relative Tag
The Relative tag sets the print mode to relative, cancelling the absolute mode. Absolute mode-only
tags and parameters are disabled and ignored while in Relative mode.
Usage
The Relative tag can appear anywhere in the template for any number of times to switch between
print modes. Print mode defaults to Relative if none is specified.
Syntax
To use this tag, use the following syntax:
<TAG:Relative>
Parameter
Description
TAG:Relative
(Required) Relative tag indicator.
276
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Data Output Tags
Data Output Tags
The following tags are used to control data output for printing:
■
“Applet Tag” on page 277—Specifies which applets are used in the document.
■
“Cell Tag” on page 279—Creates cells of data in a row in a table.
■
“Picture Tag” on page 281—Adds graphic images to the document.
■
“Static Text Tag” on page 283—Adds text that does not change to the document.
Applet Tag
The Applet tag specifies the applet to be printed.
Usage
Any data that appears in your document must be generated from the applets in the view. Therefore,
you must create applets that produce the data required for your document.
Use the Applet tag to specify the number of list or form applets within the template and to locate the
applet in your document. In the form view, a maximum of two fields for each row are supported.
Syntax
To use this tag, use the following syntax:
<TAG:Applet name="APPLET NAME" query="QUERY" caption="CAPTION"
headerdivider="HEADERDIVIDER" recorddivider="RECORDDIVIDER" wrap="WRAP" grid="GRID"
linewidth="THICKNESS" offset="OFFSET" width="WIDTH" sql="SQL_Statement"
maxlines="MAXLINES" startat="Number">
Parameter
Description
TAG:Applet
(Required) Applet tag indicator.
name
(Required) Applet name as defined in Siebel Tools.
query
(Optional) Specifies the query string directly set to the business component
supporting the print template.
If the query string is not specified, the currently active query string in the view
is applied to expose the relevant records.
caption
(Optional) Specifies whether the captions in the form applets are suppressed.
Valid values are TRUE (default) and FALSE. This parameter does not apply to
list applets. Column headings in list applets are always enabled.
Siebel Medical Handheld Guide Version 8.1/8.2
27 7
Print Tagging Language ■ Data Output Tags
Parameter
Description
headerdivider
(Optional) Specifies whether a divider is printed below the column heading in
list applets.
Valid values are TRUE and FALSE (default). This parameter does not apply to
form applets.
recorddivider
(Optional) Specifies whether a horizontal divider is printed between records in
list applets.
Valid values are TRUE and FALSE (default). This parameter does not apply to
form applets.
wrap
(Optional) Specifies whether to enable word wrap for text field values.
Valid values are TRUE and FALSE (default). This parameter does not apply to
numeric fields.
grid
(Optional) Specifies whether a grid is used to display data in list applets.
Valid values are TRUE and FALSE (default). If TRUE, a grid is drawn between
fields, rows, and columns in list applets. This parameter does not apply to form
applets.
linewidth
(Optional) Specifies grid thickness in millimeters.
Valid values are 1-5. The default value is 1, which produces a line 0.2 mm wide.
Increasing the value by 1 increases the width by 0.2 mm. A 5 produces a line
that is 1 mm wide.
offset
(Optional, absolute mode-only) Specifies the distance, in millimeters, to the
right from the left margin. This value can be a number ("40") or a variable that
contains a number value ("_X" or "posx").
width
(Optional) Specifies the width of the applet in millimeters.
sql
(Optional) Where clause for the SQL statement. For example,
sql="\"status"\=’good’" selects all records where status field is set to good.
NOTE: Enclose the field name in double quotes and use backslash followed by
double quotes to include a double quote within the parameter, then enclose the
value in single quotes.
maxlines
(Optional) Specifies the maximum number of records to print for list applets.
This parameter does not apply to form applets.
startat
(Optional) Starts printing from the specified record in the row set.
Example
The following example prints the same applet twice side-by-side starting at record 10 in the list:
278
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Data Output Tags
■
The first time CS HH Product Bucket List Applet is printed, it is printed with gridlines of 0.4 mm
in thickness, and 0 mm from the left edge of the printable area of the page (on the left margin).
Only records where Status=Defective are displayed. Up to two records are printed
(Maxlines="2").
■
The second time CS HH Product Bucket List Applet is printed, it is printed with gridlines where
the left side of the applet is positioned 80 mm from the left margin.
Only records where Status=Good are displayed. Up to two records are printed (Maxlines="2").
<TAG:Applet name="CS HH Product Bucket List Applet" sql="\"Status\"='Defective'" maxlines="2"
startat="10" recorddivider="FALSE" wrap="TRUE" grid="TRUE" offset="0" width="75"
linewidth="0.4">
<TAG:SETVARIABLE variable="var_equal" name="=">
<TAG:SETVARIABLE variable="var_fieldname" name="\"Status\"">
<TAG:SETVARIABLE variable="var_criteria" name="'Good'">
<TAG:CONCAT variable="var_equal" prepend="<variable>var_fieldname"
append="<variable>var_criteria">
<TAG:SETY y="0">
<TAG:Applet name="CS HH Product Bucket List Applet" sql="<variable>var_equal" maxlines="2"
startat="10" recorddivider="FALSE" wrap="TRUE" grid="TRUE" offset="80" width="75">
Cell Tag
The Cell tag prints the string stored in the name="STRING" parameter or variable="VARIABLE NAME"
parameter at the specified location on the current line.
Usage
Use the Cell tag to create cells of data in a row in a table. Use it with the EndOfLine tag. If the data
exceeds the width of the cell specified by the Startat and Endat parameters, then the data wraps to
the next line.
Syntax
To use this tag, use the following syntax:
<TAG:CELL startat="START" endat="END" name="STRING" align="ALIGNMENT" left="LEFT"
top="TOP" right="RIGHT" bottom="BOTTOM" box="BOX" linewidth="LINEWIDTH">
<TAG:CELL startat="START" endat="END" variable="VARIABLE NAME" align="ALIGNMENT"
left="LEFT" top="TOP" right="RIGHT" bottom="BOTTOM" box="BOX" linewidth="LINEWIDTH">
Siebel Medical Handheld Guide Version 8.1/8.2
27 9
Print Tagging Language ■ Data Output Tags
<TAG:EndOfLine>
Parameter
Description
TAG:Cell
(Required) Required tag indicator.
startat
(Required in relative mode) Specifies the starting point of the cell, expressed as a
percentage of the printable page width. For example, if
START =10, then the cell starts at the point that is 10% from the left edge of the
printable width.
endat
(Required in relative mode) Specifies the end point of the cell, expressed as a
percentage of the printable page width. For example, if END=50, then the cell ends
at the point that is 50% from the left edge of the printable width.
name
(Optional) String value. If a variable parameter is not specified, then name is a
required parameter.
variable
(Optional) Variable where the value is stored. If a name parameter is not specified,
then variable is a required parameter.
align
(Optional, Existing) Specifies the alignment of the string.
Valid values are LEFT (default), CENTER, and RIGHT.
left
(Optional, absolute mode-only tag) Specifies the distance, in millimeters, of the
left side of the cell from the left margin. If omitted, the current head position is
used and RIGHT parameter is used to specify the width of the cell.
top
(Optional in absolute mode) Specifies the distance, in millimeters, of the top side
of the cell from the top margin. If omitted, the current head position is used and
the BOTTOM parameter is used to specify the height of the cell.
right
(Required in absolute mode) Specifies the distance, in millimeters, of the right side
of the cell from the left margin.
bottom
(Required in absolute mode) Specifies the distance, in millimeters, of the bottom
side of the cell from the top margin.
box
(Optional) Specifies whether to draw a box around the printed cell data in form
applets.
Valid values are TRUE and FALSE (default). This parameter does not apply to list
applets.
linewidth
(Optional in absolute mode) Specifies the thickness, in millimeters, of the line
drawn if BOX is set to TRUE. If omitted, line width is 0.2 millimeters.
Example
The following example prints "Text In A Box" inside a rectangular box 10 millimeters (mm) long x 30
mm wide, which is 200 mm from the top margin, and 10 mm from the left margin.
<TAG:Cell name="Text In A Box" top="200" left="10" bottom="210" right="60" box="TRUE"
linewidth="0.1" align="LEFT">
<TAG:EndOfLine>
280
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Data Output Tags
Picture Tag
The Picture tag specifies the graphic files that are included in the print template. When used in
absolute print mode (with absolute mode-only tags), graphics are printed from the specified file at
the specified position, and according to the specified dimensions.
Usage
Use the Picture tag to add graphic images, such as a company logo, to your documents. Supported
file formats are BMP and JPG.
Graphics files are located in the \Program Files\Siebel Handheld\templates directory on the
handheld device. Specify the full path name of the file for the Name parameter. Scaling or graphics
operations, such as inverse image, are not supported.
The alignment and position parameters are used together to place the graphic. Alignment specifies
the left edge, the center, or the right edge of the graphic. Position is the distance, specified in
millimeters, from the left edge of the paper.
Example
■
If align="Left" and position="30", then the left edge of the graphic is set 30 mm from the left
edge of the paper.
■
If align="Center" and Position="30", the center of the graphic is set 30 mm from the left edge
of the paper.
■
If align="Right" and Position="30", the right edge of the graphic is set 30 mm from the left edge
of the paper.
If the position is not specified, the position defaults to 0. Depending on the alignment setting,
the graphic is left-aligned (align="Left"), right-aligned (align="Right"), or centered
(align="Center").
■
In absolute mode-only, if left="20", top="40", right ="80", and bottom="80", then the picture
is drawn 20 mm from the left margin and 40 mm from the top margin, and is 60 x 40 millimeters
in size.
■
In the absolute mode-only, if right="80" and bottom="80", then the picture is drawn at the
current location and is 80 x 80 mm in size.
When left="x" and top="y" parameters are not specified, the picture is drawn at the current head
position. In such cases, the right="x" and bottom="y" parameters specify the width and height
of the image respectively.
Syntax
To use this tag, use the following syntax:
<TAG:Picture name="FILE NAME" align="ALIGNMENT" position="POSITION">
Parameter
Description
TAG:Picture
Required. Picture tag indicator.
Siebel Medical Handheld Guide Version 8.1/8.2
28 1
Print Tagging Language ■ Data Output Tags
Parameter
Description
name
(Required) Specifies the full path and name of the graphics file.
align
(Optional) Specifies the left edge, the center, or the right edge of the graphic.
Used with the Position parameter to specify the horizontal position of the graphic.
Valid values are LEFT (default), CENTER, and RIGHT.
position
(Optional) Specified in millimeters, this is the distance from the left edge of the
paper. Used with the Alignment parameter to specify the horizontal position of
the graphic. The default is 0.
Example
<TAG:Picture name="\Program Files\Siebel Handheld\templates\logo.bmp" alignment="Right"
Position="88">
Syntax (absolute mode-only)
To use this tag, use the following syntax:
<TAG:Picture name="FULL PATH FILE NAME" left="LEFT VALUE" right="RIGHT VALUE top="TOP
VALUE" bottom="BOTTOM VALUE" position="POSITION">
Parameter
Description
TAG:Picture
(Required) Picture tag indicator.
left
(Optional, absolute mode-only tag) Specified in millimeters, this is the distance
of the left side of the rectangle from the left margin. If omitted, the current head
position is used, and the RIGHT parameter is used to specify the width.
top
(Optional, absolute mode-only tag) Specified in millimeters, this is the distance
of the top side of the rectangle from the top margin. If omitted, the current head
position is used, and the BOTTOM parameter is used to specify the height.
right
(Required, absolute mode-only tag) Specified in millimeters, this is the position
of the right side of the rectangle on the X axis from the left margin.
bottom
(Required, absolute mode-only tag) Specified in millimeters, this is the position
of the bottom side of the rectangle on the Y axis from the top margin.
Example (absolute mode-only)
<TAG:Picture name="\Program Files\Siebel Handheld\templates\logo.bmp" left="20" top="40"
right="80" bottom="80">
<TAG:Picture name="\Program Files\Siebel Handheld\templates\logo.bmp" right="80"
bottom="80">
282
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Print Formatting Tags
Static Text Tag
You can add static text anywhere in your template by using the current Format settings. The text
goes across the entire page width. If the text exceeds the width of the page, it wraps to the next line.
Example
This quote is valid for 60 days from the date on this quotation.
Print Formatting Tags
The following tags provide flexibility in formatting print templates and are used to specify the format
of the print output:
■
“Background Tag” on page 283—Prints an image to specified coordinates, much like a watermark.
■
“Comment Tag” on page 284—Adds comments that do not appear in the final document.
■
“Divider Tag” on page 285—Adds visual lines to visually separate different parts of the document.
■
“DrawRect Tag” on page 286—Draws a rectangle at specified coordinates.
■
“EndOfPage Tag” on page 287—Advances to a new page.
■
“Footer Tag” on page 288—Adds information such as page numbers, date, and time.
■
“Format Tag” on page 288—Specifies characteristics such as font, boldface, italics, and underline.
■
“Frame Tag” on page 289—Draws a surrounding frame around the whole page for all pages in the
print template.
■
“Header Tag” on page 290—Adds information such as page numbers, date, and time.
■
“Landscape Tag” on page 291—Sets landscape paper orientation for the subsequent print tags.
■
“List Tag” on page 291—Prints the selected columns with the specified width.
■
“LineTo Tag” on page 293—Draws a line of a specified line thickness from the current printer head
position to the specified coordinate.
■
“Margin Tag” on page 294—Sets the margin for a specific template.
■
“PageBreak Tag” on page 295—Specifies a break in the text, forcing the text that follows to appear
on the next page.
■
“Portrait Tag” on page 295—Sets portrait paper orientation for the subsequent print tags.
■
“Title Tag” on page 296—Specifies a name for the template that appears in the print job list.
Background Tag
The Background tag prints an image at specified coordinates for all pages in the print template.
Supported file formats are BMP and JPG only.
Siebel Medical Handheld Guide Version 8.1/8.2
28 3
Print Tagging Language ■ Print Formatting Tags
Usage
Use the Background tag to print logos or images in the header, footer, or main printable area of the
print template. When the Background tag is used, the image is printed like a watermark logo, and
any other object included in the print template is printed over it.
It is recommended that you declare the Background tag immediately after the Absolute, Margin,
Header, or Footer tags.
Syntax
To use this tag, use the following syntax:
<TAG:Backgound name="FILE NAME" left="LEFT" top="TOP" right="RIGHT" bottom="BOTTOM">
Parameter
Description
TAG:Background
(Required) Required tag indicator.
name
(Required) Specifies the full path and name of the graphics file.
left
(Optional) Specifies, in millimeters, the position of the left side of the image
on the X axis from the left side of the paper. This setting defaults to zero if
omitted.
top
Specifies, in millimeters, the position of the top side of the image on the Y
axis from the top of the paper. This setting defaults to zero if omitted.
right
Specifies, in millimeters, the position of the right side of the image on the X
axis from the right side of the paper. The image is shrunk or expanded to fit
within the specified size.
bottom
Specifies, in millimeters, the position of the bottom side of the paper on the
Y axis from the bottom of the paper. The image is shrunk or expanded to fit
within the specified size.
Example
The following example prints a 50 x 30 mm image at 30 mm from the left edge and 50 mm from the
top edge of the page. The header or footer or both can overlap the image if the image is placed on
the header or footer area:
<TAG:Absolute>
<TAG:Margin left="30" Top="50" right="80" bottom="100">
<Tag:Header left="<page>" center="<varible>numrows" right="<date>">
<Tag:Footer left="receipt" center="<variable>numrows" right="<page>">
<Tag:Background name="\logo.gif" left="30" top="50" right="80" bottom="100">
Comment Tag
The Comment tag adds code comments to the print template.
284
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Print Formatting Tags
Usage
Use the Comment tag to add explanatory notes or documentation to explain and maintain the print
template. Comment tags are ignored during printing and do not appear in the printed document.
Syntax
To use this tag, use the following syntax:
<REM:COMMENT>
Parameter
Description
REM
(Required) Comment tag indicator.
COMMENT
(Optional) Comment text.
Example
<REM: Quotation Print Template. This template includes four applets.>
Divider Tag
The Divider tag renders a horizontal line across the width of the page.
Usage
Use the Divider tag to visually separate the different sections of your document. The Divider tag can
be used between other tags; therefore, you can add a line between two applets. However, you cannot
embed a Divider within an applet.
Syntax
To use this tag, use the following syntax:
<TAG:Divider weight="WEIGHT" startat="START" endat="END">\
Parameter
Description
TAG:Divider
(Required) Divider tag indicator.
weight
(Optional) Specifies line thickness. Valid values are 1–5. The default value is 1,
which produces a line 0.2 mm wide. Increasing the value by 1 increases the width
by 0.2 mm. A 5 produces a line that is 1 mm wide.
startat
(Optional) Percentage that specifies the starting point of the line. The default is
0%, the farthest left point.
end
(Optional) Percentage that specifies the end point of the line. The default is
100%, the farthest right point.
Siebel Medical Handheld Guide Version 8.1/8.2
28 5
Print Tagging Language ■ Print Formatting Tags
Example
<TAG:Divider weight="2" startat="20" endat="80">
DrawRect Tag
The DrawRect tag draws a rectangle at the specified coordinates. This is an absolute mode-only tag.
Usage
Use the DrawRect tag to draw a rectangle anywhere in the printable area of your page. This tag can
be used with the Applet tag to draw a rectangle around a form applet.
Syntax
To use this tag, use the following syntax:
<TAG:DrawRect left="LEFT" right="RIGHT" top="TOP" bottom="BOTTOM"
linewidth="THICKNESS">
Parameter
Description
TAG:DrawRect
(Required) Applet tag indicator.
left
(Optional) Specifies the distance, in millimeters, of the left side of the rectangle
from the left margin.
If omitted, the current head position is used and the RIGHT parameter is used
to specify the width.
top
(Optional) Specifies the distance, in millimeters, of the top side of the rectangle
from the top margin.
If omitted, the current head position is used and the Bottom parameter is used
to specify the height.
right
(Required) Position, in millimeters, of the right side of the rectangle on the X
axis from the left margin.
bottom
(Required) Position, in millimeters, of the bottom side of the rectangle on the
Y axis from the top margin.
linewidth
(Required) The thickness, in millimeters, of the line.
Example
The following example draws a thin 100 x 90 mm rectangle at 30 mm from the top and 20.5 mm
from the left edge of the printable area:
<TAG:DrawRect left="20.5" top="30" right="120.5" bottom="120" linewidth="0.2">
286
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Print Formatting Tags
EndOfLine Tag
The EndOfLine tag specifies the end of a row and advances to the next line.
Usage
Use the EndOfLine tag to create rows of data in a table. Used with the Cell tag.
Syntax
To use this tag, use the following syntax:
<TAG:EndOfLine>
Parameter
Description
TAG:EndOfLine
(Required) End of line tag indicator.
Example
<TAG:Cell startat="0" endat="50" name="TOTAL:" align="RIGHT">
<TAG:Cell startat="50" endat="100" variable="vvv1total" align="RIGHT">
<TAG:EndOfLine>
EndOfPage Tag
The EndOfPage tag advances to a new page.
Usage
Use the EndOfPage tag to create a page break and start a new page within the print template.
Syntax
To use this tag, use the following syntax:
<TAG:EndOfPage>
Parameter
Description
TAG:EndOfPage
(Required) End of page tag indicator.
Example
<TAG:Cell startat="0" endat="50" name="TOTAL:" align="RIGHT">
<TAG:Cell startat="50" endat="100" variable="vvv1total" align="RIGHT">
<TAG:EndOfPage>
Siebel Medical Handheld Guide Version 8.1/8.2
28 7
Print Tagging Language ■ Print Formatting Tags
Footer Tag
The Footer tag adds footer information such as page numbers, the current date, and the current
time.
Usage
You might, for example, always want the text Thank you for your business! to appear on the bottom
of your receipts. If so, you can include this text in a Footer tag.
The Footer tag can be specified anywhere in the template file; however, it will always appear at the
very bottom of your document. Only one Footer tag is applied to the document. If you have multiple
Footer tags in the file, only the last Footer tag is used; any other Footer tags are ignored.
If you include a Footer tag in your template, then you must set the BottomMargin in setup.ini to a
minimum of 20.
The footer has three sections, Left, Center, and Right, which are used to position the information in
the footer.
The text in the footer is formatted in 10 point, Helvetica font. If Helvetica is not available on your
system, the default font is used. You cannot customize text formatting of the Footer tag. The Format
tag does not affect the formatting of the footer.
Syntax
To use this tag, use the following syntax:
<TAG:Footer left="DATA" center="DATA" right="DATA">
Parameter
Description
TAG:Footer
(Required) Footer tag indicator.
left, center, or right
(Optional) Static text or one of the following data tags:
Data tag
Description
<page>
Page number
<date>
Date of the printing
<time>
Time of the printing
Example
<TAG:Footer Left="<date>" Right="<page>"
Format Tag
The Format tag specifies the characteristics of the text—for example, the typeface or font, whether
the text is in boldface, italics, or underlined, and the text alignment.
288
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Print Formatting Tags
Usage
Use the Format tag to specify the typeface and font size of the text in your template. The Format tag
applies to the text that immediately follows it, or up until the next Format tag appears.
When an applet is rendered, the field alignment specification takes precedence over the align="TEXT
ALIGNMENT" parameter of the Format tag.
Syntax
To use this tag, use the following syntax:
<TAG:Format face="FONT FACE" size="FONT SIZE" bold="BOLD" italic="ITALIC"
underline="UNDERLINE" align="TEXT ALIGNMENT">
Parameter
Description
TAG:Format
(Required) Format tag indicator.
face
(Required) Specifies the typeface of the text.
Any typeface installed on the handheld device can be specified. There is no
default for this parameter.
size
(Required) Specifies the text size.
Any installed font size for an installed typeface on the handheld device can be
specified. There is no default for this parameter.
bold
(Optional) Specifies whether the text is in bold.
Valid values are TRUE or FALSE (default). If TRUE, text is set to bold.
italic
(Optional) Specifies whether the text is in italic.
Valid values are TRUE or FALSE (default). If TRUE, text is set to italic.
underline
(Optional) Specifies whether the text is underlined.
Valid values are TRUE or FALSE (default). If TRUE, text is set to underline.
align
(Optional) Specifies the text alignment.
Valid values are LEFT (default), RIGHT, and CENTER.
Example
<TAG:Format face="Helvetica" size="10">
Frame Tag
The Frame tag draws a frame (rectangular box) around all pages in the template.
Siebel Medical Handheld Guide Version 8.1/8.2
28 9
Print Tagging Language ■ Print Formatting Tags
Usage
Use the Frame tag to draw a rectangular box around each page in your template. The frame is drawn
at the edge of the page, just inside the paper margins.
Place the Frame tag after the Margin, Header, or Footer tags.
Syntax
To use this tag, use the following syntax:
<TAG:Frame pageframe="BOOLEAN VALUE" linewidth="THICKNESS">
Parameter
Description
TAG:Frame
(Required) Required tag indicator.
pageframe
(Required) Specifies whether to draw a frame around the page. Valid values are
TRUE or FALSE. If set to TRUE, a frame is drawn around each page.
linewidth
(Required) Specifies the thickness of the line in millimeters. If omitted, the
default value is 0.3 millimeters.
Example
<TAG:Frame pageframe="TRUE" linewidth="0.5">
Header Tag
The Header tag adds header information such as page numbers, the current date, and the current
time to the template.
Usage
You might always want the current date and time to appear on your invoices. If so, you can include
this information in a Header tag.
The Header tag can be specified anywhere in the template file; however, it always appears at the
very top of your document. Only one Header tag is applied to the document. If you have multiple
Header tags in the file, only the last Header tag is used; all other Header tags are ignored.
If you include a Header tag in your template, then you must set TopMargin in setup.ini to a minimum
of 20.
The Header tag has three sections (Left, Center, and Right) which are used to position the
information in the header. The Left parameter aligns the text with the left margin, and the Right
parameter right aligns the text with the right margin. The Center parameter centers the text in the
header.
The text in the header is formatted in 10 point, Helvetica font. If Helvetica is not available on your
system, the default font is used. You cannot customize text formatting of the Header tag. The Format
tag does not affect the format of the header.
290
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Print Formatting Tags
Syntax
To use this tag, use the following syntax:
<TAG:Header left="DATA" center="DATA" right="DATA">
Parameter
Description
TAG:Header
(Required) Header tag indicator.
left, center, or right
(Optional) Static text or one of the following data tags:
Data tag
Description
<page>
Page number
<date>
Date of the printing
<time>
Time of the printing
Example
<TAG:Header center="Company Confidential">
Landscape Tag
The Landscape tag sets the page orientation (or printout mode) to landscape for the subsequent
page or print tags.
Usage
The Landscape tag must be placed after the Margin, Header, or EndOfpage tags. If the Landscape
tag is specified in the template, users cannot override the orientation even if they change the paper
orientation setting in the printer settings dialog box.
Syntax
To use this tag, use the following syntax:
<TAG:Landscape>
Parameter
Description
TAG:Landscape
(Required) Landscape tag indicator.
List Tag
The List tag prints the selected columns in a specified column width.
Siebel Medical Handheld Guide Version 8.1/8.2
29 1
Print Tagging Language ■ Print Formatting Tags
Usage
Use the List tag to print out a list of records containing specified fields.
Syntax
To use this tag, use the following syntax:
<TAG:List appletname="APPLET" columns="COLUMN1|COLUMN2|...|COLUMNx"
columnwidths="Col1Width|Col2Width|...|ColxWidth" header="HEADER"
headerdivider="HEADERDIVIDER" recorderdivider="RECORDDIVIDER" query="QUERY" sql="SQL"
sort="SORT" maxlines="MAXLINES" startat="START" wrap="WRAP" grid="GRID"
rowsprinted="ROWSPRINTED" offset="OFFSET" width="WIDTH" linewidth="LINEWIDTH">
Parameter
Description
TAG:List
(Required) List tag indicator.
appletname
(Required) Applet name as defined in Siebel Tools.
columns
(Required) List of field names in applet to be printed in the specified order,
separated by a vertical bar (|).
columnwidth
(Optional) Relative weight of each column width. For example, 1|2 means
that the first column is half the width of the second column.
header
(Optional) Specifies whether to suppress or show headers.
Valid values are TRUE (default) or FALSE. If FALSE, captions in form applets
are suppressed. This parameter applies only to form applets.
headerdivider
(Optional, relative mode-only tag) Specifies whether to print a divider below
the heading in a list applet.
Valid values are TRUE or FALSE (default). If TRUE, a divider is printed below
the column heading in list applets. This parameter applies only to list applets.
recorddivider
(Optional, relative mode-only tag) Specifies whether to print a horizontal
divider between records in a list applet.
Valid values are TRUE or FALSE (default). If TRUE, a horizontal divider is
printed between records in list applets. This parameter applies only to list
applets.
query
(Optional) Specifies query specification.
sql
(Optional) Where clause for the SQL statement; sql="\"status"\=’good’"
selects all records where status field is set to good.
NOTE: Enclose the field name in double quotes and use backslash followed
by double quotes to include a double quote within the parameter, then
enclose the value in single quotes.
sort
(Optional) Specifies sort specification.
maxlines
(Optional) The maximum number of records that are printed for this applet.
This parameter applies only to list applets.
292
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Print Formatting Tags
Parameter
Description
startat
(Optional) The point at which the specified record in the row set starts
printing.
wrap
(Optional) Specifies whether word wrap is enabled for text field values.
Valid values are TRUE or FALSE (default). If TRUE, word wrap is applied to
text field values. This setting does not apply to numeric fields.
grid
(Optional, absolute mode-only) Specifies whether to print a grid between
fields, rows and columns.
Valid values are TRUE or FALSE (default). If TRUE, a grid is printed between
fields, rows, and columns.
rowsprinted
Specifies the number of rows to print for list applets. This parameter does not
apply to form applets.
offset
(Optional) Specifies the distance, in millimeters, to the right of the left
margin. This can be a number ("40") or a variable that contains a number
value ("_X" or "posx"). This is an absolute-mode only parameter.
width
(Optional, absolute mode-only) Specifies the width of the applet in
millimeters.
linewidth
(Optional, absolute mode-only) Specifies the line grid thickness in
millimeters.
Example
The following example prints out the records (30 x 70 mm respectively) from the CS HH Product
Bucket List Applet containing the Status and Product Name fields:
<TAG:List appletname="CS HH Product Bucket List Applet" columns="Status|Product Name"
columnwidths="30|70" maxlines="2" line="False" wrap="TRUE" rowsprinted="numrows"
grid="TRUE" linewidth="0.5" offset="10" width="75">
LineTo Tag
The LineTo tag draws a line of a specified thickness from the current printer head position to a
specified coordinate.
Usage
Use the LineTo tag along with the GetX, GetY, SetX, SetY, and Offset tags to draw lines anywhere in
the printable area of your template.
Syntax
To use this tag, use the following syntax:
Siebel Medical Handheld Guide Version 8.1/8.2
29 3
Print Tagging Language ■ Print Formatting Tags
<TAG:LineTo x="END X" y="END Y" linewidth="THICKNESS">
Parameter
Description
TAG:LineTo
(Required) Applet tag indicator.
x
(Required) Position, in millimeters, on the X axis where the line ends from the left
margin.
y
(Required) Position, in millimeters, on the Y axis where the line ends from the top
margin.
linewidth
(Required) Thickness, in millimeters, of the line.
Example
The following example draws a vertical line of 1 mm thickness from (100,100) to (100,140), and a
thin horizontal line from (100,140) to (120,140):
<TAG:SetX x="100">
<TAG:SetY y="100">
<TAG:LineTo x="100" y="140" linewidth="1">
<TAG:LineTo x="120" y="140" linewidth="0.2">
Margin Tag
The Margin tag sets all margin values for all pages in the print template.
Usage
Use the Margin tag to set all four page margin values. Use at the top of a page if you want to alter
margins.
As an absolute mode-only tag, the Margin tag must be declared immediately after the Absolute tag.
Any string or image printed on the page before a Margin tag is discarded.
Syntax
To use this tag, use the following syntax:
<TAG:Margin left="LEFT" top="TOP" right="RIGHT" bottom="BOTTOM">
Parameter
Description
TAG:Margin
(Required) Applet tag indicator.
left
(Required) Specifies the position, in millimeters, of the left side of the printable
area from the left edge of the paper.
top
(Required) Specifies the position, in millimeters, of the top side of the printable
area from the top edge of the paper.
294
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Print Formatting Tags
Parameter
Description
right
(Required) Specifies the position, in millimeters, of the right side of the printable
area from the right edge of the paper.
bottom
(Required) Specifies the position, in millimeters, of the bottom of the printable
area from the bottom edge of the paper.
Example
The following example sets the margins at 30 mm from the left and right paper edge, and 50 mm
from the top and bottom paper edge:
<TAG:Title title="Inventory Report">
<TAG:Absolute>
<TAG:Margin left="30" top="50" right="30" bottom="50">
PageBreak Tag
The PageBreak tag forces text that follows the tag to appear on the next page.
Usage
Use the PageBreak tag for multiple page documents or forms.
Syntax
To use this tag, use the following syntax:
<TAG:PageBreak>
Parameter
Description
TAG:PageBreak
(Required) Page break tag indicator.
Example
<TAG:PageBreak>
Portrait Tag
The Portrait tag sets the page orientation (or printout mode) to portrait for the subsequent page or
print tags.
Siebel Medical Handheld Guide Version 8.1/8.2
29 5
Print Tagging Language ■ Get and Set Tags
Usage
The Portrait tag must be placed after the Margin, Header, or Endofpage tags. If the Portrait tag is
specified in the template, users cannot override the orientation even if they change the paper
orientation setting in the printer settings dialog box.
Syntax
To use this tag, use the following syntax:
<TAG:Portrait>
Parameter
Description
TAG:Portrait
(Required) Portrait tag indicator.
Title Tag
The Title tag is the name used to identify the template.
Usage
The Title tag is a required tag in your print template file.
When you print your document, the Title tag appears in the print job list, but does not appear on the
document that is printed. Use static text to add a document title to your template.
Syntax
To use this tag, use the following syntax:
<TAG:Title title="TITLE">
Parameter
Description
TAG:Title
(Required) Title tag indicator.
title
(Required) Title text can be between 1 to 255 characters.
Example
<TAG:Title title="Quotation">
Get and Set Tags
You can add static text to the print template and also set variables. The following print tags allow
you to calculate additional information and add it to your reports:
■
“GetCount Tag” on page 297—Calculates the number of records.
■
“GetDate Tag” on page 298—Gets the current date.
296
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Get and Set Tags
■
“GetDirect Tag” on page 298—Returns the business component fields for any specified business
component.
■
“GetField Tag” on page 299—Gets the value of a field.
■
“GetRegistry Tag” on page 300—Returns registry values.
■
“GetTime Tag” on page 301—Gets the current time.
■
“GetTotal Tag” on page 301—Calculates the total for a column of data.
■
“SetVariable Tag” on page 302—Assigns a value to a variable.
All of this information is stored in variables that you specify. You can present this information in a
report using the Cell and EndofLine tags to create tables of information. For more information about
how variable parameters can be used to manipulate data output, see “Variable Parameter Tags” on
page 311. For an example of how variables can be used to present information in print templates,
see “Using Variables in Print Templates” on page 311.
GetCount Tag
The GetCount tag calculates the number of records in the selected rows and assigns this value to a
variable.
Usage
Use the GetCount tag to calculate the number of records and print this value in your report.
Syntax
To use this tag, use the following syntax:
<TAG:GetCount appletname="APPLET NAME" query="QUERY STRING" variable="VARIABLE NAME">
Parameter
Description
TAG:GetCount
(Required) Required tag indicator.
appletname
(Required) Name of the applet.
query
(Optional) Search specification for the rows to be included in the row set. If not
specified, the current search specification is used.
The syntax for the query string is: Field Name|Query Statement. You can
specify one or more query strings separated by a vertical bar (|).
For example, Query="Name|LIKE 'Sieb*'"|"Location|LIKE 'H*'"
variable
(Required) Name of variable where the value is stored.
Example
<TAG:GetCount appletname="CS HH Product Bucket List Applet" query="Status|Good"
variable="StatusGood">
Siebel Medical Handheld Guide Version 8.1/8.2
29 7
Print Tagging Language ■ Get and Set Tags
GetDate Tag
The GetDate tag obtains the current date, offsets the date by the number of days specified in the
dayoffset parameter, and stores the result in a variable.
Usage
Use the GetDate tag to print a specific date in your report.
Syntax
To use this tag, use the following syntax:
<TAG:GetDate dayoffset="NUMBER OF DAYS" variable="VARIABLE NAME" longformat="DATE
FORMAT">
Parameter
Description
TAG:GetDate
(Required) Required tag indicator.
dayoffset
(Optional) Number of days by which the current date is offset. For example, –
100 subtracts 100 days from the current date; 100 adds 100 days to the
current date. The default is 0.
variable
(Required) Name of the variable where the value is stored.
longformat
(Optional) TRUE prints the date in long date format (for example, Monday,
February 11, 2002). FALSE prints the short date format (for example, 2/21/
02). The default is FALSE.
Example
<TAG:GetDate longformat="TRUE" variable="LongDate">
GetDirect Tag
The GetDirect tag returns the data in any business component of the Siebel Handheld application
configuration, and stores it in the specified variable.
Usage
Use GetDirect to obtain the field data in any business component of your Siebel Handheld application
configuration. GetDirect works the same way as GetFieldData, except that it specifies the business
object name and business component name for the appropriate table. GetDirect is similar to the
GetField tag in that the specified
field value of the first record is stored in the specified variable.
Syntax
To use this tag, use the following syntax:
298
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Get and Set Tags
<TAG:GetDirect businessobject="BUSINESSOBJECT" businesscomponent="BUSINESSCOMPONENT"
fieldname=<"FIELD" variable="VARIABLE" query="QUERY" sort="SORT" sql="SQL">
Parameter
Description
TAG:GetDirect
(Required) Required tag indicator.
businessobject
(Required) Business object name.
businesscomponent
(Optional) Business component name.
fieldname
(Required) Field name.
variable
(Required) Variable to store the data.
query
(Optional) Query specification.
sort
(Optional) Sort specification.
sql
(Optional) Where clause for SQL statement; sql="\"status"\=’good’"
selects all records where status field is set to good.
NOTE: Enclose the field name in double quotes and use backslash
followed by double quotes to include a double quote within the parameter,
then enclose the value in single quotes.
Example
The following example returns the Name field of the first record from the Account business
component which is part of the Account business object, and puts it into the variable called
getdirectresult1:
<TAG:GetDirect businessobject="Account" businesscomponent="Account" fieldname="Name"
variable="getdirectresult1" sql="var_equal">
GetField Tag
The GetField tag returns the value of the first record (in the first row of selected rows) in a specified
column and assigns the result to a variable.
Usage
Use the GetField tag to print a value without developing a print applet. Design the query and sort
strings so that the desired record is the first record in the selected rows (or column).
GetField only allows you to obtain the value in the first record.
Syntax
To use this tag, use the following syntax:
Siebel Medical Handheld Guide Version 8.1/8.2
29 9
Print Tagging Language ■ Get and Set Tags
<TAG:GetField appletName="APPLET NAME" fieldname="FIELD NAME" query="QUERY STRING"
sort="SORT STRING" variable="VARIABLE NAME">
Parameter
Description
TAG:GetField
(Required) Required tag indicator.
appletname
(Required) Name of the applet.
fieldname
(Required) Name of the field or column.
query
(Optional) Search specification for the rows to be included in the total. If not
specified, the current search specification is used.
sort
(Optional) Sort specification. If not specified, the current sort specification is
used.
The syntax is: Field Name [ASC][DESC]. The default is ASC (Ascending).
For example: Sort="Account DESC, Date". In the example, the Account field is
sorted in descending order, then the date field is sorted in ascending order.
variable
(Required) Name of variable where the value is stored.
Example
<TAG:GetField appletname="CS HH Product Bucket List Applet" fieldname="Quantity"
variable="ProdBucketListField">
GetRegistry Tag
The GetRegistry tag obtains a value in the registry and assigns it to a variable.
Usage
Use GetRegistry to print the contents of the registry key in your report.
Syntax
To use this tag, use the following syntax:
<TAG:GetRegistry name="REGISTRY NAME" variable="VARIABLE NAME">
Parameter
Description
TAG:GetRegistry
(Required) Required tag indicator.
name
(Required) Value in the registry.
variable
(Required) Name of the variable where the value is stored.
300
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Get and Set Tags
Example
<TAG:GetRegistry name="InstallDir" variable="Registry">
GetTime Tag
The GetTime tag obtains the current time, offsets the time by the number of seconds specified by
the Secondoffset parameter, and assigns the result to a variable.
Usage
Use the GetTime tag to print a specific time in your report.
Syntax
To use this tag, use the following syntax:
<TAG:GetTime secondoffset="NUMBER OF SECONDS" variable="VARIABLE NAME">
Parameter
Description
TAG:GetTime
(Required) Required tag indicator.
secondoffset
(Optional) Number of seconds by which the current time is offset. For example,
–100 subtracts 100 seconds from the current time; 100 adds 100 seconds to
the current time. The default is 0.
variable
(Required) Name of variable where the value is stored.
Example
<TAG:GetTime secondoffset="3600" variable="Time">
GetTotal Tag
The GetTotal tag calculates the total for a specified column (or for all selected rows) and assigns the
value to a variable.
Usage
Use the GetTotal tag to calculate a column total and display the total in your report.
Syntax
To use this tag, use the following syntax:
Siebel Medical Handheld Guide Version 8.1/8.2
30 1
Print Tagging Language ■ Get and Set Tags
<TAG:GetTotal appletname="APPLET NAME" fieldName="FIELD NAME" query="QUERY STRING"
variable="VARIABLE NAME">
Parameter
Description
TAG:GetTotal
(Required) Required tag indicator.
appletname
(Required) Name of the applet.
fieldname
(Required) Name of the field or column. Specify a field or column with
numeric data. If you specify a field with non-numeric data, a 0 is assigned to
the variable.
query
(Optional) Search specification for the rows to be included in the total. If not
specified, the current search specification is used.
The syntax for the query string is: Field Name|Query Statement. You can
specify one or more query strings separated by a vertical bar (|).
For example, Query="Name|LIKE 'Sieb*'"|"Location|LIKE 'H*'"
variable
(Required) Name of variable where the value is stored.
Example
<TAG:GetTotal appletname="CS HH Product Bucket List Applet" fieldname="Quantity"
variable="ProdBucketListTotal">
SetVariable Tag
The SetVariable tag sets a value to a variable.
Usage
Use the SetVariable tag to assign a value to a variable. You can then print the value by specifying
the variable in the Cell tag.
Syntax
To use this tag, use the following syntax:
<TAG:SetVariable name="VALUE" variable="VARIABLE NAME>
Parameter
Description
TAG:SetVariable
(Required) Required tag indicator.
name
(Required) A value.
variable
(Required) Name of variable where the value is stored.
302
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Control Positioning Tags
Example
<TAG:SetVariable name="100" variable="TotalQuantity">
Control Positioning Tags
The following tags can be used to control positioning of printer heads. These tags can be used in
conjunction with the Applet (SetY only), Cell, Picture, and LineTo tags to position objects in the
printable area.
■
“GetX Tag” on page 303—Returns the position of the printer head along the X axis.
■
“GetY Tag” on page 304—Returns the position of the printer head along the Y axis.
■
“Offset Tag” on page 304—Adds a number to a number value stored in a variable.
■
“SetX Tag” on page 305—Sets the position of the printer head along the X axis.
■
“SetY Tag” on page 306—Sets the position of the printer head along the Y axis.
GetX Tag
The GetX tag returns the printer head position, measured from the left margin (in millimeters) along
the X axis, and assigns it to the input variable.
Usage
GetX is an absolute mode-only tag which can be used along with the SetX, SetY, and GetY tags to
control the position of the printer head. Use the GetX tag in conjunction with the Cell, Picture, and
Lineto tags to position objects in the printable area.
Syntax
To use this tag, use the following syntax:
<TAG:GetX variable="VARIABLE NAME">
Parameter
Description
TAG:GetX
(Required) Applet tag indicator.
variable
(Required) Name of the variable to which the X axis value of the current printer
head position is stored.
Example
The following example returns the current X axis position of the printer head and stores it in the posx
variable:
<TAG:GetX variable="posx">
Siebel Medical Handheld Guide Version 8.1/8.2
30 3
Print Tagging Language ■ Control Positioning Tags
GetY Tag
The GetY tag returns the printer head position, measured from the top margin (in millimeters) along
the Y axis, and assigns it to the input variable.
Usage
GetY is an absolute mode-only tag that can be used with the SetX, SetY, and GetX tags to control
the position of the printer head. Use the GetY tag in conjunction with the Cell, Picture, and Lineto
tags to position objects in the printable area.
Syntax
To use this tag, use the following syntax:
<TAG:GetY variable="VARIABLE NAME">
Parameter
Description
TAG:GetY
(Required) Applet tag indicator.
variable
(Required) Name of the variable to which the Y axis value of the current printer
head position is stored.
Example
The following example returns the current Y axis position of the printer head and stores it in the posy
variable:
<TAG:GetY variable="posy">
Offset Tag
The Offset tag adds a value to a number value in a variable.
Usage
Use the Offset tag to perform (positive or negative) offset variable calculations. Offset can be used
with SetX and SetY to position the printer head. Special variable names _X and _Y are reserved
variables which indicate the current x and y coordinates of the printer head position. These variable
names can be used to offset current printer head coordinates by a specified number value.
Syntax
To use this tag, use the following syntax:
304
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Control Positioning Tags
<TAG:Offset variable="VARIABLE NAME" offset="NUMBER VALUE">
Parameter
Description
TAG:Offset
(Required) Applet tag indicator.
variable
(Required) Name of the variable to be offset. _X and _Y can be used to offset the
current printer head position.
offset
(Required) Number value with which to offset the variable. This can be a positive
or negative value.
Example
The following examples yield the same result. The examples place the printer head position at
(+40,-40) from the current head position (_X, _Y). If the current printer head is (100,50), then this
means that the new printer head position is (140,10):
<TAG:GetX variable="posx">
<TAG:GetY variable="posy">
<TAG:Offset variable="posx" offset="40">
<TAG:Offset variable="posy" offset="-40">
<TAG:SetX x="<variable>posx">
<TAG:SetY y="<variable>posy">
<TAG:Offset variable="_X” offset="40">
<TAG:Offset variable="_Y" offset="-40">
SetX Tag
The SetX tag sets the printer head position along the X axis.
Usage
SetX is an absolute mode-only tag that can be used with the GetX, GetY, and SetY tags to control
the position of the printer head. Use the SetX tag in conjunction with the Cell, Applet, and Lineto
tags to position objects in the printable area.
SetX cannot be used to position static text because full-line text is meant for printing text across the
full width of the page. It is recommended that you use the Cell tag to position text in the exact
location.
Syntax
To use this tag, use the following syntax:
<TAG:SetX x="X">
Siebel Medical Handheld Guide Version 8.1/8.2
30 5
Print Tagging Language ■ Control Positioning Tags
Parameter
Description
TAG:SetX
(Required) Applet tag indicator.
x
(Required) String value or variable if used with GetX tag specifying where to
position the printer head based on its distance to the right, in millimeter from the
left margin of the paper.
Example
The following sets the printer head position to 100 millimeters from the left margin:
<TAG:SetX x="100">
If using SetX with the GetX and Offset tags, the following example sets the printer head position 40
millimeters to the right of the current printer head position. This means that if the current printer
head position is 100 millimeters from the left margin, then the new printer head position is 140
millimeters from the left margin:
<TAG:GetX variable="posx">
<TAG:Offset variable="posx" offset="40">
<TAG:SetX x="<variable>posx">
SetY Tag
The SetY tag sets the printer head position along the Y axis.
Usage
SetY is an absolute mode-only tag which can be used along with the GetX, GetY, and SetX tags to
control the position of the printer head. Use the SetY tag in conjunction with the Cell, Applet, and
Lineto tags to position objects in the printable area.
Syntax
To use this tag, use the following syntax:
<TAG:SetY y="Y">
Parameter
Description
TAG:SetY
(Required) Applet tag indicator.
y
(Required) String value or variable (if used with GetY tag) specifying where to
position the printer head based on its distance to the bottom (in millimeters) from
the top margin of the paper.
Example
The following sets the printer head position to 40 mm from the top margin:
306
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Data Manipulation and Logic Tags
<TAG:SetY y="40">
If using SetY with the GetY and Offset tags, the following example sets the printer head position 40
mm below the current printer head position. This means that if the current printer head position is
100 mm from the top margin, then the new printer head position is 140 mm from the top margin:
<TAG:GetY variable="posy">
<TAG:Offset variable="posy" offset="40">]
<TAG:SetY y="<variable>posy">
Data Manipulation and Logic Tags
The following tags are used to manipulate data, perform logical calculations and queries on print data
output:
■
“Concat Tag” on page 307—Appends or prepends a string to a string already stored in a variable
■
“Conditional Tags” on page 308—Enable the conditional output of print data
NOTE: Double quote characters—Can be used in values, provided they are preceded by a leading
backslash.
■
“sql (WHERE) Tag” on page 309—Used in various tags to perform a simple query on the underlying
print data
■
“Variable Parameter Tags” on page 311—Are accepted for Applet, Header, and Footer tags
Concat Tag
The Concat tag appends or prepends a value to a string stored in a variable.
Usage
Use the Concat tag to combine string variables or simple string texts. The resulting (concatenated)
string is stored in the original variable specified.
Syntax
To use this tag, use the following syntax:
<TAG:CONCAT variable= "VARIABLE NAME" prepend="PREPEND" append="APPEND">
Parameter
Description
TAG:Concat
(Required) Applet tag indicator.
variable
(Required) Name of the variable to be appended or prepended. The resulting
string is stored in this variable
Siebel Medical Handheld Guide Version 8.1/8.2
30 7
Print Tagging Language ■ Data Manipulation and Logic Tags
Parameter
Description
prepend
(Optional) Specifies whether to add a simple text string or variable in front of an
existing stored variable. The variable must be specified in the form
"<variable>name of variable".
Prepend is required if Append is not specified.
append
(Optional) Specifies whether to add a simple text string or variable to the end of
an existing stored variable. The variable must be specified in the form
"<variable>name of variable".
Append is required if Prepend is not specified.
Example
The following example sets the variables var_equal and var_criteria, then appends var_criteria and
prepends a simple text string to var_equal. The concatenated string is stored in var_equal:
<TAG:SetVariable variable="var_equal" name="=">
<TAG:SetVariable variable="var_criteria" name=" ‘Good’ ">
<TAG:Concat variable="var_equal" prepend="\"status\" " append="<variable>var_criteria">
Conditional Tags
The conditional tag compares a variable against a criterion according to the operator, and decides to
execute either an IF or an ELSE clause.
Usage
Use conditional tags to develop simple if-then logic to control the output of your print data. It is
recommended that if-then-else tags are kept simple to ensure that print output is successful.
Syntax
To use this tag, use the following syntax:
<TAG:IF variable="VARIABLE NAME" operator="OPERATOR" criteria="CRITERIA" numeric=
"NUMERIC">
<TAG:…>
<TAG:…>
<TAG:ELSE>
<TAG:…>
<TAG:…>
NOTE: If the comparison is true, the tags immediately following the <TAG:IF...> tag are executed;
if the comparison is false, the tags immediately following the <TAG:ELSE...> tag are executed.
Parameter
Description
TAG:IF
(Required) Applet tag indicator.
308
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Data Manipulation and Logic Tags
Parameter
Description
TAG:ELSE
(Required) Applet tag indicator
variable
(Required) Name of the variable being compared.
criteria
String value to which the variable will be compared.
operator
(Required) This can be one of the following:
numeric
■
EQ signifies Equal to
■
GT signifies Greater than
■
GE signifies Greater than or equal to
■
LT signifies Less than
■
LE signifies Less than or equal to
Specifies whether the condition is evaluated as a numeric comparison or a string
comparison. Valid values are TRUE (numeric comparison) or FALSE (string
comparison).
For a string comparison, use the vertical bar (|) as an OR operator.
Example
The following example evaluates whether the variable numrows is equal to 15, 17, or 19:
■
If true, then a string similar to the following is printed: Printed [numrows] rows that are odd
■
If false, then a string similar to the following is printed: Printed [numrows] rows that are even
<TAG:IF variable="numrows" operator="EQ" criteria="15|17|19">
<TAG:Concat variable="numrows" append=" rows." prepend="Printed ">
<TAG:Concat variable="numrows" append=" that are odd.">
<TAG:ELSE>
<TAG:Concat variable="numrows" append=" rows." prepend="Printed ">
<TAG:Concat variable="numrows" append=" that are even.">
<TAG:ENDIF>
sql (WHERE) Tag
The sql (WHERE) tag is placed as a parameter, and so can be a value stored in a string variable.
Usage
Use the sql (WHERE) tag, for example, as follows:
sql="\"Status\"='Defective'" and \"Quantity\">500"
Siebel Medical Handheld Guide Version 8.1/8.2
30 9
Print Tagging Language ■ Data Manipulation and Logic Tags
in the Applet, GetTotal, GetField, GetDirect, and GetCount tags.
Syntax
To use this tag, use the following syntax:
SQL="\"Status\"='Defective'"
Example 1
<TAG:Applet name="CS HH Product Bucket List Applet" sql="\"Status\"='Defective'"
maxlines="2" startat="10" recorddivider="FALSE" wrap="TRUE" grid="TRUE" offset="0"
width="75" linewidth="0.4">
<TAG:SETVARIABLE variable="var_equal" name="=">
<TAG:SETVARIABLE variable="var_fieldname" name="\"Status\"">
<TAG:SETVARIABLE variable="var_criteria" name="'Good'">
<TAG:Concat variable="var_equal" prepend="<variable>var_fieldname">
append="<variable>var_criteria">
<TAG:SETY y="0">
<TAG:Applet name="CS HH Product Bucket List Applet" sql="<variable>var_equal"
maxlines="2" startat="10" recorddivider="FALSE" wrap="TRUE" grid="TRUE" offset="80"
width="75">
Example 2
<TAG:Getfield appletname="CS HH Orders Print Applet" fieldname="Account" variable=
"var_name">
<TAG:SETVARIABLE variable="var_where" name="='">
<TAG:SETVARIABLE variable="var_fieldname" name="\"Name\"">
<TAG:CONCAT variable="var_where" prepend="<variable>var_fieldname" append=
"<variable>var10">
<TAG:CONCAT variable="var_where" append="'">
<TAG:GETDIRECT sql="<variable>var_equal" businessobject="Account"
businesscomponent= "Account" fieldname="Name" variable="var15">
<TAG:CELL name="<variable>var15" left="10" top="80" right="70" bottom="100"
box="TRUE" linewidth="0.4" align="RIGHT">
310
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Using Variables in Print Templates
Variable Parameter Tags
Most parameters support variables. For example, a user can store a field value and use the field value
as one of the parameters in a subsequent tag. Combining this feature with the Concat and
Conditional tags and the SQL (WHERE) tag, you can construct complex query statements and print
out the results.
Example 1
After the following tag sequence, var_equal contains "\"Status\"='Defective'":
<TAG:SETVARIABLE variable="var_equal" name="=">
<TAG:SETVARIABLE variable="var_fieldname" name="\"Status\"">
<TAG:SETVARIABLE variable="var_criteria" name="'Good'">
<TAG:CONCAT variable="var_equal" prepend="<variable>var_fieldname" append=
"<variable>var_criteria">
NOTE: To include double quotes in a parameter, include a backslash before them.
Example 2
The following example includes a variable in the header tag:
<TAG:HEADER left="<page>" center="<variable>numrows" right="<date>">
Using Variables in Print Templates
The following example shows how to use variables in a print template.
<TAG:Title Title="Inventory Report">
<REM: **********Variable Assignment Examples**************>
<TAG:SetVariable name="THIS IS VARIABLE" variable="VarStr">
<TAG:GetRegistry name="InstallDir" variable="VarReg">
<TAG:GetDate dayoffset="10" variable="VarDate">
<TAG:GetDate longformat="TRUE" variable="VarLongDate">
<TAG:GetTime secondoffset="-3600" variable="VarTime">
<TAG:GetTotal appletname="CS HH Product Bucket List Applet" fieldname="Quantity"
variable="VarTotal">
<TAG:GetTotal appletname="CS HH Product Bucket List Applet" fieldname="Quantity"
query="Status|Good" variable="VarGoodTotal">
Siebel Medical Handheld Guide Version 8.1/8.2
31 1
Print Tagging Language ■ Using Variables in Print Templates
<TAG:GetTotal appletname="CS HH Product Bucket List Applet" fieldname="Quantity"
query="Status|Defective" variable="VarDefectiveTotal">
<TAG:GetField appletname="CS HH Product Bucket List Applet" fieldname="Quantity"
variable="VarQuantityField">
<TAG:GetCount appletname="CS HH Product Bucket List Applet" query="Status|Good"
variable="VarGoodCount">
<TAG:GetCount appletname="CS HH Product Bucket List Applet" query="Status|Defective"
variable="VarDefectiveCount">
<REM: **********Variable Assignment Examples End************>
<REM: Inventory Print Template. This template includes 3 applets. The ENU template>
<TAG:Format Face="Helvetica" Size="16" Align="Center">
[Distributor Name
Street Address
City, Country Postal Code
Phone Number
Fax Number]
<TAG:Format Face="Helvetica" Size="20" Bold="TRUE" Align="Center">
Inventory Report
<TAG:Format Face="Helvetica" Size="8" >
<TAG:Applet Name="CS HH Inv Loc Print Applet" Caption="TRUE" Wrap="TRUE">
<TAG:Applet Name="CS HH Product Bucket List Applet" Line="FALSE"
Headerdivider="TRUE" Recorddivider="FALSE" Wrap="TRUE">
<REM: *************Variable Usage Example***************>
<TAG:Divider Weight="3" startat="20" endat="80">
<TAG:Cell startat="0" endat="50" name="TOTAL:" Align="RIGHT">
<TAG:Cell startat="50" endat="100" variable="VarTotal" Align="RIGHT">
<TAG:EndOfLine>
<TAG:Cell startat="0" endat="50" name="TOTAL Defective:" Align="RIGHT">
<TAG:Cell startat="50" endat="100" variable="VarDefectiveTotal" Align="RIGHT">
<TAG:EndOfLine>
<TAG:Cell startat="0" endat="50" name="TOTAL Good:" Align="RIGHT">
<TAG:Cell startat="50" endat="100" variable="VarGoodTotal" Align="RIGHT"
<TAG:EndOfLine>
312
Siebel Medical Handheld Guide Version 8.1/8.2
Print Tagging Language ■ Using Variables in Print Templates
<TAG:Cell startat="0" endat="50" name="Defective Count:" Align="RIGHT">
<TAG:Cell startat="50" endat="100" variable="VarDefectiveCount" Align="RIGHT">
<TAG:EndOfLine>
<TAG:Cell startat="0" endat="50" name="Good Count:" Align="RIGHT">
<TAG:Cell startat="50" endat="100" variable="VarGoodCount" Align="RIGHT">
<TAG:EndOfLine>
<TAG:Cell startat="50" endat="100" variable="VarReg">
<TAG:EndOfLine>
<TAG:Cell startat="50" endat="100" variable="VarStr">
<TAG:EndOfLine>
<TAG:Cell startat="0" endat="30" variable="VarDate">
<TAG:Cell startat="30" endat="70" variable="VarLongDate">
<TAG:Cell startat="70" endat="100" variable="VarTime">
<TAG:EndOfLine>
<REM: ***********Variable Usage Example End***************>
<TAG:Divider Weight="2">
<TAG:Format Face="Helvetica" Size="12" Align="LEFT">
Warehouse Signature
<TAG:Divider Weight="2">
<TAG:Format Face="Helvetica" Size="12" Align="RIGHT">
Rep Signature
Siebel Medical Handheld Guide Version 8.1/8.2
31 3
Print Tagging Language ■ Using Variables in Print Templates
314
Siebel Medical Handheld Guide Version 8.1/8.2
E
Print Configuration Settings
This appendix describes the print configuration settings that can be set up for your Siebel Handheld
application, and includes the following topic:
■
“Overview of Print Configuration Settings for Siebel Handheld Applications” on page 315
■
“Print Configuration Settings” on page 315
Overview of Print Configuration Settings
for Siebel Handheld Applications
The administrator sets up the default printer settings in the setup.ini file located in the setup
directory. There are a number of parameters to specify printing on Siebel Handheld applications. The
parameters specify the following:
■
Printer attributes (printer model, port, baud rate, and printer handshake).
■
Printing attributes (portrait or landscape orientation, print density and quality, use of
compression techniques, and advancing continuous–feed paper).
■
Dimensions of the paper (U.S. or European standard paper sizes or custom–size paper).
■
Margin settings of the pages (left, right, top, and bottom margins).
These parameters are specified in the [Printing] section of the setup.ini file located in the setup
directory. The file contains default settings for all the printing parameters. Review the settings in the
file to verify that these settings will work for your printing environment. If necessary, edit the
settings as required. You can use any text editor to edit the file.
Printing parameters are listed below in alphabetical order. Parameters are set up using the following
syntax:
PARAMETER_NAME = VALUE
For example:
PrinterType = 1
Print Configuration Settings
The print configuration settings that can be set up for your Siebel Handheld application are:
■
“MarginBottom” on page 316
■
“MarginLeft” on page 316
■
“MarginRight” on page 316
Siebel Medical Handheld Guide Version 8.1/8.2
31 5
Print Configuration Settings ■ Print Configuration Settings
■
“MarginTop” on page 317
■
“PaperHeight” on page 317
■
“PaperSize” on page 317
■
“PaperWidth” on page 317
■
“PrinterBaudrate” on page 318
■
“PrinterCompressed” on page 318
■
“PrinterDensity” on page 318
■
“PrinterDither” on page 319
■
“PrinterDraftMode” on page 319
■
“PrinterFormFeed” on page 319
■
“PrinterHandshake” on page 320
■
“PrinterOrientation” on page 320
■
“PrinterPort” on page 321
■
“PrinterType” on page 321
■
“PrinterUserSelect” on page 322
■
“Default Printing Settings” on page 323
MarginBottom
Use the MarginBottom parameter to specify the dimensions of the bottom margin of your page.
Specify the margin in millimeters using a whole number; decimal fractions are not valid. The default
is 5 millimeters.
The data specified in the Footer tag of the print template is printed in the margin specified by
MarginBottom. Therefore, if the print template includes a Footer tag, you must specify a wide enough
bottom margin to accommodate the footer. MarginBottom must be set to a minimum of 20
millimeters. For more information about MarginBottom, see “Footer Tag” on page 288.
MarginLeft
Use the MarginLeft parameter to specify the width of the left margin of your page. Specify the margin
in millimeters using a whole number; decimal fractions are not valid. The default is 5 millimeters.
MarginRight
Use the MarginRight parameter to specify the width of the right margin of your page. Specify the
margin in millimeters using a whole number; decimal fractions are not valid. The default is 5
millimeters.
316
Siebel Medical Handheld Guide Version 8.1/8.2
Print Configuration Settings ■ Print Configuration Settings
MarginTop
Use the MarginTop parameter to specify the dimensions of the top margin of your page. Specify the
margin in millimeters using a whole number; decimal fractions are not valid. The default is 5
millimeters.
The data specified in the Header tag of the print template is printed in the margin specified by
MarginTop. Therefore, if the print template includes a Header tag, you must specify a wide enough
top margin to accommodate the footer. MarginTop must be set to a minimum of 20 millimeters. For
more information about MarginTop, see “Header Tag” on page 290.
PaperHeight
If the paper that your printer uses is not one of the supported standard sizes, then set PaperSize to
5 (custom paper dimensions). Then, specify the height of the paper, in millimeters, using the
PaperHeight parameter. You must use a whole number; decimal fractions are not valid. The default
is 280 millimeters. If you specify a value of 1–4 for PaperSize, the PaperHeight parameter is ignored.
Use the PaperWidth parameter to specify the width of the paper.
PaperSize
Specify one of the standard paper sizes, or specify a custom paper size. Table 39 describes the valid
paper dimension values that you can specify for PaperSize. If you specify a custom paper size (value
5 in Table 39), you must also specify the PaperWidth and PaperHeight parameters.
Table 39.
Paper Dimensions
Value
Description
1
Letter size (8.5" x 11.5")
2
A4 (210 mm x 297 mm)
3
B5 (176 mm x 250 mm)
4
Legal size (8.5" x 14")
5 (default)
Custom paper dimensions
PaperWidth
If the paper that your printer is printing to is not one of the supported standard sizes, then set
PaperSize to 5 (custom paper dimensions). Then, you must specify the width measurement of the
paper, in millimeters, using the PaperWidth parameter. You must use a whole number; decimal
fractions are not valid. The default is 5 millimeters. If you specify a value of 1–4 for PaperSize, the
PaperWidth parameter is ignored.
Siebel Medical Handheld Guide Version 8.1/8.2
31 7
Print Configuration Settings ■ Print Configuration Settings
Use the PaperHeight parameter to specify the length of the paper.
PrinterBaudrate
Use PrinterBaudrate to specify the speed of the data transmission for the printer. Table 40 describes
the valid values you can specify for PrinterBaudRate. The PrinterBauderate is applicable only when
the PrinterPort is set to serial port.
Table 40.
Printer Baud Rate
Value
Description
0
Always use 0 for LPT or printer ports, or for COM ports that communicate
with the printer at 4800 baud.
1 (default)
9600 baud
2
19200 baud
3
38400 baud
4
57600 baud
5
115200 baud
PrinterCompressed
Use PrinterCompressed to specify the data compression mode. Table 41 describes the valid values
you can specify for PrinterCompressed. For the printers supported in this release, always set
PrinterCompressed to 1.
Table 41.
Data Compression
Value
Description
0
No compression techniques used
1 (default)
Use any known compression
PrinterDensity
Use the PrinterDensity parameter to get a lighter or darker output from the printer. Start with the
default setting, 2, which corresponds to the printer manufacturer’s default. As you get feedback from
the field, you might need to adjust this setting.
The valid values are 0–4 where 0 is the lightest print density, 4 is the heaviest print density, and 2
is average print density.
318
Siebel Medical Handheld Guide Version 8.1/8.2
Print Configuration Settings ■ Print Configuration Settings
PrinterDither
Use to specify the method by which different colors are represented. Table 42 describes the valid
values you can specify for PrinterDither. For the printers supported in this release, PrinterDither must
always be set to 0.
Table 42.
Print Dithering
Value
Description
0 (default)
Use color diffusion
1
Use dithering
PrinterDraftMode
Use PrinterDraftMode to specify the quality of the printing. Table 43 describes the valid values you
can specify for PrinterDraftMode. For the printers supported in this release, PrinterDraftMode must
always be set to 0.
Table 43.
Print Quality
Value
Description
0 (default)
Use the highest quality printing
1
Use a lower quality printing if available
PrinterFormFeed
Use PrinterFormFeed to specify how paper advances to the next page. Table 44 describes the valid
values you can specify for PrinterFormFeed.
If using sheets of paper, set PrinterFormFeed to 0.
Specify 1 or 2 for continuous-feed paper, as follows:
■
Set PrinterFormFeed to 1 if you do not need to conserve paper or if you want pages of uniform
length. The printer scrolls to the length specified by the PageHeight parameter and trims the
page there.
■
Set PrinterFormFeed to 2 to conserve paper or if it does not matter if your pages are of varying
length. In this case, the printer scrolls 25 millimeters beyond the last printed line and trims the
page there. The scroll distance, 25 mm, is not customizable.
Siebel Medical Handheld Guide Version 8.1/8.2
31 9
Print Configuration Settings ■ Print Configuration Settings
For both values, 1 and 2, the page length must never exceed PageHeight.
Table 44.
Printer Form Feed
Value
Description
0 (default)
Printer sends a form feed command to the printer at the end of each page.
Use this setting for sheet paper.
1
Printer scrolls the page to the length specified by the PaperHeight
parameter.
2
Printer scrolls the page 25 millimeters past the last printed line of the page.
PrinterHandshake
Use PrinterHandshake to define the serial port handshake. Table 45 describes the valid values you
can specify for PrinterHandshake. The PrinterHandshake parameter applies only when the printer
port is a Com1, Com2, or any COM port. If PrinterPort is set to Com1 or Com2, then set
PrinterHandshake to 1.
Table 45.
Printer Handshake
Value
Description
0
Uses Xon or Xoff
1 (default)
Uses hardware control lines
2
No handshaking of serial port
PrinterOrientation
Specify whether the paper is to be oriented vertically (portrait) or horizontally (landscape). Table 46
describes the valid values you can specify for PrinterOrientation. Not all printers can print in
landscape orientation. Therefore, you will need to check the specifications for your printer.
Table 46.
Paper Orientation
Value
Description
1 (default)
Portrait (vertical)
2
Landscape (horizontal)
320
Siebel Medical Handheld Guide Version 8.1/8.2
Print Configuration Settings ■ Print Configuration Settings
PrinterPort
Specify the port to which the printer is connected with the PrinterPort parameter. Table 47 describes
the valid values you can specify for PrinterPort. If PrinterPort is an LPT port or a network path (value
2 or 9 in Table 47), then the PrinterBaudrate must be set to 0.
NOTE: The communication port on the printer must be compatible with the host PDA. For IrDA, the
serial communication setting must be set correctly to allow reliable printing.
Table 47.
Printer Port
Value
Description
0
Com1: serial port
1
Com2: serial port
2
LPT: parallel port
3 (default)
IR Infrared port
4
Com3: serial port
5
Com4: serial port
6
Com5: serial port
7
Com6: serial port
8
Print to OUTPUT.PRN
9
Print to network address
10
Bluetooth BlueCard solution by Wireless Solutions
11
Socket PNC Bluetooth card support
12
Bluetooth BlueCard solution by Anycom
13
Com7: serial port
14
Com8: serial port
PrinterType
Specify the type of printer using the PrinterType parameter. Table 48 lists the printers supported by
the Printer CE print driver used by Siebel applications.
Table 48.
Supported Printers
Value
Description
0
Canon BubbleJet compatible printers
1
Citizen PD-04
Siebel Medical Handheld Guide Version 8.1/8.2
32 1
Print Configuration Settings ■ Print Configuration Settings
Table 48.
Supported Printers
Value
Description
2
Citizen PN60i
3
Epson ESC/P 2 compatible printers
4
Epson Stylus compatible printers
5
HP PCL compatible - includes DeskJet and LaserJet
6
Pentax PocketJet 200
7
Pentax PocketJet II
8
Seiko DPU-3445
9
Generic Epson compatible 180DPI 24-pin printers (LQ/ESC)
10
Generic Epson compatible 360DPI 24-pin printers (LQ/ESC)
11
Generic Epson compatible 203DPI 24-pin printers (LQ/ESC)
12
Extech 2"
13
Extech 3"
14
O'Neil MicroFlash
15
DymoCoStar label printers
16
Seiko LabelWriter printers
17
Extech 4"
18
SiPix A6 printer
20
Zebra RW 220
102
Generic 40 column Dot Matrix Printer
108
Generic 80 column Dot Matrix Printer
PrinterUserSelect
Use PrinterUserSelect to enable a printer dialog box for Siebel Handheld applications, whereby users
are prompted via a dialog box to specify the settings for their printer each time they initiate a print
job. For more information about the printer settings dialog box, see “Configuring a Printer Settings
Dialog Box for the Siebel Handheld Application” on page 59.
322
Siebel Medical Handheld Guide Version 8.1/8.2
Print Configuration Settings ■ Print Configuration Settings
Table 49 describes the valid values you can specify for PrinterUserSelect.
Table 49.
Printer User Select
Value
Description
1
Displays a printer dialog box for each copy of each form if multi-form, multi-copy
printing is used.
2
Displays a printer dialog box only once when the first form starts printing. The
same settings are used for all copies if multi-form, multi-copy printing is used.
Default Printing Settings
The following are the printing parameters from the setup.ini file. The values shown are the default
settings.
[Printing]
PrinterType= 14
PrinterPort= 3
PrinterBaudrate= 1
PrinterHandshake= 1
PrinterOrientation= 1
PrinterDensity= 2
PrinterCompressed= 1
PrinterDither= 0
PrinterDraftMode= 0
PrinterFormFeed= 0
PaperSize= 5
PaperWidth= 115
PaperHeight= 280
MarginLeft= 5
MarginRight= 5
MarginTop= 5
MarginBottom= 5
Siebel Medical Handheld Guide Version 8.1/8.2
32 3
Print Configuration Settings ■ Print Configuration Settings
324
Siebel Medical Handheld Guide Version 8.1/8.2
F
COM Extensibility
This appendix covers the extension of Component Object Model (COM) support for Siebel Handheld
applications. The audience for this appendix includes Siebel application developers and Siebel
integration developers. The following topics are covered in this appendix:
■
About COM Extensibility on page 325
■
Process of Implementing a SCEC on page 332
About COM Extensibility
COM support for Siebel Handheld applications allows customers to programmatically extend the
functionality of the Handheld application. By developing a COM object according to a predefined
Siebel specification, users can customize responses to Siebel events. Action request methods allow
a customized COM object to interact with the Siebel Handheld application.
Overview of the SCEC Framework
This topic describes the major components of the Siebel Handheld CE (SHCE) COM Extension
Framework.
An SHCE COM Extension Component (SCEC) is part of the Siebel Handheld application architecture.
One or more SCECs can subscribe to event notifications on Siebel objects, including applets, business
components, business services, and the application. A SCEC can perform action requests on the
Siebel Handheld application to manipulate Siebel objects. SCECs implement an interface derived
from ISHCEEvent, which is defined by the COM Extension Framework.
Siebel events are defined as actionable requests triggered by application logic. Externally defined
program modules, implemented by the customer, will handle these events. This feature allows
customer-defined business logic to extend the application to handle third-party logic and validation.
For example, Buscomp::PreWriteRecord will be called before any record is written to the Siebel
Server database, thus allowing you to perform early, specialized validation on a particular field.
Siebel action requests are defined as APIs, implemented by the Siebel Handheld architecture, which
allow external customer modules to perform standard operations on the Siebel Handheld application.
All action request interfaces are derived from the base ISHCEActionReq interface. For example,
BusComp::SetFieldValue can be called by a SCEC in order to set a specific value for a Business
Component.
Both Siebel objects and SCECs exist within the Siebel process boundary in each layer of the Siebel
architecture. For example, COM components can extend the applet functionality in the user interface
layer, while on the object manager layer, extension objects can implement specialized logic by
interacting with business components, business objects, and services.
Siebel Medical Handheld Guide Version 8.1/8.2
32 5
COM Extensibility ■ About COM Extensibility
The Siebel object and the SCEC maintain references to each other and interact through synchronous
method calls. The Siebel object blocks while the SCEC implements custom behavior for the event to
which it is subscribed. After the SCEC handles an event, it returns control to the Siebel object. The
COM component uses a returned value to specify whether the Siebel object can continue processing
the event normally, cancel operations, or return an error.
Receiving Event Notifications
To intercept Siebel object events, a customer must create a SCEC that implements one of the
exported SHCE COM Event Interfaces (SCEI) derived from ISHCEEvent. Although both the Siebel
object and the SCEC are within the Siebel Handheld application process boundary, the SCEC is the
COM server, and the Siebel Handheld application is the COM client consumer. All SCECs are freethreaded, in-process (.dll) COM servers.
A SCEC implements one of the event interfaces derived from the generic event interface
(ISHCEEvent). The event interfaces are listed in Table 50.
Table 50.
SCEI Interfaces
SHCE COM Event Interface (SCEI)
Description
ISHCEEvent
Contains generic interfaces common to all SCEIs. All
event interfaces are derived from ISHCEEvent.
ISHCEAppletEvent
Used for applet events.
ISHCEApplicationEvent
Used for application and global events.
ISHCEBusCompEvent
Used for business component events.
ISHCEServiceEvent
Used for service events.
For example, to receive notifications that a business component (such as Account) is committing a
record, a SCEC implements the event interface corresponding to the business component events
(ISHCEBusCompEvent interface), and adds the specialized handling code in the method
(PreWriteRecord).
User properties of the Siebel object in Siebel Tools indicate the events for which a SCEC will be
notified. For more information about Tools configuration, see Configuring SCEC User Properties in
Siebel Tools on page 344. When a Siebel event, to which a SCEC is subscribed, occurs, the Siebel
object will instantiate the SCEC and notify it of the event by invoking one of the SCEI interface
methods.
326
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ About COM Extensibility
A SCEC can manipulate the program flow by returning one of the HRESULT codes listed in Table 51.
Table 51.
SCEI Return Codes
SHCE COM Event Interface
(SCEI) Return Codes
Description
EL_EVENT_EMPTY
No event procedure was found. Log a warning and perform normal
processing.
EL_EVENT_CONTINUE
The event procedure ran successfully. The Siebel application
should continue to perform normal processing.
EL_EVENT_COMPLETE
The event procedure performed the operation and ran
successfully. The Siebel application should return without
performing any additional processing (without performing normal
processing).
EL_EVENT_ERROR
The event procedure generated an error. Return with error.
EL_EVENT_CANCEL
The event procedure was cancelled. Return without error.
COM extensibility supports the following Siebel events:
Applet_GotFocus
Application_PreSync
BusComp_PreNewRecord
Applet_InvokeMethod
Application_Start
BusComp_PreQuery
Applet_Load
BusComp_Associate
BusComp_PreSetFieldValue
Applet_PreInvokeMethod
BusComp_ChangeRecord
BusComp_PreWriteRecord
Applet_TaskButtonPressed
BusComp_DeleteRecord
BusComp_Query
Application_Close
BusComp_InvokeMethod
BusComp_SetFieldValue
Application_InvokeMethod
BusComp_NewRecord
BusComp_WriteRecord
Application_Navigate
BusComp_PreAssociate
Service_InvokeMethod
Application_PreClose
BusComp_PreDeleteRecord
Application_PreInvokeMethod BusComp_PreGetFieldValue
Application_PreNavigate
Service_PreCanInvokeMethod
Service_PreInvokeMethod
BusComp_PreInvokeMethod
Siebel Medical Handheld Guide Version 8.1/8.2
32 7
COM Extensibility ■ About COM Extensibility
Invoking Siebel Methods (Action Requests)
A SCEC uses action request interface references to interact with Siebel objects. Immediately after
creating a SCEC, Oracle’s Siebel Handheld applications provides the action request interface pointers
of the root Siebel objects to the SCEC and invokes the appropriate SCEC event method. A SCEC can
use the root interface references to access and manipulate all other Siebel objects. When a SCEC
intercepts a Siebel event, it can customize business logic by invoking action requests through the
SHCE COM Action Request Interfaces (SCARI). Action request interface references to other objects
are available from the root interfaces listed in Table 52.
Table 52.
SCARI Interfaces
SHCE COM Action Request
Interface (SCARI)
Description
ISHCEActionReq
Generic interface from which all other callback interfaces
are derived.
ISHCEApplet
Used for applet methods.
ISHCEApplication
Used for application and global methods.
ISHCEBusComp
Used for business component methods.
ISHCEBusObject
Used for business object methods.
ISHCEPropertySet
Property sets used to pass input arguments to other object
methods.
ISHCEService
Used for service events.
COM Extensibility supports the Siebel Action Requests listed in Table 53.
Table 53.
SCARI Interfaces and Action Requests
SHCE COM Action Request
Interface (SCARI)
Applet Action Requests:
ISHCEApplet
Action Request
BusComp
BusObject
DrillDown
GetChildProperty
InvokeMethod
Name
SetChildProperty
328
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ About COM Extensibility
Table 53.
SCARI Interfaces and Action Requests
SHCE COM Action Request
Interface (SCARI)
Application Action Requests:
ISHCEApplication
Action Request
ActiveApplet
ActiveBusComp
ActiveBusObject
GetBusObject
GetLastErrCode
GetLastErrText
GetLocalString
GetProperty
GetService
GetUserProperty
GotoView
InvokeMethod
NewPropertySet
PlaySound
SetActiveApplet
SetErrorCode
SiebelMessageBox
Trace
Business Component Action
Requests: ISHCEBusComp
Associate
BusObject
CheckActiveRow
ClearToQuery
DeleteRecord
EnableFullFetch
ExecuteQuery
FirstRecord
GetAssocBusComp
GetFieldValue
GetNamedSearch
GetPicklistBusComp
Siebel Medical Handheld Guide Version 8.1/8.2
32 9
COM Extensibility ■ About COM Extensibility
Table 53.
SCARI Interfaces and Action Requests
SHCE COM Action Request
Interface (SCARI)
Business Component Action
Requests: ISHCEBusComp
(continued)
Action Request
GetSearchExpr
GetSearchSpec
GetViewMode
InvokeMethod
IsFullFetch
LastRecord
Name
NewRecord
NextRecord
ParentBusComp
Pick
PreviousRecord
SetFieldValue
SetNamedSearch
SetSearchExpr
SetSearchSpec
SetSortSpec
SetViewMode
UndoRecord
WriteRecord
Business Object Action Requests:
ISHCEBusObject
330
GetBusComp
Name
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ About COM Extensibility
Table 53.
SCARI Interfaces and Action Requests
SHCE COM Action Request
Interface (SCARI)
Property Set Action Requests:
ISHCEPropertySet
Action Request
AddChild
Copy
GetChild
GetCount
EnumProperty
GetProperty
GetType
GetValue
InsertChildAt
RemoveChild
Reset
SetProperty
SetType
SetValue
Business Service Action Requests:
ISHCEService
GetPropertySet
InvokeMethod
Name
Obtaining and Using Action Request Interface
References
The action request interface corresponding to the application object (ISHCEApplication) allows
access to all other ISHCEActionReq derived interfaces. A pointer to this interface is stored in m_pApp,
which is a member of the CSiebelSCECBase class. For example, ISHCEApplication::ActiveApplet
returns a reference to the ISHCEApplet interface of the active applet. Similarly, a reference to the
Contact business component can be obtained by invoking ISHCEBusObject::GetBusComp on the
business object interface reference returned by ISHCEApplication::GetBusObject.
A SCEC is also passed a reference to the corresponding action request object of the Siebel object
that created it. For example, a SCEC implementing ISHCEAppletEvent will be able to access the
ISHCEApplet interface reference of the current applet. A pointer to this interface is stored in
m_pRootObj, which is a member of the CSiebelSCECBase class.
Siebel Medical Handheld Guide Version 8.1/8.2
33 1
COM Extensibility ■ Process of Implementing a SCEC
A SCEC can use this interface to obtain references to other action request interfaces. For example,
if created from a service, a SCEC could access the service’s property set using the
ISHCEService::GetPropertySet method. Once the SCEC handles an event and returns control to the
Siebel object that created it, the action request interfaces are invalidated and can no longer be used
by the SCEC. Only action requests invoked on the same thread as event notification (the SCEC
method invoked by the Siebel object) are supported. When the SCEC has finished handling the event,
it releases all action request interface pointers.
Process of Implementing a SCEC
To create a SHCE COM Extension Component (SCEC), perform the following tasks:
■
Obtaining the SCEC Support Files on page 332
■
Generating and Configuring a SCEC on page 333
■
Modifying SCEC Files on page 334
■
Deploying SCEC Files to a PDA Device on page 343
■
Configuring SCEC User Properties in Siebel Tools on page 344
■
Configuring SCEC Registry Settings on page 345
Obtaining the SCEC Support Files
This task is a step in Process of Implementing a SCEC on page 332.
Contact your Oracle Expert Services or Account Support representative to obtain the following SCEC
support files:
actionrequest.h
application_ar_i.c
busobj_ar.h
service_ar.idl
actionrequest.idl
application_ar_p.c
busobj_ar.idl
service_ar_i.c
actionrequest_i.c
application_ev.h
busobj_ar_i.c
service_ar_p.c
actionrequest_p.c
application_ev.idl
busobj_ar_p.c
service_ev.h
applet_ar.h
application_ev_i.c
dlldata.c
service_ev.idl
applet_ar.idl
application_ev_p.c
event.h
service_ev_i.c
applet_ar_i.c
buscomp_ar.h
event.idl
service_ev_p.c
applet_ar_p.c
buscomp_ar.idl
event_i.c
shcecom.h
applet_ev.h
buscomp_ar_i.c
event_p.c
siebelscecmacro.h
applet_ev.idl
buscomp_ar_p.c
propset_ar.h
t_siebelscec.h
applet_ev_i.c
buscomp_ev.h
propset_ar.idl
t_siebelscecapp.h
applet_ev_p.c
buscomp_ev.idl
propset_ar_i.c
t_siebelscecapplet.h
application_ar.h
buscomp_ev_i.c
propset_ar_p.c
t_siebelscecbc.h
application_ar.idl
buscomp_ev_p.c
service_ar.h
t_siebelscecsrvc.h
332
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ Process of Implementing a SCEC
Generating and Configuring a SCEC
This task is a step in Process of Implementing a SCEC on page 332.
To generate and modify a SCEC using the ATL Wizard in Visual Studio 2005
1
Create a new project in Visual Studio 2005 with the following settings:
■
Project type = Visual C++ > Smart Device
■
Template = ATL Smart Device Project
■
Name = Name of the SCEC (for example, SampleSCEC)
2
In the ATL Smart Device Project Wizard, click Next.
3
Click the left arrow button to remove the Pocket PC 2003 SDK from the list of Selected SDKs.
4
Click the right arrow button to add the Windows Mobile 5.0 Pocket PC SDK to the list of Selected
SDKs. Click Next.
5
In the Application Settings screen, choose Dynamic-link library for the Server type. Do not check
any other options. Click Finish.
This step generates SCEC files, such as SampleSCEC.cpp and SampleSCEC.idl.
6
Switch from the Solution Explorer to the Class view, right-click the SampleSCEC project, and
select Add, then Class.
7
From the Visual C++ Category, select Smart Device. From Visual Studio installed templates,
select ATL Simple Object. Click Add.
8
In the Welcome to the ATL Simple Object Wizard screen, enter a name for the SCEC in the Short
Name field (for example, SampleSCEC). This will automatically populate the other fields.
NOTE: If the project name is the same as the Short Name (for example, SampleSCEC), you must
slightly modify the names of the .h and .cpp files, because by default they will be SampleSCEC.h
and SampleSCEC.cpp, respectively. The ATL wizard will generate an error if you leave these
names unchanged and click Next, because SampleSCEC.h is generated by MIDL and therefore
cannot be used, and SampleSCEC.cpp has already been generated by the ATL wizard. For
example, you can modify the names to be SampleSCECObj.h and SampleSCECObj.cpp.
Click Next.
9
In the Options screen, select the following options:
■
Threading Model = Free
■
Interface = Custom
Click Finish.
10 Navigate to the Solution Explorer, right-click the generated .idl file (for example,
SampleSCEC.idl), and select Properties.
11 Navigate to Configuration Properties, then General and change the value of the Tool property
from MIDL Tool to Custom Build Tool. Click Apply.
Siebel Medical Handheld Guide Version 8.1/8.2
33 3
COM Extensibility ■ Process of Implementing a SCEC
12 Navigate to Configuration Properties, Custom Build Step, then General. In the Command Line
text box, add the location of the Siebel (COMMIDL) .idl files in the following format:
midl /nologo /Oicf /I <action requests location> /I <events location> /h
"<ProjName>.h" /iid "<ProjName>_i.c" "<ProjName>.idl"
For example:
midl /nologo /Oicf /I ..\..\com\interfaces\actionrequests /I
..\..\com\interfaces\events /h "SampleSCEC.h" /iid "SampleSCEC_i.c"
"SampleSCEC.idl"
13 Select Outputs and add the following files to the Outputs text box:
■
.\<ProjName>.tlb
■
.\<ProjName>.h
■
.\<ProjName>_i.c
For example:
■
.\SampleSCEC.tlb
■
.\SampleSCEC.h
■
.\SampleSCEC_i.c
Click OK.
14 Right-click the Project name and select Properties.
15 Navigate to Configuration Properties, C/C++, then General and modify the settings to include
the generated Siebel COMMIDL idl files, t_siebelscec.h, and shcescec.h by specifying the
appropriate directories in the Additional Include Directories text box.
For example:
..\..\com\comimpl;..\..\com\scec;..\..\com\interfaces\midl
Click OK.
Modifying SCEC Files
This task is a step in Process of Implementing a SCEC on page 332.
To modify SCEC files
1
Open and modify the .cpp file generated by the ATL wizard (for example, SampleSCEC.cpp) by
including one or more appropriate _i.c files.
For example:
#include "application_ev_i.c"
#include "buscomp_ev_i.c"
334
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ Process of Implementing a SCEC
#include "service_ev_i.c"
#include "applet_ev_i.c"
2
Open the stdafx.cpp file, and add the following code above #include “stdafx.h”:
#define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA
3
Modify the .idl files (for example, SampleSCEC.idl) as follows:
a
Remove the definition of the interface generated by the ATL wizard. For example, remove the
following code:
import "oaidl.idl";
import "ocidl.idl";
import "atliface.idl";
[
object,
uuid (D26E065A-3365-4A41-ACDE-486E98C204A8),
helpstring ("ISampleSCEC Interface"),
pointer_default (unique);
]
Interface ISSampleSCEC : IUnknown{
};
b
Import the appropriate Siebel .idl files for the event to be implemented.
For example, if you are implementing a business component SCEC, add the following:
import "application_ar.idl";
import "application_ev.idl";
import "buscomp_ev.idl";
c
Replace the automatically generated interface name (for example, ISampleSCEC) with the
appropriate ISHCEXXXEvent interface. For example, if you are implementing a business
component SCEC, change the interface name to ISHCEBusCompEvent. The final lines of code
resemble the following:
coclass SampleSCEC
{
[default] interface ISHCEBusCompEvent;
};
Siebel Medical Handheld Guide Version 8.1/8.2
33 5
COM Extensibility ■ Process of Implementing a SCEC
};
4
Modify the SampleSCECObj.h file as follows:
a
Add statements to include SampleSCEC.h and any Siebel templates for the implemented objects.
For example:
#include "SampleSCEC.h"
#include “t_siebelscecbc.h”
b
Add any events that you intend to implement to the class definition. Use the appropriate
template according to the event. Possible events and templates are listed in the following table:
Event
Template
Application events
CSiebelSCECAppBase
Business Component events
CSiebelSCECBusCompBase
Applet events
CSiebelSCECAppletBase
Service events
CSiebelSCECServiceBase
For example, to replace the ATL-generated class definition for CSampleSCEC, replace the
following code:
class ATL_NO_VTABLE CSampleSCEC :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CSampleSCEC, &CLSID_SampleSCEC>,
public ISampleSCEC
with this definition:
class ATL_NO_VTABLE CSampleSCEC :
public CSiebelSCECBusCompBase
<CSampleSCEC, &CLSID_SampleSCEC,
&LIBID_SampleSCECLib, IDR_SAMPLESCEC>
where:
c
336
❏
The first parameter (CSampleSCEC) indicates the class name.
❏
The second and third parameters hold class and library Ids, respectively, and are defined
in the <ProjName>_i.c file.
❏
The fourth parameter (IDR_xxx) is defined in the resourceppc.h file.
Replace the ATL-generated interface name (for example, ISampleSCEC) with the appropriate
ISHCEXXXEvent interface. For example:
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ Process of Implementing a SCEC
BEGIN_COM_MAP(CSampleSCEC)
COM_INTERFACE_ENTRY(ISHCEBusCompEvent)
END_COM_MAP()
d
Remove the following:
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
return S_OK;
}
void FinalRelease()
{
}
e
Add the appropriate STDMETHODS that you want to implement. For example, to add
InvokeMethod, add the following code:
STDMETHOD (InvokeMethod) (BSTR pMethod, BSTR* args, int nArgs);
5
Implement the SCEC in the .cpp file (for example, SampleSCECObj.cpp). To implement
CSampleSCEC::InvokeMethod, add the following code:
STDMETHODIMP CSampleSCEC::InvokeMethod(BSTR pMethod, BSTR* args, int nArgs)
{
// Your implementation here
}
The following extended example first implements a helper method (URLEncode), then queries
the selected account for an address, and displays it on a map.
#include "stdafx.h"
#include "SampleSCECObj.h"
// CSampleSCEC
//
METHOD NAME
//
URLEncode
//
DESCRIPTION
Siebel Medical Handheld Guide Version 8.1/8.2
33 7
COM Extensibility ■ Process of Implementing a SCEC
//
This function is used to encode a URL.
CComBSTR URLEncode (LPCTSTR pStr)
{
CComBSTR pURL = _T("");
if (!pStr)
{
return pURL;
}
TCHAR pBuffer[4];
memset (pBuffer, 0x00, sizeof(TCHAR) * 4);
for ( ; *pStr != _T('\0'); pStr++)
{
switch (*pStr)
{
case 0x0009 : case 0x000A : case 0x000D :
{
// put a 0, since these are single digit chars
_stprintf (pBuffer, _T("%%0%x"), *pStr);
pURL.Append (pBuffer);
break;
}
case 0x0020 :
{
// encode space as a plus sign
pURL.Append (_T("+"));
338
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ Process of Implementing a SCEC
break;
}
case 0x0021 : case 0x0022 : case 0x0023 : case 0x0024 :
case 0x0025 : case 0x0026 : case 0x0027 : case 0x0028 :
case 0x0029 : case 0x002B : case 0x002C : case 0x002F :
case 0x003A : case 0x003B : case 0x003C : case 0x003D :
case 0x003E : case 0x003F : case 0x0040 : case 0x005B :
case 0x005C : case 0x005D : case 0x005E : case 0x0060 :
case 0x007B : case 0x007C : case 0x007D : case 0x007E :
{
// encode the special characters
_stprintf (pBuffer, _T("%%%x"), *pStr);
pURL.Append (pBuffer);
break;
}
default:
{
// no encoding is needed
TCHAR pChar[1];
_stprintf (pChar, _T("%c"), *pStr);
pURL.Append (pChar);
break;
}
}
}
return pURL;
}
Siebel Medical Handheld Guide Version 8.1/8.2
33 9
COM Extensibility ■ Process of Implementing a SCEC
STDMETHODIMP CSampleSCEC::InvokeMethod(BSTR pMethod, BSTR* args, int nArgs)
{
CComPtr<ISHCEBusComp>
pBusComp;
CComPtr<ISHCEBusObject> pBusObj;
START_EVENT_ARG (CSampleSCEC::InvokeMethod);
// Check if the Map Address button was clicked
if (pMethod && _tcscmp (pMethod, _T("EventMethod")) == 0)
{
/// Make sure there is at least 1 account record present
if (m_pRootObj->CheckActiveRow () == S_OK)
{
// get the primary address id
CComBSTR bstrPrimaryAddressId;
CALL_INT (m_pRootObj, GetFieldValue (FALSE, CComBSTR (_T("Primary Address
Id")), &bstrPrimaryAddressId));
// now get the appropriate business object and business component
CALL_INT (m_pApp, GetBusObject (CComBSTR (_T("Account")), &pBusObj));
CALL_INT (pBusObj, GetBusComp (CComBSTR (_T("CUT Address")), &pBusComp));
// query for the record:
BOOL bBool = FALSE;
CALL_INT (pBusComp, ClearToQuery ());
CComBSTR bstrSearchSpec = CComBSTR (_T("[Id] = '"));
bstrSearchSpec += bstrPrimaryAddressId;
bstrSearchSpec += CComBSTR (_T("'"));
340
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ Process of Implementing a SCEC
CALL_INT (pBusComp, SetSearchExpr (bstrSearchSpec));
CALL_INT (pBusComp, ExecuteQuery ());
if (pBusComp->FirstRecord (&bBool) == S_OK && bBool)
{
// get the required info about the address
// get Street Address
CComBSTR bstrStreetAddress;
CALL_INT (pBusComp, GetFieldValue (FALSE, CComBSTR (_T("Street Address")),
&bstrStreetAddress));
// get Street Address 2
CComBSTR bstrStreetAddress2;
CALL_INT (pBusComp, GetFieldValue (FALSE, CComBSTR (_T("Street Address
2")), &bstrStreetAddress2));
// get City
CComBSTR bstrCity;
CALL_INT (pBusComp, GetFieldValue (FALSE, CComBSTR (_T("City")),
&bstrCity));
// get State
CComBSTR bstrState;
CALL_INT (pBusComp, GetFieldValue (FALSE, CComBSTR (_T("State")),
&bstrState));
// get Zip Code
CComBSTR bstrZipCode;
CALL_INT (pBusComp, GetFieldValue (FALSE, CComBSTR (_T("Postal Code")),
&bstrZipCode));
Siebel Medical Handheld Guide Version 8.1/8.2
34 1
COM Extensibility ■ Process of Implementing a SCEC
// get Country
CComBSTR bstrCountry;
CALL_INT (pBusComp, GetFieldValue (FALSE, CComBSTR (_T("Country")),
&bstrCountry));
// construct and encode the URL
CComBSTR bstrURL = CComBSTR (_T("www.mapquest.com/pda/
maps.adp?address="));
if (_tcscmp (bstrStreetAddress2, _T("")) != 0)
{
bstrStreetAddress += CComBSTR (_T(" "));
bstrStreetAddress += bstrStreetAddress2;
}
bstrURL += URLEncode (bstrStreetAddress);
bstrURL += CComBSTR (_T("&city="));
bstrURL += URLEncode (bstrCity);
bstrURL += CComBSTR (_T("&state="));
bstrURL += URLEncode (bstrState);
bstrURL += CComBSTR (_T("&zipcode="));
bstrURL += URLEncode (bstrZipCode);
bstrURL += CComBSTR (_T("&country="));
bstrURL += URLEncode (bstrCountry);
// map the address
PROCESS_INFORMATION inf;
342
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ Process of Implementing a SCEC
CreateProcess (_T("\\Windows\\iexplore.exe"), bstrURL, NULL, NULL, FALSE,
0, NULL, NULL, NULL, &inf);
}
else
{
// log message that there is no address to map
CComBSTR bstrInfoMessage =
CComBSTR (_T("CSampleSCEC::InvokeMethod : The currently selected
account record has no address to map."));
CALL_INT (m_pApp, Trace (bstrInfoMessage, 0));
}
}
}
ll_abort:
FINISH_EVENT;
}
Deploying SCEC Files to a PDA Device
This task is a step in Process of Implementing a SCEC on page 332. You can either deploy the SCEC
files to the PDA using Visual Studio, or deploy them manually.
To Deploy SCEC files to a PDA Device using Visual Studio
CAUTION: Do not choose the \Windows directory as the deployment location on the PDA.
1
To specify the deployment location, right-click the project and select Properties.
2
Navigate to Configuration Properties, Deployment and specify a Remote Directory, such as
\program files\siebel handheld\scec.
3
Choose Build, then Deploy. This copies the .dll to the specified directory on the PDA and
automatically registers the .dll.
To Manually Deploy SCEC files to a PDA device
CAUTION: Do not choose the \Windows directory as the deployment location on the PDA.
Siebel Medical Handheld Guide Version 8.1/8.2
34 3
COM Extensibility ■ Process of Implementing a SCEC
1
Copy the SCEC .dll to a directory on the PDA.
2
Register the .dll by running regsvrce.exe (located in \windows on the PDA). Specify the path of
the .dll path, such as \program files\siebel handheld\scec\samplescec.dll.
Configuring SCEC User Properties in Siebel Tools
This task is a step in Process of Implementing a SCEC on page 332.
Once the SCEC has been created, locate the corresponding Siebel object in Oracle’s Siebel Tools and
add a user property to specify the class ID (CLISD), the Siebel method to subscribe to, and any
additional information.
Format the user properties as follows:
Property Name: SHCE COM Event <x>
Property Value: "<MethodName>", "<CLISD>","<extra info>"
NOTE: You must use quotes around the concatenated values.
where:
■
<x> indicates number starting with 1. For example, SHCE COM Event 1.
■
<MethodName> indicates the name of the method, such as BusComp_PreWriteRecord.
■
<CLISD> indicates the Class ID of the SCEC. The Class ID can be found in the SampleSCEC.idl
file by searching for “library SampleSCECLib” and locating the uuid string. For example,
uuid(85342298-0FD5-4F58-B454-07B1F6671A8C).
■
<extra info> indicates optional extra information. Some events allow the specification of
additional information, such as the method or field name for which events should be
dispatched. The event will be dispatched only if the current method or field name match. If
no additional arguments are specified, the event is always dispatched. For example, if you
formatted the property value as “BusComp_InvokeMethod”, “12373DB6-4CEA-11D2-A3DC0008C78A05F9”, “FooBar Method”, the event is dispatched when the FooBar Method is
invoked. For all other methods, no event is dispatched.
The following Siebel events support the <extra info> information:
Applet_InvokeMethod
Application_PreNavigate
Service_InvokeMethod
Applet_PreInvokeMethod
BusComp_InvokeMethod
Service_PreCanInvokeMethod
Applet_TaskButtonPressed
BusComp_PreGetFieldValue
Service_PreInvokeMethod
Application_InvokeMethod
BusComp_PreInvokeMethod
Application_Navigate
BusComp_PreSetFieldValue
Application_PreInvokeMethod BusComp_SetFieldValue
344
Siebel Medical Handheld Guide Version 8.1/8.2
COM Extensibility ■ Process of Implementing a SCEC
For example:
Name: SHCE COM Event 1
Value: "Buscomp_PreWriteRecord", "37073DB6-4CEA-11D2-A3DC-0008C78A05F9"
Configuring SCEC Registry Settings
This task is a step in Process of Implementing a SCEC on page 332.
Configure the following Windows Registry PDA settings for each SCEC:
■
SHCE COM Disable. This registry setting is not present by default. Add this setting and set it to
Y to disable COM Extensibility.
■
SCEC Dir. This registry setting specifies the location of the directory of the SCEC. All *.dll files
in this directory are preloaded. This registry setting is not present by default; you must add this
setting.
For example:
\program files\siebel handheld\scec
CAUTION: Specify a directory containing only SCEC .dll files. Using \Windows causes the
application to attempt to preload all .dll files.
Siebel Medical Handheld Guide Version 8.1/8.2
34 5
COM Extensibility ■ Process of Implementing a SCEC
346
Siebel Medical Handheld Guide Version 8.1/8.2
Index
A
About BatchSync for Siebel Handheld
Applications 99
Absolute print tag 276
accounts
account address, adding 198
activities, associating with accounts 202
business scenario 196
contact, adding to an account 199
creating an account 197
opportunity, adding to an account 203
accounts, managing
sales data, viewing 200
activities
accounts, associating with 202
contacts, associating with 213
creating a new activity 212
delegating an activity 213
general activities, adding using Calendar
view 214
Activities view, adding from general
activity 224
administration screens 69
applet classes, list of 259
applet print tag 277
applets
default behavior, overriding 33
form applets, designing 57
list applets, designing 57
print applets, designing 57
Print buttons, configuring 58
printing, configuring 58
screen allocation 33
toggling between 177
URLs in applet fields 178
application memory, increasing 190
application-level menu 176
architecture, five layers described 26
assets, creating 125
asterisk (*), and required fields 37
audit trail
obtaining audit trail for synchronization
sessions 112
Auto Order, creating from quote 220
auto pop-up list, about using 41
automatic backup, after
synchronization 183
AutoQuote
See also quotes, developing
about using and Quote Items fields
(table) 216
creating a quote 217
quote fields automatically completed
(table) 216
B
Back button, about 178
Background print tag 283
backing up data
about 182
automatic backup after synchronization 183
editing database parameters 150
external media 150
restoring data 183
restoring from 151
troubleshooting 245
user database backups, enabling 150
barcode scanning
views, enabling for 93
barcode, administering
barcode scanning, enabling views for 93
scanning, enabling views for 93
BarcodeNewRecord user property 85
barcodes, administering
about 84
barcode definition, creating 89, 97
barcode parsing algorithm, about 86
barcode scanning, enabling 98
code barcode type example 88
enabling views for barcode scanning 93
enhancing the behavior of barcode scan 94
location barcode type example 87
setting new record behavior for scans 85
business component classes, list of 258
business components
list of supported components 257
synchronization conflicts, obtaining
information 111
business object declarations
setting PDQ examples 132
business object filters
stand-alone deployments 132
buttons, about and behavior 44
Siebel Medical Handheld Guide Version 8.1/8.2
34 7
Index ■ C
C
Calendar
color codes, configuring 47
settings, user properties 47
Calendar view, adding general
activities 214
Calendar view, adding general activity 224
Cell tag 279
client
installation, troubleshooting 245
performance, troubleshooting 254
columns, working with 179
COM Extensibility, about 325
Comment print tag 284
CompactFlash card
backing up to 150
Siebel Handheld application, setting
installation on 152
Companion Synchronization
architecture 22
checklist, using to troubleshoot 246
Handheld application, using to install 172
log files, using for troubleshooting 250
patches, deploying using 156, 160
component level settings, configuring 83
Concat print tag 307
Conditional print tags 308
configuring
Siebel Handheld Client 23
Web Client and Handheld Client, differences in
configuring 26
configuring calendar settings 46
configuring the goto view button 48
conflicts
See synchronization, conflict handling and
recovery
consignment inventory management
administering products 122
consignment levels, setting for
inventory 124
contacts
account, adding to 199
activities, associating with 213
contact participants, specifying 214
opportunity, associating with 210
opportunity, associating with an existing
opportunity 206
contacts, managing
contacts, described 203
medical education event, inviting to 227
notes, sharing about a contact 207
customer relationships, managing
about 211
348
activities, about 212
activity, creating a new activity 212
activity, delegating 213
business scenario 212
contact participants, specifying 214
contacts, associating with activities 213
employee participants, specifying 214
general activities, adding using Calendar
view 214
cycle counts, assigning 128
D
data
automatic backup after synchronization 183
backing up, about and restoring 182
columns, working with 179
Direct Server Synchronization, using with
Siebel Handheld Application
Client 187
Direct Server Synchronization, using with
Siebel Handheld Client 187
entering, about 179
exporting 181
find, about using 180
queries, about 180
restoring data from a backup 183
Siebel Handheld application synchronization,
using with Siebel Handheld
Client 184
synchronizing data, about 184
data filtering
business object declaration examples 132
business object filters, general and
default 131
developing data filters, steps 129
popup visibility, overriding 135
stand-alone deployments 132
visibility, designating 134
database
backup, restoring from 151
database backup parameters, editing 150
external media, backing up to 150
user database backups, about enabling 150
database backups
about and restoring 182
automatic backup after synchronization 183
restoring data from a backup 183
troubleshooting 245
default synchronization filters, about 131
deploying
attachments, deploying with Companion
Synchronization 160
attachments, deploying with Direct Server
Siebel Medical Handheld Guide Version 8.1/8.2
Index ■ E
Synchronization 158
CompactFlash card, setting Handheld
application installation on 152
DSS components, using Siebel Server
installer 139
external media, installing Handheld
application from 153
multiple synchronization servers 144
optimizing server process management 143
patches, deploying with Companion
Synchronization 156
patches, deploying with Direct Server
Synchronization 154
patches, distributing 153
patches, downloading 162
print templates, installing 151
server installation, server topology
overview 138
server installation, support of Siebel Handheld
Client 137
server logging levels, configuring 141
setup.ini file, editing 145
Siebel Handheld application, process of
installing 145
Siebel Handheld Client, issues and
validation 52
Siebel Handheld Direct Server
Synchronization, server
configuration 141
Siebel Handheld Direct Server
Synchronization, server
installation 139
stand-alone installer, creating 153
synchronization performance and
scalability 143
synchronization security 144
SyncURL, changing on handheld device 152
upgrade kits, creating to remotely deploy
patch files 158
user database backups, enabling 150
Design Data Filters 191
diagnostics, enabling SQLTrace 252
Direct Server Synchronization
architecture 22
checklist, using to troubleshoot 247
deploying, about 138
deployments, stand-alone deployments 132
described 21
Handheld application, using to install 172
log files, using for troubleshooting 249
network performance, troubleshooting 255
optimizing server process management 143
patches, deploying using 154, 158
server performance, troubleshooting 254
Siebel Handheld Client, using with 187
Direct Server Synchronization by proxy 22
Divider print tag 285
documents, defining 56
Downloading a Database Extract 101
downloading patches 162
DrawRect print tag 286
drilldowns, about 46
drilling down, about 178
DSS components
using Siebel Server installer 139
dynamic drilldown, about 178
dynamic hyperlink, about 46
E
ellipsis, and expandable fields 178
employee participants, specifying 214
Enabling BatchSync for Siebel Handheld
Applications 99
end user error messages
See troubleshooting
EndOfLine print tag 287
EndOfPage print tag 287
error messages. See troubleshooting
errors
error data, accessing 169
error details, obtaining from synchronization
session 111
general synchronization errors 189, 190
synchronization transaction conflicts 189
expenses, tracking
detailed line items, adding 222
expense report. creating 222
exporting data 181
extended insert processing
about and synchronization 167
extended pick processing
about and synchronization 165
enabling 166
external media
backing up to 150
Siebel Handheld application, installing
from 153
stand-alone installer, creating 153
F
find
about using 180
Footer print tag 288
form applets, configuring
about 39
designing, about 57
group boxes, about 40
Siebel Medical Handheld Guide Version 8.1/8.2
34 9
Index ■ G
labels, about 39
layout sequence 39
radio buttons, about 40
form UI applets, configuring
about 40
Format print tag 288
Frame print tag 289
Full Sync 99
G
general activities, creating
about and scenario 223
Activities view, adding from 224
Calendar view, adding 224
general synchronization filters, about 131
GetCount print tag 297
GetDate print tag 298
GetDirect print tag 298
GetField print tag 299
GetRegistry print tag 300
GetTime print tag 301
GetTotal print tag 301
GetX print tag 303
GetY print tag 304
Goto View
configuring button 48
GotoView method, using 33
group boxes, about configuring 40
Guidelines 191
guidelines
Siebel Handheld Client, configuration
guidelines 28
Guidelines for Designing Data Filters 191
Guidelines for Reducing the Synchronization
Time 190
Guidelines on Improving the Configuration
of the Siebel Handheld
Application 193
H
Handheld application interface
See interface
Handheld application synchronization
improving performance, about 190
See synchronizing
handheld device
list of log files 251
logging synchronization errors 251
working with different specifications 35
Header print tag 290
History button, about 178
Home Page applet, using 44
hyperlinks, about 46
350
I
installation
Companion Synchronization, using to install
Handheld application 172
Direct Server Synchronization, using to install
Handheld application 172
reinstalling the Handheld application 171
software on handheld devices, about 172
uninstalling the Handheld application 171
upgrading from a previous release 171
installing
attachments, deploying with Companion
Synchronization 160
attachments, deploying with Direct Server
Synchronization 158
CompactFlash card, setting Handheld
application installation on 152
Direct Server Synchronization checklist,
using 247
external media, installing Handheld
application from 153
patches, deploying with Companion
Synchronization 156
patches, deploying with Direct Server
Synchronization 154
patches, distributing 153
patches, downloading 162
resynchronization problems 248
Siebel Handheld application, editing setup.ini
file 145
Siebel Handheld application, process of
installing 145
stand-alone installer, creating 153
synchronization, about problems caused
by 246
SyncURL, changing on handheld device 152
the client, troubleshooting 245
upgrade kits, creating to remotely deploy
patch files 158
user database backups, enabling 150
installing the Handheld application 171
interface
application-level menu 176
components, about and diagram 175
expandable fields 178
More Info view, navigation level 187
queries drop-down list 177
Screens drop-down list, about 176
Screens drop-down list, navigation level 177
Show drop-down list, about 176
Show drop-down list, navigation level 177
Siebel toolbar, about 177
status bar 177
Siebel Medical Handheld Guide Version 8.1/8.2
Index ■ L
toggling between applets 177
URLs in applet fields 178
inventory
consignment levels, setting 124
inventory transactions, managing 126
locations, setting up 84
inventory locations
managing 123
product hierarchies, recreating 124
L
labels, about configuring 39
Landscape print tag 291
LineTo print tag 293
list applets, configuring
about 37, 38
designing, about 57
recommended strategy 37
List print tag 291
log files
Companion Synchronization logs, using for
troubleshooting 250
Direct Server Synchronization logs, using for
troubleshooting 249
handheld device logs, using for
troubleshooting 251
M
Margin print tag 294
MarginBottom parameter 316
MarginLeft parameter 316
MarginRight parameter 316
MarginTop parameter 317
MedEd event
See medical education event, setting up
media
backing up to external media 150
Siebel Handheld application, installing from
external media 153
stand-alone installer, creating 153
medical education event, setting up
about 225
contact, inviting to an event 227
creating a medical education event 226
memory, increasing 190
menu bar, about 45
Microsoft ActiveSync, about 22
Mobile Web Client
note, about receiving and installing upgrade
kits 158
More Info view, navigation level 187
multi-form, multi-quantity printing,
configuring 60
multiple synchronization servers 144
N
naming conventions, about 30
network performance, about 255
notes, sharing about a contact 207
O
Offset print tag 304
opportunities
account, adding to 203
contact, adding to an opportunity 210
contact, associating with an existing
opportunity 206
creating an opportunity 209
defined and examples 207
opportunity quotes, about viewing 211
products, associating to an opportunity 210
sales methods, about 207
orders, managing
Auto Order, creating from your quote 220
creating an order manually 220
order line items, adding 220
terms and totals, adding 221
P
PageBreak print tag 295
PaperHeight parameter 317
PaperSize parameter 317
PaperWidth parameter 317
Parameters for Scheduling Handheld
Database Extract Jobs 102
parent form applet, about 33
participants, specifying 214
patches
Companion Synchronization, deploying
using 156, 160
Direct Server Synchronization, deploying
using 154, 158
distributing 153
downloading to the handheld device 162
upgrade kits, creating to remotely deploy
patch files 158
PDQs, and Queries drop-down list 177
Performance 190, 191, 192, 193
performance
application memory, increasing 190
client performance, about 254
improving by identifying user activities 28
improving performance, about 190
network performance, about 255
server performance, about 254
SQLTrace and synchronization 252
Siebel Medical Handheld Guide Version 8.1/8.2
35 1
Index ■ P
pick applets
business object declaration examples 132
popup visibility, overriding 135
visibility, designating 134
Picture print tag 281
pop-up lists, about using auto pop-up
lists 41
pop-up text areas in list applets,
configuring 38
popup visibility, overriding 135
Portrait print tag 295
predefined queries, and Queries drop-down
list 177
preferences, setting user preferences 182
print applets, about designing 57
Print buttons, configuring 58
print tagging language 275
See print templates
print templates
Absolute print tag 276
Applet print tag 277
Background print tag 283
Cell tag 279
Comment print tag 284
Concat print tag 307
Conditional print tags 308
creating print templates 59
Divider print tag 285
DrawRect print tag 286
EndOfLine print tag 287
EndOfPage print tag 287
Footer print tag 288
Format print tag 288
Frame print tag 289
GetCount print tag 297
GetDate print tag 298
GetDirect print tag 298
GetField print tag 299
GetRegistry print tag 300
GetTime print tag 301
GetTotal print tag 301
GetX print tag 303
GetY print tag 304
Header print tag 290
Landscape print tag 291
LineTo print tag 293
List print tag 291
Margin print tag 294
Offset print tag 304
PageBreak print tag 295
Picture print tag 281
Portrait print tag 295
print template file example 311
print template file, creating overview 275,
352
325
Relative print tag 276
SetVariable print tag 302
SetX print tag 305
SetY print tag 306
sql (WHERE) print tag 309
Static Text print tag 283
Title print tag 296
Variable parameters print tag 311
variables, example using in template 311
views, associated with 34
print templates, installing 151
printer settings dialog box 59
PrinterBaudrate parameter 318
PrinterCompressed parameter 318
PrinterDensity parameter 318
PrinterDither parameter 319
PrinterDraftMode parameter 319
PrinterFormFeed parameter 319
PrinterHandshake parameter 320
PrinterOrientation parameter 320
PrinterPort parameter 321
PrinterType parameter 321
PrinterUserSelect parameter 322
printing quotes 219
printing with the Handheld application 180
printing, configuration settings
default printing settings, list of 323
MarginBottom parameter 316
MarginLeft parameter 316
MarginRight parameter 316
MarginTop parameter 317
PaperHeight parameter 317
PaperSize parameter 317
PaperWidth parameter 317
parameters and syntax 315
PrinterBaudrate parameter 318
PrinterCompressed parameter 318
PrinterDensity parameter 318
PrinterDither parameter 319
PrinterDraftMode parameter 319
PrinterFormFeed parameter 319
PrinterHandshake parameter 320
PrinterOrientation parameter 320
PrinterPort parameter 321
PrinterType parameter 321
PrinterUserSelect parameter 322
printing, configuring from Handheld
application
about 56
applet, configuring for printing 58
documents, defining 56
form applets, designing 57
list applets, designing 57
Siebel Medical Handheld Guide Version 8.1/8.2
Index ■ Q
multi-form, multi-quantity printing 60
print applets, designing 57
Print buttons, configuring 58
print templates, creating 59
printer settings dialog box 59
private notes
contact notes, adding 207
Process for Administering Batch Sync for
Siebel Handheld Applications 100
product hierarchies
inventory locations, recreating in 124
products, associating an opportunity
with 210
projects
naming conventions, and 30
Q
queries
about using 180
drop down list, about 177
quotes
opportunity quotes, about viewing 211
quotes, developing
about 215
AutoQuote, about using and Quote Item fields
(table) 216
AutoQuote, quote fields automatically
completed (table) 216
AutoQuote, using to create a quote 217
business scenario 215
creating a quote 215
printing a quote 219
quote line items, adding 218
quote line items, deleting 219
R
radio buttons, about configuring 40
record navigation buttons 179
records, navigating a list of
about 178
Back button 178
record navigation buttons 179
Reduce size of RML file 192
Reduce Synchronization Time 192
Reduce the amount of Data Download 190
Reduce the Time of Data Extraction 192
reinstalling the Handheld application 171
Relative print tag 276
removing
business component filter setting 73
business object filter section 75
report
expense report, creating 222
reports
associating views with 34
repository, compiling 53
responsibilities, assigning 71
restoration, troubleshooting 245
restoring data
from a backup 183
Siebel Handheld Client, using 182
restoring from a backup 151
Review Configuration 193
Reviewing Batch Sync Status 102
running a batch extract 104
running a batch transaction process 104
S
sales data, viewing 200
sales methods, about 207
screens
administrative screens, about 69
designing screens for Siebel Handheld,
about 32
screen allocation 33
Screens drop-down list
about 176
navigation level 177
scripting
Siebel Handheld Client, issues and
validation 52
server
logging levels, configuring 141
multiple synchronization servers 144
performance, troubleshooting 254
server installation
DSS components, using Siebel Server
installer 139
hardware and network configuration
recommended 138
optimizing server process management 143
server logging levels, configuring 141
server topology overview 138
Siebel Handheld Client, support of 137
Siebel Handheld Direct Server
Synchronization, server installation
process 139, 141
ServiceCE Generic, about 45
Session Administration screen 70
SetVariable print tag 302
SetX print tag 305
SetY print tag 306
shared notes
contacts, adding 207
SHCE COM Extension Component (SCEC)
about 325
Siebel Medical Handheld Guide Version 8.1/8.2
35 3
Index ■ S
implementing 332
Show drop-down list
about 176
navigation level 177
Siebel Handheld Application
general synchronization errors 190
Siebel Handheld application
and device specifications 35
attachments, deploying with Companion
Synchronization 160
attachments, deploying with Direct Server
Synchronization 158
CompactFlash card, setting installation
on 152
external media, installing from 153
form UI applets, about configuring 40
patches, deploying with Companion
Synchronization 156
patches, deploying with Direct Server
Synchronization 154
patches, distributing 153
patches, downloading 162
process of configuring 26
process of installing 145
projects, about creating and naming
conventions 30
setup.ini file, editing 145
stand-alone installer, creating 153
synchronization, general synchronization
errors 189
SyncURL, changing on handheld device 152
upgrade kits, creating to remotely deploy
patch files 158
user database backups, enabling 150
Siebel Handheld application synchronization
application memory, increasing 190
Direct Server Synchronization, using with
Siebel Handheld Client 187
general synchronization errors 189
Siebel Handheld Client, using 184
synchronization transaction conflicts 189
Siebel Handheld Client
alpha tabs, configuring 38
application memory, increasing 190
auto-pop-up list, using 41
backing up and restoring data, using 182
configuration guidelines 28
Direct Server Synchronization, using with
Siebel Handheld Client 187
form applets, about configuring 39
general synchronization errors 189
hardware and network configuration
recommended 138
Home page applet, about 44
354
hyperlinks, about 46
improving performance, about 190
list applets, configuring 37
menu bar, about 45
multi-value groups, about 44
pop-up text areas in list applets,
configuring 38
printing, configuring 56
repository, compiling 53
scripting, issues and validation 52
server installation, support of Siebel Handheld
Client 137
server topology overview 138
Siebel Web Client, differences in
configuring 26
status bar, about 46
synchronization transaction conflicts 189
tabbed applets, configuring 33
testing the Handheld application 66
toolbars, about 45
tree applets, configuring 42
unsupported functions 27
user functionality, defining 28
user interface elements, about
configuring 36
Siebel Handheld Direct Server
Synchronization
DSS components, using installer 139
optimizing server process management 143
server configuration 141
server installation 139
server logging levels, configuring 141
Siebel Medical Handheld application
applet classes, list of 259
business component classes, list of 258
business components, list of
components 257
Siebel Medical Handheld application,
administering
about 117
assets, creating 125
consignment inventory management 122
cycle counts, assigning 128
inventory locations, managing 123
inventory locations, recreating product
hierarchies 124
inventory transactions, managing 126
inventory, setting consignment levels 124
note, about defining Use Days 122
note, difference between Serialized and
Unique products 120
product hierarchies 118
products, assets, and inventory
transactions 119
Siebel Medical Handheld Guide Version 8.1/8.2
Index ■ T
signatures, viewing 127
usage calculations, about 121
Siebel Task UI, developing tasks in Siebel
Handheld applications 49
Siebel Tasks, for Siebel Handheld
applications
creating 50
designing 50
developing 49
example of how to create 51
Siebel toolbar, about 177
Siebel Web Client
Siebel Handheld Client, differences in
configuring 26
unsupported functions 27
signatures, viewing 127
software, about installing on handheld
device 172
sql (WHERE) print tag 309
SQLTrace, enabling 252
.SRF file
compiling repository file 53
SSL (Secure Sockets Layer)
synchronization security 144
stand-alone deployments, about 132
stand-alone installer, creating 153
Static Text print tag 283
status bar
application window, appears at bottom
of 177
toolbar, located above 46
synchronization server, described 22
synchronization sessions
error details, obtaining from 111
monitoring 110
monitoring, about 109
synchronization conflicts, obtaining
information 111
synchronization sessions, obtaining an audit
trail 112
synchronization transaction errors,
responding to 112
synchronization, conflict handling and
recovery
about 165
error data, accessing 169
extended insert pick processing, about 167
extended pick processing, about 165
extended pick processing, enabling 166
synchronizing
application memory, increasing 190
automatic backup after synchronization 183
Companion Synchronization 22
data, about 184
Direct Server Synchronization 22
Direct Server Synchronization by means of
proxy 22
Direct Server Synchronization, using with
Siebel Handheld Client 187
filters, general and default business object
filters 131
general synchronization errors 189, 190
handheld application synchronization errors,
logging 251
improving performance, about 190
methods and architecture 21
multiple synchronization servers 144
overview 20
performance and scalability, about 143
resynchronization problems,
troubleshooting 248
servers, types of 22
Siebel Handheld application synchronization,
using with Siebel Handheld
Client 184
synchronization security 144
transaction conflicts 189
troubleshooting, about problems caused
by 246
SyncURL, changing on handheld device 152
T
tabbed applets, configuring
about 33
tasks
creating Siebel tasks 50
designing Siebel tasks 50
developing Siebel tasks 49
example Siebel task 51
templates
install templates, installing 151
print templates, creating 59
print templates, views associated with
terms, adding 221
testing the Handheld application 66
timeout parameter
changing on Windows 2000 253
Title print tag 296
toggling between applets 177
toolbars
about 177
toolbar functions 45
totals, adding 221
tree applets, about configuring 42
troubleshooting
client installation, backup, and
restoration 245
Siebel Medical Handheld Guide Version 8.1/8.2
34
35 5
Index ■ U
client performance, about 254
Companion Synchronization checklist,
using 246
Companion Synchronization log files 250
Direct Server Synchronization checklist,
using 247
Direct Server Synchronization log files 249
general synchronization errors 189
handheld device logs 251
network performance, about 255
resynchronization problems 248
server performance, about 254
SQLTrace, enabling 252
synchronization transaction conflicts 189
synchronization, about problems caused
by 246
timeout parameter, changing on Windows
2000 253
TxnProcOk 104
TxnRcvOk 104
U
UI
See user interface elements, configuring
uninstalling the Handheld application 171
upgrade kits
creating to remotely deploy patch files 158
upgrading
Handheld application 171
Upload Only 99
Upload Only, Auto Download Later 99
URLs, in applet fields 178
usage calculations, about 121
Use Days, about defining 122
User Administration screen 69
user database backups
backup, restoring from 151
database backup parameters, editing 150
enabling, about 150
external media, backing up to 150
user functionality, about defining 28
user interface elements, configuring
about 36
alpha tabs, about configuring 38
auto pop-up lists, about using 41
buttons, about and behavior 44
form applets, about configuring 39
form UI applets, about configuring 40
Home Page applet, about 44
hyperlinks, about 46
list applets, about configuring 37
menu bar, about 45
pop-up text areas in list applets 38
356
status bar, about using 46
tabbed applets, about configuring 33
toolbars functions 45
tree applets, about configuring 42
user preferences, about customizing 182
user properties
AlphaTab Named Search 39, 261
AutoPopupField 261
BarcodeNewRecord 85, 262
BC Read Only Field 262
BorderStyle 66, 262
BrowserPath 61, 262
ConfirmAccept 66, 262
Credit Payment Dec Types 263
Credit Payment Inc Types 263
DefaultViewType 33, 263
Disable Second Applet 263
DisableAlphaTabGroups 39, 264
DisableParentBar 33, 264
Document Type Field 264
Document Type LOV Type 264
Document Type1 264
Document Type2 264
EncryptKey 66, 264
Expired Product Message Box 264
Explorer Applet Size 44, 264
Field Read Only Field fieldname 265
FormUI 40, 52, 265
Fulfilled Order Status 265
HandheldInsertFailMode 265
HandheldSyncPickMode 265
InkColor 66, 266
InkWidth 66, 266
MaximumFooterLines 66, 266
MaximumHeaderLines 66, 267
On Field Update Set n 267
OrderAccessControl 267
OverrideDefaultApplet 34, 267
OverridePopupVisibilityn 267
PrintForms 60, 267
Read-Only Order Status 268
SHCE COM Disable 269
SHCEDailySlotHeight 269
SHCEHideStatusBar 47, 269
SHCEHideToolBar 47, 269
SHCEMenuBackButton 47, 270
SHCEMenuForwardButton 47, 270
SHCEMenuNewButton 47, 270
ShowData 66, 270
Signature 66, 271
SignatureDataField 66, 271
SignatureDate 66, 271
SignatureField 271
SignatureFooterField 66, 271
Siebel Medical Handheld Guide Version 8.1/8.2
Index ■ V
SignatureFooterSaveField 66, 272
SignatureHeaderField 66, 272
SignatureHeaderSaveField 66, 272
SignatureHeight 66, 272
SignatureTime 66, 272
SignatureWidth 273
SingleSelect 273
Synchronize Rollup Data 273
TaskUI 51, 273
TriggerFindRecord 273
Two Digit Currency Rounding 274
Use Document Type Field 274
UseSystemLocale 47, 274
View 34, 274
ViewType 33, 43, 47, 274
WritingGuide 66, 274
users, setting up
barcode definition, creating 97
barcode definition, process of creating 97
barcode parsing algorithm, about 86
barcode scanning, enabling the SHCE Service
FS Activity Parts Movements
views 98
barcode scanning, enabling views for 93
barcode settings, administering 84
business component filter setting, adding 73
business object filter section, adding 74
business object filter section, removing 75
code barcode type example 88
component level settings, configuring 83
enhancing the behavior of barcode scan 94
error details, obtaining from synchronization
sessions 111
location barcode type example 87
new barcode definitions, creating 89
process tasks 71
responsibilities, assigning 71
synchronization conflicts, obtaining
information 111
synchronization sessions, about
monitoring 109
synchronization sessions, monitoring 110
synchronization sessions, obtaining an audit
trail 112
synchronization transaction errors,
responding to 112
user level settings, removing 73
views, administering 71
views, methods for specifying 72
V
Variable parameters print tag 311
views
default behavior, overriding 33
drill-down only 33
print templates or reports, associated
with 34
Siebel Handheld, about designing views
for 32
views, administering
business component filter setting, adding 73
business object filter section, adding 74
business object filter section, removing 75
component level settings, configuring 83
tasks associated with 71
user level settings, removing 73
views, methods for specifying 72
visibility
designating in default Business Object
declarations 134
popup visibility, overriding 135
W
Web Server timeout errors
changing timeout parameter on Windows
2000 253
Windows
changing timeout parameter on Windows
2000 253
Siebel Medical Handheld Guide Version 8.1/8.2
35 7
Index ■ W
358
Siebel Medical Handheld Guide Version 8.1/8.2
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising