83
SM7.00 I.E. 265

6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

  • Upload
    eroenko

  • View
    69

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 265

Page 2: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

In Service Manager, there are many features that can be used to enhance the experience of the user with the application. For example, upon opening a new Service Desk interaction record, many Service Manager tools are and can be used to add functionality and convenience.

In the new interaction displayed, the status and owner of the interaction record can be automatically & dynamically acquired depending on who is opening the interaction and the current state of the record, respectively, using the Format Control utility. The categorization of the interaction can be dynamically filled from other Service Manager tables by using the Link utility. The actual form‟s functionality can be changed, controlled, and manipulated by using the Forms Designer utility.

SM7.00 I.E. 266

Page 3: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

What is the difference between configuring Service Manager and tailoring or customizing Service Manager?

The following commonly-used tools are used to create, customize, and control Service Manager tables and forms:

•Database Disctionary – An object-oriented tool used to create and modify tables.

•Forms Designer – An object-oriented tool used to modify and create forms.

•Format Control – Used on a form-by-form basis to invoke alternate form views, perform additional table queries, execute expressions, validate data, call RAD subroutines, and control database capabilities.

•Links –

•Notifications –

SM7.00 I.E. 267

Page 4: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 268

Page 5: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 269

Page 6: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 270

Page 7: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 271

Page 8: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 272

Page 9: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Sometimes tailoring using OOB utilities can take customers off the upgrade path. Be careful with Javascript, Document Engine and rtecall functions particularly.

Customization – this usually means changes at the RAD layer. Very few Service Manager legacy customers have this capability. With the introduction of JavaScript capabilities, most “customization” occurs using this utility. Very complex functionality can be written using JavaScript with the Document Engine. Customization should be avoided if at all possible and will not be supported by HP if it materially alters Service Manager functionality.

SM7.00 I.E. 273

Page 10: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 274

Page 11: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 275

Page 12: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 276

Page 13: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

After you decide what data you want to track and store, you will create a table. Table structure is defined in the Database Dictionary (dbdict). The dbdict defines:

•Field names

•Data types

•Key types

Data Policy filters ensure data integrity by enforcing rules for data entry. Filters control user access to fields in a table. This reduces data entry errors. Data Policy can be used to enforce strict verification whenever data is added or edited in a table. When this is done, all table records are affected regardless of the form used to display the data.

SM7.00 I.E. 277

Page 14: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 278

Page 15: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Choose one of the following methods to open a Database Dictionary (dbdict) record.

• From the System Navigator: Menu Navigation> Tailoring > Database Dictionary.

• From the System Navigator: System Definition > Tables > double-click on <table_name >

• From the command line: type dbdict and press Enter.

Note: The tables in the System Definition are listed alphabetically. To jump to a letter of the alphabet, type that letter while the System Definition folder (or any folder beneath it) is highlighted.

Click the plus (+) next to the file name to open the folder.

Click the plus (+) next to the Database Definition folder to open it.

Click the plus (+) next to the Fields or Keys folder to open it.

Double-click a field or key to edit it.

To open a Database Dictionary when using Forms Designer

1. Using Forms Designer, open an associated form

2. From the pull-down options menu, select Dbdict. The dbdict for that form opens.

SM7.00 I.E. 279

Page 16: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

The System Definition utility (SDU) is a graphic view of existing table elements and properties, and a quick way to define new tables. The System Definition utility has two tabs: Overview and Fields and Keys. Service Manager displays SQL mapping on both tabs.

Each time you double-click any table in the System Definition area of the System Navigator, the System Definition Utility launches, displaying the Table overview first.

If you change a table element, a red asterisk marks the table and the element in the System Navigator until you click Save.

The SDU takes information from several configuration tables and displays them in a unified interface. Table definition information is stored in the dbdict table.

Table Overview tab

The Table overview summarizes the properties of a Service Manager table, provides links to other table-related objects, and links to other tasks.

