Professional Documents
Culture Documents
ServiceCenter™
Best Practices
Peregrine Systems, Connect-It, AssetCenter, and ServiceCenter are trademarks of Peregrine Systems, Inc. or its
subsidiaries.
Microsoft, Windows, and names of other Microsoft products referenced herein are trademarks or registered
trademarks of Microsoft Corporation.
The information in this document is subject to change without notice and does not represent a commitment on the
part of Peregrine Systems, Inc. Contact Peregrine Systems, Inc., Customer Support to verify the date of the latest
version of this document. The names of companies and individuals used in the sample database and in examples in
the manuals are fictitious and are intended to illustrate the use of the software. Any resemblance to actual
companies or individuals, whether past or present, is purely coincidental.
White Paper 2
Service Management
Contents
Problem statement ........................................................................................................... 4
Document audience ......................................................................................................... 4
Recommended solution................................................................................................... 4
Data segregation............................................................................................................ 4
Dynamic subforms ......................................................................................................... 5
Dynamic forms ............................................................................................................... 5
Benefits of this strategy................................................................................................... 5
Steps to Implement .......................................................................................................... 6
Prerequisites .................................................................................................................. 6
Tailoring.......................................................................................................................... 6
Creating dynamic subforms ......................................................................................... 13
White Paper 3
Service Management
Problem statement
The out-of-box ServiceCenter application is designed to provide service-desk support
within an organization. Managed service providers (MSPs) who provide service-desk
support to multiple companies, and large, diverse organizations that provide service-desk
support to multiple clients, need to extend ServiceCenter functionality so that specific
information about each company or client is displayed to the service desk employee.
Extending ServiceCenter functionality to accommodate MSPs and large, complex
organizations with multiple customers requires several modifications.
Document audience
The customization steps described in this document should be undertaken only by
developers, and by experienced, advanced ServiceCenter administrators.
Recommended solution
To extend ServiceCenter functionality to support multiple companies, you tailor
ServiceCenter to allow for:
• Data segregation
• Dynamic subforms
• Dynamic forms
Data segregation
When a help desk employee receives a ticket request from a customer, only data that is
specific to the customer should be displayed. By showing only relevant data on fills and
searches, and by narrowing the available selections, ServiceCenter makes it more
efficient for the employee to open a ticket.
Dynamic subforms
ServiceCenter provides subforms to display specialized information. By default, the
name of the subform is specified using Forms Designer, and is hard-coded so that the
subform is static. A dynamic subform is a subform that was created in Forms Designer
where a variable was used to specify the subform name. A subform can be changed
dynamically at execution time.
Dynamic forms
When using ServiceCenter 5.1 version or higher, form names can be dynamically
changed using the Document Engine tailoring tool. Under some circumstances, an
employee may be allowed to see a record only in Read-only mode, or may have
restricted access to a record that provides information about the incident status. To limit
user access, it is easier to maintain and more efficient to change a form or its properties
with a single expression in the Document Engine than by using DVD statements on the
form to manipulate the display properties.
Steps to Implement
Peregrine provides an unload containing these sample changes. The reader should
apply this unload to an out-of-the-box ServiceCenter test instance, and use it for
reference while following these instructions.
Prerequisites
Make sure the following prerequisites are met:
Tailoring
The following steps show how to tailor this capability for the Incident Management
module.
2. The scmandant file should have records for the probsummary and company
dbdicts, and for all other files that should be protected based on the value of
company.
4. Create three wizards. These are used to execute the mandant() function to
restore the default login Mandanten settings for the operator, and reset the
current company setting.
• MSP Switch Company
• MSP Reset Company
• MSP Switch Company 2 (which is copy of MSP Switch Company without the
call to the company-specific incident process)
As an alternative, you can use form settings from the company file and the
subform.create application that Peregrine provides to create subforms
dynamically. See the section Creating dynamic subforms on page 13 for more
information.
9. Modify the apm.quick and problem.template.* forms to include a tab that displays
the company-specific subform. This is done by:
a. Adding a Company-specific tab to the existing notebook objects on these
forms; or reusing an existing tab.
b. Adding a subformat object to the Company-specific tab. For the Format
property of the subformat object, specify the global variable
$G.company.sub.format.
10. Add a calculation to the login.DEFAULT formatcontrol to determine the
security groups an operator has upon login. The add condition for the calculation
is true, and the expression is:
$G.orig.secgroup=security.group in $file1
11. Modify the scm.advanced display screen to fill the name of the MSP Switch
Company wizard into a variable called $wizard.name.
12. Modify the probsummary Object record to call the wizard.run application
calling the wizard (where the name parameter = $wizard.name).
13. Modify the cc.create Process to set the Mandanten value based on the setting
in the call, and set the correct subform:
if (not null(company in $L.file)) then
($L.void=mandant(2, {company in $L.file});
$G.company.sub.format="company."+tolower
(company in $L.file)+".subformat")
14. Modify the cc.screlate Process to reset the Mandanten value to base settings.
15. Modify the im.view.init Process to set the subform to the company-specific
subform:
$G.company.sub.format="company."+tolower(company in
$L.file)+".subformat"
16. Modify the im.new.incident Process to call the MSP Switch Company 2 wizard.
(This Process is called from the im.search State.)
17. Modify the incidents link to allow the display only of categories for the contact’s
company. In ServiceCenter version 6 add the following Post Link Expressions to
the contact.name line:
$L.security.token=str(toupper(company in $File));
$L.void=mandant(2, {$L.security.token})
18. (Optional) To limit the probsummary list to display only records with the
categories in your Mandanten list, add a build list subroutine to the
formatcontrol login.DEFAULT to build a list $G.my.categories that contains
all categories this user is allowed to see. Then, in scaccess create a record for
probsummary with the query category isin $G.my.categories. This step
is not necessary in a system where Mandanten protection was set from
inception, because users would not have tickets in their queues with categories
that are not allowed.
1. First load the previously mentioned unload, then add the following fields to the
company dbdicts:
Field Datatype
custom.fields Array
custom.fields Structure
labels Character
fields Character
types Character
3. In the company form perform a true search. The following screen is displayed:
4. Click the record for the company for which you want to create or modify a sub-
form. Scroll down to the Custom Fields table.
5. Make any changes in the Custom Fields table. You can add fields and labels,
and change their types to Text, Fill, Multitext, and Checkbox.
6. Click either Save or OK to save the record.
7. Go to the Forms Designer in the Toolkit.
8. Search for the form called company.<company_name>.subformat.
9. You can perform the preceding steps on all other company records, following
these rules:
o Text can be put anywhere in fields that do not have the Array datatype.
o Multitext should be placed at the end, and input can be any Character Array
field.
o Fill can be used for fields that are associated with a field in a link record.
If the table of custom fields remains empty, a subform containing only the title is created,
this helps avoid error messages when tickets for that company are displayed.
If a dynamically created form is changed in Forms Designer, these changes are undone
whenever the company record is updated.