Fields and Keys tab

The Fields and Keys tab describes the properties of all fields and keys in a Service Manager table. For administrators, this tab gathers field-related tasks into a central point of access.

SM7.00 I.E. 280

Page 17: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

To create a new table through the DBDict Utility:

1. From the System Navigator: Menu Navigation> Tailoring > Database Dictionary.

2. Type the name of the table and click the Add button.

To create a new table through the System Definition:

1. Expand System Definition and select the Tables folder. Click the right mouse button.

2. From the ensuing menu, select New Table.

You will select a name for your new table, which must follow the rules above. Tables created in this fashion will contain one default text field named id, and one Unique key based on that field. If the Add monitoring fields checkbox is selected, then the sysmodtime, sysmodcount, and sysmoduser fields will also be added automatically to the new table. The SDU for the new table will then display, allowing for further configuration of the table.

The following is a list of reserved words in Service Manager, that are not allowed to be used as table names:

AND FOR STEP BEGIN IF THEN

DO IN TRUE ELSE WHILE END

NULL UNKNOWN FALSE OR

SM7.00 I.E. 281

Page 18: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 282

Page 19: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Rules for Modifying Fields in an Existing Table

•Do not change a scalar field to an array field or vice versa. (Scalar refers to any data field type that is a single element versus an array that can store multiple elements.)

•A modification to a field can involve change in name, data type, or both.

•When modifying a field name, the associated input field on forms associated with the table must also be changed.

•Modifying a field name does not affect existing records in the table.

Altered fields are denoted by a red star in the field list, indicating that a change has been made, but not yet committed. Changes are committed by clicking the Save button.

Tip: When adding new fields to out-of-box tables, developers can find it useful to prepend a two- or three-character code to the new field name (representing the implementation, or the developer), to more easily identify it as an implementation-specific field, rather than one provided out-of-box.

SM7.00 I.E. 283

Page 20: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Decimal: Permits input of numeric data only. Example: -7.3

Text: Permits input of any available characters. Enclose character field in double quotes. Example: “Mary”

Date/Time: Permits input of Service Manager date/time data. Enclose data/time fields in single quotes. Example: „12/31/2001/ 14:00‟

Boolean: Contains true, false, unknown, or NULL. (no quotes)

Array: Compound data element that permits more than one value of the same data type. Enclose array fields in curly brackets. Example: {“Hans”, “Sasha”, “George”}. Fields of this type are created using the New array…button, instead of the New field… button. Once they are added, the type of data stored in the array must still be defined in the Type property.

Structure: Compound data element that permits more than one value of different data types. Enclose structures in curly brackets followed by square brackets. Example: {[“Joe”, true, 50, „07:00‟]}

Index: Shows the field‟s location or position within its parent structure. Field names can be displayed in the SDU sorted either alphabetically (default) or by index (by pressing Sort By Index).

SM7.00 I.E. 284

Page 21: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

A key is an index, based on an identifying field or set of fields in a table, which is consulted when queries are processed so all fields in a record do not need to be searched for set criteria. A field in a key must be defined as a field in the table. A key may be made up of only one field, or of a combination of fields.

NOTE: A table cannot be saved unless at least one key is defined. Tables created from scratch will have a default Unique key based on the default idfield. Tables created from Forms Designer will take the field in the upper left of the form and create a Unique key based on that field.

Best Practice: Place a unique key in the first position. Service Manager uses the first key when executing a true query (one with no specified criteria, that displays all records in the table).

Modifying a Key

You may need to modify keys in your Database Dictionary records to optimize performance. A modification is either adding or deleting a field in the Fields list comprising the key, or making a change in the key type definition, or making a change in the order in which fields appear in a specific key.

Important: When you add, modify, or delete a key in an existing table, Service Manager automatically performs a table regeneration. If many records exist in the table, you can choose to schedule the regeneration to a more convenient time.

SM7.00 I.E. 285

Page 22: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

You can only delete a field from a table when there is no data in the table. The Delete button is available (not grayed out) when a field is selected from the list of fields on the Fields and Keys tab of the SDU if there is no data in the table, but if data exists in the table, the button is not available.

Fields that are part of existing keys can also not be deleted. To delete a field that is part of a key, you must first remove the field from the key, or delete the key.

Keys can be deleted by selecting the key in the Fields and Keys tab of the SDU, and pressing the Delete button next to the list of keys.

SM7.00 I.E. 286

Page 23: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Display and Write Actions

On display actions, Data Policy executes all display type elements such as:

• Fields become invisible

• Fields become read-only

• A red triangle is added to mandatory fields

On write actions, Data Policy executes all data manipulation elements such as:

• Adding the default values

• Applying validation rules

• Verifying that data exists in mandatory fields

• Executing the match field to a specified table

Data Policy records in the datadict table are created whenever a table is created, and share the same name as the table. Data Policy rules can be set through the SDU (in the Data Policy and Editing Rules areas of a specific field). The actual record in the datadict table can also be used to define Data Policy rules, by opening Toolkit > Data Policy in the System Navigator, and searching for the record with the same name as the table to which it applies. Each field in the table has its own line in the Data Policy record, on which the various rules can be defined.

Important: Data policy rules still apply even when fields do not appear on the form. For example, if the primary.contact field were set to mandatory but not displayed on a form, an error message would be returned if you tried to save the record.

SM7.00 I.E. 287

Page 24: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Caption

The contents of the Caption field specify:

•The column header used by the list form

•The field name displayed in default error messages

•The label that is used by the Forms Wizard or by drag-and-drop

Default

Default values are not used when displaying records, but only when saving records, and then, only when the field is left blank by the user. This default value can be a literal value or an expression. Within default values, the system differentiates between expressions and literals by a caret (^) at the beginning of expressions.

Example: The severity field could default to 1, and the open.time could default to ^tod(). The ^tod() expression returns the current system date and time. Were there no caret, the literal string tod() would be the default.

Mandatory

This can be filled with either a Boolean value (true or false), or with an expression that evaluates to true or false. When Mandatory evaluates to true, a red triangle automatically displays in the field on a form. If a mandatory field is blank, the record cannot be saved.

Invisible and Read Only

These can be filled with either a Boolean value, or an expression that evaluates to true or false. When these fields evaluate to true, the related field value becomes invisible or read only on the form. This allows control on how fields are displayed without constructing different forms and views. These fields are used only on the display action.

Example: The severity could have Read Only set to index(“SysAdmin”, $lo.ucapex)=0 which is true when the logged on user is NOT a System Administrator

SM7.00 I.E. 288

Page 25: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 289

Page 26: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 290

Page 27: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Forms Designer is used to design, create, and modify Service Manager forms.

Forms Designer gives users access to a:

•Drawing canvas to construct forms.

•Design toolbar to create a variety of design objects.

Form Wizard permits users to create forms based on a specific table).

SM7.00 I.E. 291

Page 28: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 292

Page 29: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

When a form is opened to show records from a table, Service Manager detects what type of client is in use – a text-based client or a GUI-based client (both Windows and Web clients are GUI-based). If a GUI client is in use, and the .g form exists, then the .g form is displayed, even if the .g is not specified by the user.

When searching for forms by table, be aware that many .g forms are not explicitly related to tables (that is, the filename field of the record in the format table is blank). If both a base form and a .g version of the same form exist (for example, contacts and contacts.g), and the .g form is not explicitly associated with a table, Service Manager will automatically assume it is associated with the same table that the base form is associated with. However, as the filename field in the format record is blank, the .g version of the form may not appear on the record list when searching for forms related to a table.

For example, entering contacts in the File field of Forms Designer and clicking Search will yield a record list, but that list will not have the contacts.g form displayed. However, because contacts is related to the contacts table, the contacts.g form is assumed to be related to the same table.

SM7.00 I.E. 293

Page 30: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Each form is associated with only one table, and displays fields from records within that specific table. Each display tool or element on a form (for example, a text box, or a combo box) has an Input property associated with it. The Input for each element refers to a field within the table for that form. Only fields from the table that have elements on the form will be displayed by the form, and can have their values modified by a user via that form.

If a table definition is changed (for example, if the name of a field is changed), the associated form(s) must also be updated manually to reflect the change.

SM7.00 I.E. 294

Page 31: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 295

Page 32: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 296

Page 33: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

The Filename option sets or changes the table associated with the form.

The Copy/Rename option can either rename the current form, or create an exact copy to be edited.

Through use of the Options menu, Forms Designer can be used as a gateway to other utilities that involve either the form, or the table associated with the form. For example, from the contacts.g form in Forms Designer, the Optionsmenu can be used to:

• Uses that same form using Database Manager (in this example, to access or create records in the contacts table)

• Examine the Format Control or Link records associated with the contacts.gform.

The advantage of this method is that pressing Back from the other utilities navigates back to Forms Designer, and allows further navigation to other utilities.

The Format Detail option shows the form as it is saved as a record in the format table.

SM7.00 I.E. 297

Page 34: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

The Design Toolbar and Properties view appear in the Designview of a form.

Drawing Canvas

Modify a form by placing design objects from the Design Toolbar onto the canvas or moving or altering the Properties of the existing objects. The canvas contains a grid to which all design objects are referenced. The grid is invisible unless Grid Preview is selected from the Design Toolbar.

Items to note about the grid include:

• Grid coordinates start at (0,0) in the top left corner. The X (horizontal) coordinates increase as you move to the right. The Y (vertical) coordinates increase as you move down.

• There is approximately a 3 to 1 ratio between X units and Y units. For example, 30 X units cover approximately the same amount of space as 10 Y units. One X unit is roughly one text character width, and one Y unit is roughly one text line height.

• Use the X and Y coordinates to align objects.

• Select objects, and modify their properties in the Properties view.

NOTE: Clicking OK from Design mode merely returns you to pre-design mode. Changes to the form are not saved until OK is clicked from pre-design mode.

SM7.00 I.E. 298

Page 35: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

To display the name of a tool on the Design Toolbar, hover your mouse over it until its name appears. Tools can be dragged from the toolbar and dropped in their proper position on the canvas, or you can click on the tool, and click on the canvas where you want it to appear. Holding down Ctrl and clicking after selecting a tool will allow you to place multiple instances of that tool on the canvas.

Some of the more commonly used tools are:

Notebook – A container that allows you to subdivide the contents of a screen into logical groups or categories.

Label – A single line of text you can use to give titles to forms, give labels to objects within the form, or otherwise place text on the form.

Text – Displays the contents of a record field or variable and conditionally allows the user to enter or modify its contents.

Comfill – A combination combo box and fill button. Comfill has all the properties of the individual combo box, plus the capability for fill button.

Checkbox – A Boolean (logical) field that can evaluate to true, false, unknown, or null.

Radio Button – Allows the user to select one value from a set of mutually-exclusive values.

SM7.00 I.E. 299

Page 36: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Common Properties to all design objects are:

•X and Y positioning coordinates

•Height and Width of the element

•Caption

•Input – relates the element to a field in the related table.

Font Properties permit you to modify the appearance of text used in a design object.

Box Properties apply to any box object such as:

•Text box

•Multi-line text box

•Fill box

•Combo box

Object-Specific Properties are specific to an object (see each control‟s help topic for more details).

If multiple objects are selected on the design canvas, the Properties view will display the properties all selected objects have in common. Setting a value when multiple items are selected will set the same value for all selected objects.

The properties for each object are described in each object‟s Help article (e.g. Control: Text).

SM7.00 I.E. 300

Page 37: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 301

Page 38: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

In effect, to save a form, hit OK twice from Design mode.

SM7.00 I.E. 302

Page 39: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

To create a new form, enter the name of the new form in the Form field, and click New. You will be asked if you wish to use the Form Wizard. If you choose not to use the Form Wizard, you will be presented with a blank drawing canvas.

Best Practice Tips:

• Always start by creating a base form. The base form always gets associated with the table, and that association is carried over to the .g form. This association is also useful for items like Links and Format Control records. Base forms are used for text clients, printing, and email. The fields on the base form do not have to be the same as the fields on the .g form.

• It is best practice to have a .g form available, though it is not absolutely necessary. If no .g form exists, the base form will be displayed to the user when the form is used to display records, even in GUI clients.

Note: You might encounter issues if you only have a .g form without the base form. You certainly won‟t be able to print or email, but you might have problems saving data as well.

SM7.00 I.E. 303

Page 40: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Use the Form Wizard to create table-type record lists and single-record display forms. Because the Form Wizard creates new forms based on an existing table, use the Wizard only to create new forms, not to modify existing ones.

To create a form using the Form Wizard:

Click New in the Forms Designer window.

The Use Form Wizard? dialog box opens.

Click Yes to proceed.

Select the table which the form will be based on.

SM7.00 I.E. 304

Page 41: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Select the type of form to create.

List of Records - creates a table form used to show lists of multiple records.

Detail of a Single Record - creates a form with labels and input boxes to used to add, update, or view a single record.

SM7.00 I.E. 305

Page 42: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Select the fields to display on the form from the displayed list of fields in the selected table. From this step, you may be able to change the labels that show on the form (the default is the field name), and the tool used to display the input for the field (default depends on data type of the field).

Click Proceed.

When the form is created by Form Wizard, it will be opened in Design mode to allow for further modification.

SM7.00 I.E. 306

Page 43: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 307

Page 44: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 308

Page 45: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 309

Page 46: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 310

Page 47: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

The Format Control utility enforces rules for data entry and performs various processes at the form level such as data validation. The Format Control Wizard makes it easy to create required fields and default values for a form.

SM7.00 I.E. 311

Page 48: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 312

Page 49: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 313

Page 50: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 314

Page 51: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 315

Page 52: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 316

Page 53: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 317

Page 54: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 318

Page 55: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 319

Page 56: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 320

Page 57: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 321

Page 58: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

You can create a link by specifying the source field, target table, and target field on the first page of the Link record.

The Fill and Find functions use links based on the value entered in a form field.

•The Fill function locates data from the target table and copies it into the current (source) record.

•The Find function simply displays a record from the target table that is related to the source record based on the value in a form field.

SM7.00 I.E. 322

Page 59: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 323

Page 60: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Queries for Find and Fill perform properly when run on fields that have been set up as unique keys in the Database Dictionary record for the target table. These unique key definitions allow data to be stored using certain markers. Link queries need to locate these markers in order to retrieve the appropriate data.

Which link record is used by Fill or Find is determined by the name of the form being displayed when either function is invoked. As with Format Control, the link record is related to the form by use of the base form name. For example, when a user clicks Find on the location.g form, the link record used is the one with the name location.

SM7.00 I.E. 324

Page 61: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

The Source table and form are defined to be the form on which the link is invoked (i.e. the form on which the user clicks Find or Fill), and the table that the form accesses.

The Target table is defined to be the table that is searched by the link for the related record(s).

The first page of each link record is a summary which displays one or more link lines. Each link line defines a different relationship between the source table and a target table. Each link line relates a field in the sourcetable to a target field in the target table for that line.

The field in which Find or Fill is selected determines which link line is to be used. The link then selects records in the target table (contacts) where the value of the target field (contact.name) is the same as (starts with the same value as) the value in the source field (primary.contact).

• If a single match is found, the target record is accessed.

• If more than one match is found, a record list is returned for the user to select one.

• If no record is found, a message is displayed to the user.

SM7.00 I.E. 325

Page 62: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 326

Page 63: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

In this example, Table 1 is the source table for the link, and Table 2 is the target table. Field A in the source record is the source field, and Field A in the target record is the target field.

When the link is executed (for example, via a Find or a Fill), Service Manager selects any records in the target table where the value of the target field (in this case, Field A) matches the value of the source field (in this case, Field A) in the source record.

Once selection of the record(s) in the target table is complete, data may be returned to the source record (i.e. via a Fill). In a simple link, the fields that share the same name are the ones that are returned to the source record –in this case, Field A and Field B.

SM7.00 I.E. 327

Page 64: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Complex links enable you to control which data moves between the source and target tables. They also provide processing controls, such as expressions, queries, and functions.

Each link line has a corresponding “second page”, which allows for further specification of how the link behaves. Entering fields on this second page is what turns a simple link into a complex link.

Unlike simple links, where all fields sharing the same name in source and target tables are returned in a Fill, complex links specify which fields in the target record are returned to which fields in the source record.

SM7.00 I.E. 328

Page 65: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

To access the second page of a link line:

1. Place the cursor on the link line that you want to access.

2. Click Select Line from the Options menu.

3. This figure displays the second page corresponding to the primary.contact link line of the location link record.

A line in the Source Field/Target Field array must be filled out for each field that will be returned to the source record by a Fill operation. If no lines are filled out, the link will behave as a simple link. Fields that have different names in the source and target tables must have entries in this array to properly populate the source record.

Note: If the link is complex, fields that share the same name between the source and target must still explicitly be entered into the Source Field/Target Field array.

SM7.00 I.E. 329

Page 66: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Record Selection works exactly as with a simple link – the record(s) in the target table are selected based on the values in the source field of the source record. In this case, the source field is Field A, which has been linked to the target field, also called Field A.

In the second page of this link line, Field A in the source has been linked to Field A in the target explicitly, AND Field D in the source has been linked to Field M in the target. Thus, when a Fill is performed, the value of Field A in the target is brought back into Field A in the source, and the value of Field M in the target is brought back into Field B in the source.

This is what makes the link complex – in a simple link, the fields would not have been explicitly linked, and Field A and Field B would have been the fields brought back from the target, and automatically populate Field A and Field B in the source. In this complex link, however, Field B was not mentioned in the link record, and is therefore not brought back from the target.

Once the user saves the record, the values are saved into the source table.

SM7.00 I.E. 330

Page 67: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

When processing a Fill function, the link processor performs a query against the target table and selects a data record based on data entered into the source field. If more than one record meets the query conditions, a record list displays for the user to select the appropriate record. Once a record is selected, data is copied from the target field(s) to the source field(s) specified in the link record. If only one record meets the query conditions, the source form is automatically populated with the retrieved data.

To activate the Fill function, place the cursor in the appropriate field and do one of the following:

• Click Fill in the Editor Toolbar.

• Click the Fill button attached to the input box.

• Press F9. Text option 9 (F9) is reserved for the Fill function.

Remember, the link line used in the link record is determined by which field is selected when the Fill is performed.

SM7.00 I.E. 331

Page 68: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

The Find function uses link records to access records from a target table. Unlike Fill, Find does not return data from the target record to the source record. However, it allows you to view the target record with options to edit and save the record.

Service Manager operators can use the Find function to keep supporting tables updated with current information.

Example: A caller to the Helpdesk has a new fax number. Find enables the help desk to access the target record (the customer‟s record in the contactstable) from the source record (the interaction record opened in Service Desk) and update the customer's contact information with the new fax number.

SM7.00 I.E. 332

Page 69: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 333

Page 70: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Users can be restricted from accessing the Fill and Find functions when necessary in Format Control Privileges, Links, Display Options, and Service Manager Application Profiles.

Format Control - The Fill or Find fields on the Privileges tab of a Format Control record can be set to true to allow all users to fill or find, false to prevent all users from filling or finding, or to an expression that prevents some users from accessing the functionality, but allows others.

Links - Setting the $fill.skip or $find.skip variables to true on the second page of a link line can prevent users from using Fill or Find for the field in question.

Application Profiles - Profiles can grant or deny users the ability to Find or Fill within a specific Service Manager application. (See Module 6, Lesson 4).

SM7.00 I.E. 334

Page 71: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

If a link record exists with the same name as a table, it is automatically the master link record for that table.

When a link record exists for a specific form AND a master link record exists for the corresponding table, Service Manager treats them as a merged link record. The link lines for both records are accessible, with the form-specific link lines searched first, then the master link lines. Remember that unless told otherwise by a $fill.skip=true or a $find.skip=true statement, the first line found that matches the source field will be the one used for a link, and only settings for that first line will take effect.

SM7.00 I.E. 335

Page 72: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 336

Page 73: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

You can configure Service Manager to send notifications whenever specific system events occur. By default, Service Manager supports notifications for every type of status change event in all applications. You can also define custom notifications that Service Manager sends when specific events occur.

SM7.00 I.E. 337

Page 74: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 338

Page 75: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 339

Page 76: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 340

Page 77: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

The notification table works with the scmessage, msgtype, and oncallsched tables to define notifications for common system events. These tables determine notifications for common system events, the delivery method for these notifications, and where they should be delivered.

The first three fields that appear on the panel work together to determine which message to bring up from the scmessage table when the notification record is run:

• Msg Class

• Msg No.

• Arguments

On the Message tab, define the parameters that comprise the message. Use the Email/Mail Subject Line tab to define the subject text of the message.

SM7.00 I.E. 341

Page 78: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

Message arguments can range from none to many. If there is only one argument, enter the value directly. List multiple arguments in an array. Elements of the array can be string literals or expression that evaluate to strings. To reference a value in the record that triggered the notification, enter fieldname in $L.file.

SM7.00 I.E. 342

Page 79: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

The Notify Method field specifies the method for sending the message to the recipient(s), such as e-mail or fax. This value must match a delivery method defined in the msgtype table.

The Recipient(s) field specifies an expression or string literal that references an individual user or group name to which the message is sent. Type one of the following to identify the recipient of the Service Manager notification:

• A contact name

• An operator name

• A RAD expression that gathers a contact or operator name from some field in the triggering record.

• A group name

If the Recipient is a group name, type the name of the table that contains the group definition in the Group File field. You can specify the oncall group table to send the notification to operators who are defined as on call in the on call schedule. If you use the Group File field with either ocmgroups (in Request Management) or cm3groups (in Change Management), you can use the Group Area and Sub group fields to specify certain members of those groups to be notified.

Note: If you use assignment as the Group File, you cannot create Sub group tables, but will notify all members of the assignment group.

SM7.00 I.E. 343

Page 80: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

System administrators can edit messages sent for Service Manager events. Message records are stored in the scmessage table, and are uniquely identified by the combination of Class and Message Number. The Text field specifies the message text, with the %S argument serving as a placeholder for data. Each %S argument corresponds to the Argument column in the Notification Definition panel. If you have more than one argument, you can reference the position in the input array by using %S[n]. If you wish to use the inputs in the order they are stated in the Notification record, then you can simply use multiple instances of %S.

Example: The first position in the array is referenced as %S[1], the second position in the array is referenced as %S[2], and so on.

NOTE: It is important to make sure that Notification records pass the same number of arguments in the Argument array as the Messagerecord is expecting.

SM7.00 I.E. 344

Page 81: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

NOTE: Message Types can be active or inactive. If a message fails to send through Notification Engine, its message type may be valid, but inactive.

SM7.00 I.E. 345

Page 82: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 346

Page 83: 6 - SM7 IE Class Slides, Module 6 Tailoring) as of 10-28

SM7.00 I.E. 347