Вы находитесь на странице: 1из 730

Action Request System 6.

3
Developing AR System
Applications: Basic

January 2005
Part No: 47834

Copyright 19912005 BMC Software, Inc. All rights reserved.


BMC, the BMC logo, all other BMC product or service names, BMC Software, the BMC Software logos, and
all other BMC Software product or service names, are registered trademarks or trademarks of BMC
Software, Inc. All other trademarks belong to their respective companies.
BMC Software, Inc. considers information included in this documentation to be proprietary and
confidential. Your use of this information is subject to the terms and conditions of the applicable end user
license agreement or nondisclosure agreement for the product and the proprietary and restricted rights
notices included in this documentation.
For license information about the OpenSource files used in the licensed program, please read
OpenSourceLicenses.pdf. This file is in the \Doc folder of the distribution CD-ROM and in the
documentation download portion of the Remedy Electronic Software Distribution (ESD).
Restricted Rights Legend
U.S. Government Restricted Rights to Computer Software. UNPUBLISHED -- RIGHTS RESERVED UNDER THE
COPYRIGHT LAWS OF THE UNITED STATES. Use, duplication, or disclosure of any data and computer software by the
U.S. Government is subject to restrictions, as applicable, set forth in FAR Section 52.227-14, DFARS 252.227-7013, DFARS
252.227-7014, DFARS 252.227-7015, and DFARS 252.227-7025, as amended from time to time. Contractor/Manufacturer is
BMC Software, Inc., 2101 CityWest Blvd., Houston, TX 77042-2827, USA. Any contract notices should be sent to this address.

Contacting Us
If you need technical support for this product, contact Customer Support by email at
support@remedy.com. If you have comments or suggestions about this documentation, contact
Information Development by email at doc_feedback@remedy.com.
This edition applies to version 6.3 of the licensed program.

BMC Software, Inc.

www.remedy.com

Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Overview of this manual . . . . . . . . . . . . . . . . . . . . . . . . 15
Action Request System documents . . . . . . . . . . . . . . . . . . . 17
Chapter 1

Understanding the AR System development process . . . . . . . . . . . . 21


What is an AR System application? . . . . . . . . . . . . . . . . . . . 22
Deciding what to track . . . . . . . . . . . . . . . . . . . . . . . . . 22
Deciding what to build . . . . . . . . . . . . . . . . . . . . . . . . . 23
Using the proper tools for the tasks . . . . . . . . . . . . . . . . . . . 25
A summary of the development process . . . . . . . . . . . . . . . . . 26
Tips for designing applications . . . . . . . . . . . . . . . . . . . . . 28
Helpful design tips . . . . . . . . . . . . . . . . . . . . . . . . . 28
Effective user interface design . . . . . . . . . . . . . . . . . . . . . 30
Helpful resources . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Accessibility for users with disabilities . . . . . . . . . . . . . . . . . . 32

Chapter 2

Working in the AR System development environment . . . . . . . . . . . 33


Running Remedy Administrator . . . . . . . . . . . . . . . . . . . . 34
Starting Remedy Administrator . . . . . . . . . . . . . . . . . . . . 34
Logging in to Remedy Administrator . . . . . . . . . . . . . . . . . 34
Changing login information . . . . . . . . . . . . . . . . . . . . . 36
Changing the current login . . . . . . . . . . . . . . . . . . . . . . 39
Canceling login process . . . . . . . . . . . . . . . . . . . . . . . 39

Contents ! 3

Action Request System 6.3

Viewing online help and other information . . . . . . . . . . . . . . . 40


Exiting Remedy Administrator . . . . . . . . . . . . . . . . . . . . 41
Administering the AR System server . . . . . . . . . . . . . . . . . . . 41
Starting and stopping AR System . . . . . . . . . . . . . . . . . . . 41
Managing temporary server files . . . . . . . . . . . . . . . . . . . 45
Using the Remedy Administrator windows . . . . . . . . . . . . . . . . 46
Working with toolbars. . . . . . . . . . . . . . . . . . . . . . . . 47
Displaying objects in the Server and Application windows. . . . . . . . . 47
Using the Server window . . . . . . . . . . . . . . . . . . . . . . . . 52
Opening a Server window . . . . . . . . . . . . . . . . . . . . . . 52
Selecting a server . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Closing a Server window . . . . . . . . . . . . . . . . . . . . . . . 53
Using the Application window . . . . . . . . . . . . . . . . . . . . . 54
Opening an Application window . . . . . . . . . . . . . . . . . . . 54
Closing an Application window . . . . . . . . . . . . . . . . . . . . 55
Manipulating AR System objects . . . . . . . . . . . . . . . . . . . . 55
Creating server objects. . . . . . . . . . . . . . . . . . . . . . . . 55
Copying server objects . . . . . . . . . . . . . . . . . . . . . . . . 57
Dragging and dropping objects . . . . . . . . . . . . . . . . . . . . 57
Renaming server objects . . . . . . . . . . . . . . . . . . . . . . . 58
Deleting server objects . . . . . . . . . . . . . . . . . . . . . . . . 59
Displaying details about objects . . . . . . . . . . . . . . . . . . . . 60
Building and using change history for AR System objects . . . . . . . . . 61
Creating help text for AR System objects . . . . . . . . . . . . . . . . 62
Helping users who view forms in a browser . . . . . . . . . . . . . . . 64
Performing batch updates on server objects . . . . . . . . . . . . . . . 64
Defining administrator preferences . . . . . . . . . . . . . . . . . . . 66
General preferences . . . . . . . . . . . . . . . . . . . . . . . . . 67
Confirmation preferences . . . . . . . . . . . . . . . . . . . . . . 70
Form Font preferences. . . . . . . . . . . . . . . . . . . . . . . . 71
Display preferences . . . . . . . . . . . . . . . . . . . . . . . . . 75
Form preferences . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Web View preferences . . . . . . . . . . . . . . . . . . . . . . . . 79

4 "Contents

Developing AR System Applications: Basic

Chapter 3

Defining access control . . . . . . . . . . . . . . . . . . . . . . . . 81


Understanding access control in AR System . . . . . . . . . . . . . . . 82
Groups in AR System . . . . . . . . . . . . . . . . . . . . . . . . . 83
Reserved groups in AR System . . . . . . . . . . . . . . . . . . . . 84
Groups you createRegular, computed, and dynamic . . . . . . . . . . 86
Roles in AR System . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Users in AR System . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Subadministrators in AR System . . . . . . . . . . . . . . . . . . . . 88
Additive access control . . . . . . . . . . . . . . . . . . . . . . . . . 90
Access to AR System objects . . . . . . . . . . . . . . . . . . . . . . 92
Form, active link guide, and application permissions . . . . . . . . . . . 92
Field permissions . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Active link permissions . . . . . . . . . . . . . . . . . . . . . . 100
Access to requests . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Controlling access by using implicit groupsRow-level security . . . . . 103
Submitter and Assignee access . . . . . . . . . . . . . . . . . . . 103
Assignee Group access . . . . . . . . . . . . . . . . . . . . . . . 104
Dynamic group access . . . . . . . . . . . . . . . . . . . . . . . 104
Using the Request ID field with implicit groups . . . . . . . . . . . . 104
Using the Assignee Group and dynamic groupsExamples . . . . . . . 107
Putting it all together . . . . . . . . . . . . . . . . . . . . . . . . . 112
Creating and managing groups . . . . . . . . . . . . . . . . . . . . . 113
Creating groups . . . . . . . . . . . . . . . . . . . . . . . . . 113
Managing groups . . . . . . . . . . . . . . . . . . . . . . . . . 116
Creating and mapping roles. . . . . . . . . . . . . . . . . . . . . . . 118
Assigning permissionsFour approaches . . . . . . . . . . . . . . . . 121
Defining default permissions . . . . . . . . . . . . . . . . . . . . 122
Defining permissions for individual or multiple AR System objects . . . . 125
Defining additional administrator permissions . . . . . . . . . . . . . . 127

Chapter 4

Defining applications . . . . . . . . . . . . . . . . . . . . . . . . . 131


Applications in AR System . . . . . . . . . . . . . . . . . . . . . . . 132
Local applications. . . . . . . . . . . . . . . . . . . . . . . . . 132
Deployable applications . . . . . . . . . . . . . . . . . . . . . . 133
Creating applicationsOverview . . . . . . . . . . . . . . . . . . 135

Contents ! 5

Action Request System 6.3

Creating an application object . . . . . . . . . . . . . . . . . . . . . 136


Specifying application permissions . . . . . . . . . . . . . . . . . 137
Including objects in an application . . . . . . . . . . . . . . . . . 137
Saving an application . . . . . . . . . . . . . . . . . . . . . . . 140
Deployable applications . . . . . . . . . . . . . . . . . . . . . . . . 140
Understanding deployable application ownership . . . . . . . . . . . 140
Working with deployable application states . . . . . . . . . . . . . . 141
Working with deployable application access points. . . . . . . . . . . 143
Specifying additional application properties . . . . . . . . . . . . . . . 146
General properties . . . . . . . . . . . . . . . . . . . . . . . . 146
Forms properties . . . . . . . . . . . . . . . . . . . . . . . . . 147
Access Points properties . . . . . . . . . . . . . . . . . . . . . . 148
Data properties . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Statistics properties . . . . . . . . . . . . . . . . . . . . . . . . 148
Support Files properties . . . . . . . . . . . . . . . . . . . . . . 148
Dynamic Web Views properties . . . . . . . . . . . . . . . . . . . 148
Permissions properties. . . . . . . . . . . . . . . . . . . . . . . 148
Subadministrator Permissions properties . . . . . . . . . . . . . . . 149
Change History properties . . . . . . . . . . . . . . . . . . . . . 149
Help Text properties . . . . . . . . . . . . . . . . . . . . . . . 149
Presenting applications to users . . . . . . . . . . . . . . . . . . . . . 149
Specifying General and Forms properties for application mode . . . . . 151
Specifying Help properties for application mode . . . . . . . . . . . . 153
Distributing the application to users as a shortcut . . . . . . . . . . . 155
Converting local applications to deployable applications . . . . . . . . . . 155
Deleting applications . . . . . . . . . . . . . . . . . . . . . . . . . 156
Chapter 5

Creating AR System forms . . . . . . . . . . . . . . . . . . . . . . . 159


Types of forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Regular forms . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Join forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Display-only forms . . . . . . . . . . . . . . . . . . . . . . . . 162
View forms . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Vendor forms . . . . . . . . . . . . . . . . . . . . . . . . . . 162

6 "Contents

Developing AR System Applications: Basic

Creating and managing forms. . . . . . . . . . . . . . . . . . . . . . 163


Creating forms . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Modifying forms . . . . . . . . . . . . . . . . . . . . . . . . . 165
Copying forms . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Renaming forms . . . . . . . . . . . . . . . . . . . . . . . . . 166
Deleting forms . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Display-only forms . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Creating display-only forms . . . . . . . . . . . . . . . . . . . . 168
Using a display-only form as a control panel . . . . . . . . . . . . . 169
Using a display-only form as a dialog box . . . . . . . . . . . . . . . 170
View and vendor forms . . . . . . . . . . . . . . . . . . . . . . . . 174
Creating vendor forms. . . . . . . . . . . . . . . . . . . . . . . 174
Creating view forms . . . . . . . . . . . . . . . . . . . . . . . . 174
Setting up a remote database for view forms. . . . . . . . . . . . . . 178
Field properties for fields on view forms . . . . . . . . . . . . . . . 179
Modifying fields on view forms . . . . . . . . . . . . . . . . . . . 179
Join forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Understanding join forms . . . . . . . . . . . . . . . . . . . . . 180
Using join forms in workflow . . . . . . . . . . . . . . . . . . . . 188
The Request ID field . . . . . . . . . . . . . . . . . . . . . . . 190
Creating entries in join forms . . . . . . . . . . . . . . . . . . . . 191
Creating join forms . . . . . . . . . . . . . . . . . . . . . . . . 191
Working with join forms in Remedy Administrator . . . . . . . . . . 197
Setting form properties . . . . . . . . . . . . . . . . . . . . . . . . 201
Defining vendor information . . . . . . . . . . . . . . . . . . . . 203
Displaying view information . . . . . . . . . . . . . . . . . . . . 204
Entry PointsDefining entry points . . . . . . . . . . . . . . . . . 204
Results list fieldsDefining search results . . . . . . . . . . . . . . 206
Setting up sort order . . . . . . . . . . . . . . . . . . . . . . . 209
Defining indexes . . . . . . . . . . . . . . . . . . . . . . . . . 210

Contents ! 7

Action Request System 6.3

Chapter 6

Defining fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213


Field types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Data fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Table fields . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Page fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Attachment pools . . . . . . . . . . . . . . . . . . . . . . . . . 230
View fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Application list fields . . . . . . . . . . . . . . . . . . . . . . . 234
Button fields . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Trim fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Global fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Using regular global fields . . . . . . . . . . . . . . . . . . . . . 238
Using window-scoped global fields . . . . . . . . . . . . . . . . . 238
GUID fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Determining what types of fields to use . . . . . . . . . . . . . . . . . 239
Understanding field properties . . . . . . . . . . . . . . . . . . . . . 240
Display properties. . . . . . . . . . . . . . . . . . . . . . . . . 242
Advanced properties . . . . . . . . . . . . . . . . . . . . . . . 251
Database properties . . . . . . . . . . . . . . . . . . . . . . . . 253
Permissions properties. . . . . . . . . . . . . . . . . . . . . . . 259
Views properties . . . . . . . . . . . . . . . . . . . . . . . . . 259
Related Workflow properties . . . . . . . . . . . . . . . . . . . . 261
Help Text properties . . . . . . . . . . . . . . . . . . . . . . . 262
Change History properties . . . . . . . . . . . . . . . . . . . . . 263
Color/Font properties . . . . . . . . . . . . . . . . . . . . . . . 263
Creating fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Creating data fields . . . . . . . . . . . . . . . . . . . . . . . . 266
Creating table fields . . . . . . . . . . . . . . . . . . . . . . . . 283
Creating page fields . . . . . . . . . . . . . . . . . . . . . . . . 303
Creating attachment pools . . . . . . . . . . . . . . . . . . . . . 310
Defining attachment fields within an attachment pool . . . . . . . . . 311
Defining display labels for attachment pools . . . . . . . . . . . . . 316
Creating view fields . . . . . . . . . . . . . . . . . . . . . . . . 317
Creating application list fields. . . . . . . . . . . . . . . . . . . . 319
Creating button fields . . . . . . . . . . . . . . . . . . . . . . . 320
Creating trim fields . . . . . . . . . . . . . . . . . . . . . . . . 324

8 "Contents

Developing AR System Applications: Basic

Managing fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329


Modifying fields . . . . . . . . . . . . . . . . . . . . . . . . . 329
Copying fields . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Deleting fields . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Making data fields nonoperational. . . . . . . . . . . . . . . . . . 333
Finding fields in a form . . . . . . . . . . . . . . . . . . . . . . 334
Fields in join forms . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Chapter 7

Defining menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339


Understanding character field menus . . . . . . . . . . . . . . . . . . 340
Using the Menu window . . . . . . . . . . . . . . . . . . . . . . . . 341
Creating and modifying menus . . . . . . . . . . . . . . . . . . . . . 342
Creating menus. . . . . . . . . . . . . . . . . . . . . . . . . . 342
Modifying menus . . . . . . . . . . . . . . . . . . . . . . . . . 344
Copying menus. . . . . . . . . . . . . . . . . . . . . . . . . . 344
Deleting menus. . . . . . . . . . . . . . . . . . . . . . . . . . 345
Defining character menus . . . . . . . . . . . . . . . . . . . . . . . 345
Defining file menus . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Menu file format . . . . . . . . . . . . . . . . . . . . . . . . . 350
Defining search menus . . . . . . . . . . . . . . . . . . . . . . . . . 350
Defining advanced search menu functions . . . . . . . . . . . . . . 354
Defining SQL menus. . . . . . . . . . . . . . . . . . . . . . . . . . 357
Performing the SQL operation . . . . . . . . . . . . . . . . . . . 361
Database security issues . . . . . . . . . . . . . . . . . . . . . . 362
Defining data dictionary menus . . . . . . . . . . . . . . . . . . . . . 362
Building and using menu change history . . . . . . . . . . . . . . . . . 364
Creating help text for menus . . . . . . . . . . . . . . . . . . . . . . 364

Chapter 8

Creating and managing form views . . . . . . . . . . . . . . . . . . . 365


Creating and managing form views . . . . . . . . . . . . . . . . . . . 366
Creating form views . . . . . . . . . . . . . . . . . . . . . . . . 366
Changing which view is displayed . . . . . . . . . . . . . . . . . . 371
Modifying form views . . . . . . . . . . . . . . . . . . . . . . . 371
Renaming form views . . . . . . . . . . . . . . . . . . . . . . . 372
Deleting form views . . . . . . . . . . . . . . . . . . . . . . . . 373
Setting view properties . . . . . . . . . . . . . . . . . . . . . . . . . 373

Contents ! 9

Action Request System 6.3

Managing fields in a form view . . . . . . . . . . . . . . . . . . . . . 387


Using auto layout to arrange fields on a form view . . . . . . . . . . . 387
Arranging fields on a form without auto layout . . . . . . . . . . . . 408
Setting the tab order for the fields in a form. . . . . . . . . . . . . . . . 421
Including and excluding fields from form views . . . . . . . . . . . . . . 423
Preference settings for view selection. . . . . . . . . . . . . . . . . . . 425
Chapter 9

Working with AR System forms and applications on the Web . . . . . . . 427


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
View options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Showing or hiding the web toolbar . . . . . . . . . . . . . . . . . 432
Editing web header and footer content . . . . . . . . . . . . . . . . 434
Working with form action fields for the web . . . . . . . . . . . . . . . 437
Browser settings for scripting and ActiveX controls . . . . . . . . . . . . 441
Configuring page properties . . . . . . . . . . . . . . . . . . . . . . 442
Managing resource files . . . . . . . . . . . . . . . . . . . . . . . . 442
Accessing forms and applications with URLs . . . . . . . . . . . . . . . 444
Opening forms and applications from a Home Page . . . . . . . . . . 444
Accessing the Remedy Configuration Tool . . . . . . . . . . . . . . 444
URLs for opening forms and applications . . . . . . . . . . . . . . 445
Accessing support files . . . . . . . . . . . . . . . . . . . . . . . 446
Specifying parameters in URLs for direct access . . . . . . . . . . . . 447
Support for legacy URLs . . . . . . . . . . . . . . . . . . . . . . 451
How a view is selected . . . . . . . . . . . . . . . . . . . . . . . 451
How locale is established . . . . . . . . . . . . . . . . . . . . . . 451
Creating URLs for login and logout . . . . . . . . . . . . . . . . . 452
Working with the Mid Tier Object List . . . . . . . . . . . . . . . . . . 455
Enabling the Mid Tier Object List . . . . . . . . . . . . . . . . . . 455
Displaying the Object List . . . . . . . . . . . . . . . . . . . . . 455
Searching for forms or applications in the Object List. . . . . . . . . . 457
Opening forms and applications from the Object List. . . . . . . . . . 457
Session timeouts . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Creating help for web applications. . . . . . . . . . . . . . . . . . . . 458

10 "Contents

Developing AR System Applications: Basic

Saving a web application to another location . . . . . . . . . . . . . . . 459


Making your web-based applications accessible to users with disabilities . . . 459
User preferences for accessibility . . . . . . . . . . . . . . . . . . 460
Accessibility features . . . . . . . . . . . . . . . . . . . . . . . 462
Keyboard shortcuts for accessibility . . . . . . . . . . . . . . . . . 463
Chapter 10

Automating application processes with workflow . . . . . . . . . . . . . 465


Workflow objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Active links . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Escalations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
General procedures . . . . . . . . . . . . . . . . . . . . . . . . 469
Using the workflow windows . . . . . . . . . . . . . . . . . . . . . . 470
Shared workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Sample uses of shared workflow . . . . . . . . . . . . . . . . . . . 476
Specifying the basics . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Defining workflow basics . . . . . . . . . . . . . . . . . . . . . 477
Building qualifications

. . . . . . . . . . . . . . . . . . . . . . 484

Checking transaction versus database values . . . . . . . . . . . . . 491


Specifying active link, filter, and escalation actions . . . . . . . . . . . . 493
If actions and Else actions . . . . . . . . . . . . . . . . . . . . . 494
Creating and modifying actions . . . . . . . . . . . . . . . . . . . 496
Types of workflow actions . . . . . . . . . . . . . . . . . . . . . 499
The Call Guide active link or filter action . . . . . . . . . . . . . . . 501
The Change Field active link action . . . . . . . . . . . . . . . . . 502
The Close Window active link action. . . . . . . . . . . . . . . . . 508
The Commit Changes active link action . . . . . . . . . . . . . . . 510
The DDE active link action . . . . . . . . . . . . . . . . . . . . . . 511
The Direct SQL active link, filter, or escalation action. . . . . . . . . . 512
The Exit Guide active link or filter action . . . . . . . . . . . . . . . 514
The Go To Guide Label active link or filter action . . . . . . . . . . . 514
The Goto active link or filter action . . . . . . . . . . . . . . . . . 514
The Log to File filter or escalation action . . . . . . . . . . . . . . . 516
The Message active link or filter action . . . . . . . . . . . . . . . . 517
The Notify filter or escalation action . . . . . . . . . . . . . . . . . 520
The OLE Automation active link action . . . . . . . . . . . . . . . 526

Contents ! 11

Action Request System 6.3

The Open Window active link action . . . . . . . . . . . . . . . . 526


The Push Fields active link, filter, or escalation action . . . . . . . . . 544
The Run Macro active link action . . . . . . . . . . . . . . . . . . 553
The Run Process active link, filter, or escalation action . . . . . . . . . 555
The Set Fields active link, filter, or escalation action . . . . . . . . . . 559
The Wait active link action . . . . . . . . . . . . . . . . . . . . . 570
Specifying escalation time criteria . . . . . . . . . . . . . . . . . . . . 570
Workflow processing . . . . . . . . . . . . . . . . . . . . . . . . . 572
Active link processing . . . . . . . . . . . . . . . . . . . . . . . 573
Filter processing in the AR System server . . . . . . . . . . . . . . . . . 575
Filter execution order . . . . . . . . . . . . . . . . . . . . . . . 575
Filter phases . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Tracing active link, filter, or escalation activity . . . . . . . . . . . . . . 586
Using buttons and menu bar items to execute active links . . . . . . . . . 587
Appendix A

Core and reserved fields . . . . . . . . . . . . . . . . . . . . . . . . 597


Understanding core and reserved fields . . . . . . . . . . . . . . . . . 598
Core fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
Core field characteristics . . . . . . . . . . . . . . . . . . . . . . 601
Reserved fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Reserved field ranges . . . . . . . . . . . . . . . . . . . . . . . 603
Reserved IDs used as placeholders in definitions . . . . . . . . . . . . 604
Reserved fields in access control

. . . . . . . . . . . . . . . . . . 604

Localization reserved field . . . . . . . . . . . . . . . . . . . . . 609


DSO reserved fields . . . . . . . . . . . . . . . . . . . . . . . . 610
Form action reserved fields
Appendix B

. . . . . . . . . . . . . . . . . . . . 612

Workflow extras. . . . . . . . . . . . . . . . . . . . . . . . . . . . 615


Special Run Process and $PROCESS$ commands . . . . . . . . . . . . . 616
Run Process and $PROCESS$ syntax. . . . . . . . . . . . . . . . . 616
Syntax exceptionSpecial commands with qualifications . . . . . . . . 617
Table of Run Process and $PROCESS$ commands . . . . . . . . . . . 618
Sending events between windows . . . . . . . . . . . . . . . . . . . . 630
Additional considerations for sending events . . . . . . . . . . . . . 630
Example of sending events between windows . . . . . . . . . . . . . 632

12 "Contents

Developing AR System Applications: Basic

Additional ways to use the Set Fields workflow action . . . . . . . . . . . 636


Assigning values by submitting SQL commands . . . . . . . . . . . . 636
Assigning values by issuing requests to a Filter API Plug-In service . . . . 642
Assigning values using function results . . . . . . . . . . . . . . . . 645
Assigning values from process results . . . . . . . . . . . . . . . . 656
Assigning values by using arithmetic operators . . . . . . . . . . . . 658
Using workflow to walk a table field . . . . . . . . . . . . . . . . . . 659
Converting existing macros to active links . . . . . . . . . . . . . . . . 662
Appendix C

Operators, wildcards, keywords, and NULL values. . . . . . . . . . . . . 667


Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Operator types . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Operator precedence . . . . . . . . . . . . . . . . . . . . . . . 671
Wildcards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
The NULL value, relational algebra, and AR System . . . . . . . . . . . . 680
The NULL value . . . . . . . . . . . . . . . . . . . . . . . . . 680
Relational algebra and qualifications involving NULL . . . . . . . . . 680
The NULL value and AR System . . . . . . . . . . . . . . . . . . 682

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683

Contents ! 13

Action Request System 6.3

14 "Contents

Preface
Audience
This guide is written for administrators of Remedy Action Request System
(AR System). Administrator responsibilities include installing and
maintaining applications written for AR System, creating and implementing
complete applications, and making changes to applications as business
processes evolve.
Note: You should be familiar with Remedy User and Remedy Alert before
you begin.

This manual describes the operations that are performed regularly by those
using Remedy Administrator. It assumes familiarity with current Microsoft
Windows platforms.

Overview of this manual


Chapter 1, Understanding the AR System development process, describes
what to do after you have installed AR System and want to set it up. This
chapter also briefly describes the steps involved in creating and maintaining
forms, workflow, and applications.
Chapter 2, Working in the AR System development environment, provides
an introduction to Remedy Administrator. The chapter describes how to
obtain information, administer a server, search for objects, and define
administrator preferences.

Preface ! 15

Action Request System 6.3

Chapter 3, Defining access control, describes how to set up client users and
establish client environments on users machines. This chapter includes
discussions about access control and preference settings.
Chapter 4, Defining applications, describes how to design and create
applications in AR System.
Chapter 5, Creating AR System forms, discusses the types of forms you can
create in AR Systemregular forms, display-only forms, external forms, and
join forms.
Chapter 6, Defining fields, describes how to create new fields, modify
existing fields, and set permissions for fields.
Chapter 7, Defining menus, describes how to create menus for forms in
AR System.
Chapter 8, Creating and managing form views, defines the purpose of
views. It describes how to create and manage different views of forms for
specific groups of users.
Chapter 9, Working with AR System forms and applications on the Web,
discusses how to create and run web-based applications.
Chapter 10, Automating application processes with workflow, describes
how to maintain and use the workflow components (filters, active links, and
escalations) in AR System.
Appendix A, Core and reserved fields, describes the fields that are shared
by all forms as well as the fields that are reserved by AR System.
Appendix B, Workflow extras, describes advanced workflow functionality
such as using special Run Process and $PROCESS$ commands.
Appendix C, Operators, wildcards, keywords, and NULL values, lists the
operators, wildcards, and keywords that can be used to define qualification
criteria used in searches and workflow. It also describes how NULL values are
used in AR System.

16 "Preface

Developing AR System Applications: Basic

Action Request System documents


The following table lists the documentation available for Action Request
System products.
Unless otherwise noted, online documentation in Adobe Acrobat (PDF)
format is available on AR System product installation CDs, on the Customer
Support web site (http://supportweb.remedy.com), or both.
You can access product Help through each products Help menu or by
clicking on Help links.
Title

Description

Audience

Format

Action Request System 6.3 Concepts Guide

Overview of AR System architecture


and features with in-depth examples;
includes information about other
AR System products as well as a
comprehensive glossary for the entire
AR System documentation set.

Everyone

PDF and
Print

Action Request System 6.3 Developing AR System


Applications: Basic

Basic procedures for creating and


modifying an AR System application
for tracking data and processes.

Administrators

PDF and
Print

Action Request System 6.3 Developing AR System


Applications: Advanced

Advanced procedures for extending


and customizing AR System
applications.

Administrators

PDF and
Print

Action Request System 6.3 Configuring AR System

Administrators
Server administration topics on
configuring servers and the mid tier,
maintaining AR System, and licensing
AR System.

PDF and
Print

Administrators
Action Request System 6.3 Server administration topics and
Optimizing and Troubleshooting technical essays related to monitoring
AR System
and maintaining AR System for the
purpose of optimizing performance
and troubleshooting problems.

PDF and
Print

Administrators

PDF and
Print

Action Request System 6.3 Database Reference Guide

Database administration topics and


rules related to how AR System
interacts with specific databases;
includes an overview of the data
dictionary tables.

Action Request System documents ! 17

Action Request System 6.3

Title

Description

Action Request System 6.3 Remedy DSO Administrators


Guide

Server administration and procedures Administrators


for implementing a distributed
AR System server environment with
the Remedy Distributed Server Option
(DSO).

PDF and
Print

Action Request System 6.3 Remedy Flashboards


Administrators Guide

Administrators
Flashboards administration and
procedures for creating and modifying and
Programmers
flashboards and flashboards
components to display and monitor
AR System information.

PDF and
Print

Action Request System 6.3 C API Reference Guide

Information about AR System data


structures, C API function calls, and
OLE support.

Administrators
and
Programmers

PDF and
Print

Action Request System 6.3 C API Quick Reference Guide

Quick reference to C API function


calls.

Administrators
and
Programmers

PDF and
Print

Action Request System 6.3 Java API

Information about Java classes,


methods, and variables that integrate
with AR System.

Administrators
and
Programmers

HTML*

Action Request System 6.3 Installing AR System

Procedures for installing AR System.

Administrators

PDF and
Print

Action Request System 6.3 Remedy Email Engine Guide

Procedures for installing, configuring, Administrators


and using the Remedy Email Engine.

PDF and
Print

Action Request System 6.3 Error Messages Guide

List and expanded descriptions of


AR System error messages.

Administrators
and
Programmers

PDF and
Print

Action Request System 6.3 Master Index

Combined index of all books.

Everyone

PDF and
Print

Action Request System 6.3 Release Notes

New features list, compatibility lists,


international issues, and open and
fixed issues.

Everyone

PDF and
Print

Remedy User Help

Procedures for using Remedy User.

Everyone

Product
Help

Remedy Import Help

Procedures for using Remedy Import. Administrators

18 "Preface

Audience

Format

Product
Help

Developing AR System Applications: Basic

Title

Description

Audience

Format

Remedy Administrator Help

Procedures for creating and modifying Administrators


an AR System application for tracking
data and processes.

Product
Help

Remedy Alert Help

Procedures for using Remedy Alert.

Everyone

Product
Help

Remedy Configuration Tool


Help

Procedures for configuring the


Remedy Mid Tier.

Administrators

Product
Help

*A

JAR file containing the Java API documentation is installed with the AR System server.
Typically, it is stored in C:\ProgramFiles\AR System\Arserver\Api\doc\ardoc63.jar.

Action Request System documents ! 19

Action Request System 6.3

20 "Preface

Chapter

Understanding the AR System


development process
This section describes what to do after you have installed and set up
AR System and want to start using it to create your own business applications
and automate your business process flows. It includes the following sections:
!
!
!
!
!
!
!

What is an AR System application? (page 22)


Deciding what to track (page 22)
Deciding what to build (page 23)
Using the proper tools for the tasks (page 25)
A summary of the development process (page 26)
Tips for designing applications (page 28)
Accessibility for users with disabilities (page 32)

Use Remedy Administrator to create and customize applications for your


business needs, as explained in Chapter 2, Working in the AR System
development environment and Chapter 4, Defining applications.
Typical customizations include creating new access control groups and
adding filters and active links to enhance workflow. See the Concepts Guide
for complete descriptions of the key components that make up AR System.
The AR System Application Requirements Analysis, Design, and
Development class offered by Education Services is another helpful resource
that goes into greater detail on the topics presented in this section.

Understanding the AR System development process ! 21

Action Request System 6.3

What is an AR System application?


An AR System application is a software tool that is used to track data,
processes, and issues. A form is the basic user interface and building block of
an application. Forms contain fields that your users will fill out. As your users
create and update entries through forms, the backend database server is
updated. Each form corresponds to a set of tables in the backend database
that are linked by a form (schema) ID, and each field corresponds to a
column.
Workflow objects such as active links, filters, escalations, active link guides,
and filter guides tie together events and transactions in your application.
Workflow objects are action-based, which means that workflow definitions
are evaluated when data changes state or a specific action is initiated.
Workflow is executed based on conditions such as an user tabbing into a
field, time passing, or a process running based on the type of data entered in
a form. You group forms, workflow, and related objects to create
applications.
A complete trouble ticket application might consist of a main form that
contains the caller identification, problem description, and work log
information, and several secondary forms that are linked or related to
the main form to manage caller information or aging tickets.

Deciding what to track


What you decide to track depends on your analysis of your business
processes and the rules that exist to deal with data and events. You can gather
requirements from users, managers, and other administrators.
When analyzing your current business processes and rules, you must identify
the transitional points in the process where data moves from one state to the
next. Processes must be designed to handle state transitionsspelling out
what is a legal transition and what is illegal. Take into account how various
groups of people in your organization will handle the data during state
transitions.

22 "Chapter 1Understanding the AR System development process

Developing AR System Applications: Basic

When analyzing your data tracking needs, identify the following:


!

What is the life cycle of the data: Data capture, data storage, data retrieval,
data update, data archival, and data retirement.

What types of information can be tracked together?

Where does the data come from? Other systems? User data entry?

Where is there potential for redundancy of data entry?

Where does data need to be just referenced or displayed? Where can data
be reused?

What kinds of reports and information do your users need from your
application?

Following normal business practices, how quickly will the applications


data be no longer relevant?

You can address these questions when designing your application and
deciding how many forms will accurately define the processes you have
identified. The number of forms you create depends on the smallest unit of
data you want to track and how you want that type of data to relate to other
types of data. For example, if you want to keep all data about assets in a single
form, you will need additional fields to accommodate information (data)
about manufacturers. However, you could also easily have a separate form
for assets and link it to another form for manufacturers through workflow
and logical joins.

Deciding what to build


When designing filters, escalations, and active links that will define the
workflow process, consider the following:
!

What your current workflow process is. Create a flowchart that describes
how your current problem-solving process works. The following figure
shows an example of a process flowchart.

What events in your process trigger specific actions. Can you use shared
workflow? What, specifically, triggers these actions?

Deciding what to build ! 23

Action Request System 6.3

User

Discover problem and


report it to dispatcher.

Front Line

Back Line

Management

Check for new


problems and assign
priority.
Check staff availability
and assign problems.
Send daily list of new
problems to
management.

Track open problems.


Escalate high-priority
problems open longer
than one day.
Escalate mediumpriority problems open
longer than 2 days.

Check for new


assignments and
begin problem
resolution.

New Problem List

Check history reports


for similar problems.
Follow procedures for
identifying and
resolving problems.

Report escalated
problems to
management.
Escalated Problems

Check for new


problems and assign
priority.
Check staff availability
and assign problems.
Send daily list of new
problems to
management.
Notify user of problem
resolution.

Close resolved
problems and report
to dispatcher.

Monitor open
problems and track
escalations.

Summary Information

Figure 1-1: Workflow process example

24 "Chapter 1Understanding the AR System development process

Developing AR System Applications: Basic

Using the proper tools for the tasks


AR System uses servers to manage data. The following table summarizes the
main servers you will access. For more information about servers within
AR System, see the Configuring AR System guide.
Server

Use

AR System server

Processes the data it receives from AR System clients and


passes the data to the database server to be stored.

Database

Stores definitions and data for the AR System server.

Web server

Serves as a repository for web applications. The web


server will display the appropriate page to an authorized
user.

You use the various AR System client tools for different administrative tasks.
The following table summarizes your options.
Client Tool

Used to:

Remedy User

Create groups and roles. Create users and assign


licenses. (These are administrator tasks.)
Access AR System forms and applications to create
and search for requests. (These are user tasks.)

Browser

Access web-based AR System forms and


applications to create and search for requests.
(These are user tasks.)

Remedy Administrator

Create forms and workflow. Manage AR System


server settings and licenses.

Configuration Tool

Modify mid tier settings for AR System servers,


passwords, logging, caching, and authenticating
web services. Specify home page, and preference
and catalog servers.

Remedy Import

Import data into existing AR System forms.

Remedy Alert

Inform users when they receive alerts.

Remedy User Command Line Connect to the AR System server without the
Interface (CLI)
graphical user interface of Remedy User. Use this
tool to automate tasks.

Using the proper tools for the tasks ! 25

Action Request System 6.3

Client Tool

Used to:

Remedy Administrator
Command Line Interface
(CLI)

Connect to the AR System server without the


graphical user interface of Remedy Administrator.
(Note that not all tasks are available through this
interface.) Use this tool to automate tasks.

Remedy Import Command


Line Interface (CLI)

Connect to the AR System server without the


graphical user interface of Remedy Import. Use
this tool to automate tasks.

A summary of the development process


The following table summarizes the steps necessary to develop an AR System
application.
Tasks

How

For more information, see:

Plan

1 Analyze and determine

your business processes,


events, user functions, and
so on.
2 Create a detailed design
specification.

1 Use Remedy

Build the
Application

Administrator to create
the application and the
forms, workflow, and
other objects in it.
2 Define groups or roles and
their access permissions.

!
!

26 "Chapter 1Understanding the AR System development process

Concepts Guide
AR System Application
Requirements Analysis, Design,
and Development course

Developing AR System
Applications: Basic guide
Developing AR System
Applications: Advanced guide
Configuring AR System guide
AR System 6.x: Administering Part 2 course
AR System 6.x: Administering Part 3 course

Developing AR System Applications: Basic

Tasks

How

For more information, see:

Test and Tune 1 Select a group of people to


the Application
test the application.
2 Make adjustments to the
UI, workflow, and server
environment to maximize
performance.
3 Use Remedy Application
Explorer to analyze and
troubleshoot the
application.

Move the
Application to
Production

1 Use Remedy

Administrator to export
the application and install
it on the production
server.
2 Add and license users.
3 Consider using a product
like Remedy Migrator to
identify differences
among objects on
different servers or to
import definitions.

!
!

!
!

Optimizing and Troubleshooting


AR System guide
Developing AR System
Applications: Basic guide
Configuring AR System guide
Remedy Application Explorer
Administrators Guide
AR System 6.x: Performance
Tuning and Troubleshooting
course
Developing AR System
Applications: Advanced guide
Configuring AR System guide
Remedy Migrator
Administrators Guide

A summary of the development process ! 27

Action Request System 6.3

Tips for designing applications


This section gives you tips for designing the layout of the forms in your
applications. By following standard UI design practices, you can help your
users understand how to fill out forms more easily.
Usability studies show that users prefer to complete major tasks quickly and
accurately. Properly designed applications:
!

Improve user task completion rates by 2550%.

Reduce technical support time by 2030%.

Reduce training time by 3040%.

Reduce user frustration level by 050%.

To ensure more user friendly applications, observe the application design


principles that follow.

Helpful design tips


Use the following tips when designing your applications:
!

Target common tasksDesign around the three or four most common


tasks that your users are likely to perform. If you have several types of users
(for example, managers and support personnel), design separate forms,
tabs, or views for each type.

Group elementsGroup information that belongs together in the same


area. For example, keep all customer address information in one area.
Label each section clearly. Use white space to separate the grouped
information.

Emphasize elementsPlace important elements, such as required fields,


at the top of the grouped sections. Place optional or less important
elements at the bottom. Buttons should immediately follow the section
upon which they act.

28 "Chapter 1Understanding the AR System development process

Developing AR System Applications: Basic


!

Simplify the interfaceTo increase your user success rates, you can:
!

Reduce the required steps to accomplish the most common user tasks.

Reduce the amount of text and font types, design elements (such as
buttons and fields), and graphics. Consider eliminating the nonrequired elements.

Create smaller tables.

Plan your design around which tasks users must accomplish and which
fields they require to accomplish those tasks. As a general rule, 80% of
optional fields can be eliminated.

Create contrastChoose a light background color that makes black text


easy to read. Avoid light-colored text, as well as dark, multicolored, or
textured backgrounds. Use headings, bold text, and light colored cells and
borders to make important elements stand out.

Align elementsAlign your fields and field labels. Misaligned fields create
visual confusion and draw the users attention away from the tasks they
must perform.

Be consistentKeep language simple and consistent. For example, use


either Postal Code or Zip Code, but not both.
Have similar field lengths and button types for similar actions.

Provide feedbackProvide a message or clearly change the way that the


interface appears after a user performs an action. For example, if the user
performed the wrong action, supply an error message that explains why
the action did not succeed and what the user must do next.

Test your applicationCustomers can give feedback on your application


from a user point of view. Test your application with a cross-section of
customers that best reflect your intended audience.

Tips for designing applications ! 29

Action Request System 6.3

Effective user interface design


The following figures illustrate the design principles outlined in this section.
The poorly designed user interface in the following figure shows misaligned,
extraneous, and disorganized fields. The bottom sections are not labeled. The
Clear Table button does not follow the appropriate section. Important
elements blend in with less important ones, making it more difficult to
accomplish tasks quickly.

Figure 1-2: Poorly designed interface

30 "Chapter 1Understanding the AR System development process

Developing AR System Applications: Basic

This figure shows a well-designed interface that includes only necessary fields
that appear grouped and aligned. Important fields stand out from the
background, and users can accomplish tasks quickly.

Figure 1-3: Well-designed interface

You might want to use an auto layout template to quickly and consistently
arrange fields in your application. For more information, see Using auto
layout to arrange fields on a form view on page 387.

Tips for designing applications ! 31

Action Request System 6.3

Helpful resources
For more information about usability design principles, talk to a usability
consultant or see the following books and Web sites.

Books
!

Designing Web Usability: The Practice of Simplicity, by Jakob Nielsen

GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers,
by Jeff Johnson

The Humane Interface: New Directions for Designing Interactive Systems, by


Jef Raskin (Paperback)

About Face: The Essentials of User Interface Design, by Alan Cooper

Web sites
!

http://www.uie.com

http://www.upassoc.org

http://www.nngroup.com

Accessibility for users with disabilities


Both Remedy User and web clients support users who need assistive
technology such as JAWS (Job Access with Speech). For more information
on accessibility in web clients, see Making your web-based applications
accessible to users with disabilities on page 459.

32 "Chapter 1Understanding the AR System development process

Chapter

Working in the AR System


development environment
This section provides an introduction to using Remedy Administrator to
develop applications and includes the following sections:
!
!
!
!
!
!
!

Running Remedy Administrator (page 34)


Administering the AR System server (page 41)
Using the Remedy Administrator windows (page 46)
Using the Server window (page 52)
Using the Application window (page 54)
Manipulating AR System objects (page 55)
Defining administrator preferences (page 66)

Remedy Administrator also contains additional functionality not


documented in this section. See the following for more information:
!

Configuring AR System guideUsing Remedy Administrator to configure


the server and manage server licenses

Developing AR System Applications: Advanced guideUsing Remedy


Administrator to manage application licenses and use source control

Optimizing and Troubleshooting AR System guideUsing Remedy


Administrator to synchronize the database and track form and application
statistics

For specific information on creating applications, see Chapter 4, Defining


applications.

Working in the AR System development environment ! 33

Action Request System 6.3

Running Remedy Administrator


Only users registered as AR System administrators or subadministrators can
use Remedy Administrator. For more information, see Chapter 3, Defining
access control.
This section discusses starting Remedy Administrator, logging in, and
accessing online help.

Starting Remedy Administrator


" To start Remedy Administrator, do one of the following:
!

Choose Start > Programs > Action Request System > Remedy
Administrator.

Type aradmin in the Run dialog box.

Logging in to Remedy Administrator


You can log in to AR System from any computer on the network that has
access to the AR System server.
" To log in to Remedy Administrator:

Use this procedure if you specified at least one AR System server during
Remedy Administrator installation.
1 In the User Name field, enter the name of an AR System administrator, such

as Demo.
AR System is case-sensitive, which means you must type Demo, not demo or
DEMO.
Note: During initial installation, the Demo user is installed without a
required password. Add a password for this user as soon as possible to
keep AR System secure. See the Configuring AR System guide for
information about the Password field in the User form.
2 Enter the password of the AR System administrator.
3 In the Preference Server field (optional), enter the name of your preference

server. For more information, see the Configuring AR System guide.

34 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

A preference server is the AR System server on which the AR System


preference forms are installed. This server stores your administrator and user
preferences in a central location where they can be accessed from any client
machine. You define a server as a preference server during or after
installation, as described in the Configuring AR System guide.
If you always log in from this local machine, leave the Preference Server field
blank, and your preferences will be stored locally on this machine. If you later
designate a preference server, you will need to reset all of your preferences so
that they are stored on that remote server. For more information on central
and local preferences, see the Configuring AR System guide and Remedy User
Help.
4 Enter an authentication string, if necessary. For more information, see the

Configuring AR System guide.


You must inform clients whether an authentication string is needed when
logging in and what that string should be. For most situations, this field will
not be used and will remain empty.
Whether you need an authentication string depends on how you are
validating users. For more information, see the Configuring AR System guide.
You can also define use of an External Authentication plug-in. For more
information, see the C API Reference Guide.
5 Click OK.

After successful login, a Server window is displayed.

Figure 2-1: Remedy Administrator with Server window

Running Remedy Administrator ! 35

Action Request System 6.3

If you try to log in to multiple servers and cannot connect to one or more
servers, those servers are displayed with a red slash (!) to the left of their
names in the Server window.
If you cannot log in to any servers, the Login window remains open.

Changing login information


You can modify, add, and delete login information for any server or user
name from within Remedy Administrator.

Changing server information


To add servers or to view the Accounts dialog box (shown in the following
figure), click the Accounts button in the Login window, or choose Tools >
Account in the Remedy Administrator window.

Figure 2-2: Accounts dialog box

The dialog box includes the following features:


!

Preference status is indicated at the top of the Account dialog box.


!

A green light and the text <preference server>: preference server active
means that you specified a preference server in the Preference Server
field in the Login dialog box. When you add to, delete from, or modify
the server list, the information is saved to your preference server on the
AR System Administrator Preference form.

36 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic


!

A red light and the text No preference server selected means that you
specified none in the Preference Server field. When you add to, delete
from, or modify the server list, the information is saved to your local
file.

A green check mark indicates that the system will attempt to connect to
that server at login.

A red cross indicates that the system will not attempt to connect to that
server at login.

A server name in bold indicates servers to which you have been


successfully connected in previous logins.

" To change server information:


1 Choose Tools > Account in the Remedy Administrator window to open the

Account dialog box (Figure 2-2 on page 36).


2 Use the following buttons to modify the server list.
Add

Allows you to add a server name.

Modify

Allows you to change a selected servers name.

Delete

Deletes the selected server.

3 Select the Advanced Server Properties check box to set a TCP port number

or a private server number for a specific server.


TCP

TCP port number of the AR System server. (AR System clients


that run versions prior to 5.0 cannot access TCP port numbers
under 1024.)

RPC

Remote Procedure Call number, which represents the


program number of the specified server. This number allows
you to connect to a private server.

4 Click OK.

The new login information is applied immediately, but does not affect the
current session. You must log in again to take advantage of these changes.

Running Remedy Administrator ! 37

Action Request System 6.3

Changing user information


When you add a user name, it is added to the User list in the Users dialog box
for the client and administrator tools for that computer. Users whose names
are listed in the User form of a specific server can log in to that server even if
they are not listed in the User Name menu of the Login dialog box.
Use the following procedure to change user login information. The new login
information is applied immediately, but does not affect the current session.
You must log in again to take advantage of these changes.
" To change user information:
1 Choose Tools > Account in Remedy Administrator window, or click the

Accounts button on the Login dialog box to open the Account dialog box
(Figure 2-2 on page 36).
2 Click the Users button to open the Users dialog box.

Figure 2-3: Users dialog box

3 Add a new user to the list, if required.


a Click Add to open the Add User dialog box.
b Enter the name of the new user in the User field.
c Enter the home directory of the new user in the Home Directory field.
d Click OK.

The new user name appears in the list alphabetically.

38 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

4 Use the following buttons to modify the user list, if required.


Modify

Allows you to change the users name and home directory.

Delete

Deletes the selected user.

5 Click OK in the User dialog box.

Changing the current login


Change your login, as needed, to administer other servers or forms.
If you have modified information in the Accounts dialog box and you want
that information reflected in your current session, you must log in again.
" To change the current login:
1 Choose Tools > Login to open the Login dialog box.
2 In the User Name field, enter your name.
3 In the Password field, enter your password.
4 Specify a preference server (optional); see the Configuring AR System guide

for more information.


5 Specify an authentication string (optional); see step 4 on page 35 for more

information.
6 Click OK.

Canceling login process


When you log in to AR System, you can cancel the entire login process or skip
servers that are not responding. After clicking OK in the Login dialog box, the
Login Status dialog box appears.

Figure 2-4: Login Status dialog box

Running Remedy Administrator ! 39

Action Request System 6.3

The cancel feature is useful if, for example, you misspelled a server name, the
server is down, or it is taking too long to connect to a specific server. You can
perform one of the following tasks:
!

Click Skip to stop the login process to the current server and log in to the
next server in the Server list.

Click Skip All to stop the login process on the current server and all
subsequent servers.

Click Cancel to stop the login process. Connections to servers that were
initially connected are dropped.

Viewing online help and other information


You can open online help, access information about Remedy products and
solutions, or view version and environment information about your Remedy
Administrator installation.
" To display online help for Remedy Administrator, do one of the following:
!

With Remedy Administrator open, choose Help > Contents and Index.

Choose Start > Programs > Action Request System > Remedy
Administrator Help.

" To access information about Remedy products and solutions:


1 Choose Help > Remedy on the Web.
2 Choose from Remedy Home Page (the corporate web site) or Technical

Support.
" To display version and environment information about Remedy

Administrator:
1 Choose Help > About Remedy Administrator.

The About window appears, displaying information such as the version


number and copyright date.
2 Press Esc to exit.

40 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Exiting Remedy Administrator


When you exit Remedy Administrator, you are prompted to save any
unsaved objects. Your administrator preferences (see Defining
administrator preferences on page 66) are saved for your next login.
" To exit Remedy Administrator:
!

Choose File > Exit.

Administering the AR System server


The following sections describe topics specific to administering the
AR System multithreaded server.

Starting and stopping AR System


The following procedures describe how to start and stop AR System on
Windows and UNIX servers.

WindowsStarting and stopping AR System


The following procedures describe how to start and stop the AR System
server.
" To start the AR System server on Windows:
1 Access the Services screen.
a Choose Start > Settings > Control Panel.
b Double-click Administrative Tools.
c Double-click the Services icon.
2 Select the appropriate server.
!

The first or only AR System server installed on a machine is called Remedy


Action Request System Server.

Additional servers are listed as Remedy AR System <server_name>.

Administering the AR System server ! 41

Action Request System 6.3

3 Choose Action > Start.

The following services are started:


!

AR System Monitor, which starts:


!

Remedy Action Request System Server

Remedy Distributed Server Option

AR System Plug-in servers

AR System Portmapper

You must manually start the Remedy Email Engine. See the Remedy Email
Engine Guide for more information.
" To stop the AR System server on Windows:
1 Access the Services screen.
a Choose Start > Settings > Control Panel.
b Double-click Administrative Tools.
c Double-click the Services icon.
2 Select the appropriate server.
!

The first or only AR System server installed on a machine is called Remedy


Action Request System Server.

Additional servers are listed as Remedy AR System <server_name>.

3 Choose Action > Stop.

To stop multiple AR System services, stop them in the following order:


a AR System Monitor, which stops:
!

Remedy Action Request System Server

Remedy Distributed Server Option

AR System Plug-in servers

b Remedy Email Engine


c AR System Portmapper

If you are using AR System Portmapper, stopping it in the Services window


will stop all services.

42 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

UNIXStarting and stopping AR System


If the armonitor executable exists under <installation_directory>/bin, the
arsystem startup script will start armonitor, which executes the commands
listed in the configuration file. If armonitor does not exist, the arsystem
startup script will attempt to start the arserverd executable (if it exists), an
executable that represents the main part of AR System. It handles all
interactions between clients and the database.
The arsystem script also shuts down armonitor and arserverd. For more
information about these utilities, see the Configuring AR System guide.
The following procedures describe how to start and stop the AR System
server on UNIX.
" To start the AR System server on UNIX:
1 Log in as root or, in a non-root installation, log in as the user who starts

AR System.
2 Enter the appropriate command, as shown in the following table.
System Type

Command

HP-UX

If you chose to put the AR System server in the system startup file
when prompted during installation, use:
/sbin/init.d/arsystem_<server_name> start

If you accepted the default installation directory, use:


/usr/ar/bin/arsystem_<server_name> start

If you installed into another directory, use:


<ar_install_dir>/bin/arsystem_<server_name> start

IBM AIX

If you accepted the default installation directory, use:

Linux

/usr/ar/bin/arsystem_<server_name> start

If you installed into another directory, use:


<ar_install_dir>/bin/arsystem_<server_name> start

Solaris

If you chose to put the AR System server in the system startup file
when prompted during installation, use:
/etc/init.d/arsystem_<server_name> start

Otherwise, use:
<ar_install_dir>/bin/arsystem_<server_name> start

Administering the AR System server ! 43

Action Request System 6.3

The following services are started:


!

AR System Monitor, which starts:


!

Remedy Action Request System Server

Remedy Distributed Server Option

AR System Plug-in servers

Remedy Email Engine

" To stop AR System on UNIX:


1 Log in as root or, in a non-root installation, log in as the user who starts

AR System.
2 Enter the appropriate stop command, as shown in the following table.

To stop multiple AR System Services, stop them in the following order:


a AR System Monitor, which stops:
!

Remedy Action Request System Server

Remedy Distributed Server Option

AR System Plug-in servers

b Remedy Email Engine


System Type

Command

HP-UX

If you chose to put the AR System server in the system startup file
when prompted during installation, use:
/sbin/init.d/arsystem_<server_name> stop

If you accepted the default installation directory, use:


/usr/ar/bin/arsystem_<server_name> stop

If you installed into another directory, use:


<ar_install_dir>/bin/arsystem_<server_name> stop

44 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

System Type

Command

IBM AIX

If you accepted the default installation directory, use:

Linux

/usr/ar/bin/arsystem_<server_name> stop

If you installed into another directory, use:


<ar_install_dir>/bin/arsystem_<server_name> stop

Solaris

If you chose to put the AR System server in the system startup file
when prompted during installation, use:
/etc/init.d/arsystem_<server_name> stop

Otherwise, use:
<ar_install_dir>/bin/arsystem_<server_name> stop

Warning: Do not use the kill -9 command to stop the AR System server. Doing
so might leave your database in an inconsistent state.

Managing temporary server files


The AR System server generates temporary files, most of which are only
needed for short periods of time. You might notice that some temporary files
are being created in your working directory. To change the directory in
which temporary files are created, you can set the TMP or TEMP system
environment variables.

Administering the AR System server ! 45

Action Request System 6.3

Using the Remedy Administrator windows


Remedy Administrator opens in a main window that contains one or more
Server windows and Application windows.
Title bar
Menu bar
Toolbars

Status bar

Figure 2-5: Remedy Administrator main window with Server and Application
windows open

Different operations are available depending on which window is active:


!

Server windowAllows you to create new objects on the server and


manipulate all objects on the server.

Application windowLets you create and manipulate objects within the


scope of an application.

You need to run only one instance of Remedy Administrator to administer


all of the servers running at your location. If necessary, you can run more
than one instance of Remedy Administrator at the same time.
Note: If an object is saved with changes in one instance, and then the object
is saved in another instance, the original changes will be lost.

46 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Working with toolbars


You can drag and reposition the toolbars any way that you want, or dock
them as individual palettes on the Remedy Administrator workspace. Use the
toolbar tooltips to see descriptions of each button.
Whether the toolbars or status bar are displayed automatically is determined
by a general preference setting, as described in General preferences on
page 67.
You can view different Remedy Administrator toolbars (Standard, Palette, or
Source Control) by choosing View > Toolbars.

Displaying objects in the Server and Application windows


In the Server and Application windows, you can display objects in one of the
following tabs:
!

Object Displays by the various types of objects, such as Forms, Filters,


or Menus.

PrefixDisplay by object prefix, such as FB:.

In the Server window, you can also view objects by form, as explained in
Viewing server objects by form on page 51.

Displaying objects in the Object tab


The following procedure explains how to display objects in the Object tab.
" To display objects in the Object tab:
1 In the Server window or Application window, click the Object tab.
2 In the Server window, double-click an available server on which you want to

display objects.
3 Click the type of object you want to display.

Using the Remedy Administrator windows ! 47

Action Request System 6.3

For example, clicking the Forms object displays the available forms, as shown
in the following figure.

Available
server object
categories
(Forms
selected)
Available
forms on
server
northstar

Object tab

Figure 2-6: Server windowObject tab

Displaying objects in the Prefix tab


The Prefix tab groups objects into folders based on naming conventions you
define using colon (:) delimiters. For example, all objects named FB:<object
name> will appear under a folder called FB. Objects named FB:Sub1:<object
name> will appear in a Sub1 subfolder under the FB folder. In the Name
column, only the <object name> portion of the object name is displayed.
The folders are representational groupings of objects according to their
names; actual folders do not exist in AR System.

48 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

" To display objects in the Prefix tab:


1 In the Server window or Application window, click the Prefix tab.
2 Select the server name (in a Server window) or application name (in an

Application window) for which you want to display objects.


3 Double-click the folder and subfolder (if applicable) for the group of objects

you want to display.


Object types that are available under that folder are displayed. For example,
if only forms and filters were named using the FB: prefix, only the Forms and
Filters object types will appear under the FB folder.
4 Click the type of object you want to display.

For example, clicking the Active Links object displays the active links under
the folder, as shown in the following figure.

Folders
Available
object types
under folder
Available
objects under
object type

Figure 2-7: Server windowPrefix tab

Using the Remedy Administrator windows ! 49

Action Request System 6.3

" To add new folders to the Prefix tab:


1 In the Object tab or Prefix tab, create a new object as explained in

Manipulating AR System objects on page 55.


2 Save the object using a name that begins with a prefix of your choice.

For example, if you save the object as Class1:<object name>, a new Class1
folder will appear in the Prefix tab. The new object will appear under this
folder.
3 Optionally, create additional subfolders by creating objects using an existing

prefix and adding a second prefix.


For example, if you save the object as Class1:Section1:<object name>, a new
Section1 folder will appear under the Class1 folder in the Prefix tab. The new
object will appear under the Section1 folder.
" To add objects to existing folders in the Prefix tab:
1 Select a folder in the Prefix tab.
2 Create a new object as explained in Manipulating AR System objects on

page 55.
AR System will suggest a name that begins with the prefix used for that folder.
For example, if you select the FB folder and create an active link, AR System
will suggest a name for the active link that begins with FB:.
3 Save the object using a name that begins with the folders prefix.

Refreshing the list of objects


When you add certain kinds of objects to an application, the objects might
not be visible in the Prefix tab immediately. For example, when you attach a
menu to a field on a form in an application, the menu becomes associated
with the application, but the Prefix tab might not recognize that association
immediately. Use the Refresh command to make the menu appear in the
Prefix tab.
" To refresh objects in the Prefix tab:
!

Choose View > Refresh.

50 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Viewing server objects by form


In the Object tab or the Prefix tab, you can view objects by form in the
following ways:
!

All objects on the server or in the application (the default)This method


is useful if you do not have many server objects.

Objects by their form prefixThis method is useful only if you use a


uniform naming convention for your objects. For example, if all your help
desk application objects begin with HD, using this prefix will cause only
the forms beginning with HD and their related workflow to appear in the
Server window. If your naming convention uses colon (:) delimiters (such
as HD:), view objects in the Prefix tab as explained in Displaying objects
in the Prefix tab on page 48.

Objects by selected formsThis method causes only the forms that you
select (and their related workflow) to appear in the Server window.

" To display server objects by form:


1 In the Server window, choose View > By Form.

The By Form dialog box displays the available forms.

Figure 2-8: By Form dialog box

2 Select the All Forms, Forms With Prefix, or Selected Forms option.

Using the Remedy Administrator windows ! 51

Action Request System 6.3

3 If you selected the Selected Forms option, move as many as ten forms to the

Selected Forms list.


4 Click OK.

In the Server window, the words Partial List appear above the Name column
to indicate that an option is selected in the By Form dialog box.

Using the Server window


Use the Server window to select a server and create, modify, or delete server
objects. If you are creating an application, work within an Application
window, as described in Using the Application window on page 54.

Opening a Server window


You can have multiple Server windows open at the same time.
" To open a new Server window:
!

Choose Window > New Server Window.

" To display a Server window that is already open:


!

Choose Window > Server Window <number> <server name>.

Selecting a server
You can select any server that you are logged in to. For information on
selecting servers at login, see Changing login information on page 36.

52 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

" To select a server:


1 Open a Server Window.

Figure 2-9: Remedy AdministratorServer window

An unavailable server marked with this icon (!) is any server that is not
currently running, that was skipped during login, or that you do not have
permission to administer.
2 In the Object tab, double-click the server you want to administer.

Depending on your level of permission (whether administrator or


subadministrator), Remedy Administrator displays the object categories of
the server you chose. You can administer the objects listed when the server
name is expanded.

Closing a Server window


When you close a Server window, you are prompted to save any open,
unsaved objects.
" To close the active Server window:
!

Choose File > Close.

Using the Server window ! 53

Action Request System 6.3

Using the Application window


The Application window is used for developing local and deployable
application objects. For information on planning and developing
applications, see Chapter 1, Understanding the AR System development
process and Chapter 4, Defining applications.

Opening an Application window


You can open an Application window by creating a new application or by
opening an existing application.
" To create a new application:
1 In the Server window, select a server.
2 Choose File > New Application.
3 Enter a name for the application, select Local Application or Deployable

Application, and click OK.


For more information, see Creating an application object on page 136.
" To open an existing application:
1 In the Server window, select a server.
2 Choose File > Open Application to open the following dialog box.

Figure 2-10: Open Application dialog box

3 Select an application name and click OK.


54 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Closing an Application window


When you close an Application window, you are prompted to save any open,
unsaved objects.
" To close the active Application window:
!

Choose File > Close.

Manipulating AR System objects


This section describes the steps for creating, copying, renaming, and deleting
AR System objects in both the Server window and Application window.
In a Server window, you can manage all server objects. In an Application
window, you manage only the objects contained in that application.
These procedures are the same for each AR System object, except for
application objects, which are discussed in Chapter 4, Defining
applications.
Note: When you create a menu object in an Application window, the menu
initially appears in the Server window. After you add the menu to a
character field on a form or use the menu in a Change Field action that
belongs to an application, the menu also appears in the Application
window for that application. For more information, see Defining
Attributes properties on page 268 and Chapter 7, Defining menus.

Creating server objects


Use the following procedure to create a server object.
" To create server objects:
1 In the Server or Application window, choose File > New Server Object.
2 Select the object you want to create, and click OK to open the properties

window.
3 Specify the appropriate object properties.

The proceeding sections in this document describe the properties for each
object type.

Manipulating AR System objects ! 55

Action Request System 6.3

4 Choose File > Save <Object> to save your changes.

The Save <Object> As dialog appears.

Figure 2-11: Save <Object> As dialog box

5 In the <Object> Name field, enter an object name.

Object names must be unique for each AR System server. There is no


enforced convention for specifying names, but it is helpful to make the name
descriptive. Names can be as many as 80 characters, including spaces.
The Web Alias field is populated automatically, and is not used in version 6.3
of the mid tier. In prior releases, the web alias was used in the directory
structure for web applications deployed on the mid tier.
Note: If you are using a relational database that is case-insensitive, you
cannot create any other AR System objects with names that are different
only in case; for example, hd:troubleticket and HD:TroubleTicket. Caseinsensitivity can also be an issue with your source control environment,
depending on your underlying database design.
6 If you are using source control, select the Add to Source Control check box

to copy the object into your source control project.


For more information, see the Developing AR System Applications: Advanced
guide.
7 Depending on how you configured source control integration with

AR System, add a comment as part of the version history of the object.


8 Click OK.

56 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Copying server objects


When you create a copy of an object, the new object retains all of the
properties of the original. The only difference is the name.
Note: You cannot create copies of deployable applications because different
deployable applications cannot contain the same forms.
" To copy server objects:
1 In the Server or Application window, double-click the appropriate object to

open it.
2 Choose File > Save <Object> As.
3 In the <Object> Name field, enter a new name.

The Web Alias field is populated automatically, and is not used in version 6.3
of the mid tier. In prior releases, the web alias was used in the directory
structure for web applications deployed on the mid tier.
4 If you are using source control, add a comment as part of the version history

of the object.
5 Click OK.

If you are using source control in enforced mode, the object will
automatically be added to source control under your ownership. For more
information, see the Developing AR System Applications: Advanced guide and
your source control application documentation.

Dragging and dropping objects


You can drag and drop forms between windows in Remedy Administrator.
Warning: When you drag and drop objects into a deployable application,
AR System removes all explicit group permissions from the objects. You
must manually apply role permissions to packing lists and forms, and to
every object associated with each form, including fields, and any active
links and active link guides for which the form is the reference form.

Likewise, removing objects from a deployable application removes all role


permissions from the objects. For more information about roles, see
Roles in AR System on page 87.

Manipulating AR System objects ! 57

Action Request System 6.3

For forms, note the following:


!

Dragging and dropping a form from a Server window to an Application


window includes the form and its associated objects (such as workflow and
menus) in the application.

Dragging and dropping a form between Application windows performs a


move, and includes the form and its associated objects (such as workflow
and menus) in the target application. For deployable applications, object
ownership is transferred to the target application.

Dragging and dropping a form from an Application window to a Server


window removes the form from the application.

Renaming server objects


When you rename an object, all references in any related object (for example,
an active link attached to a form) are automatically updated.
" To rename forms:
1 In the Server or Application window, double-click the appropriate object to

open it.
2 Choose File > Rename Form.
3 In the Form Name field, enter a new name.
4 If you are using source control, select the Add to Source Control check box

to add the renamed object to the source control database. Otherwise, you will
have to add it later.
5 If you are using source control, add a comment as part of the version history

of the object.
6 Click OK.
" To rename all other AR System objects:
1 In the Server or Application window, double-click the appropriate object to

open it.
2 In the <Object> Name field, enter a new name.
3 If you are using source control, add a comment as part of the version history

of the object.
4 Save your changes.

58 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Deleting server objects


Use the Edit menu in Remedy Administrator to delete one or more server
objects at one time. If you select multiple objects in a Server window, you can
delete them in one action.
When deleting server objects, remember these important tips:
!

Delete is a permanent action and cannot be undone.

If you delete a primary or secondary form of a join, the join form is also
deleted.

Deleting an object from the server does not automatically delete it from
the source control database.

You cannot delete an object that is open in Remedy Administrator.

When you delete a form, all associated data and workflow that is not
associated with any other form is deleted. If workflow is shared by
multiple forms, it will not be deleted until the last form that uses it is also
deleted. Menus, applications, and packing lists must be deleted separately
because they are independent of forms.

" To delete server objects:


1 In the Server or Application window, select the objects that you want to

delete.
Warning: If your server preferences are set not to confirm that you want to
delete an object, you can delete every object (except Groups) on your
AR System server without having to confirm that you want to delete them.
For more information, see Confirmation preferences on page 70.
2 Choose Edit > Delete <Object>s.
3 Click Yes at the prompt to delete the objects.

The objects are removed from the database.

Manipulating AR System objects ! 59

Action Request System 6.3

Displaying details about objects


When you open a Server window or Application window for the first time,
the windowss default view shows server objects alphabetically in list format.
To display details about objects, choose View > Details.

Figure 2-12: Application windowdetails view

You can click on any column heading to sort the contents of the column in
ascending or descending order.
To view specific information about an individual server object, select the
object, and choose File > Object Summary. The Object Summary dialog box
appears.

Figure 2-13: Object Summary dialog box

60 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Building and using change history for AR System objects


For each server object that you create by using Remedy Administrator,
AR System automatically records the owner (the user who created the
object), the user who last modified the object, the date of the modification,
and object properties (read-only source control information). You can view
and in some cases modify this history information at any time by clicking the
Change History tab in each object window.

Figure 2-14: Change History tab

You can use the Change History tab as a diary of changes made to each object.
Each time you modify an object, you can update the change history to
maintain a record of the changes made over time.
" To update the change history:
1 In the create or modify window of the appropriate object, click the Change

History tab.
2 To change the ownership of the object, in the Owner field, enter the user

name of the new owner.


The Last Changed By field contains the name of the user who last changed
the object.
Note: Any user with Administrator or Subadministrator permissions can
modify an object, regardless of who the specified owner is for the object.

Manipulating AR System objects ! 61

Action Request System 6.3

3 In the New Description field, enter the appropriate information.

You can enter information about the object or about the change that you
have just made. You cannot type in the upper portion of the tab to modify an
entry after it has been made.
4 Save your changes.

Your entry, a time stamp, and your user name will appear in the upper
portion of the tab.

Creating help text for AR System objects


The help text that you supply for forms and fields is available to all users in
Remedy User as context-sensitive Whats This? help. In most cases, this help
describes the form or field, what it does, and how to use it.
Users of Remedy User can view this help text in the prompt bar or in a popup
window by performing one of the following actions:
!

Choosing Whats This? on the Help menu and then clicking the form

Clicking the Whats This? icon and then clicking on the form

Right-clicking on the form, and choosing Whats This?

Pressing Shift-F1 and then clicking on the form

If you do not write help text, default field help will appear in the Remedy User
prompt bar (if visible). This system-generated field help describes various
field settings such as the data type, maximum character limit, whether QBE
is supported, and so on.
The help text that you supply for all server objects except forms is available
only to administrators and subadministrators in Remedy Administrator.
You can, however, compose extra help text for guides that users can see in the
prompt bar of Remedy User as they are guided through a form or a series of
forms. For more information about guides, see the Developing AR System
Applications: Advanced guide.
If you create large-scale applications using AR System, you can also include
up to five external help files (for example, .htm or .chm files) for your users.
Users access the help files by choosing Help > Help On <application_label>
in Remedy User. For more information, see Specifying external help files
on page 154.

62 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

" To create context-sensitive help text for users of Remedy User:


1 Open the properties window for the form or field.

To open form properties, choose Form > Form Properties. To open field
properties, double-click on the field.
2 Click the Help Text tab.

Figure 2-15: Help Text tab

3 In the Help Text field, enter the information that you think will be helpful to

users.
Note: The Hide This Help Text in Web Views check box at the bottom of the
tab is ignored in version 6.3. Using previous versions, you can select the
check box if you do not want help text to appear in a form viewed on the
web.
4 Save your changes.
" To create help text for users of Remedy Administrator:
1 Open the create or modify window of the object for which you want to define

help text.
2 Click the Help Text tab.

Figure 2-16: Help Text tab

3 In the Help Text field, enter information that you think will be helpful to

administrators or subadministrators.
4 Save your changes.

Manipulating AR System objects ! 63

Action Request System 6.3

Helping users who view forms in a browser


You can create help for users viewing forms on the web by adding a Form
Help button to a form. When users click the Form Help button, information
about the form and each of its fields appears. For more information, see
Creating help for web applications on page 458.

Performing batch updates on server objects


You can modify several server objects at the same time, as long as they are a
grouping of the same type of server objects. For example, you might want to
give the same permissions to a group of forms, or you might want to enable
several active links at once.
" To perform batch updates:
1 In the Server or Application window, select the objects that you want to

modify.
!

To select several adjoining objects, press the SHIFT key while selecting.

To select objects that are not adjoined, press the CTRL key while selecting.

2 Right-click one of the selected objects and choose Edit from the menu to

open the Properties dialog box in batch update mode.

Figure 2-17: Batch UpdateForm Properties dialog boxPermissions tab

64 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

3 Modify the necessary fields under each tab in the dialog box.

Note the following tips:


!

For object types that have permissions (such as forms and active links),
select the Select All check box to select all the groups and roles listed and
to change permissions for all the groups and roles at the same time.

Some fields, such as the Name field for active link properties, might be
disabled because they cannot be modified as a group.

Figure 2-18: Batch Update Active Link Properties dialog boxBasic tab
!

In the Execution Order field of the same dialog box, you can:
!

Increase or decrease the execution order number by adding a plus sign


(+) or minus sign (-) in front of the number. For example, if you
entered +10, the execution order of each workflow object would
increase by 10. If you entered -10, the execution order would decrease
by 10.

Make all workflow objects in this bulk update the same. For example, if
you entered 10, the execution order for each workflow object would be
10.

Manipulating AR System objects ! 65

Action Request System 6.3


!

For batch updates of workflow objects, you can select more forms in the
Form Name field (shown in the previous figure), but you cannot clear
forms.

If one or more objects have a property setting, the property is shown with
a check box in one of the following states:
!

ClearedNone of the selected objects have this property.

SelectedAll objects will have this property setting.

Selected but dimmedSome of the selected objects have the property,


and others do not.

4 Click OK to apply the changes and close the Batch Update dialog box.

Defining administrator preferences


Use the Preferences dialog box (Figure 2-19 on page 67) to set preferences for
Remedy Administrator.
The following table describes each tab in the Preferences dialog box and
provides the page where you can find more information.
Tab

Information

Page

General

Defines the appearance of Remedy Administrator.

page 67

Confirmations

Defines the warnings and confirmations that you


receive during Remedy Administrator processing.

page 69

Form Fonts

Defines the fonts used in the forms that you design. page 71

Display

Defines how menus or change history are displayed page 75


in Remedy Administrator.

Form

Defines the default settings of the new objects that


you add to a form.

Web View

Defines the form action fields (buttons) that you


page 79
want to be inserted automatically when you create a
Web - Alternate (Fixed) view.
Note: If you create a Standard (Recommended)

view, you can include these types of buttons in a


toolbar on forms viewed on the web. For more
information, see To define view properties in the
Menu Access tab: on page 382.

66 "Chapter 2Working in the AR System development environment

page 77

Developing AR System Applications: Basic

General preferences
Use the General tab to define the appearance of Remedy Administrator.
" To define General preferences:
1 In Remedy Administrator, choose File > Preferences to view the General tab

of the Preferences dialog box.

Figure 2-19: Preferences dialog boxgeneral tab

2 Select the appropriate options:


Show Status Bar

If selected, displays a status bar at the bottom of the main


Remedy Administrator window. The status bar reflects the
operation in progress.

Show Toolbars

If selected, displays the toolbars below the Remedy


Administrator menu bar.

Save Window Position If selected, enables AR System to remember the size and
and Size on Close
position of Remedy Administrator and its open windows
when you close the tool. Otherwise, Remedy
Administrator windows open with the default size and
position.

Defining administrator preferences ! 67

Action Request System 6.3

Date Format

Determines the format in which the date is displayed in


Remedy Administrator. If you select:
Short (the default)A numerical date that includes the
numerical day, month, and year is displayed (06/17/01).
! LongAn alphanumeric date that includes the day of
the week, numerical day, month, and year is displayed
(for example, Sunday, June 17, 2001).
The order of each date component is based on the
Regional Setting properties in the Control Panel.
!

For more information, see How date and time settings


are determined in AR System (the following section).
AR Path

Identifies the folders where Remedy Administrator can


access macros. The default value is
C:\<ar_install_dir>\Home\arcmds.

Enter the entire folder path for each folder that you want
to access. To enter multiple path names, separate them
with a semicolon (;).
Proxy Server Settings
for Java VM

Configures Remedy Administrator for Internet access


through a proxy server, such as for creating filters that
consume web services.
A similar setting in the Server Information window
configures the server for Internet access through a proxy
server. For more information, see the Developing AR
System Applications: Advanced and Configuring AR System
guides.

Flat Look On Forms

If selected, displays fields without shadows in Remedy


Administrator, giving the fields a flat appearance. The
same look can be achieved in Remedy User by setting a
user preference in the General tab of the Options dialog
box.

3 Click OK.

This preference information is saved to your AR System Administrator


Preference form.

68 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

How date and time settings are determined in AR


System
Date and time
formats

Date and time formats are based on the following settings:


!

In a Windows environment, the date and time display format is based on


the Regional Setting Properties Control Panel. If the AR System server is
running under a different account name or using the default user
configuration and you are unable to change the regional properties, you
can set the ARDATE, ARDATEONLY, or ARTIMEONLY environment
variables.

In a UNIX environment, the date and time display format is based on the
ARDATE, ARDATEONLY, or ARTIMEONLY environment variables for UNIX.
If you do not use one of these variables, the display format is the default
format for the language setting, with the time zone determined by the TZ
environment variable.

Note: If the client and server clocks are not synchronized, discrepancies
might occur. A date or time field set using a Set Fields active link action
uses the clients time, but a filter sets a field by the servers time. Time
values in the core Create Date and Modified Date fields, and any diary fields
are all set from the AR System server environment, not the client machine.

If you are using the ARDATE, ARDATEONLY, or ARTIMEONLY environment


variables to set the date format for the server, set it before the server is
started. You can set the variable in your startup script (for example, /etc/
init.d/arsystem start).
For more information on setting the ARDATE, ARDATEONLY, and
ARTIMEONLY environment variables, see the Developing AR System
Applications: Advanced guide.

Data and time


values

AR System stores date and time values as follows:


!

Date/Time valuesAs integers relative to 00:00:00 GMT, January 1, 1970.


The display format and time zone offset are based on the environment of
the user, even when multiple clients view the same form from different
time zones.

Date valuesAs integers relative to 1/1/4713 B.C. Date values are


displayed in Gregorian format and are not based on time zone.

Defining administrator preferences ! 69

Action Request System 6.3


!

AR System
clients in
different time
zones

Time valuesAs integers relative to 00:00:00 today. Time values are not
based on time zone. See Date and time fields on page 215 for related
information.

Imagine someone in New York City accessing a Remedy User client at 11:00
a.m. (EST) to create a request from an AR System server located in
California, which has a local time of 8:00 a.m. (PST). Assuming all machines
are properly configured for their local time zones, a client in New York sees
an 11:00 a.m. transaction time, while a client in California sees an 8:00 a.m.
transaction time.

Confirmation preferences
Use the Confirmations tab to define warnings and confirmations that you
receive during Remedy Administrator processing.
" To define Confirmation preferences for Remedy Administrator:
1 Open a Server or Application window.
2 Choose File > Preferences.
3 Click the Confirmations tab.

Figure 2-20: Preferences dialog boxConfirmations tab

70 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

4 Select the appropriate options:


If Unapplied Changes,
Confirm to Close

For the selected objects, if you modify an object, and


then attempt to close the window without saving, the
system will prompt for confirmation before closing.

Confirm to Delete

For the selected objects, every time you delete single


or multiple objects or actions, a confirmation
message is displayed before the system deletes the
object or action.

Warnings: Administrator- If the check box is selected, a warning message is


Only Permissions
displayed when an administrator or subadministrator
creates a field and does not give any group permission
to view or change the field.
Warnings: Blank Field
Labels

If the check box is selected, a warning message is


displayed when an administrator or subadministrator
creates one or more fields that have empty field labels.

Warnings: Duplicate
Nonblank Field Labels

If the check box is selected, a warning message is


displayed when an administrator or subadministrator
creates two or more fields that have the same field
label.

5 Click OK.

This preference information is saved to your AR System Administrator


Preference form.

Form Font preferences


Use the Form Fonts tab to set the fonts for your forms. Design your forms
using the default set of fonts that your user community uses. Make sure that
all administrators working on a set of forms use the same font settings. You
can choose between two default font styles:
!

Default FontsThe system default font style is MS Sans Serif.

AR FontsThe system font style for all text types is AR Sans Serif. This set
of font styles looks similar to the default font set, but the characters of this
font set are exactly the same size on the screen (size in pixels) regardless of
screen resolution or system font setting.

Defining administrator preferences ! 71

Action Request System 6.3

Note: The AR Fonts set is generally used only for backward compatibility. In
earlier versions of AR System, AR Fonts allowed you to design views that
would look the same on different platforms. Improved auto scaling of
screen elements reduces the need for you to use AR Fonts when designing
forms for multiple platforms or different screen resolutions.

The following table shows the fonts that you can set for various screen
elements.
Screen Element Font Description

AR Fonts

Default Fonts

Edit Field

Defines the font for


data in fields.

AR Sans Serif 10

MS Sans Serif 8

Optional Field

AR Sans Serif 10
Defines the font for
tabs in page fields and
for labels of optional
fields.

MS Sans Serif 8

Push Button

Defines the font for


buttons.

AR Sans Serif 10

MS Sans Serif 8

System Field

Defines the font for


labels of fields set by
AR System.

AR Sans Serif Italic MS Sans Serif


10
Italic 8

Radio Button

Defines the font for


radio (option)
buttons.

AR Sans Serif 10

Required Field

Defines the font for


labels of required
fields.

AR Sans Serif Bold MS Sans Serif Bold


10
8

Header Text I

Defines the font in text AR Sans Serif Bold MS Sans Serif Bold
trim for titles.
14
12

Header Text II

Defines the font in text AR Sans Serif Bold MS Sans Serif Bold
trim for headers.
Italic 12
Italic 10

Header Text III

Defines an alternative
font in text trim for
headers.

Note Text

Defines the font in text AR Sans Serif 10


trim for labels.

MS Sans Serif 8

Detail Text

Defines the font in text AR Sans Serif 8


trim for details.

Arial Serif 7

MS Sans Serif 8

AR Sans Serif Bold MS Sans Serif Bold


12
10

72 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

" To define Form Font preferences:


1 Open a Server or Application window.
2 Choose File > Preferences.
3 Click the Form Fonts tab.

Figure 2-21: Preferences dialog boxForm Fonts tab

4 To set all of the fonts across the entire AR System, click one of the following

buttons:
!

Default FontsMS San Serif (the AR System default).

AR FontsSpecial fonts provided in AR System.

Defining administrator preferences ! 73

Action Request System 6.3

5 To change the font for a screen element, do the following:


a From the Select Font For list, select the appropriate screen element.

The current font type, style, and size is shown at the bottom of the
Preferences dialog box, and a sample is displayed in the Sample box. (See
the previous table for a complete list of screen elements.)
b Click Change Font to view the Font dialog box.

Figure 2-22: Font dialog box

c Select a font, font style, and size, and then click OK.
6 To change the font of additional screen elements, repeat step 5.
7 Click OK.

The new layout will be displayed when you close and reopen the form views.
This preference information is saved to your AR System Administrator
Preference form.

74 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Display preferences
Use the Display tab to define how menus and change history are displayed in
Remedy Administrator.
" To define Display preferences:
1 Open a Server or Application window.
2 Choose File > Preferences.
3 Click the Display tab.

Figure 2-23: Preferences dialog boxDisplay tab

Defining administrator preferences ! 75

Action Request System 6.3

4 Select the appropriate options:


Menu: Popup
Menu

Displays standard popup menus in windows (the default).


Hierarchical menus are displayed with arrows indicating that
you must pull the mouse to the right to view lower-level
menu selections. Large menus can cause display problems.

Menu: List Box

Displays menus in a list box. Choose this option if you need


to display large menus.
When you select this option, you must also specify one of the
following settings:
!

AlwaysAll menus are displayed as list boxes, regardless


of size.
Only IfMenus are displayed as list boxes when item and
level thresholds are exceeded.
Enter the appropriate threshold values in the fields. Menus
that contain fewer items and fewer levels than specified
will be displayed as popup menus. Menus that contain
more items or more levels than specified will be displayed
in list boxes.

Menu: Expand
Items At Startup

For menus displayed in list boxes, if the check box is selected,


all levels of hierarchical menus are displayed when the menu
is first opened.

Display Change
History

These settings refer to the date order of records in the


Change History tab for server objects and field properties,
and in diary fields. There are no fields to map to this
preference on the AR System Administrator Preferences
form; it is a shared preference with Remedy User (Windows
and Web clients). In the AR System User Preferences form,
the field is called Diary Field.
Choose from the following options:
!

Chronological (the default)Records are listed beginning


with the earliest and ending with the latest.
Reverse ChronologicalRecords are listed beginning
with the latest and ending with the earliest.

5 Click OK.

This preference information is saved to your AR System Administrator


Preference form.

76 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Form preferences
Use the Form tab to define the default settings of the new fields you add to a
form. These preferences determine whether new data, button, and trim fields
appear in all views.
" To define Form preferences:
1 Open a Server or Application window.
2 Choose File > Preferences.
3 Click the Form tab.

Figure 2-24: Preferences dialog boxForm tab

Defining administrator preferences ! 77

Action Request System 6.3

4 Select the appropriate options:


Add New

For the items selected, new objects are added to every view
of the form; otherwise, new objects are added only to the
active view.
For the data fields option, this includes view fields.

Show Field
Properties on Field
Creation

If the check box is selected, the properties window


automatically opens in a form when a new field is created.

Keyboard Move
Step Size

Defines the number of pixels a field is moved (regardless of


the grid setting) when you select a field and press the arrow
keys on the keyboard. The default is 10.

If you do not select this check box, you must double-click a


field (or click the Field Properties button at the top of the
window) to open its properties window.

Default QBE Match For new character fields, sets the default for how a match will
be determined when a user performs a query-by-example
(QBE). The options are:
AnywhereFinds a match if the value entered in search
mode occurs anywhere in the corresponding field.
! LeadingFinds a match only if the value entered in a
form field in search mode occurs at the beginning of the
corresponding field.
! EqualFinds a match only if the value entered in a form
field in search mode exactly matches the value in the
corresponding field.
For more information about each QBE match setting, see
QBE Match on page 258.
!

The Default QBE Match setting does not apply to new


character fields that are core fields. Core fields (Request ID,
Submitter, Assigned To, Last Modified By, and Short
Description) are always created with a QBE match type
setting of Anywhere.

78 "Chapter 2Working in the AR System development environment

Developing AR System Applications: Basic

Form Open
Options: Default
Locale

Specify the default locale you want when you open a form.
If you leave the field blank, it will use the default locale from
your operating system settings.
If the locale you specify as a default does not exist for the
view you are opening, the system will open the locale view
that is the closest match, a view with a blank locale, or the
first view in the list.

Form Open
Options: Default
View Type

Specify the default platform you want when you open a


form.

5 Click OK.

This preference information is saved to your AR System Administrator


Preference form.

Web View preferences


Use the Web View tab to specify which form action fields will be
automatically created with each new web view of a form. For more
information about form action fields, see Working with form action fields
for the web on page 437.
Note: You can include the same buttons in a toolbar on forms viewed on the
web. For more information, see To define view properties in the Menu
Access tab: on page 382.
" To define Web View preferences:
1 Open a Server or Application window.
2 Choose File > Preferences.

Defining administrator preferences ! 79

Action Request System 6.3

3 Click the Web View tab.

Figure 2-25: Preferences dialog boxWeb View tab

4 Select the form action fields that you want to be automatically created in the

web view of a form.


Fields will be displayed with the corresponding labels; workflow is added
automatically to these fields in the web client to perform the standard
actions.
For a description of each of these fields, see Working with form action fields
for the web on page 437.
5 Click OK.

This preference information is saved to your AR System Administrator


Preference form.

80 "Chapter 2Working in the AR System development environment

Chapter

Defining access control

This section describes how to define access control within AR System and
how users can have different abilities to access an application or any of its
parts. It contains the following sections:
!
!
!
!
!
!
!
!
!
!
!
!
!

Understanding access control in AR System (page 82)


Groups in AR System (page 83)
Roles in AR System (page 87)
Users in AR System (page 87)
Subadministrators in AR System (page 88)
Additive access control (page 90)
Access to AR System objects (page 92)
Access to requests (page 101)
Putting it all together (page 112)
Creating and managing groups (page 113)
Creating and mapping roles (page 118)
Assigning permissionsFour approaches (page 121)
Defining additional administrator permissions (page 127)

Defining access control ! 81

Action Request System 6.3

Understanding access control in AR System


Access control is the mechanism used to control who can create, view,
modify, and delete objects and requests. You can control the objects and data
that users can access as well as the actions they can perform.
In defining access control within AR System, you must:
1 Identify and create the groups (or roles, for certain types of applications) that

reflect key functions in your company.


2 Add the users of your AR System application into their respective groups,

based on the type of information each user must access.


Group membership ultimately determines which operations individual users
can perform and what they can access. AR System has various levels of
security:
!

ServerEach server has its own group of users defined so that a user has
an account on an AR System server.

Application and FormUsers who do not belong to a group that has


permission to access an application or form cannot see or interact with it.

Request (or row level)Users can view only the requests that pertain to
them, such as those requests that they submit or the requests available only
to a group to which they belong.

Field (or column level)A field will not be visible to users who do not
belong to any of the groups with permission to the field.

Active link or active link guide (workflow)Running certain types of


workflow requires that a user belong to a group with permission to do so.

82 "Chapter 3Defining access control

Developing AR System Applications: Basic

Groups in AR System
Access control groups are collections of AR System users and are the basis by
which all access is granted. In addition, groups can be used in association
with notifications. For example, you can designate an entire group to be
notified in a filter action.
AR System includes a Public group and seven other reserved groups that are
essential for access control within the system. You can define additional
groups based on a common profile and assign access accordingly. For
example, you might create a Sales group and allow members to view the
status of a request but not to change it. A group can also be a general category,
such as Browsers. For information about adding groups, see Creating and
managing groups on page 113.
AR System provides two types of groups:
!

Explicit groupsGroups to which you must manually assign users in the


User form. When a user is assigned to a group, the user is given access to
all items to which the group is granted access.
Explicit groups that you create are defined for a particular server. If you
move the objects to a new server with its own defined explicit groups, you
might need to resolve permission conflicts. Consider using a deployable
application, which uses role permissions that can be mapped to different
groups on different servers. For more information, see Roles in AR
System on page 87.
For information on assigning users to groups, see the Configuring
AR System guide.

Implicit groupsGroups that depend on specific user circumstances and


situations. Users belong to these groups based on specific conditions, such
as the contents of special fields within each request. You do not directly
assign users to implicit groups.
Any dynamic groups that you create are also implicit groups. For more
information, see Dynamic group access on page 104.

Groups in AR System ! 83

Action Request System 6.3

Reserved groups in AR System


AR System reserves eight group IDs for special group definitions. The
following table describes the access privileges for each of these groups.
Group

ID

Type *

Description

Public

Implicit

Provides general access. Access granted to this group is granted to


all users.
Every user who logs in to AR System is automatically a member of
the Public group. This includes registered users (that is, listed in
the User form) and guest users. For information about allowing
guest users, see the Configuring AR System guide.

Administrator

Explicit

Defines users who have full and unlimited access to AR System.


Users must have a fixed license or this group assignment will be
ignored.

Customize

Explicit

Grants users the ability to customize their form layout in Remedy


User. Use this group (with caution) to allow the users to change
their own form views.

Submitter

Implicit

Provides access to the user whose login name is in the Submitter


field (field ID 2) for a particular request. Users automatically
belong to the Submitter group for their requests. For more
information, see Submitter and Assignee access on page 103.
See the Configuring AR System guide for a special submitter
access mode that enables you to override the need for users to have
a write license before they can modify the requests they submit.

Assignee

Implicit

Provides access to the user whose name is in the Assignee field


(field ID 4) for a particular request. Users automatically belong to
the Assignee group when their name is in the Assignee field. For
more information, see Submitter and Assignee access on
page 103.

Subadministrator

Explicit

Defines users who have limited administrative access to


AR System. Users must have a fixed license or this group
assignment will be ignored. Users who belong to this group can
perform the tasks described in Subadministrators in AR System
on page 88.

See Groups in AR System on page 83 for more information about explicit and implicit types.

84 "Chapter 3Defining access control

Developing AR System Applications: Basic

Group

ID

Type *

Description

Flashboards
Administrator
(obsolete)

Explicit

For versions of Flashboards prior to 5.0, defines users who have full
and unlimited access to the Flashboards server. Users must have a
fixed Flashboards user license, or this group assignment is ignored.

Assignee Group

Implicit

Provides access to the user who is a member of one of the groups


listed in the Assignee Group field (field ID 112) for a request. Users
automatically belong to the Assignee Group group for requests in
which the Assignee Group field exists and contains a group to
which the user belongs. For more information, see Assignee
Group access on page 104 and Form, active link guide, and
application permissions on page 92.

Note Do not confuse this group with the Assignee group, which
gives permission to an individual.
* See Groups in AR System on page 83 for more information about explicit and implicit types.

In addition to the groups listed in the previous table, groups with IDs in the
range of 60000 to 60999 are reserved for dynamic groups. For more
information, see Group Category on page 115.

Groups in AR System ! 85

Action Request System 6.3

Groups you createRegular, computed, and dynamic


You can create the following groups in the Group form.
!

Regular groupsExplicit groups that you create and to which you assign
a specific list of users. For information on assigning users to groups, see
the Configuring AR System guide.

Computed groupsExplicit groups that you create and to which users are
assigned based on the memberships of explicit groups included in an
expression. For example, you can create a computed group definition such
as (A AND B) OR C AND NOT D. This computed group includes the list of
users who are members of both groups A and B, or members of group C,
but not members of group D.
Computed groups make groups easier to manage, because you can create
a limited number of regular groups for which you maintain lists of users,
and then create computed groups based on these regular groups without
the need to maintain additional lists of users.

Dynamic groupsGroups similar to the reserved Assignee Group group


in that they use the contents of special fields to determine group
membership. For more information, see Dynamic group access on
page 104.

For information on creating groups, see Creating and managing groups on


page 113.

86 "Chapter 3Defining access control

Developing AR System Applications: Basic

Roles in AR System
Roles are permissions similar to groups, except that they belong to a
particular application, instead of a particular server. Roles are used exclusively
in deployable applications.
Roles are defined for each deployable application and then mapped to
explicit groups on the server. You can map a deployable applications roles to
different groups on different servers, depending on how the groups are
defined on each server. This allows you to develop and test the application on
one server and deploy it to a number of other servers without having to
redefine permissions on each server. You can also map roles to different
groups for each development state, such as Test or Production. You can then
switch between states in Remedy Administrator or through workflow. For
more information, see Creating and mapping roles on page 118 and
Working with deployable application states on page 141.
Since roles are mapped to groups, the groups you define on the server and the
users that belong to them are the foundation of access control.
For more information on creating and using deployable applications, see
Chapter 4, Defining applications.

Users in AR System
A user is any person to whom you give permission to access AR System. Users
can be members of multiple groups or no group at all. Users in AR System
range from an administrator (who maintains the entire system) to employees
(who submit requests or view data).
AR System includes one predefined user (Demo). You can use the User form
in Remedy User or a web client to rename this user, and you can create
additional users in AR System. For information about defining users for
AR System, see the Configuring AR System guide.

Roles in AR System ! 87

Action Request System 6.3

Subadministrators in AR System
With subadministrator permissions, you can grant administrator access to a
subset of existing forms, applications, and workflow, as shown in the
following figure. Inside a form, application, or workflow definition,
subadministrators have the same privileges and permissions as an
administrator.

Administrator

Engineering Support
Services application

Bug Tracking form

Enhancements form

Sales application

Sales Lead form

Subadministrator for Engineering

Figure 3-1: Users administering forms

88 "Chapter 3Defining access control

Contact Info form

Subadministrator for Sales

Developing AR System Applications: Basic

To make a user a subadministrator, you must:


1 Include the Subadministrator group in the Group list in the User form entry

for every user who is to be a subadministrator.


A member of the Subadministrator group must have a fixed license.
2 Give a group, of which the user is a member, subadministrator access to the

appropriate applications, forms, and guides. For more information, see


Defining additional administrator permissions on page 127.
Subadministrators can perform the following functions:
!

Administer any application or form to which their group has


subadministrator access.

Create and administer filters, active links, and escalations connected to


forms to which their group has subadministrative access.

Create and administer menus.

Create forms.

Create applications (depending on the forms to which the


subadministrator has access).

Create active link and filter guides.

View server information settings.

Members of the Subadministrator group cannot perform the following


functions:
!

Change server information settings.

Release licenses of users currently accessing AR System.

Administer applications and forms for which they are not


subadministrators.

Although subadministrators can change certain properties of applications


and change which forms are included in an application object, they cannot
alter the forms themselves unless they have subadministrator access to them.

Subadministrators in AR System ! 89

Action Request System 6.3

Additive access control


Access control in AR System is additive. This means that each user in
AR System begins with no permissions. Administrators then add
permissions as needed.
The server verifies the permissions of an object to determine if access to the
object is granted. If access is granted at any step along the decision tree, as
shown in Figure 3-3 on page 94, the user has permission to access the object.
As you add permissions to various AR System objects, users have access to the
object if they are members of a single group or role with access.

90 "Chapter 3Defining access control

Developing AR System Applications: Basic

In the following figure, Lydia Lan is a member of two groups: Engineering


and Engineering Managers.

Engineering Group

Engineering
Managers Group

No Access

Access

Form1

Form1

Figure 3-2: Additive permissions

In this example, the Engineering group does not have access to Form1, but
the Engineering Managers group does. Thus, although Lydia does not have
access to Form1 through the Engineering group, she does have access
through the Engineering Managers group.

Additive access control ! 91

Action Request System 6.3

You must assign permissions to every application, form, field, active link,
active link guide, packing list, and web service. This can seem like a daunting
task. Assigning default group permissions in the development process will
save you time and prevent potential errors. Also, utilizing batch permissions
or the permission objects themselves makes it easier to assign permissions
after the fact. For more information, see Assigning permissionsFour
approaches on page 121.

Access to AR System objects


You define permissions for applications, forms, fields, active links, active link
guides, packing lists, and web services. Filters, filter guides, and escalations
do not have permissions because these objects operate on the server. Menus
also do not have (or need) permissions because they are attached to fields
that have permissions.

Form, active link guide, and application permissions


Permissions determine which access control groups can access forms, active
link guides, or applications in the user client. If a user does not have access to
the object, it does not appear in the home page or in the Object List dialog
box in Remedy User.
When creating a form, active link guide, or application, you must decide the
permission for each group or role:
!

VisibleMembers of the group or role can select and view the object in
the user client.

HiddenMembers of the group or role can access the object through


workflow, but cannot select the form in the home page or in the Object
List dialog box in Remedy User, or open it in a web client.

NoneMembers of the group or role have no access to the object.

Giving a user access to a form does not automatically give that user access to
the fields or active links in that form. You must grant permission for each
object individually.

92 "Chapter 3Defining access control

Developing AR System Applications: Basic

When you log in as a member of the Administrator group, all objects are
displayed in your client by default, whether they have Hidden or Visible
access. Remedy User includes a setting that enables you to display only those
items for which you have Visible access. This setting is also available to
subadministrators, although subadministrators can only manipulate the
visibility of those forms for which they have access as a group. For more
information, see the procedureTo change the visibility of hidden forms
within Remedy User for administrators: on page 128.

Access to AR System objects ! 93

Action Request System 6.3

The following figure lists the questions that you can ask to determine the
access that users have to forms in AR System. You can use this flowchart for
guides and applications as well.

Are you an
administrator?

Yes

Full administrator
access to all forms
in the system

No

Are you a
subadministrator?

Yes

Yes

No

Does Public
group have
permissions to
form?

Yes

Full Administrator
access to form

Visible

Can see form in


the Open dialog box
in Remedy User

No

No

Are you in
a group with
permissions to
form?

Are you in a
group with subadministrator permissions to
form?

Is form
hidden or
visible?

Hidden

Yes

Can see form in


Remedy User

No

No access
to form

Figure 3-3: Accessing forms, guides, and applications

94 "Chapter 3Defining access control

Can see form in


Remedy User

Developing AR System Applications: Basic

Field permissions
Field permissions determine the types of access groups or roles have for
individual fields in a form:
!

ViewUsers can read the contents of the field.

ChangeUsers can read and write the contents of the field.

If neither permission is selected, members of the group or role cannot view


or change the field.
Groups and roles are defined with maximum privileges of View or Change,
as explained in To define default permissions: on page 123 and in the
example on page 99. Groups or roles with maximum View permission can
never be assigned Change permission for a field; groups or roles with
maximum Change permission can be assigned Change, View, or no
permission for a field.
Users must belong to a group or role with permission to view a forms
Request ID field (core field 1), or they cannot access any information from
that request. After you give a group or role access to the Request ID field, or
to any field in the form, the user does not automatically have access to the
form or to workflow attached to the field. You must grant permissions to
each object individually.
Note: In a Set Fields operation, because active links execute with the
permissions of the user, field values set through an active link are updated
only if the user has permission to change the field. Values retrieved must
be accessible by the user. For more information, see The Set Fields active
link, filter, or escalation action on page 559.

Access to AR System objects ! 95

Action Request System 6.3

The following figure lists the questions that you can ask to determine the
access that users have to fields in AR System. Some of the questions are
covered in the Configuring AR System guide.

Are you an
administrator?

Yes

Full administrator
access to all fields
in all forms

Yes

Are you
in a group with
subadministrator
permissions
to form?

No

Are you a
subadministrator?

No

Yes

Do you
have a write
license?

Yes

Can change data


in field

Yes

View access only


to data in field

Yes

Can change data


in field

No

No

Yes

Can change data


in field during
submit

No

Are you in
a group with view
permissions to
field?

Full administrator
access to all
fields in form

No

Are you in a
group with change
permissions to
field?

Allow
any user
to submit?

Yes

Do you
have a restricted
read
license?
No

Yes

Can view data


in field

Are you
submitter and is
submitter mode set
to locked?

No

No

Without permissions,
no access at all
to field

View access only


to data in field

Figure 3-4: Accessing fields

96 "Chapter 3Defining access control

Developing AR System Applications: Basic

Advanced data fields


Advanced data fields require you to set permission on various levels. The
advanced data field types are table fields, alert lists, results lists, page fields,
and attachment pools. For example, a page field consists of three levels, each
requiring consistent permission settings: the page holder, the page, and the
fields on the page (so the user can see the complete tab set). See Chapter 6,
Defining fields, for more information on the following advanced fields.

Table field permissions properties


Table field, alert list, and result list permissions are set in the same way as
button field permissions, with the exception that you must set permissions at
four levels. You must grant or deny a user access to the:
!

Field or list.

Columns in the field or list.

Form from which rows are drawn.

Fields from which each column draws its data.

The following examples explain the permission hierarchy:


!

If a user does not have permission to view any columns, the field or list will
appear blank in the user client.

If a user does not have permission to access a field in the supporting form
that contains column data, the user will see a blank cell.

If the user has no permission to access any of the cells in a row, the row will
not be displayed.

Page field permissions properties


Page field permissions are set at three levels. You must grant or deny a user
access to:
!

The page holder.

The individual pages.

Each field in each individual page.

To see an individual field, which is the lowest level of the hierarchy, the user
must have permission to the upper levels of the hierarchythat is, to the
page holder and the individual pages.

Access to AR System objects ! 97

Action Request System 6.3

Attachment pool permissions properties


For attachment pool field and attachment field permissions, you must grant
or deny a user access to both.
To see an individual attachment field, the user must have permission to the
attachment pool field.
If a user does not have permission to view any attachment fields, the
attachment pool will appear blank in the user client.

Special submit setting


A special submit setting allows users to submit a new request without Change
permission for fields that require a value. To use this feature, select the Allow
Any User to Submit check box of the Field Properties dialog box for each
applicable field.
If you do not select the Allow Any User to Submit check box and the field
requires a value, a user must have a Write license and belong to a group with
Change permission for the field to submit a request. For more information
on using this feature, see Defining default permissions on page 122 and
Defining permissions for individual or multiple AR System objects on
page 125.

98 "Chapter 3Defining access control

Developing AR System Applications: Basic

Field permissions example


Figure 3-5 illustrates how both permissions and field definitions work
together to determine the access to a field. The example lists three groups:
Browser, CS Staff, and Sales Staff. These groups have different maximum
privileges of View or Change, as explained in To define default
permissions: on page 123.
Browser Group (Maximum View access)
Members:
Rick
Silvia
John
Zan
CS Staff Group (Maximum Change access)
Members:
John
Doug
Sales Staff Group (Maximum Change access)
Members:
Alice
Ben
Lydia

Figure 3-5: Specifying field access control

At the field level, each group has been granted specific access to the
Short Description data field:
!

CS Staff groupChange

Sales Staff groupView

Browser groupView (Because the Browser group has a maximum access


of View, Change access at the field level is not possible.)

John is a member of the CS Staff group and the Browser group. Although
membership in the Browser group alone does not allow him to change the
field, he can change it because of his group permission in the CS Staff group.
When a user belongs to more than one group with different permissions to a
field, the user has the highest level of permission granted by a group to which
the user belongs.

Access to AR System objects ! 99

Action Request System 6.3

Alice is a member of the Sales Staff group, which has maximum permission
of Change. However, at the field level, members of the Sales Staff group can
only view the contents of this field.
Rick also can only view the contents of the Short Description field because he
is a member of the Browser group. Because the Browser group has maximum
privileges of View, you can never give him Change permission for the Short
Description field through the Browser group as it is currently defined.

Active link permissions


When you create an active link, you must define which groups or roles have
access to it. A group or role needs permission to execute an active link.
After you give a group or role access to an active link, the user does not
automatically have access to the field to which the active link is attached or to
the form that contains the field.

100 "Chapter 3Defining access control

Developing AR System Applications: Basic

The following figure lists the questions that you can ask to determine the
access that users have to active links in AR System.

Are you an
administrator?

Yes

Can execute
all active links

Yes

Are you
in a group with
subadministrator
permissions
to form?

No

Are you a
subadministrator?

No

Are you
in a group with
permissions to
active link?

Yes

Can execute all active


links connected to
forms you administer

No

Yes

Can execute
active link

No

Cannot execute
active link

Figure 3-6: Accessing active links

Access to requests
Defining access to requests is important when you want to keep certain
groups of users from knowing that certain requests exist. For example, if you
use AR System as the outsource help desk for several companies, you can
define access to requests so that only the company that submitted the request
can see it.
You determine which groups or roles have access to a request through the
Request ID field (field ID 1). If a group or role does not have access to that
field, the group or role has no access to the request, even if it has access to
other fields in that form.

Access to requests ! 101

Action Request System 6.3

You can grant access to members of explicit groups or roles. For example,
you can give managers access to all requests. You can also grant access to
members of implicit groups. For example, submitters can see their own
requests but not those submitted by other users. For more information, see
Controlling access by using implicit groupsRow-level security on
page 103.
The following figure lists the questions that you can ask to determine the
access that users have to requests in AR System.

Are you an
administrator?

Yes

Full administrator
access to all requests

No

Are you a
subadministrator?

Yes

No

Are you
in a group with
permissions to
Request ID
field?

No

Yes

No

Cannot view
request

Figure 3-7: Accessing requests

102 "Chapter 3Defining access control

Are you in a
group with subadministrator permissions to
form?

Can view request

Yes

Full administrator
access to all entries
created from form

Developing AR System Applications: Basic

Controlling access by using implicit groupsRow-level security


You can limit access to requests on a per-group or per-user basis. (This is
often described as row-level access.) Membership in some groups (and
their corresponding permissions) is implied when specific values are entered
into certain AR System fields. The following table shows the differences and
similarities among these implicit groups and their associated fields.
Implicit Group

Group ID

Associated Default
Field Name

Field ID

Core Field?

Associated
Field Contents

Submitter

Submitter

Yes

User name

Assignee

Assigned To

Yes

User name

Assignee Group

None

112

No

User, group, or
role names

Dynamic groups

60000
60999

None

60000
6099

No

User, group, or
role names

Note: In pre-6.0 clients, dynamic group fields behave as regular character


fields, since these clients do not recognize the dynamic group reserved
field ID range. Also in pre-6.0 clients, user names and role names are not
recognized in the Assignee Group field.

Submitter and Assignee access


The Submitter and Assignee groups allow access to requests or fields on a
per-user basis.
!

To have access as a member of the Submitter group, the contents of


Field ID 2 must be the users login name. Field ID 2 is usually set on
submission by using the $USER$ keyword to define this fields contents.

To have access as a member of the Assignee group, the contents of


Field ID 4 must equal the users login name. Field ID 4 is often set
manually or by workflow to a users name when the status of the request
changes.

Access to requests ! 103

Action Request System 6.3

Assignee Group access


The Assignee Group group allows access to requests or fields on a per-user or
per-group basis.
To provide Assignee Group access, you must add the Assignee Group field
(field ID 112) to your form and then specify which users, groups, or roles
should have access to the request in this field. Although you can set the
Assignee Group field manually, it is typically set by workflow. For more
information, see Using the Assignee Group and dynamic groups
Examples on page 107.

Dynamic group access


Dynamic groups are similar to the Assignee Group (field ID 112), except that
they are defined by the developer and include field and group IDs in the
range of 60000 to 60999. For example, when you create a group with group
ID 60000, its user list includes the individual user name or the members of
any group or role that appears in field ID 60000. For more information, see
Using the Assignee Group and dynamic groupsExamples on page 107.

Using the Request ID field with implicit groups


Using implicit groups to control access to requests is a powerful method of
access control within AR System. The Request ID field plays a key role in
access control because a user cannot see a request unless the user belongs to
a group with permission for its Request ID field.

Defining access to requests at the user level


You can link access control to a users login name:
!

If you want submitters or assignees to have access to their requests on a


single-user basis, grant the Submitter and Assignee groups permission to
the Request ID field.

If you want other users to have access, grant the Assignee Group or
dynamic groups access to the Request ID field. Make sure that you also
add Field ID 112 (the Assignee Group field) or the correct dynamic group
fields to the form.

104 "Chapter 3Defining access control

Developing AR System Applications: Basic

If you are entering a users login name to define access, remember these tips:
!

In the Submitter or Assignee fields, enter the users login name without
quotation marks.

In the Assignee Group or dynamic group fields, enter the users login
name in single quotation marks. Double any single quotation marks that
are part of the login name (for example, Dan OConnor).

Defining access to requests at the group level


Unlike Submitter and Assignee access, Assignee Group and dynamic group
access can extend access control on a conditional basis by using explicit
group and role membership.
You can enable the Enable Multiple Assign Groups setting in the Server
Information window to allow multiple user, group, and role names in the
Assignee Group field and dynamic fields. To enter users Dan OConnor and
Mary Manager, group ID 12000, role ID -9000, and role Managers, use the
following syntax:
Dan OConnor;Mary Manager;12000;-9000;Managers
Note: If a group and role have the same name, the role name will be assumed.
For example, if a dynamic field contains Managers;Sales, AR System
assumes the Managers and Sales roles, if they exist; otherwise, AR System
assumes the Manager and Sales groups.

For more information on all settings in the Server Information window, see
the Configuring AR System guide. For a sample qualification that uses
multiple roles, groups and users, see Fields in qualifications on page 486.

Access to requests ! 105

Action Request System 6.3

Assignee Group and dynamic group permissions to the Request ID field,


combined with the contents of the Assignee Group field or dynamic group
fields, determines who can see the request. If a group or role to which the user
belongs is in the Assignee Group or dynamic group field for a request, that
user is given whatever access privileges you defined for the Assignee Group
or dynamic group, as shown in the following figure.

AR System checks permissions


for Request ID field

Yes

Your
name in
Field ID 2?

Yes

No

No

Can access
request

Yes

Your
name in
Field ID 4?

Yes

No

Yes

Your name,
group, or role in
Field ID 112?
No

Submitter
group has
access?

Assignee
group has
access?
No

Yes

Assignee
Group group has
access?
No

Unless a member
of another group
with access to
Request ID field
or dynamic groups
if applicable
or dynamic group
fields (ID 60000-60999)
if applicable

No access
to request

Figure 3-8: Controlling access to requests by using row-level security

106 "Chapter 3Defining access control

Developing AR System Applications: Basic

Using the Assignee Group and dynamic groupsExamples


Use Assignee Group access, dynamic group access, or both to set up
permissions so that users have conditional access to requests.
Imagine that you are working for Acme Outsource Help Desks, Inc. Three
computer companies hire you to manage all of their help desk
responsibilities. For security reasons, each computer company must not
know about the existence of the other two. Therefore, you must create one
form all three companies can use, but allows each company to see only the
requests they create.
Explicit groups for each company have already been created, and each user
belongs to one of these company groups.
" To use the Assignee Group to control access to requests:
1 Create the groups (or roles) and users to which you want to assign access.

In this example, the four groups are:


!

Acme Help Desk Staff (who will have access to all requests)

Beta Computers

Gamma Computers

Delta Computers

Beta Computers, Gamma Computers, and Delta Computers users must


belong only to their company group. Acme employees can be members of
more than one group.
2 Create a form, and give the appropriate groups Visible permission for it.

For example, giving the Public group Visible permission for the form will
enable all of the users to see it.
3 Add Assignee Group access to the form.

The Assignee Group capabilities of AR System are activated when you add a
character field to the form with Field ID 112 and a database input length of
255.
4 Restrict access to the necessary requests.

Access to requests ! 107

Action Request System 6.3

Because only groups or roles with permission for the Request ID field can
access a request, restricting access to the Request ID field is the key to
restricting access to a request. In this example, the Acme Help Desk Staff and
the Assignee Group groups have the appropriate permissions for the Request
ID field, as shown in the following figure.

Figure 3-9: Field permissions for the Request ID field

With Assignee Group access, a user from Beta Computers can submit
requests, and anyone from Beta Computers can query them. However, no
one from Gamma Computers or Delta Computers can query Beta
Computers requests.
Note: You might want to give permissions to a single group to begin with and
submit a sample request to determine whether any group other than the
designated group can access it.
5 Add workflow that inserts at least one explicit group, role, or user name into

Field ID 112 according to the business rules at your site. If your configuration
settings in the Server Information window are enabled to allow multiple
assignee groups, you now can enter more than one explicit group, role, or
user name into Field ID 112. For sample syntax, see Defining access to
requests at the group level on page 105.

108 "Chapter 3Defining access control

Developing AR System Applications: Basic

For more information on all settings in the Server Information window, see
the Configuring AR System guide. For a sample qualification that uses
multiple groups, see Fields in qualifications on page 486.
Note: Running Remedy User versions 4.5.1 or lower against a 6.x server with
the Enable Multiple Assign Groups option selected can cause groups to be
erased from the field. Older Remedy User clients do not understand
multiple groups in Field ID 112.

Because Field ID 112 is designed for administrators and your help desk staff,
deny access for most groups to this field. You can define a filter to set the
contents of this field and use an active link Change Field action to allow your
help desk staff to see and change the field as needed. If you must change the
group or role in the field, Field ID 112 includes system-defined menus of all
groups on the server and roles in the application (if the form is owned by a
deployable application). Administrators can override these menus in
Remedy Administrator as needed.

Access to requests ! 109

Action Request System 6.3

In the example, Acme allows access to its service call database from the web
but limits users to view only requests submitted by members of their
company. An access control group was created for each different company
name, and a filter that copies the company name into Field ID 112 (labeled
Assignee Group in the following figure) executes when users submit requests.

Figure 3-10: Using Assignee Group access in workflow

When the filter executes, the Assignee Group for this request will be Beta
Computers.
You also could have created individual filters, one that enables Beta
Computers to see their requests, another that enables Gamma Computers to
see their requests, and so on. Use appropriate filter qualifications to make
sure that only users from the Beta Computers group can execute the filter, set
Field ID 112 to Beta Computers, and so on. For more information about
creating and using filters, see Filters on page 467.
6 Change the permissions of other fields in the form to grant access as needed.

Include the Assignee Group where appropriate.

110 "Chapter 3Defining access control

Developing AR System Applications: Basic

As a result of carefully defining access control in your system, when members


of Acme Outsource Help Desks search all open help desk requests, they will
see a results list that includes requests submitted by Beta, Gamma, and Delta
Computers. In contrast, if users from Delta Computers perform the same
search, they will see only the requests where Delta Computers is the Assignee
Group (that is, the requests submitted by anyone at Delta Computers).
" To use a dynamic group to control access to requests:
1 Create the groups (or roles) and users to which you want to assign access.
2 Create a dynamic group in the Group form.

For example, create a group called Dynamic Access with a group ID of 60001.
3 Create a form, and give the appropriate groups Visible permission for it.
4 Add dynamic group access to the form.

To activate the dynamic group, add a character field to the form with Field
ID 60001, the same ID number as the dynamic group ID.
5 Restrict access to requests by specifying dynamic group access to the

Request ID field.
6 Add workflow that inserts at least one explicit group name or ID, role name

or ID, or user name into Field ID 60001 according to the business rules at
your site. If your configuration settings in the Server Information window are
enabled to allow multiple assignee groups, you can enter more than one
explicit group, role, or user name into Field ID 60001. For sample syntax, see
Defining access to requests at the group level on page 105.
For more information on all settings in the Server Information window, see
the Configuring AR System guide. For a sample qualification that uses
multiple groups, see Fields in qualifications on page 486.
Like Field ID 112, dynamic group fields can be modified manually. They
include system-defined menus of all groups on the server and roles in the
application (if the form is owned by a deployable application).
Administrators can modify these menus as needed.

Access to requests ! 111

Action Request System 6.3

Putting it all together


The following figure presents an overview of access control, and lists the
questions that you can use to determine the access that users have to
AR System.

Server
Access

Does
login name
match user
definition?

Are guests
allowed to
log in?

No

Yes

Does
password
match?

Yes

No

No access
to server

No

No access
to form

No

No access
to request

No

No access
to field

Yes

Form
Access

Do you
have access
to the form?

Yes

Request
Access

Is the
request
viewable?

Yes

Field
Access

Is the field
viewable?

Yes

Form, request, and


field accessible

Figure 3-11: Access control overview

112 "Chapter 3Defining access control

No

No access
to server

Developing AR System Applications: Basic

Creating and managing groups


Use the Group form (shown in the following figure) in Remedy User or a web
client to create and manage the access control groups to which you grant or
deny access to AR System objects.

Creating groups
This section provides the steps to create AR System access control groups.
Although there is no limit to the number of groups that you can create, for
maintenance purposes you might want to limit the number to avoid
confusion. After you have created the necessary groups, use the steps
described in the Configuring AR System guide to assign individual users to the
appropriate groups.

Figure 3-12: Group formNew mode

Creating and managing groups ! 113

Action Request System 6.3

The following table lists the key fields in the Group form.
Field

Description

Group Name

Name of the access control group. Use this name in the Group list
field in the User form and in the Permission and No Permission
lists when you are defining AR System object permissions.
Every group name should be different. Use caution when creating
group names that include spaces, because group names in the
Group list field on the User form are separated by spaces. For
example, if you have a group named CUSTOMER SUPPORT, you
should not create a group named CUSTOMER or a group named
SUPPORT.

Group ID

Integer ID that is the recognized identity of the group. The ranges


are:
100014999For regular and computed groups
! 6000060999For dynamic groups
! < 1000For AR System groups and current AR System
applications
! >14999 (not including dynamic groups)For future
AR System applications
If you use the same ID with multiple group names, you must keep
the Group type the same for each because you are creating aliases
for the same group.
!

To make sure that you do not create duplicate Group IDs, use
Remedy Administrator to build a unique index on the Group ID
field in the Group form. (For more information, see Defining
indexes on page 210.)
Group Type

Maximum permission type intended for the group. Your choices


are None (no access), View (view field contents), and Change
(modify field contents).
Specify None to disable all access for the group without deleting
the group itself. The group remains as a placeholder (and can be
restored in the future), but all permissions for the group are lost.
Create a group with the type None if you want to define a group
that will be used only for notifications.
For more information about field permissions, see Field
permissions on page 95.

Long Group
Name

Additional information about a group. The text should be


descriptive of the group because it appears by default in the
Results pane in Remedy User when listing groups.

114 "Chapter 3Defining access control

Developing AR System Applications: Basic

Field

Description

Group
Category

The group category, such as Regular, Dynamic, or Computed,


which is described in Groups you createRegular, computed,
and dynamic on page 86.
To define a dynamic group, use a group ID in the range of 60000
to 60999. On the form containing requests to which you want to
define row-level access, add a field with a field ID that is the same
as the dynamic group ID. You can populate a dynamic group
field with a group name, role name, or the name of an individual
user.
To define a computed group, select Computed Group as the
group category and enter a qualification string in the Computed
Group Definition field.

Computed
Group
Definition

Qualification string that defines a computed group. Construct


the string from any valid combination of explicit group IDs,
explicit group names (in double quotation marks), user names
(in single quotation marks), and operators such as AND, OR, and
AND NOT. Optionally use the AND, OR, NOT, Append Group,
Append User, and parentheses buttons to build the qualification
string.
For example:
!

12000 OR 12001 includes all users in group ID 12000 or group


ID 12001.

!
!
!

Floating
Licenses

A OR B includes all users in group A or group B.


A AND B includes only those users in group A and group B.
(A OR B) AND NOT C includes all users in groups A or B,
except for those users who are in group C.
A OR Mary Manager includes all users in group A, and the
user Mary Manager.

Number of floating licenses reserved for the group. See the


Configuring AR System guide for more information.
If this field is missing from the Group form, you can add it in
AR System Administrator. Use field ID 115. See Reserved fields
in access control on page 604.

Instance ID

This field is used internally by applications installed on top of


AR System. See your product documentation for more
information.

Object ID

This field is used internally by applications installed on top of


AR System. See your product documentation for more
information.

Creating and managing groups ! 115

Action Request System 6.3

" To create groups:


1 Log in to Remedy User or a web client as an administrator.
2 Open the Group form in New mode on the appropriate server.
3 Enter information in the appropriate fields, as described in the previous

table.
If attributes that you want to specify in the group definition are not
represented in the Group form, you can use Remedy Administrator to add
the appropriate fields. However, be careful that you do not modify or delete
any of the original fields or field IDs.
4 Save your changes.
5 For a regular group, assign users to it by using the User form in Remedy User

or a web client.
After you save a new group, the server automatically recaches, and this group
appears in the Group menu in the User form after a short amount of time
without having to log in again. For more information about adding users, see
the Configuring AR System guide.
6 To enable a dynamic group, add a field to the form with a field ID that is the

same as the group ID. For more information, see Group Category on
page 115.

Managing groups
You can modify, delete, or search for groups in the Group form.
" To modify groups:
1 In Remedy User or a web client, open the Group form from the appropriate

server in Search mode.


2 Perform a search to retrieve a list of currently defined groups.
3 Select the appropriate group from the list.
4 Modify information in the appropriate fields.

Note: Permissions for a user are determined by the list of groups in the
Group list field of the users entry in the User form. If you later change the
Group ID for a group, the users originally assigned to the group will still
be attached to the old ID. If there is no group with the old ID, these users
are no longer attached to any group.
5 Save your changes.

116 "Chapter 3Defining access control

Developing AR System Applications: Basic

" To delete groups:


1 In Remedy User, open the Group form from the appropriate server in Search

mode.
2 Choose Actions > Search to retrieve a list of currently defined groups.
3 Select the appropriate group from the list.
4 Choose Actions > Delete.

A confirmation box appears to verify that you want to delete the group entry.
5 Click OK.
" To search for groups:
1 In Remedy User, open the Group form from the appropriate server in Search

mode.
2 Enter values in fields, or use the Advanced Search Bar to specify search

criteria.
For computed groups, enter one group ID or one user name (in single
quotation marks) in the Computed Group Definition field. If you use the
Advance Search Bar, use the LIKE operator to indicate that you are searching
for a portion of a string (see Operators on page 668). The search will return
all computed groups that include the specified user or group in the
definition.
You cannot search the Computed Group Definition field for group names,
or for strings that include operators such as AND, OR, and NOT. This is
because AR System converts group names to group IDs and encodes
operators before storing them in the database. However, the search results
will show the strings as they were originally entered, with group names and
operators.
Note: Informix databases do not support searches on the Computed Group
Definition field.
3 Choose Actions > Search to retrieve the list of currently defined groups that

match your search criteria.


For more information on performing searches, see Remedy User Help.

Creating and managing groups ! 117

Action Request System 6.3

Creating and mapping roles


Use the Roles form (shown in the following figure) in Remedy User or a web
client to create roles to which you grant or deny access to objects in
deployable applications. In deployable applications, you assign permissions
using implicit groups (including dynamic groups) and roles. You then map
roles to explicit groups on the server. For more information on deployable
applications, see Applications in AR System on page 132.
This section provides the steps to create roles and map them to explicit
groups. Although there is no limit to the number of roles that you can create,
for maintenance purposes you might want to limit the number.
You can map roles to regular or computed groups for the Test and
Production application development states. You can also create custom
states and map roles for those states, as explained in Creating custom states
on page 143. To enable a particular mapping, change the applications state,
as described in General properties on page 146.

Figure 3-13: Roles formNew mode

118 "Chapter 3Defining access control

Developing AR System Applications: Basic

The following table lists the key fields in the Roles form.
Field

Description

Application
Name

Name of the deployable application for which the role is defined.


You can define the same role for multiple applications, but you
must create a separate Roles form entry for each.

Role Name

Name by which the role is known. Within each application, every


role name should be unique. You can reuse the same role namerole ID pairs across a suite of applications.

Role ID

Integer ID that is the recognized identity of the role. The ID must


be a negative number, such as -10001. Role IDs must be unique
for each application name. You can reuse the same role namerole ID pairs across a suite of applications.

Test

Enter or select one group name for the regular or computed


group to which you want to map this role for the Test application
state.
To enable this mapping, set the applications State property to
Test. For more information, see General properties on
page 146.

Production

Enter or select one group name for the regular or computed


group to which you want to map this role for the Production
application state.
To enable this mapping, set the applications State property to
Production. For more information, see General properties on
page 146.

Creating and mapping roles ! 119

Action Request System 6.3

" To create and map roles:


1 Log in to Remedy User or a web client as an administrator on the server that

contains the deployable application for which you are creating roles.
2 Open the Roles form in New mode.
3 Enter information in the Application Name, Role Name, and Role ID fields,

as described in the previous table.


If you save the role now, you can begin assigning permissions for this role to
objects within the application. A role is only visible in the Application
window for the deployable application to which the role belongs.
4 Enter a regular or computed group ID in each Mapped Group field to define

access permissions for each application state.


5 Save your changes.

Note: Newly created roles appear in the Permissions tab of object properties
after the server recaches (about 5 seconds, depending on your system).
" To modify roles and role mappings:
1 Log in to Remedy User or a web client as an administrator on the server that

contains the deployable application for which you are modifying roles.
2 Open the Roles form in Search mode.
3 Search the form to retrieve a list of currently defined roles for a particular

application.
4 Select the appropriate roles and modify information in the appropriate fields.
5 Save your changes.
" To delete roles:
1 Log in to Remedy User or a web client as an administrator on the server that

contains the deployable application for which you are deleting roles.
2 Open the Roles form in Search mode.
3 Search the form to retrieve a list of currently defined roles for a particular

application.
4 Select the appropriate role.
5 Choose Actions > Delete.

A confirmation box appears to verify that you want to delete the role entry.
6 Click OK.

120 "Chapter 3Defining access control

Developing AR System Applications: Basic

Assigning permissionsFour approaches


You define permissions for applications, forms, fields, active links, active link
guides, packing lists, and web services. Remedy Administrator includes four
ways to define or modify specific permissions for objects:
!

Default permissionsThe permissions that you set for a new object.


Once set, every time you create a new object, the groups or roles to which
you gave default permission can access them without additional access
modification. Defining default permissions is optional, but can be useful
if you have many groups or roles. If you do not set default form
permissions, only administrators (and subadministrators with access to
the form that contains the active link or field) can access the object until
you define specific permissions for it. The steps for this option are
described in Defining default permissions on page 122.

Permissions for individual objectsYou can specify which groups or


roles can access an object when you create or modify the object. This
enables you to evaluate which users need access to an object. The steps for
this option are described in To define permissions for individual
objects: on page 125.

Batch permissionsYou can specify permissions for multiple objects of


the same type at the same time. For more information, see Performing
batch updates on server objects on page 64.

Group and role permissionsYou can give a group or role access to every
applicable object within a server instead of opening each object and
modifying the permissions individually. This method can be useful if you
have added a new group or role after the objects were created. The steps
for this option are described in To define permissions for multiple
objects: on page 126.

Assigning permissionsFour approaches ! 121

Action Request System 6.3

Defining default permissions


Use the Default Permissions dialog box to define initial or general
permissions for new objects.

Visible permissions
Hidden permissions

Menu displayed when you


click access icon

Figure 3-14: Default permissions

When you create objects, the defined default permissions are automatically
displayed in the Permissions tab of the Properties dialog box. If you have an
existing object and want to reset modified permissions back to the defined
default permissions, click the Set to Defaults button in the Properties dialog
box. For additional information on permissions, see the following sections:
!

Form, active link guide, and application permissions on page 92

Field permissions on page 95

Active link permissions on page 100

Defining permissions for individual or multiple AR System objects on


page 125

122 "Chapter 3Defining access control

Developing AR System Applications: Basic

" To define default permissions:


1 In Remedy Administrator, open the Default Permissions dialog box.
!

In the Server Window, select a server and choose File > Default
Permissions.
In the Server window, you define default permissions for the current
administrator login, allowing each administrator to have unique default
permissions for objects created.

In an Application Window, choose File > Default Permissions.


In a local Application window, you define default permissions for the
current administrator login.
In a deployable Application window, you define the default permissions
for that application for any administrator login. This keeps permissions
consistent throughout the applications development.

2 Click the Permissions tab for the appropriate object.

All groups defined on the server (or roles defined for a deployable application
on the server) are displayed.
For each group or role in the Permission list, an access icon might appear to
the left of the group or role name, as described in the following table.
Access
Icon

Meaning

Object

Visible

Applications
Forms
Active link
guides
Web services

Group or role has permission to


view and select the object in the
user client.

Group or role has access to the


object through workflow, but it will
not be present in the user client.

Applications
Forms
Active link
guides
Web services

Fields

Group or role has permission to


view the field.

!
!

Hidden

!
!
!

View

Description

Assigning permissionsFour approaches ! 123

Action Request System 6.3

Access
Icon

Meaning

Object

Change

Fields

Group or role has permission to


view and change the field.

Active links
Packing lists

The objects offer permission or no


permission, so no icon is displayed.

No icon

Description

3 Use the Add and Remove buttons to move groups or roles between the

Permission and No Permission lists.


4 To modify access, click the access icon to the left of a group or role, and

choose the appropriate menu option.


5 For fields only, select or clear the Allow Any User to Submit check box on the

Field tab.
Use this mode to determine access control (security settings) for the field
when a request is submitted. If the check box is:
!

SelectedAny user can assign a value to the field, regardless of whether


the submitter belongs to a group with Change permission to the field.

Cleared (the default)Only users who belong to one or more groups with
Change permission to the field (or users who belong to groups mapped to
roles with Change permission to the field) can enter data into the field.

6 Click OK.

124 "Chapter 3Defining access control

Developing AR System Applications: Basic

Defining permissions for individual or multiple AR System objects


When you create an object in AR System, default permissions are assigned.
You can change these permissions for individual objects or multiple objects,
as described in the following procedures.
" To define permissions for individual objects:
1 In Remedy Administrator, select a server to administer.
2 Open the object for which you want to change permissions.

For forms and fields, open the Properties window, which contains the
Permissions tab you need to change permissions.
!

For forms, choose Form > Form Properties, or double-click on the


background of the form.

For fields, choose Form > Field Properties, or double-click on the field.

For other objects, the Permissions tab is available when you open the object.
3 Click the Permissions tab.

All groups defined on the server (or roles defined for the application that
contains the objects) are displayed.
The Submitter, Assignee, and Assignee Group groups are implicit based on
field contents. Accordingly, these groups will appear only for Field
Permissions. They do not apply for other objects. For more information
about implicit groups, see Controlling access by using implicit groups
Row-level security on page 103.
4 Use the Add and Remove buttons to move groups or roles between the

Permission and No Permission lists.


To allow all users to see a form, active link guide, or application, add the
Public group to the Permission list.
5 To modify access, click the access icon to the left of a group, and choose the

appropriate menu option.


For information on using the Visible and Hidden icons, see Defining default
permissions on page 122.

Assigning permissionsFour approaches ! 125

Action Request System 6.3

6 For fields only, select or clear the Allow Any User to Submit check box.

Use this mode to determine access control (security settings) for the field
when a request is submitted. If the check box is:
!

SelectedAny user can assign a value to the field, regardless of whether


the submitter belongs to a group with Change permission to the field.

Cleared (the default)Only users who belong to one or more groups with
Change permission to the field can enter data into the field.

7 To reset the object to the default permissions, click Set to Defaults.

For more information, see Defining default permissions on page 122.


8 Click OK (for forms) or click the Save toolbar button (for all others).
" To define permissions for multiple objects:
1 In Remedy Administrator, expand the tree in the Object tab.
2 Click the Groups or Groups/Roles category.

The Groups category is available in the Server window or in a local


Application window. The Groups/Roles category is available only in the
deployable Application window. For more information, see Roles in AR
System on page 87.
3 Double-click the appropriate group or role to open the Group Permissions

or Group/Role Permissions window.


4 Click the appropriate tab.

Each tab lists the current permission settings that the selected group or role
has for each object.
5 Use the Add and Remove buttons to move objects between the Permission

and No Permission lists.


6 To modify access, click the access icon to the left of a group or role, and

choose the appropriate menu option.


For more information, see Defining default permissions on page 122.
7 Click Apply.

126 "Chapter 3Defining access control

Developing AR System Applications: Basic

Defining additional administrator permissions


The following procedures explain how to define additional administrator
permissions, such as granting subadministrator permissions to users,
defining subadministrator permissions for forms and applications, and
changing the visibility of forms for administrators.
After you have granted a group subadministrator permissions for an
application, the members of that group can modify the applications
appearance, group permissions, help text, and change history.
Subadministrators can also change which forms are included in an
application object, although they cannot alter the forms themselves unless
they have subadministrator access to them.
For more information, see Subadministrators in AR System on page 88.
" To grant subadministrator capabilities to a user:
1 In Remedy User or a web client, open the User form from the appropriate

server in Search mode.


2 Perform a search to find the person you want to give Subadministrator access

to.
3 Make the following changes:
!

From the Group list menu, select Sub Administrator.


The list must include the Sub Administrator group to give the user the
potential to be a subadministrator.

From the License Type option list, select Fixed.


You must assign subadministrators a Fixed Write license.

4 Save your changes.


5 Give subadministrator permission for the form to a group or role to which

the subadministrator belongs, as described in the following procedure.

Defining additional administrator permissions ! 127

Action Request System 6.3

" To define subadministrator permissions for forms and applications:


1 In Remedy Administrator, select a server to administer.
2 Open the form or application with which you want to work.
3 For forms, choose Form > Form Properties to open the Properties window,

which contains the Permissions tab you need to change permissions.


For applications, the Permissions tab is available when you open the object.
4 Click the Subadministrator Permissions tab.
5 Use the Add and Remove buttons to move groups between the Permission

and No Permission lists.


When setting permissions for an application, you must provide the same
permission to the application as you do to the individual forms contained in
the application.
6 Click OK (for forms) or click the Save toolbar button (for applications).

The members of that group or role have the same privileges and permissions
that an administrator has for that object.
" To change the visibility of hidden forms within Remedy User for

administrators:
1 Log in to Remedy User as an administrator or subadministrator.
2 Choose Tools > Options.

128 "Chapter 3Defining access control

Developing AR System Applications: Basic

3 Click the Advanced tab.

Figure 3-15: Options dialog boxAdvanced tab

4 Select or clear the Display Hidden Forms check box. This check box is

available only for administrators.


If the check box is:
!

Selected (the default)All forms are displayed in Remedy User, even


those with Hidden access.

ClearedOnly those forms for which the Administrator or


Subadministrator group has Visible access are displayed in Remedy User.

5 Click OK.

For more information, see Form, active link guide, and application
permissions on page 92.

Defining additional administrator permissions ! 129

Action Request System 6.3

130 "Chapter 3Defining access control

Chapter

Defining applications

This section describes the types of application objects and explains how to
work with them. It contains the following sections:
!
!
!
!
!
!
!

Applications in AR System (page 132)


Creating an application object (page 136)
Deployable applications (page 140)
Specifying additional application properties (page 146)
Presenting applications to users (page 149)
Converting local applications to deployable applications (page 155)
Deleting applications (page 156)

For information on determining your application needs, see Chapter 1,


Understanding the AR System development process.
For information on working with Remedy Administrator, see Chapter 2,
Working in the AR System development environment.
For specific information on creating and managing web applications, see
Chapter 9, Working with AR System forms and applications on the Web.

Defining applications ! 131

Action Request System 6.3

Applications in AR System
An application is a server object that contains references to a set of forms.
Based on the forms included in the application, other objects related to those
forms (such as active links, filters, and menus attached to the forms) are also
included in the application. Like other server objects, an application has
properties such as a name, permissions, change history, and so on.
Use applications to group sets of objects to accomplish particular tasks. For
example, you might create an employee setup application that contains
forms and workflow related to setting up a new employees telephone,
computer, and office supplies. Users can run applications in Remedy User or
in a web client.
When you use an application object to associate a set of objects, you and your
users can interact with the application as a functional unit. In Remedy
Administrator, you open an application in an Application window that
displays only the objects included in that application. When you create a new
object, such as a form, within an Application window, the form is
automatically added to that application. You can open multiple Application
windows at the same time and drag and drop objects between them. For
more information about working in Application windows, see Using the
Application window on page 54.
You can create two types of applicationslocal and deployable.

Local applications
Local applications are the same as applications created in pre-6.0 versions of
AR System. They are intended for use on a single server or a small number of
servers. They use permissions based on groups, which means that each local
application is designed for one specific server environment. This makes it
difficult to migrate local applications to different servers where permissions
might need to be redefined for many objects, including forms, fields, and
workflow.
Two or more local applications on the same server can include the same set
of forms and workflow objects. This allows for efficient development and less
maintenance. For more information, see Shared workflow on page 474.
Applications upgraded to version 6.x are upgraded as local applications.

132 "Chapter 4Defining applications

Developing AR System Applications: Basic

Deployable applications
Deployable applications are treated as specific collections of objects and data
that are independent of the AR System server on which they are developed.
All objects contained within a deployable application, the applications
permissions, and select data you want included with the application can be
moved easily from server A to server B. A deployable application has
extended functionality that makes it more portable. The application can be
installed, licensed, and tracked on a variety of AR System servers.
You can convert local applications to deployable applications as explained in
Converting local applications to deployable applications on page 155.

Retaining independence and integrity


To retain independence and integrity, overt sharing of forms and workflow
is discouraged. For example, Remedy Administrator does not allow you to
include the same form in two or more deployable applications. Other objects
and data can still be shared, but in a controlled way. There are also special
considerations for shared active links and active link guides, which have
permissions tied to a particular deployable application. For more
information, see Shared workflow on page 474.
The integrity of a deployable application is guaranteed by the concept of
application ownership. An object contained within a deployable application is
owned by that application. This allows AR System to resolve conflicts
between two deployable applications by simply examining the ownership
property for each object in question. For more information, see
Understanding deployable application ownership on page 140.

Exporting and importing deployable applications


Deployable applications use their own export and import mechanism. All
objects and data necessary for the application to correctly install and execute
on the target server are automatically compiled into a single definition file on
export. This file is a location-independent archive of the application because it
contains everything needed to install the application on an AR System server
without any dependencies on the environment in which it was developed.
You can also specify data to export along with the application, such as data
from forms associated with the application. Workflow associated with the
application, but not owned by the application, must be exported and
imported separately.

Applications in AR System ! 133

Action Request System 6.3

On import, all objects and data are installed on the destination server in one
step. For more information about exporting and importing, see the
Developing AR System Applications: Advanced guide.

Roles and deployable applications


When assigning permissions for deployable applications, roles are used
instead of groups. Roles are key to making the application location
independent. Roles are a part of the applications data, and as such, are
exported with the deployable application.
On import, an applications roles can be mapped to the target servers
groups. Therefore, the permissions for individual objects do not change; only
the mapping changes when moving the application from server to server.
This eliminates the task of reassigning permissions for potentially thousands
of individual objects, and makes it relatively easy to install the same
deployable application on a variety of target servers with differing
permissions models.
Roles can also be mapped depending upon the applications development
state. For example, the role Management might be mapped to the group Test
while the application is in a maintenance state. The same role might be
mapped to the group Manager when in the production state. When you
change the state of the application, you affect permissions for all objects
within the application without modifying the objects themselves. For more
information, see Working with deployable application states on page 141.

Additional features
The following functionality is available only for deployable applications:
!

Application access pointsApplication access points are points of


integration among deployable applications. For more information, see
Access Points properties on page 148.

Application licensingYou can require users to obtain a license from you


before they can use a deployable application. You might use application
licensing together with object locking, which prevents objects from being
modified in Remedy Administrator. Object locking can be used with both
local and deployable applications. For more information on application
licensing and object locking, see the Developing AR System Applications:
Advanced guide.

134 "Chapter 4Defining applications

Developing AR System Applications: Basic


!

Application statisticsYou can collect performance information such as


how many times the application was accessed in a given period of time.
You can collect similar statistics on individual forms. For more
information, see the Optimizing and Troubleshooting AR System guide.

Creating applicationsOverview
The following steps explain how to create an application.
Step 1 Create the groups or roles that will have access permission to the application

object and to all of the objects it contains.


Step 2 Create an application object and specify access permissions (as needed) and

other properties for the application, as described in this section.


Step 3 Optionally, define default permissions that apply to new objects you create.

For more information, see Defining default permissions on page 122.


Step 4 Create and include objects (such as forms and workflow) in the application,

as described in this section and in Chapter 2, Working in the AR System


development environment. Apply permissions to these objects as needed.
Step 5 Define and configure user access to the application:
!

Define entry points for the application, as explained in the Developing


AR System Applications: Advanced guide. For alternate user access
methods, see Presenting applications to users on page 149.

Create users, assign users to groups, and specify user licensing. For more
information, see the Configuring AR System guide.

Step 6 Install the application in its target environment using export and import, as

explained in the Developing AR System Applications: Advanced guide.


For deployable applications, do the following:
!

Map roles to groups on the target server for each application development
state. Set the application state property to enable a particular mapping.
For more information, see Creating and mapping roles on page 118.

Optionally, configure statistics for tracking application performance and


usage. For more information, see the Optimizing and Troubleshooting
AR System guide.

Applications in AR System ! 135

Action Request System 6.3

Creating an application object


Use the following procedure to create an application object.
" To create an application object:
1 In Remedy Administrator, select the server where you want to create the

application.
In the Server window, select a server name. If an Application window is
active, the new application is created on the same server as the open
application.
2 Choose File > New Application to open the Create a New Application dialog

box.

Figure 4-1: Create a New Application

3 Specify an application name.

Names are shared across applications, active link guides, filter guides,
packing lists, and web services, so each name must be unique on each
AR System server.
Names can be a maximum of 80 characters, including spaces. Names can
include double-byte characters, but avoid using numbers at the beginning of
the name.
Note: Do not use the name arforms for the application name. It is a reserved
name for the system.

The Web Alias field is populated automatically, and is not used in version 6.3
of the mid tier. In prior releases, the web alias was used in the directory
structure for web applications deployed on the mid tier.
136 "Chapter 4Defining applications

Developing AR System Applications: Basic

4 Select the type of application (Local Application or Deployable Application).

For more information on local and deployable applications, see


Applications in AR System on page 132.
5 Click OK.

The Application window opens. For information on working in the


Application window, see Using the Application window on page 54.

Specifying application permissions


You specify group or role permissions for the application object as well as for
the objects contained within the application. If users do not have permission
to an application, they will have limited access to the applications entry
points. For more information on entry points, see the Developing AR System
Applications: Advanced guide.
The permissions you grant for the application object are not inherited by the
objects in the application. Likewise, denying permission to the application
does not deny permission to the objects within the application. You must
grant or deny permissions for each form, field, and workflow object within
the application.
Note: Newly created roles appear in the permissions tab of object properties
in a deployable application after the server recaches (about 5 seconds,
depending on your system).

For information on groups, roles, and applications, see Chapter 3, Defining


access control.

Including objects in an application


The primary object in an application is the form. All other objects are
included in an application based on their association with the forms in the
application.
When you add a form to an application, all of the objects associated with that
form, such as workflow and menus, are also added to the application.
Likewise, when you remove a form, all of the objects related to it are removed
from the application. Removing a form does not delete the form on the
server. For information on deleting objects, see Deleting server objects on
page 59.

Creating an application object ! 137

Action Request System 6.3

Warning: When you add an existing form to a deployable application,


AR System removes all explicit group permissions from the form and its
associated objects. You must manually apply role permissions to every
object, including the form and its fields, and to any active links and active
link guides for which the form is the reference form.

You can include objects in an application in the following ways:


!

By creating a new object in the context of an Application window, as


explained in Creating server objects on page 55.

By dragging and dropping objects to the Application window, as explained


in Dragging and dropping objects on page 57.

By including forms in the application using Application Properties, as


explained in the following procedure.

Including forms in an application using forms


properties
Use the Forms tab in the Application Properties to include forms in an
application.
" To include forms in an application using Forms properties:
1 Open an application as described in Opening an Application window on

page 54.

138 "Chapter 4Defining applications

Developing AR System Applications: Basic

2 Choose Application > Properties to open the Application Properties

window.

Figure 4-2: Specifying application forms

3 Click the Forms tab.

For local applications, every form defined on the server appears. For
deployable applications, only forms in local applications or forms not
contained in other deployable applications appear.
4 Use the Add and Remove buttons to move forms to the appropriate Forms

list.
To select a form view other than the default administrator view, select the
appropriate form, and then select the appropriate view from the View list
below it.
5 Choose File > Save Application.

Creating an application object ! 139

Action Request System 6.3

Saving an application
The application workspace is automatically updated to include new
objectsyou do not save the Application window to preserve its contents.
For information on working in the Application window, see Using the
Application window on page 54.
If you change any of the applications properties, you need to save the
properties to preserve your changes. For more information, see Specifying
additional application properties on page 146.
Note: You cannot create copies of deployable applications using the Save As
command. This is because different deployable applications cannot
contain the same forms.

Deployable applications
The following sections will help you learn more about working with
deployable applications.

Understanding deployable application ownership


All objects associated with a deployable applicationexcept for menuscan
be owned by that application. AR System uses the Application Owner
property in the following ways:
!

For active links and active link guides, AR System uses the owner
applications role mappings to resolve permissions. The owner application
is the application that contains the reference form for the active link or
active link guide. For more information, see Defining workflow basics
on page 477.
When workflow is used by multiple deployable applications, permissions
for the workflow are determined by the owner application. For more
information, see Shared workflow on page 474.

140 "Chapter 4Defining applications

Developing AR System Applications: Basic


!

For entry points, AR System uses the owner property to determine which
application heading the entry points appear under in the home page. For
information on entry points and home pages, see the Developing
AR System Applications: Advanced guide.

For application export, only objects owned by the applicationand any


menus and roles related to the applicationare exported. For more
information on application export and import, see the Developing
AR System Applications: Advanced guide.

You can identify the application owner (if any) in the following ways:
!

Open the objects properties and view the Permissions tab, as shown.

Figure 4-3: Application owner in the Permissions tab


!

Display object details in the Server window or Application window, or


view the Object Summary for the object, as explained in Displaying
details about objects on page 60.

Working with deployable application states


In deployable applications, role permissions resolve to different groups
depending on the applications state. State refers to the development state of
the application, such as Maintenance, Test, or Production.
You can change an applications state in application properties, through the
user client, or through workflow, as described in the following sections. You
can also create custom states for use by all deployable applications on the
server.

Specifying deployable application states


When you create or import a deployable application, the state is set to
Maintenance. Only administrators and subadministrators have access to this
state. For other states, such as Test and Production, access control depends
on role-group mappings defined in the Roles form.

Deployable applications ! 141

Action Request System 6.3

" To specify deployable application states:


1 Define role-group mappings for each state in the Roles form:
a In Remedy User, open the Roles form and search for all roles defined for

the application.
If the search returns no roles, define roles for the application.
b For each role, make sure that the role is mapped to an explicit group for

each state.
c Save the roles.

For more information, see Creating and mapping roles on page 118.
2 Specify the state for the application, as follows:
a In Remedy Administrator, open the application as explained in Opening

an Application window on page 54.


b Choose Application > Properties.
c On the General tab, choose a state from the State list.
d Choose File > Save Application.

The role-group mappings for the specified application state become effective
after the server recaches.

Using the user client or workflow to change deployable


application states
The state defined in application properties is stored in an entry for that
application in the AR System Application State form. You can edit the entries
in this form in the user client or create workflow that acts upon this form to
change the applications state.
When creating the workflow, remember the following tips:
!

A state value of NULL is the same as the Maintenance (administrators only)


state.

State names are case-sensitive.

Entries are removed from the AR System Application State form when
applications are deleted.

142 "Chapter 4Defining applications

Developing AR System Applications: Basic

Creating custom states


You can create custom application states by adding fields to the Roles form.
Use field IDs in the range of 2003 to 2199.
" To create custom states:
1 In Remedy Administrator, open the Roles form.
2 Under the Production field, add a character field.
3 Double-click the field to open the Field Properties dialog box.
4 In the ID field on the Database tab of the Field Properties dialog box, enter a

unique field ID in the range from 2003 to 2199.


5 Save the form.

AR System automatically adds a menu to the field for selecting groups. The
new state is available for deployable applications on the current server after
the server recaches.
6 To make custom states available on another server, export the Roles form

and import it on the target server.


For more information on exporting and importing forms, see the Developing
AR System Applications: Advanced guide.

Working with deployable application access points


You can identify specific forms and guides in a deployable application as
access points, or points of integration, for use with other deployable
applications. When creating table fields, join forms, and certain workflow
actions (such as Set Fields or Call Guide actions), developers can choose to
limit the scope of forms or guides listed to only those forms or guides within
the current application, and those that have been identified as access points
in other applications.
The access points you create for an application are recommended points of
integration onlydevelopers can still choose to work with any objects on the
server.
Use the following procedures to define access points for your application,
and to take advantage of access points in other applications during
development.

Deployable applications ! 143

Action Request System 6.3

" To define access points in a deployable application:


1 Open a deployable application, as described in Opening an Application

window on page 54.


2 Choose Application > Properties.

Figure 4-4: Specifying application access points

3 Click the Access Points tab.

Every form, active link guide, and filter guide defined for the application
appears.
4 Use the Add and Remove buttons to move objects to the appropriate Objects

list.
5 Choose File > Save Application.

144 "Chapter 4Defining applications

Developing AR System Applications: Basic

" To use access points during development:


1 Open a deployable Application window, as described in Opening an

Application window on page 54.


2 When you create one of the following objects, select the Restricted List check

box to show the list of forms (or guides, where applicable) that are included
in the current application, and those that have been defined as access points
in other deployable applications:
Object

Location of Restricted List check box

Active link, filter, or


escalation

If Action and Else Action tabs for the following actions:


!
!
!
!

Call Guide
Open Window
Push Fields
Set Fields

Table field

Table Property tab in table field properties.

Join form

Join Wizard, Page 1

When you clear the Restricted List check box, you will see all of the forms (or
guides) on the server.
Note: The Restricted List check box on the Basic tab for active links, filters,
escalations, active link guides, and filter guides restricts the list of forms to
forms within the current application only. Access points from other
applications are not shown.

Also, for Web Services objects, you cannot use access points and there is
no Restricted List check box. In deployable applications, you can only
choose from among forms within the application. In local applications,
you can choose from among all forms on the server.

Deployable applications ! 145

Action Request System 6.3

Specifying additional application properties


Use the following procedure to define an applications properties.
" To define application properties:
1 Open an application as described in Opening an Application window on

page 54.
2 Choose Application > Properties.
3 Select a tab such as General or Permissions and modify properties as desired.

The following sections describe the contents of each tab.


4 Choose File > Save Application.

General properties
The primary properties on the General tab determine the application name,
web alias, label, and development state. The following sections describe these
properties in detail.
Note: The following additional properties on this tab are for configuring
applications for direct access in Remedy User:
!

Description

Run with Form Windows Maximized

Show Only Forms in Application

Custom Title Bar Icon

Custom About Box

For more information about these properties, see Specifying General and
Forms properties for application mode on page 151.

Name
Names are shared across applications, active link guides, filter guides,
packing lists, and web services, so each name must be unique. Names can be
a maximum of 80 characters, including spaces. Names can include doublebyte characters, but avoid using numbers at the beginning of the name.
Do not use the name arforms for the application name as it is a reserved name
for the system.

146 "Chapter 4Defining applications

Developing AR System Applications: Basic

Web Alias
In releases of the mid tier prior to version 6.3, the application web alias was
used in the directory structure for web applications deployed on the mid tier.
This field is not used in version 6.3.

Label
For deployable applications, if a Label is specified, it is used in place of the
Name to identify the application corresponding to entry points in the home
page. For more information on entry points and home pages, see the
Developing AR System Applications: Advanced guide.
The Label also has a specific meaning in the context of applications accessed
directly in Windows clients. For more information, see Presenting
applications to users on page 149.

State
This property defines the application state (Maintenance, Production, or
Test) and is for deployable applications only. Depending on the state you
choose, different access permissions are applied to the application.
For more information, see Working with deployable application states on
page 141.

Forms properties
The Forms tab determines the forms included in the application, as
explained in Including forms in an application using forms properties on
page 138. This tab also enables you to specify an auto layout template for use
with all forms in the application. For more information, see Using auto
layout to arrange fields on a form view on page 387.
The following Forms properties apply only to applications that users will not
access through entry points on a home page:
!

Primary Form

Primary View

For more information on these properties, see Presenting applications to


users on page 149.

Specifying additional application properties ! 147

Action Request System 6.3

Access Points properties


For deployable applications only, this tab defines which forms, active link
guides, and filter guides are integrated with other deployable applications.
For more information, see Working with deployable application access
points on page 143.

Data properties
For deployable applications only, this tab defines the forms whose data will
be included in an application export. It also defines the qualifications (if any)
that select sets of records, and import options such as the handling of
duplicate request IDs. For more information, see the Developing AR System
Applications: Advanced guide.

Statistics properties
For deployable applications only, this tab defines the forms that will
participate in statistics tracking for the application. For more information,
see the Optimizing and Troubleshooting AR System guide.

Support Files properties


The Support Files tab is for web applications only. This tab defines the names
and locations of resources used in web views that are included in the
application object. For more information, see Managing resource files on
page 442.

Dynamic Web Views properties


The Dynamic Web Views tab was used in releases prior to version 6.3.
Dynamic web views are available only to clients using a pre-6.3 release of the
mid tier. Please see your previous versions documentation for more
information.

Permissions properties
Use the Permissions tab to determine which access control groups can
display the application in the user client. For more information, see
Specifying application permissions on page 137.

148 "Chapter 4Defining applications

Developing AR System Applications: Basic

Subadministrator Permissions properties


Use the Subadministrator Permissions tab to define subadministrator
permissions for access control groups. For more information, see Reserved
groups in AR System on page 84 and Defining additional administrator
permissions on page 127.

Change History properties


AR System automatically records the owner of an application, the developer
who last modified the application, and the date of the modification. To
display or add to this information, click the Change History tab in the
Application window.
For general information about building and using change history, see
Building and using change history for AR System objects on page 61.

Help Text properties


The Help Text property supplies help text about the application for
administrators. It typically includes a description of the application, what it
does, and how it is used. For general information about creating help text in
AR System, see Creating help text for AR System objects on page 62.
The Help properties also apply to applications configured for direct access in
Remedy User. For more information, see the following section.

Presenting applications to users


The typical or default method to present an application to users is to define
entry points that appear in a home page, as explained in the Developing
AR System Applications: Advanced guide. This section describes additional
ways to present applications to users.
For web applications, you can provide links to forms using special URLs,
such as encoded URLs, URLs that bypass the login page, or URLs that pass
search parameters when a search form is opened. Include the URLs on a web
page or form. For more information, see Accessing forms and applications
with URLs on page 444.

Presenting applications to users ! 149

Action Request System 6.3

You can configure Windows applications so that users open the applications
within Remedy User in application mode. This technique works for both local
and deployable applications, as explained in this section.
In Remedy User, users access an application in the Object List dialog box,
locating the application by name or by a custom label that you provide. A
description of the application (if defined) appears below the task list when
the user selects the application, as shown.

Description

Figure 4-5: Object List dialog box

Users can also open the application from an ARTask shortcut that you
provide, as described in Distributing the application to users as a shortcut
on page 155.

150 "Chapter 4Defining applications

Developing AR System Applications: Basic

Specifying General and Forms properties for application mode


Use the following procedures to specify General and Forms properties for use
in application mode. For more information on application mode, see
Presenting applications to users on page 149.
" To specify General properties for an application:
1 Open an application, as described in Opening an Application window on

page 54.
2 Choose Application > Properties.
3 Click the General tab.
4 In the Label field, specify the label that you want to appear in the Object List

dialog box in Remedy User, and in the title bar in application mode.
If you do not specify a label, the Name property will be used to identify the
application.
Labels can be as many as 255 bytes, including spaces.
5 In the Description field, specify the description that you want to appear

below the task list in the Object List dialog box in Remedy User.
You can enter a maximum of 2000 bytes.
6 To specify a custom icon:
a Select the Custom Title Bar Icon check box.
b Click the Browse button and select the appropriate image file.

You can add images in .bmp, .jpg, .jpeg, and .dib formats that are as large
as 16 pixels wide by 16 pixels high. Images larger than these dimensions
will be cropped. The image file size limit is 512 KB. Keep the file size as
small as possible to avoid performance problems.
7 To display an image in the About box:
a Select the Custom About Box check box, and use the Browse button to

locate the appropriate image.


You can add images in .bmp, .jpg, .jpeg, and .dib formats. The image is
cropped to fit within the About box. Keep the file as small as possible to
avoid performance problems.
b To save the image to another area on the network, click Save To Disk.
8 Choose File > Save Application.

Presenting applications to users ! 151

Action Request System 6.3

" To specify the behavior of forms in application mode:


1 Open an application, as described in Opening an Application window on

page 54.
2 Choose Application > Properties.
3 Click the Forms tab.
4 From the Primary Form list, select the form that will appear in Remedy User

when the application first opens.


If you do not specify a primary form, no form appears when users open the
application in Remedy User.
5 From the Primary View list, select the view of the form to appear when the

application opens.
The views available in the list are defined by the view label. If no view is
selected, the default view or the user preference view will be used.
6 Click the General tab.
7 Select or clear the Run With Form Windows Maximized check box. If this

check box is:


!

Selected, the form window is maximized when it opens.

Cleared, the form window opens with the size that the developer defines.

8 Select or clear the Show Only Forms in Application check box. If this check

box is:
!

Selected, users can access in Remedy User only forms and guides within
the application.

Cleared, users can access in Remedy User any forms, guides, or


applications to which they have access whether they are related to the
application or not.

9 Choose File > Save Application.

152 "Chapter 4Defining applications

Developing AR System Applications: Basic

Specifying Help properties for application mode


You can create field-level help for users of your application, as explained in
Creating help text for AR System objects on page 62. For applications that
run in application mode, you can also provide help in the following ways:
!

Using help text that opens from the Help menu in a system-generated
dialog box. Use this method if the application does not require extensive
help text.

Using external help files that open from the Help menu in a supporting
program such as Microsoft Word. Use this method if the application is
complex and requires detailed instructions. You can provide up to five
external help files.

Specifying help text in a dialog box


Use the following procedure to specify help text that users can access by
choosing Help > Help on <application_label> in Remedy User.

Figure 4-6: Help text example

" To specify help text in a dialog box:


1 Open an application, as described in Opening an Application window on

page 54.
2 Choose Application > Properties.
3 Click the Help Text tab, and select the Help Text option button.
4 In the field, specify the help text that you want to appear.
5 Choose File > Save Application.

Presenting applications to users ! 153

Action Request System 6.3

Specifying external help files


You can specify up to five different external help files for an application. Help
formats that you can use include .htm, .html, .doc, .txt, .hlp, or .chm files. Your
users must be able to access the help file locally on their machines. For
example, if your help file is a web page, users must have browsers installed.
When users choose Help > Contents and Index (for a single help file) or
Help > Help on <application_label> (for multiple help files) in application
mode in Remedy User, the help appears in the format that you specify. For
example, if you created an HTML help system for your application, the users
default web browser will open, displaying the HTML help file.
" To specify external help files:
1 Open an application, as described in Opening an Application window on

page 54.
2 Choose Application > Properties.
3 Click the Help Text tab.
4 Select the External Help Files option button.
5 Click Add to open the Add External Help File dialog box.
6 In the Label field, enter a label for the help file.
7 Click the browse button next to the Help File field.

The Open dialog box appears.


8 Select a file of type htm, .html, .doc, .txt, .hlp, or .chm.
9 Click Open.

The Add External Help File dialog box appears, and the contents of the
Help File field changes to identify the help file that you have selected.
10 Click OK.

Continue working with application help as follows:


!

To test a help file, select the help file and click Test.

To change the label of a help file, select the help file and click Modify.

To remove a help file, select the help file and click Clear.

To export a help file from an application, select the help file and click Save
to Disk.

11 Choose File > Save Application.

154 "Chapter 4Defining applications

Developing AR System Applications: Basic

Distributing the application to users as a shortcut


You can send an application as an ARTask shortcut to your users, who can
use the shortcut to start the application in Remedy User. You can create the
shortcut in Remedy Administrator or Remedy User.
Note: Creating a shortcut using the following procedure requires a MAPIcompliant email client.
" To create an application shortcut in Remedy Administrator:
1 Open an application, as described in Opening an Application window on

page 54.
2 Choose Application > Properties.
3 Choose File > Send To > User(s) as Shortcut.

Your email tool opens and displays your shortcut as an attachment.


4 Use your email tool to send the shortcut to one or more users.
" To create an application shortcut in Remedy User:
1 In Remedy User, open the Object List dialog box.
2 Right-click the application for which you want to create a shortcut.
3 Choose Create Shortcut to open the Save a Shortcut dialog box.
4 Specify a location, and click Save.

Converting local applications to deployable


applications
You can convert local applications to deployable applications to take
advantage of the extended functionality in deployable applications.
Since local applications and deployable applications use different
permissions models, you will need to redefine all of the permissions for the
converted application.
Warning: Converting a local application to a deployable application removes
all explicit group permissions for every object in the application
(including forms, fields, active links, and active link guides). You must
manually apply role permissions to every object.

Converting local applications to deployable applications ! 155

Action Request System 6.3

" To convert a local application to a deployable application:


1 Create a new deployable application as explained in Creating an application

object on page 136.


The Application window for the new deployable application opens.
2 Define permissions for the new deployable application, as explained in

Specifying application permissions on page 137.


3 Open the local application, as explained in Opening an Application

window on page 54.


4 Drag and drop the forms from the local application to the deployable

application, as explained in Dragging and dropping objects on page 57.


This process moves the forms and related objects from the local application
to the deployable application, and removes all of the explicit group
permissions defined for those objects.
5 In the deployable application, apply role permissions to all objects, including

forms, fields, active links, and active link guides.


You can apply permissions to multiple objects as explained in Defining
permissions for individual or multiple AR System objects on page 125.
6 Optionally, delete the local application as explained in the following section.

Deleting applications
When you delete an application, it is removed from the database and from
the list of applications in Remedy Administrator. However, the forms,
workflow, and data included in the application are not removed.
If you provided an application as a shortcut, tell your user community to
delete the application shortcut from their desktops. If users try to start an
application after it has been deleted from the server, they will receive an error
message. For more information, see Presenting applications to users on
page 149.

156 "Chapter 4Defining applications

Developing AR System Applications: Basic

" To delete an application:


1 Click the Applications icon in the Server window, and select the application

you want to delete from the Applications list.


You cannot delete an application that is open in Remedy Administrator.
2 Choose Edit > Delete Applications.
3 Click Yes to delete the application.

The application is removed from the database and will no longer appear in
the list of applications on the Server window. The objects in the application
are not deleted.

Deleting applications ! 157

Action Request System 6.3

158 "Chapter 4Defining applications

Chapter

Creating AR System forms

You use forms to capture and display information. They typically include
related components such as employee and department information. A form
contains fields in which the information is entered and displayed. The
collection of fields represents a record of information in AR System. While
the entries comprise the rows of a database table, the fields comprise the
columns.
This section discusses the types of forms available, and the tasks used to
create them. It includes the following sections:
!
!
!
!
!
!

Types of forms (page 160)


Creating and managing forms (page 163)
Display-only forms (page 168)
View and vendor forms (page 174)
Join forms (page 180)
Setting form properties (page 201)

Creating AR System forms ! 159

Action Request System 6.3

Types of forms
An administrator can create forms that serve as part of a unique workflow
solution. Form types include regular, join, display-only, view, and vendor
forms. These forms can be customized using form views, as explained in
Chapter 8, Creating and managing form views.

Regular forms
Regular forms are generally the main forms of your applications. Within the
AR System database, AR System builds and manages tables to store the data
displayed on your forms.
When you create a regular form, you see the eight core fields, as shown in the
following figure. All regular forms contain these fields. For information on
core fields, see Core fields on page 598.

Figure 5-1: Create Form window and core fields

Join forms
AR System also enables you to create a join form, which is a form that
combines information from multiple AR System forms. This composite form
can consist of fields derived from other existing forms, and the resulting
combined information is displayed in Remedy User or a web browser. Join
forms enable you to avoid data redundancy (information is stored in only
one form) and maintain data integrity (information updated through the
join form is updated in all other places).

160 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

For example, you can combine the information from the Help Request and
the Employee ID forms (as shown in the following figure) into a join form
that displays information from both forms without duplicating employee
information in every help request. You can combine a join form with other
forms, or you can join a form to itself.
New Join form

Help Request form

Employee ID form

Figure 5-2: How joins work in AR System

For information about creating and using join forms, see Join forms on
page 180.

Types of forms ! 161

Action Request System 6.3

Display-only forms
Display-only forms have no database table associated with them and have no
associated requests. Display-only forms also have no core fields.
You can use display-only forms in various ways:
!

Control panels (as shown in Figure 5-4 on page 169)These provide an


efficient way to organize and present users with specific tasks or objectives.

Dialog boxesThese enable you to reuse specific groups of fields in a


variety of ways. For example, you can create an employee information
dialog box that contains generic fields (such as name and address) that
could be used by multiple forms and applications.

Entry points to other forms that contain dataYou can add an OK or a


Continue button to a display-only form to cause an active link to transfer
data from the display-only form to the primary form and then submit a
request.

View forms
View forms are AR System objects that enable the AR System server to access
external data sources through AR System forms. For information about
creating and using view forms, see Creating view forms on page 174.

Vendor forms
Vendor forms are AR System objects that enable the AR System server to
access external data sources through AR System forms. Vendor forms allow
AR System to access arbitrary external data sources through the use of an
ARDBC plug-in. This type of form provides for easy integration with external
data, without replicating the data.
For information about creating and using vendor forms, see the Developing
AR System Applications: Advanced guide.

162 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Creating and managing forms


Forms are created and defined using the following steps. To make sure that
all form components are properly defined, follow the steps in the order listed.
Step 1 Create a form (see Creating and managing forms on page 163).
Step 2 Set form properties (see Setting form properties on page 201).
Step 3 Plan the layout of a form (see Managing fields in a form view on page 387).
Step 4 Create fields on a form (see Field types on page 214).
Step 5 Set field properties (see Understanding field properties on page 240).
Step 6 Create form views (see Creating form views on page 366).

Creating forms
When planning a form, sketch the layout before you begin creating fields so
that you have an idea of the best field location and order. When deciding
where to place fields that have menus, text editors, or diary editors associated
with them, allow space for the icons that will appear next to the fields.
Consider using trim (lines, boxes, or text) to group and label related fields.
You can also add color to buttons and text labels. For information on form
layout, see Managing fields in a form view on page 387 and Tips for
designing applications on page 28.

Creating and managing forms ! 163

Action Request System 6.3

" To create forms in Remedy Administrator:


1 In Remedy Administrator, select a server to administer.
2 Choose File > New Server Object to open the New Server Object dialog box.

Figure 5-3: New Server Object dialog box

3 Select the type of form from the list: Regular Form, Join Form, Display-Only

Form, View Form, or Vendor Form.


4 Click OK.

Depending on the type of form you selected, the following action occurs:
!

For regular forms, the Create Form window opens with the Core fields as
displayed in Figure 5-1 on page 160.

For join forms, the Join Wizard opens. To continue, see Creating join
forms on page 191.

For display-only forms, a blank form opens. To continue, see Displayonly forms on page 168.

For view and vendor forms, other dialog boxes open. For view forms, see
Creating view forms on page 174. For vendor forms, see the Developing
AR System Applications: Advanced guide.

5 Choose File > Save Form to open the Save Regular Form As dialog box.
6 Enter the name of the new form in the Form Name field.

Form names must be unique on each AR System server. Names can be as


many as 80 characters, including spaces. Names can include double-byte
characters, but avoid using numbers at the beginning of the name.

164 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

When you enter a name in the Form Name field, that name is also entered
into the Web Alias field. This field was used in versions prior to 6.3 for
administrators who wanted to create and deploy web views of a form. In
version 6.3 of the mid tier, forms are no longer deployed; all forms can be
viewed on the web without special aliases. For more information, see
Accessing forms and applications with URLs on page 444.
7 Click OK to save the form.

The name of the new form appears in the title bar of the form and in the
Forms list in the Server Window.
Be aware of the following issues when creating forms:
!

Users who are logged in to Remedy User when you are creating a new form
will not see the new form until they log in again.

The size of the window when you save the form is the initial size that users
will see when they open the form in Remedy User.

Modifying forms
The following procedure describes how to open all form types when changes
or additions are necessary.
" To modify forms in Remedy Administrator:
1 Click the Forms icon in the Server window, and double-click the form name

in the Forms list.


The default view of the selected form opens in the Modify Form window. For
information about default views, see Setting view properties on page 373.
2 Choose Form > Manage Views to open the Manage Views dialog box.
3 Select the view you want to modify, and click the Display button.

Forms defined using the Standard option open in a Modify Form window.
4 Make the necessary changes to the view.

For information on the types of modifications you can make to a form view,
see Modifying form views on page 371.
5 Choose File > Save Form to save the changes.

Users who have a form open in Remedy User when you are making form
modifications must reopen the form to see your changes.

Creating and managing forms ! 165

Action Request System 6.3

Copying forms
The procedure that follows describes how to create a duplicate of a form.
Note: The User and Group forms contain several reserved fields that make
these forms unique. Do not copy these forms, or you might introduce
unintended access control functionality into your environment. For
information about the Group form, see Creating and managing groups
on page 113. For information about the User form, see the Configuring
AR System guide.
" To copy forms in Remedy Administrator:
1 Click the Forms icon in the Server window, and double-click the form name

in the Forms list.


The default view of the selected form opens in the Modify Form window.
2 Choose File > Save Form As to open the Save Form As dialog box.
3 Enter the new name of the form in the Form Name field.

When you enter a name in the Form Name field, that name is also entered
into the Web Alias field. This field was used in versions prior to 6.3 for
administrators who wanted to create and deploy web views of a form. In
version 6.3 of the mid tier, forms are no longer deployed; all forms can be
viewed on the web without special aliases. For more information, see
Accessing forms and applications with URLs on page 444.
4 Click OK.

The new form is listed in the Forms list in the Server window.
The new form retains all of the fields, views, and properties of the original
form. Workflow objects (such as active links, filters, and escalations)
associated with a form are not copied.

Renaming forms
Renaming a form enables you to change the name of an existing form
without having to create a duplicate form under a different name. The
renamed form retains all of the settings of the original form. Whenever you
rename a form, any workflow that references the form is automatically
updated with the new name of the form.
The procedure that follows describes how to rename a form without having
to create a new copy.

166 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

" To rename forms in Remedy Administrator:


1 Click the Forms icon in the Server window, and double-click the form name

in the Forms list.


The default view of the selected form opens in the Modify Form window.
2 Choose File > Rename Form to open the Rename Form dialog box.
3 Enter the new name of the form in the Form Name field, and click OK.

The form is listed under the new name in the Forms list in the Server window.

Deleting forms
The following procedure describes how to delete a form from a server.
" To delete forms in Remedy Administrator:
1 Click the Forms icon in the Server window, and select the form you want to

delete from the Forms list.


2 Choose Edit > Delete - Form(s) from the menu.

The form is deleted from the Forms list in the Server window.
When you delete a form, all associated data and workflow that are not
associated with any other form are deleted. However, if the workflow is
shared by multiple forms, it will not be deleted until the last form that uses it
is also deleted. Menus and applications must be deleted separately because
they are independent of forms.
If you delete a primary or secondary form of a join, the join form is also
deleted.
Warning: Do not delete the User or Group forms, or you will lose the ability
to add or modify users and groups. For more information about the
Group form, see Creating and managing groups on page 113. For
information about the User form, see the Configuring AR System guide.

Creating and managing forms ! 167

Action Request System 6.3

Display-only forms
You can create display-only forms for various purposes. This section
provides tips for creating these forms, and examples of how you can use
them.

Creating display-only forms


You can create display-only forms that work in both New mode and Search
mode in Remedy User (as shown in Figure 5-4 on page 169). Creating
display-only forms is similar to creating regular forms. For general
information, see Creating and managing forms on page 163.
Be aware of the following issues when you create a display-only form:
!

Unlike regular forms, display-only forms do not have Results List Fields or
Indexes tab properties.

By definition, all fields that you add are display-only.

168 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Using a display-only form as a control panel


A display-only form can be used as a centralized entry point from which users
choose the tasks they want to accomplish. When a form is used in this way, it
is referred to as a control panel. A control panel might include tasks
encompassing a variety of functional areas such as Help Desks, Employee
Services, and Asset Tracking. Users select a functional area from the main
control panel and fill in data on the form related to the specific task.

Figure 5-4: Display-only form used as a control panel

In this figure, the buttons on the display-only form act as entry points to
multiple underlying forms.
Note: When using a display-only form as a control panel in an application,
set the control panel form as the primary form. Consider hiding the
Details Pane Banner of control panels so that users are not distracted by
banner buttons. For information about how to hide the Details Pane
Banner, see Pane Banner Visibility on page 377.

Display-only forms ! 169

Action Request System 6.3

Using a display-only form as a dialog box


Dialog boxes require user interaction and are useful when you want to:
!

Prompt users for confirmation.

Implement a main-detail (or parent-child) relationship between forms


where users can edit the main form using a details dialog box.

Reuse a form in a variety of ways.

Embed a table that lists options from which users can choose.

Provide a way for users to edit or view a rarely used set of fields, and thus
avoid cluttering the main form.

Provide a way for users to view or edit a set of fields that handle complex
calculations of multiple components.

To define a dialog box, set Window Type to Dialog mode and use the
following active link actions:
Action

Description

Open Window

Sets the Open Window action to open a dialog box from a parent
form.
This action also defines what data will be transferred from the
parent form to the dialog box when the dialog box opens, and
what data will be transferred from the dialog box back to the
parent form when the Commit Changes action occursusually
when the user clicks an OK button or the dialog box closes.

Commit
Changes

Changes the fields in the parent form to the values that the user
specifies in the dialog box.
The data from the dialog box is written to the parent form based
on the mapping you created for the On Close mode in the Field
Mapping region when setting the Open Window active link
action. Changes are usually committed with the OK button on
the dialog box. You might also want to create an Apply button
that commits changes without closing the dialog box.

Close Window

Closes the active dialog box.


The Close Window action usually occurs immediately after the
Commit Changes action or as the active link action associated
with Cancel occurs.
For information on active links, see Active links on page 466.

170 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Creating dialog boxes


The following procedure provides a general overview for creating an
application that uses dialog boxes. This particular example is a confirmation
dialog box that returns a value to the parent form. When a user clicks a
button on the parent form, the dialog box appears. The user enters
information into a field on the dialog box, or the field might be populated as
a result of an active link.
" To create a simple dialog box:
1 Create a button on the parent form from which you want to open the dialog

box.
2 Save your parent form.
3 Create a display-only form with a character field representing the entry field.

For example, if the user must enter the serial number of a product, you would
create a field labeled Serial Number.
4 Create OK and Cancel buttons on your display-only form.
5 Save your display-only form.

You can add additional fields to a dialog box, although fields will always be
added in display-only mode, and you can run active links from a dialog box.
Note: You cannot give a default value to fields in dialog boxes through the
Field Properties window. Instead, use the On Open mode in the Open
Window action to set any default values you want to appear in a dialog
box.
6 Create an active link to launch the dialog box with the following conditions

and actions:
a Open the Create Active Link dialog box.
b In the Basic tab, enter a name for your active link in the Name field.
c From the Form Name list, select the parent form.
d From the Execute On section, select Button/Menu item.
e From the Field list, select the name of button you want your users to click

to open the dialog box.


In this example, the button name is Enter Serial Number.
f Click the If Action tab.
g From the New Action menu list, select Open Window.
h From the Window Type menu list, select Dialog.

Display-only forms ! 171

Action Request System 6.3

i From the Form Name menu list, select your display-only form.
j From the Field Mapping mode menu list, select On Open.

The fields in your display-only form will be listed in the Fields in Dialog
Form column. In this example, the field listed is Serial Number.
k If you want the field to be automatically populated when the dialog box

opens, enter a value in the Value column.


l From the Mode menu list of the Field Mapping section, select On Close.
m From the Fields in Parent Form column, select the field from the parent

form that you want populated from the dialog boxs Serial Number field.
n Click the Value pane at the selection point, click the down arrow and select

from the Fields list the field in the dialog box whose value you want
transferred to the parent form when the dialog box closes. In this example,
the field is Serial Number.
o Click Add Action to add your action to the Current Action field.
p Save your active link.
7 Create an active link to execute when the user clicks the OK button on the

dialog box. Creating this workflow in this example transfers information


from the Serial Number field on the Dialog Box to a field on the parent form.
a Open the Create Active Link dialog box.
b In the Basic tab, enter a name for your active link in the Name field.
c From the Form Name list, select the parent form.
d From the Execute On section, select Button/Menu item.
e From the Field list, select the name of button you want your users to click.

In this example, the button name is OK.


f Click the If Action tab.
g From the New Action menu list, select Commit Changes.
h Click Add Action to add your active link action to the Current Actions

field.
i From the New Action field, select Close Window.
j Click Add Action to add your active link action to the Current Actions

field.
k Save your active link.

172 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

8 Create an active link that executes when the user clicks Cancel. This action

simply closes the dialog box without returning any values.


a Open the Create Active Link dialog box.
b In the Basic tab, enter a name for your active link in the Name field.
c From the Form Name list, select the display-only form.
d From the Execute On section, select Button/Menu.
e From the Field list, select the name of button you want your users to click.

In this example, the button name is Cancel.


f Click the If Action tab.
g From the New Action menu list, select Close Window.
h Select Close All Windows.
i Click Add Action to add your active link action to the Current Actions

field.
j Save your active link.
9 Set the correct permissions for the forms and active links so that your users

can operate them successfully.


For additional examples of using buttons that open dialog boxes, open the
Sample:ClassCentral form that is installed with AR System, and click the
Enroll tab.
For additional information about active links, see Chapter 10, Automating
application processes with workflow.

Display-only forms ! 173

Action Request System 6.3

View and vendor forms


View and vendor forms allow you to access data outside of AR System. They
can be used to:
!

Implement workflow on creation and modification of external data.

Execute escalations on external data.

Access external data to populate search style character menus or table


fields.

Creating vendor forms


Vendor forms connect to data sources that are exposed by an ARDBC plugin. ARDBC plug-ins enable AR System to interface with external data sources
such as LDAP directory services, legacy systems, spreadsheets, text files, or
database tables.
For information on creating ARDBC plug-ins and vendor forms, see the
Developing AR System Applications: Advanced guide.

Creating view forms


View forms connect to database tables. When creating view forms, remember
the following guidelines and limitations:
!

The database table must reside on, or be accessible to, the SQL database
that AR System is using. Database tables external to AR System must also
use the same database vendor that AR System is using.

Note: For DB2 databases, you can only connect to database tables in the
AR System database.
!

The ARAdmin user must have read and write access privileges on the
database table.

The database table must have a column (field) that enforces non-null and
unique values. This column will act as the Request ID. If the administrator
chooses a column that is non-unique or allows nulls, data corruption will
probably occur. The Request ID field must be an integer field or a
character field that is no less than 6 and no greater than 15 characters.
Otherwise, the Key field list will be empty, and you will not be able to
create the view form.

174 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic


!

A view form can be manipulated as a regular form type with the following
exceptions:
!

You can only add Required and Optional fields to the View form that
correspond to actual columns within the external table. In addition,
you can add a Display Only field only when the column name does not
correspond to column within the external table.

A view form cannot be used in join forms.

After you have attached an AR System field to a column in the database


table, you cannot reattach the field to a different column, but you can
change other field properties.

Status history and attachment fields are not supported on view forms.

You cannot change the type of a text field, or change the length of any
field after initial creation.

Only the following data types are supported in view forms:


!

DB2varchar, varchar2, char, clob, integer, smallint, real, double

SQL Serverchar, varchar, tinyint, smallint, int, text, real, float, decimal

Oraclevarchar, varchar2, char, clob, number, float

Informixchar, varchar, int8, smallint, integer, text, smallfloat, float,


decimal

Sybasechar, varchar, tinyint, smallint, int, text, real, float, decimal

Long columns (that is, text or clob) must allow null values.

The steps that follow explain how to connect to a database table using a view
form.
" To create a view form:
1 If your database is remote, set it up as described in Setting up a remote

database for view forms on page 178.


2 In Remedy Administrator, select a server to administer.
3 Choose File > New Server Object.

View and vendor forms ! 175

Action Request System 6.3

4 Select View Form from the list to open the Create a View Form dialog box.

Figure 5-5: Create a View Form dialog box

5 Enter the name of an existing database table or the path if the table is on a

different database.
The formats for table names are as follows:
!

DB2TABLENAME
Table name for the AR System database. For DB2 databases, you can only
connect to tables in the AR System database.
By default, use all capital letters when entering the table name, since DB2
defaults to all capital letters for the data within its system tables.

Note: For an AR System server talking with a local AR System database


running on DB2, in the ar.conf (ar.cfg) file, you must set the Db-user
option to the name of the user who owns the database. For example, if the
owner name is db2admin, make sure that the following line is in the ar.conf
(ar.cfg) file:

Db-user: db2admin

176 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

For more information about the ar.conf (ar.cfg) file, see the Configuring
AR System guide.
!

Informixtablename or databasename:table
Table name for a remote Informix database. By default, use all lowercase
letters when entering the owner and table name, since Informix defaults to
all lowercase letters for the data within its system tables.

OracleOWNER.TABLENAME or TABLENAME
Oracle defaults to all capital letters for the data within its system tables. If
the table was created with a case-sensitive name, make sure that the
capitalization for the name is entered correctly.

SQL ServerTABLENAME or DATABASENAME.OWNER.TABLENAME


Make sure you specify dbo if the current user is the owner of the table.

SybaseTABLENAME or DATABASENAME.OWNER.TABLENAME
Make sure you specify dbo if the current user is the owner of the table.

6 Click the Load button.

The Available Columns list box is populated with the database column
names from the external table.
7 Select a column to designate as the key field.

You must choose a character column whose name is from 6 to 15 characters


or an integer field.
Warning: The column you choose for the key field must be unique and nonnull; otherwise, data corruption will probably occur.
8 Select the columns you want to appear on the AR System form in the

Available Columns list box, and click Add to move them to the Selected
Columns list box.
9 Click the Create button.

Note: Creating multiple fields from a single column will have adverse side
effects when accessed.

View and vendor forms ! 177

Action Request System 6.3

Setting up a remote database for view forms


If your database is remote, you must set up your database as follows to make
sure that view forms are created properly.
!

DB2Remote view forms are not supported for DB2.

InformixMake sure that the table name is in the following format:


DATABASENAME@SERVERNAME:TABLENAME

OracleSet up a link between the AR System database and the Oracle


database. The AR System server must query the metadata to obtain
specific information about the table, and this resides in one of the system
tables. Therefore, the link must be a name to the entire server, not to the
specific table.
The format for the table name is as follows:
OWNERNAME.TABLENAME@LINK

To enable the support of multiple remote Oracle databases with different


character sets, you must add the parameter Oracle-Dblink-Character-Set to
your ar.cfg (ar.conf) file. See the Configuring AR System guide for more
information.
!

SQL ServerComplete the following tasks:


!

Create a link to the remote database and either give ARAdmin an


account on the remote database or use the proper login credentials.

Turn on Distributed Transaction Coordinator for both the local and


remote database.

Set the following server configuration setting in the ar.conf (ar.cfg) file:
SQL-Server-Set-ANSI-Defaults: T

This allows the DB-Library connection that the AR System uses to use
ANSI-NULLs as well as ANSI warnings. This should have no impact to the
performance of the database. For more information about the ar.conf
(ar.cfg) file, see the Configuring AR System guide.
The format for the table name is:
LINKNAME.DATABASENAME.OWNER.TABLENAME

178 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic


!

SybaseCreate a proxy database. This is a Sybase database type that


copies all the metadata about a remote database to the local database, but
still allows queries to be redirected to the remote database. Consult the
Sybase documentation for details on how to create a proxy database. After
the proxy database is created, it can be accessed like a local database in the
form of DATABASENAME.OWNER.TABLENAME.

Field properties for fields on view forms


Field properties on view forms are the same as the field properties of a regular
form, with the following exceptions:
!

The Database tab in the Field Properties dialog box has an additional
section with the following fields:
!

TableIndicates the link to the external database table.

NameDisplays the column name on which the field was created. For
view and vendor form types, only the Name field can be modified, and
it must be 254 characters or less.

If the column name does not correspond to a column in the data source,
the field must be display only.
For example, you add a character field to a view form. The Name field on
the Database tab shows the column name as Character_Field, which does
not exist in the data source. To save the form, you must change the Name
to match a column in the data source, or set the Entry Mode property to
Display Only.

If the column name represents a column in the data source, the field
cannot be display only.

After initial creation, you cannot change the type of a text field, or change
the length of any field.

Modifying fields on view forms


!

To delete a field from the view form, click on a field and choose Edit >
Delete. Deleted fields are returned to the Available Columns list box. This
only deletes the AR System field. It does not remove the column from the
database table.

To add a field to the view form, choose Form > Create a New > Field From
<external_name> from the menu. Select the field you want to add from
the Add Field dialog box, and then click OK.

View and vendor forms ! 179

Action Request System 6.3

Join forms
Join forms are composite forms that consist of fields derived from other
existing forms. This section helps you understand more about join forms.

Understanding join forms


A join form in AR System is similar to joining tables in a relational database.
A join form uses searches to combine fields from two forms based on join
criteria (see the Join criteria section that follows). The data in a join form
comes from the database tables of the forms that comprise the join form.
After the join form is created, it behaves similarly to non-join forms. Users
can submit data for creation or modification, report from it, select entries
from it, use it in workflow requests, define workflow on it, and so on. From
the users perspective, there is no difference between join and non-join
forms.
You can use a join form as a member of another join form. For more
information, see Joining three or more forms on page 185.

Primary and secondary forms in the join form


When creating join forms, you designate one of the underlying forms as the
primary form and the other as the secondary form. Primary forms are used
when determining which extra entries are included in outer join forms (see
Inner and outer joins on page 182) and the execution order in workflow
(see Filters and join forms on page 188).

180 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Join criteria
Join criteria define the link between the two underlying forms. Join criteria
are values common to the forms that you want to join. For example, if a help
desk form and an employee record form both have an employee ID field, the
two could be joined by the equality relationship between them, as shown in
the following figure. In database terms, this is an equal join.
Join form

Help Desk.Employee ID = Employee Record.Employee ID


(your join criteria)

Help Desk form

Employee Record form

Figure 5-6: Join criteria in AR System

You can join forms by using any combination of fields.


Note: Try to use indexed fields in the join criteria. A join, like any other query
of the database, should be optimized for best performance results. For
information about indexing fields, see Defining indexes on page 210.

Join forms ! 181

Action Request System 6.3

Including fields in the join form


You choose the fields from the primary and secondary forms that will be part
of the join form. If you choose two fields that have the same field ID, the
system provides a new mapped field ID for one of the fields because duplicate
field IDs are not allowed in a form. The new field ID is mapped to the actual
field ID in the underlying form when operations are performed.
Note: In a join form, Remedy Administrator will try to preserve the name
and field ID of fields from the primary form.

You can change the display properties for fields in a join form and set
permissions for the join form itself.
After creating a join form, you can add display-only fields to the form. For
information, see Chapter 6, Defining fields.

Inner and outer joins


AR System enables you to create join forms by using inner or outer joins. An
inner join selects entries (or rows) only when there are corresponding values
in both of the forms. For example, you would use an inner join if you want
to retrieve only the entries from one form that have matching entries in
another form. If there is an entry in one of the forms without a corresponding
entry in the other form, the data would be omitted.
Outer joins include all of the entries from the form that you select as primary,
even entries for which there are no matching entries in the secondary form.
For example, to see all submitted help requests, including those that have no
specific employee information connected with them, create an outer join.
Note: An outer join in AR System is what relational database administrators
call a left outer join. Selecting the left (or primary) form includes all of the
entries associated with that form.

The following figure illustrates the concept of inner joins. The Library
Catalog form is the primary form. The Customer Checkout form is the
secondary form. The join criteria is the ISBN (International Standard Book
Number).

182 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Because an inner join creates a form that contains only the entries in which
the join criteria exists in both the primary and secondary forms, the join form
produces a report that shows only the titles that are actually checked out.
Primary form

Secondary form

Library Catalog Form

Customer Checkout Form

Title

ISBN

ISBN

Customer
ID

A
B
C
D
E
F

1
2
3
4
5
6

1
2
4
6

200
201
203
267

ISBN is
join criteria

Resulting
inner join
Library Catalog Join

Because an inner join contains


only the entries in which the
join criteria is present in both
forms, ISBN items 3 and 5 (which
are not in the secondary form)
are omitted from the join form.

ISBN

Title

Customer
ID

1
2
4
6

A
B
D
F

200
201
203
267

Figure 5-7: Example of an inner join

Join forms ! 183

Action Request System 6.3

If the library had produced the same report using an outer join, it would be
a comprehensive listing of all the catalog items in the library, whether or not
they had corresponding entries in the other form. The following figure shows
an example of an outer join.
Primary form

Secondary form

Library Catalog Form

Customer Checkout Form

ISBN

Title

ISBN

Customer
ID

1
2
3
4
5
6

A
B
C
D
E
F

1
2
4
6

200
201
203
267

ISBN is
join criteria

Resulting
outer join
Library Catalog Form

An outer join contains all of


the entries from the primary form
even if there is no corresponding
join criteria in the secondary
form.

ISBN

Title

1
2
3
4
5
6

A
B
C
D
E
F

Customer
ID
200
201
203
267

Figure 5-8: Example of an outer join

When determining whether to create an inner join or an outer join, one


approach is to base your choice on how much data you want to see. Inner
joins are more useful for ad hoc queries and selection lists, while outer joins
are more useful for special reports that are comprehensive by nature.

184 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Joining three or more forms


To join three forms, you must first join two forms and then join the resulting
form to the third, creating a hierarchy of joins. Joining multiple forms in a
hierarchical order makes it easier to provide a consistent workflow.
If you need to combine data from three or more forms, you can do so by
creating a series of two-way joins. As shown in the following figure, you can
join two regular forms, a regular form to a join form, or two join forms.
Layer 1

Form B

Form A

Layer 2

Layer 3

Form C

Form E

Form D

Join Form F

Join Form G

Join Form H

Layer 4

Join Form I

Figure 5-9: Joining several forms

Join forms ! 185

Action Request System 6.3

Add only as many join layers as you need, and make sure that your join
criteria is efficient. The practical upper limit for combining forms is about six
layers. This is because each join form is created by querying the database
which ultimately affects system performance. In addition, the workflow
attached to each form in multiple layers of joins can also severely impact
performance.
Note: Hierarchical or nested joins are not supported where the underlying
database does not support them. For example, Microsoft SQL Server does
not support nested joins in AR System.

Self-join forms
In AR System, you can join a form to itself. This is also known as a Cartesian
Join. This functionality is useful when comparing data from the same form
or when preparing reports. Suppose that you want a report of all of the
managers, the managers phone numbers, the employees they supervise, and
the employees phone numbers. Assume also that the employees and
managers both exist in this form.
In this example, DemoHD:Staff is the primary (designated as A) and the
secondary form (designated as B), and it has the data shown in the following
table.

Request ID

Employee ID

Employee Name

Employee Phone Number

Manager ID

001

111

Bob

111-1111

555

002

222

Steve

222-2222

555

003

333

John

333-3333

555

004

444

Sue

444-4444

666

005

555

Doug

555-5555

666

006

666

Nancy

666-6666

NULL

Figure 5-10: Self-join example 1

186 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

If you join the form to itself and specify A.Employee ID = B.Manager ID as


the join criteria, you could then add and rename the following fields in the
resulting join form:
!

A.Employee Name (from the primary form) renamed to Manager.

A.Employee Phone Number (from the primary form) renamed to


Manager Phone Number.

B.Employee Name (from the secondary form) renamed to Employee.

B.Employee Phone Number (from the primary form) renamed to


Employee Phone Number.

The join form with four fields (or five if you include the composite request
ID) contains the following results from an unqualified search.

Composite
Request ID

Manager

Manager
Phone Number

005|001

Doug

555-5555

Bob

111-1111

005|002

Doug

555-5555

Steve

222-2222

005|003

Doug

555-5555

John

333-3333

006|004

Nancy

666-6666

Sue

444-4444

006|005

Nancy

666-6666

Doug

555-5555

Employee Name

Employee
Phone Number

Figure 5-11: Self-join example 2

You can include phone numbers for each manager and employee in one
entry, even though they come from the same column in the same table. The
self-join logically joins two separate forms that contain identical
information.
Self-join forms are useful for certain parent-child relationships. In the
previous example, the manager-employee relationship is a type of parentchild relationship in which child entries (the employees) belong to a parent
entry (the manager). A self-join form also enables you to compare entries.
For example, you can create a join form with side-by-side comparisons of
long description fields to verify that the entries are duplicates of one another.

Join forms ! 187

Action Request System 6.3

Using join forms in workflow


Connecting objects (filters, escalations, active links, active link guides, and
filter guides) to a join form enables you to use the form in workflow. All of
the typical execution conditions that apply to objects in non-join forms also
apply to objects in join forms.
To enable the data entry functionality of a join form, data created or
updated for a particular field must be associated with the appropriate
database. The administrator must create workflow that defines how data
should be pushed into the database when entered through join forms.

Filters and join forms


When you use filters with join forms, there are special issues to consider.
Filters are used to enforce the integrity of the system. The filters for the join
form execute first, and then the filters for the underlying forms execute.
The following figure illustrates the execution order of the join forms and
their primary and secondary forms.

188 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Join Form I

Join Form H

Join Form F

Form A

Form B

Form C

Join Form G

Form D

Form E

Figure 5-12: Execution order of filters with join forms

Observe that as you go down the execution order of the filters, all of the forms
on the left side (the primary forms) execute first, and then forms on the right
side (the secondary forms) execute. For information, see Chapter 10,
Automating application processes with workflow.

Join forms ! 189

Action Request System 6.3

Transaction control in database operations


All of the operations performed on join forms, such as querying, displaying,
and workflow operations, are executed as a single database transaction. For
example, if you update data in one form that affects the data in multiple
forms, all of the changes are performed as a single transaction in the database.
This process ensures the integrity of the information.
The completion of the database transaction for a hierarchy of forms is all or
none. For example, in Figure 5-9 on page 185, if a filter returns an error on
form I, none of the updates for the other forms is written to the database.

The Request ID field


The AR System tracks the entries in the underlying forms that comprise a join
form through the request ID of each entry. When you look at the Request ID
field in a join form entry, you see that the field contains the Request ID of
each underlying entry separated by a vertical bar. For this reason, if you
create a join form from a non-join form and a join form (see join form H in
Figure 5-9 on page 185), the join forms Request ID field will contain three
request IDs separated by vertical bars.
In all fields in a join form except the Request ID field, the permissions of a join
form are inherited from the underlying forms and cannot be changed. The
default permissions of the Request ID field in a join form are defined as
Visible for the Assignee, Public, and Submitter groups.
However, you can remove the Public permissions of the Request ID field to
make row-level security work in AR System. For information, see
Controlling access by using implicit groupsRow-level security on
page 103.

190 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Creating entries in join forms


When creating entries through a join, AR System does not actually initiate a
database operation. Because creating an entry in a join is not a determinate
action, the system cannot automatically perform it. However, all filter
operations defined for a join are performed, which requires you to define
workflow that appropriately creates or modifies entries in the primary and
secondary forms.
For example, if you create a join between a customer and an item purchased,
creating an entry through the join could be defined through workflow. With
push fields filter actions, the workflow could create an entry for an item
purchased or an entry for a customer.

Creating join forms


The following procedure guides you through the process of creating a join
form. A sequence of five windows takes you through the following tasks:
!

Specify general information about the join that you want to create,
including the names of the primary and secondary forms, whether you
want to keep the existing field help text, and whether you want to create
an inner or outer join.

Specify join criteria.

Select fields from the primary form.

Select fields from the secondary form.

Select a view for each member form, and the method to use to combine
the views.

" To create a join between forms:


1 In Remedy Administrator, select a server to administer.
2 Choose File > New Server Object.
3 Select Join Form from the list.

Join forms ! 191

Action Request System 6.3

The Join Wizard appears.

Figure 5-13: Choosing forms and join types

If you click the Finish button before completing the Wizard, the system
accepts whatever settings you have chosen and creates the join form. You can
still add fields to the join form at a later time.
4 From the Primary Form list, select a primary form.
5 From the Secondary Form list, select a secondary form.
6 For deployable applications only, select the Restricted List check box (default

option) to restrict the join form only to the forms in the application.
Clearing the Restricted List check box lets you access all the forms on the
server.
7 If you do not want to include the help text that you already created for the

fields in the primary and secondary forms, clear the Inherit Field Help Text
check box.
You can create field help text directly in the join form at a later time.
8 From the Join Type option list, select the appropriate join type.

The default is Inner Join. For more information about inner and outer joins,
see Inner and outer joins on page 182.

192 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

9 Click Next to open Page 2 of the Join Wizard.


A join line appears
between two forms.

Indexed fields
appear in bold.

Figure 5-14: Choosing join criteria

10 Define the appropriate join criteria.

There are two methods for defining join criteria:


!

Graphically define the join criteria by selecting fields in the field lists.

Select the Use Qualification Bar check box, which disables the primary and
secondary form lists, and enter a qualification string.

To graphically join criteria:


a Select one field from the primary form list (left), and one field from the

secondary form list (right).


b Click Join.

You can only join fields if they have the same data type. If you try to join
fields with different data types, the Join button is disabled and cannot be
selected.
Join lines connect fields that are associated. Connecting two fields with a
join line performs an equal operation on the selected fields. If multiple
selections are made, an AND operation is applied to the selections.

Join forms ! 193

Action Request System 6.3

To unjoin two fields, select the appropriate criterion, and click Unjoin.
c Repeat step a and step b until you finish specifying join criteria.

Note: For optimal performance, use indexed fields in the join criteria. For
information about indexing fields, see Defining indexes on page 210.

To apply an OR operation, compare to static values, use arithmetic


operations, or use a comparison other than equal:
a Select the Use Qualification Bar box.
b Select the appropriate fields from the primary and secondary forms by

clicking the menu button to the right of the Qualification field. You can
join fields only if they have the same data type.
c Add the appropriate operators by selecting them from the qualification

bar.
For more information on entering qualifications see, Building
qualifications on page 484.
For more information about join criteria, see Join criteria on page 181.
11 Click Next to open Page 3 of the Join Wizard.

Figure 5-15: Including primary form fields in the join form

12 Use the Add and Remove buttons to move fields to the appropriate Include

list.
194 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

13 Click Next to open Page 4 of the Join Wizard.


14 Add all of the fields from the secondary form that you want to include in the

join form, and click Next.


Page 5 of the Join Wizard appears. Use this window to define the overall
appearance of the join form by specifying how the fields will be displayed.
The colors are different for each contributing form.

Figure 5-16: Combining views in the join form

15 From the Views from <primary form name> list, select the appropriate view

of the primary form.


16 From the Views from <secondary form name> list, select the appropriate view

of the secondary form.

Join forms ! 195

Action Request System 6.3

17 From the Method to Combine Views option list, select the option that gives

the appropriate appearance to the resulting join form.


Stacked
Vertically

Arranges the fields of the primary form above the fields of the
secondary form. This option (the default) keeps the fields of the
underlying forms separate from one another.

Stacked
Horizontally

Arranges the fields of the primary form on the left side of secondary
form fields.

This option keeps the fields of the underlying forms separate from
one another.
Overlayed

Overlaps the fields of the primary and secondary forms.

This option compacts the fields together in the join form;


sometimes fields are stacked on top of one another.
18 Click Finish.

The new join form appears with a tool palette in a Create Form window.
19 Arrange the fields as you want them to appear in the join form. For example:
!

Add trim, buttons, page fields, or table fields.

Create views for the join form.

For information on fields in join forms, see Fields in join forms on


page 334. For information on arranging fields on a form, see Managing
fields in a form view on page 387.

196 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

20 To access the Form properties dialog box, choose Form > Form Properties or

double-click an empty part of the form.


Join form properties are set the same way as regular form properties. For
information on setting form properties, see Setting form properties on
page 201.
21 Choose File > Save Form.
22 In the Form Name field, enter a name.

Form names must be unique on each AR System server. Names can be as


many as 80 characters, including spaces.
23 Click OK.

The name of the new join form appears in the title bar and the Forms list.

Working with join forms in Remedy Administrator


When you create a join form, it appears in the Forms list, as shown.
Join form in
Forms list

Figure 5-17: Join forms in Server window

The name Join in the Type column differentiates a join form from nonjoin forms.

Join forms ! 197

Action Request System 6.3

When a join form is open in a Modify Form window, the following


additional menu items appear in the Form > Create a New menu:
Field From <primary form>

Adds an existing data field from the primary form.

Field From <secondary form> Adds an existing data field from the secondary
form.

Modifying join form properties


After you create a join form, you can modify properties that determine the
characteristics of how that join form will look and perform during operations
performed in Remedy User.
The properties that non-join forms and join forms have in common (Results
List Fields, Permissions, Subadministrator Permissions, Change History, and
Help Text) are set the same way for both types of forms, as described in this
section. The properties that are unique to join forms (Join Forms and Join
Criteria) are described in the following sections.

Primary and secondary forms and join types


After you create a join form, you can use the Join Forms tab to swap which
form is primary and which is secondary. You can also change the type of join
from inner to outer, or from outer to inner. Depending on whether you are
working with an inner join or outer join, swapping forms can result in
completely different criteria. For example, suppose your primary form (A)
has three fields (1, 2, 3) and your secondary form (B) has three fields (3, 4, 5).
In this situation, an inner join would retrieve the field that the two forms
have in common (field 3), and an outer join would retrieve this field and the
remaining primary form fields for a total of fields 1, 2, and 3. If you swap
forms so that form B becomes your primary form and form A becomes your
secondary form, an inner join will yield the same results (field 3), but an
outer join now retrieves the fields 3, 4, and 5. For more information about
inner and outer joins, see Inner and outer joins on page 182.

198 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

" To modify primary and secondary forms and join type:


1 Open the join form with which you want to work.
2 Choose Form > Form Properties to open the Form Properties dialog box.
3 Click the Join Forms tab.

Figure 5-18: Form Properties dialog boxJoin Forms tab

4 To switch the primary and secondary forms, click Swap Forms.


5 To change the join type, from the Join Type option list, select Inner or Outer.

For information on inner and outer join forms, see Inner and outer joins
on page 182.
6 Click OK.
7 Choose File > Save Form.

Modifying join criteria


Use the Join Criteria tab to add, change, or delete join criteria for a join form
that you have already created. For details about join criteria, see Join
criteria on page 181.

Join forms ! 199

Action Request System 6.3

" To add, change, or delete join criteria:


1 Open the join form with which you want to work.
2 Choose Form > Form Properties, or double-click an empty part of the form

to open the Form Properties dialog box.


3 Click the Join Criteria tab.

Figure 5-19: Form Properties dialog boxJoin Criteria tab

4 To modify your join criteria in the Selection boxes, use the Join and Unjoin

buttons and redefine the join criteria, as appropriate.


For more information on Join and Unjoin buttons, see step 9 on page 193.
5 To modify your join criteria in the Qualification edit box, select the Use

Qualification Bar check box and modify the Qualification edit field.
For information about entering qualifications, see step 9 on page page 193.
6 Choose File > Save Form.

200 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Setting form properties


For each form, you can define properties that determine how that form will
look and perform during operations performed in Remedy User. Form
properties are defined in the Form Properties dialog box accessed by
choosing Form > Form Properties.
When using the procedures that follow, note that the properties defined for
a form apply to all views associated with that form. To set properties for a
specific view, select the view in the Manage Views dialog box and click the
Properties button. For more information on setting view-specific properties,
see Setting view properties on page 373.
Detailed instructions for defining each of the form properties are provided in
the following sections.
Vendor Information

For vendor forms, provides information about the


vendor and table name.

View Information

For view forms, provides information about the


database table associated with the form.

Entry Points

Defines the order in which entry points appear in a


Application List field. For information, see Entry
PointsDefining entry points on page 204.

Results List Fields

Defines which of the forms fields appear when a user


performs a Search operation in Remedy User. For
information, see Results list fieldsDefining search
results on page 206.

Sort

Defines the order in which requests appear in the


matching table list when clicking the Search button in
Remedy User. For information, see Setting up sort
order on page 209.

Indexes

Defines form indexes to reduce the database search time


for frequently searched fields. For information, see
Defining indexes on page 210.

Archive

Defines settings for periodically backing up or deleting


form data. For information, see the Configuring
AR System guide.

Permissions

Defines which access control groups can access the form.


For information, see Assigning permissionsFour
approaches on page 121.

Setting form properties ! 201

Action Request System 6.3

Subadministrator
Permissions

Defines which access control groups have


subadministrator permissions for the form. For
information, see Defining additional administrator
permissions on page 127.

Change History

Records the owner of a form, the user who last modified


it, and the date and time of the modification. You can
also enter a description of your changes. For
information, see Building and using change history for
AR System objects on page 61.

Help Text

Enables you to create help text for the form. This help
text should describe the form, what it does, and how to
use it. If supplied, Remedy User users can view this help
text in the prompt bar (if visible) or in a list by choosing
Whats This? help. On the web, users can view help by
clicking the Help button, if a Help form action field is
added to the form.
For information, see Creating help text for AR System
objects on page 62.

202 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Defining vendor information


The Vendor Information tab contains the Vendor Name and Table Name
fields, which contain the vendor and table names used to create the vendor
form. If you modify these fields and specify a vendor name that is not
associated with a valid ARDBC plug-in or a table name that the plug-in does
not support, you will receive errors when you try to access data from the
vendor form.
For more information on vendor forms, see the Developing AR System
Applications: Advanced guide.

Figure 5-20: Form Properties dialog boxVendor Information tab

Setting form properties ! 203

Action Request System 6.3

Displaying view information


The View Information tab displays the names of the table and key field used
to create the view form. You cannot edit these fields.

Figure 5-21: Form Properties dialog boxView Information tab

Entry PointsDefining entry points


The Entry Points tab enables you to determine the numeric order of your
forms New and Search entry points in an Application List field:
!

New entry points open your form in create mode.

Search entry points open your form in query mode.

Entry point values are especially important to create a logical order of all the
entry points that will appear on your Home Page form.
An entry point with a value of 301 will appear in the Application List field
after an entry point with value of 300. As a result, you can order the entry
points according to their relative importance. Entry point values must be
equal to or greater than zero.

204 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Use these settings in connection with the forms View Properties. For
complete information on using entry points, see the Developing AR System
Applications: Advanced guide.
" To define entry points for a form:
1 Open the form with which you want to work.
2 Choose Form > Form Properties to open the Form Properties dialog box.
3 Click the Entry Points tab.

Figure 5-22: Form Properties dialog boxEntry Points tab

4 For New Mode entry points, do the following:


a Select the Enable Entry Point check box to activate the new mode entry

point.
b In the Application List Display Order field, enter a value to order the new

mode entry point in the application list.

Setting form properties ! 205

Action Request System 6.3

5 For Search Mode entry points, do the following:


a Select the Enable Entry Point check box to activate the search mode entry

point.
b In the Application List Display Order field, enter a value to order the

search mode entry point in the application list.


6 Click OK.

Results list fieldsDefining search results


Use the Results List Fields tab to customize which fields appear in the results
pane when a user performs a search operation in Remedy User. If you do not
define a results list for a form, the default is to display the contents of the
Short Description field when a user performs a search operation. If you add
any other field to the results list, the Short Description field is no longer
automatically included and will not be part of the results list unless you add
it.
You cannot include diary fields (or any field with a database length greater
than 255 characters) in a results list. You can include an attachment field, but
all you will see in the results list is the attachment file name.
Modifying the contents of the results list also affects the contents of the
Selection List window in Remedy User. The Selection List window appears in
Remedy User when an active link performs a Set Fields operation based on a
search and returns more than one result.
The settings in the Results List tab specify the default set of fields returned for
API programs that do not override the fields returned.
For a web client, a special Results List field can be used for the results of a
search. You can set the columns for the Results List field in the Table
Properties tab of the Results List field properties dialog box. For more
information, see Table fields on page 223.
Note: In version 6.3 of the mid tier, a special Results List field is no longer
needed for forms viewed in a web browser. Similar to Remedy User, a dual
pane layout contains a top pane that contains the results of a search. If you
include a Results List field, the dual pane layout will not appear.

206 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

" To define fields returned in a search:


1 Open the form with which you want to work.
2 Choose Form > Form Properties to open the Form Properties dialog box.
3 Click the Results List Fields tab.

The following figure shows an example of how the Results List Fields tab
might look after you complete the remaining steps in this procedure.

Figure 5-23: Form Properties dialog boxResults List Fields tab

4 From the Fields in Form list, select the first field to include in the results list

pane.
The Fields in Form list includes all fields with a database length of 255
characters or less. Therefore, diary fields are not available for selection. Also,
table fields and page fields do not appear in the list.
5 In the Separator field, enter a character or string to separate this field from

the next field in the results list.

Setting form properties ! 207

Action Request System 6.3

The default is a single blank space, but you can enter any character or string
of characters, and the character string can include any of the following special
characters:
Character:

Enter:

Backspace

\b

Return

\n

Tab

\t

Backslash

\\

ASCII character

\<nnn> (where nnn is the decimal designator for the


ASCII character that you want to use)

6 In the Width field, enter a number to limit the width of this field in the results

list.
For example, if you set a width of 20, only the first 20 characters of the field
value will appear in the list.
Separator characters and field widths are used when a Set Fields action of an
active link causes a selection list to appear if a multiple match is found. If this
limit is exceeded, an AR System error message is generated when attempting
to add the field.
7 Click Add.

The field appears in the Field Name list, along with its separator and width
settings. You can also select an entry from the Field Name list and use the
following buttons to perform the following actions:
Remove

Removes the results list entry.

Modify

Modifies the results list entry according to the changes you make
in the Fields in Form field, Separator field, or Width field.

Move

Moves the results list entry up or down in the results list.

8 To add additional fields, repeat steps 4 through 7 for each field.


9 Click OK.

To set the color of requests that appear in the results list, after a search is
accomplished in the Results List Color tab, use the View Properties dialog
box. For information, see the procedure To define view properties in the
Results List Color tab: on page 384.

208 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

Setting up sort order


The Sort tab enables you to define the order in which requests appear in the
matching results list when clicking the Search button in Remedy User.
" To set up the sort order for the results list pane:
1 Open the form with which you want to work.
2 Choose Form > Form Properties to open the Form Properties dialog box.
3 Click the Sort tab.

Figure 5-24: Forms Properties dialog boxSort tab

4 From the Non-Sorted Fields list, select the fields you want to sort, and click

Add to move them to the Sorted Fields list.


To remove a field from the Sorted Fields list, select an entry in the Sorted
Fields list, and click Remove.
Multiple selections for both the Non-Sorted Fields and Sorted Fields lists can
be made at one time by using the SHIFT or CTRL keys.
5 To set the sorting order for each field, click its Arrow icon.

An up arrow indicates ascending order, and a down arrow indicates


descending order.
6 To reorder items in the Sorted Fields list, select the field and click the up or

down arrow at the top of the list.


7 Click OK.

Setting form properties ! 209

Action Request System 6.3

Defining indexes
Indexing can greatly reduce database search time.
Indexes can be defined for regular forms only. You cannot create indexes for
other form types for the following reasons:
!

Join forms use the indexing defined for the forms from which they are
constructed.

Because display-only forms have no database table, they need no indexing.

Because view and vendor forms are owned outside of AR System, any
indexing they support must be managed outside of AR System.

Only data fields can be indexed. The Request ID field is already indexed, so
you need not build a separate index for this field. Good candidates for
indexing include fields that users search on frequently.
If you define an index for a character field, you might save search time by
using a QBE Match setting of Leading or Equal, not by using a QBE Match
setting of Anywhere. For information, see Database properties on
page 253.
If you are creating or modifying indexes in a form for which a large amount
of data exists, this process can take a significant amount of time and disk
space because the index must be built or rebuilt. Therefore, you might want
to avoid defining indexes during normal production hours.
More time is required to modify a form (for example, adding new fields)
when indexes have been defined for the form. The greater the number of
indexes defined for the form, the more time and disk space is required.
Submit and modify operations in Remedy User also take longer on forms
with many indexes.
For additional information on maximizing index performance, the
AR System Performance Tuning and Troubleshooting course is an excellent
resource.

210 "Chapter 5Creating AR System forms

Developing AR System Applications: Basic

" To define indexes for a form:


1 Open the Form with which you want to work.
2 Choose Form > Form Properties to open the Form Properties dialog box.
3 Click the Indexes tab.

Figure 5-25: Form Properties dialog boxIndexes tab

If you are creating a new index, No Indexes appears above the Previous and
Next buttons. If you are modifying indexes, you can click these buttons to
find the index you want to modify.
4 From the Fields in Form list, select a field to include in the index, and click

Add.
The selected field is added to the Index On list.
5 To combine multiple fields into a composite index, repeat step 4 for each

field you want to add.


Enter the fields in the order that you want them indexed. You can enter as
many as 16 fields.
The sum of all field lengths in a single index must be fewer than or equal to
255 bytes, so diary fields and character fields larger than 255 bytes cannot be
indexed.

Setting form properties ! 211

Action Request System 6.3

6 Select or clear the Unique check box.

If the check box is selected, the index is treated as a unique index, and
AR System requires all values (existing and new) in the field or combination
of fields to be unique. For example, you could define a unique index on a
phone number field because each phone number is unique; however, you
would not define a unique index on a field that contains first names, because
more than one person might have the same name.
7 To create additional indexes for this form, click New Index, and repeat steps

4 through 6 for each index.


8 To remove an index from the database, move to the correct index, and then

click Delete Index.


You will not receive a confirmation, so make sure that you want to delete the
index.
9 Click OK.

For more information about performance issues and tuning in AR System,


especially analyzing forms for performance, see the Optimizing and
Troubleshooting AR System guide.

212 "Chapter 5Creating AR System forms

Chapter

Defining fields

Fields are objects that enable you to control how information is captured and
displayed on a form. Fields contain properties that determine their structure
within AR System.
You should familiarize yourself with the information in Chapter 5, Creating
AR System forms, before you perform the operations described in this
section. See Chapter 8, Creating and managing form views, and Chapter 9,
Working with AR System forms and applications on the Web, for
additional information on working with fields that will appear in forms in a
browser.
This section describes how to create fields and modify their properties. It
includes the following sections:
!
!
!
!
!
!
!
!

Field types (page 214)


Global fields (page 237)
GUID fields (page 239)
Determining what types of fields to use (page 239)
Understanding field properties (page 240)
Creating fields (page 266)
Managing fields (page 329)
Fields in join forms (page 334)

Defining fields ! 213

Action Request System 6.3

Field types
Each of the following field types has a different purpose and appearance. The
following table lists the types of fields available and the page where you can
find more information about each field type.
Field Type

Page

Data (includes character, real, date/time, date, time, diary, page 214
decimal, integer, selection, and currency)
Table (includes table, results list, and alert list)

page 223

Page

page 228

Attachment Pool

page 230

View

page 232

Application List

page 234

Button

page 235

Trim

page 236

For information on creating fields, see Understanding field properties on


page 240 and Creating fields on page 266.

Data fields
Data fields are the fields in a form that contain data and can be any one of the
following data types:
!
!
!
!
!

Character
Real
Date/Time
Date
Time

!
!
!
!
!

Diary
Decimal
Integer
Selection (radio button, drop-down list, check box)
Currency

Character fields
Character fields are useful when there is significant variation in the field
contents or length of the content; for example, descriptive text, names of
people, addresses, and keywords.

214 "Chapter 6Defining fields

Developing AR System Applications: Basic

You can attach menus to character fields or fill them with default text. For
more information, see Defining character field attributes on page 268.

Real fields
Real number fields accept and contain floating-point numbers, which are
useful for displaying very small, as well as very large, numbers. You can use
real fields to process statistical information in reports.

Date and time fields


There are three types of date and time fields:
!

Date/time fieldsStore calendar dates and time together. You can set the
display type to Date Only or Time Only so that the user only sees the date
or time. Users can enter dates from January 1, 1970 to January 1, 2038.
If the user enters a time only, then the current date is assumed. If the user
enters the date only, then 00:00:00 (12:00 midnight) is the assumed time.

Date fieldsStore date information only, as the number of days from the
beginning of its range. Use a Date field when you want to compare two
dates or perform calculations based on the date, such as calculating the
number of days between two dates. Users can enter dates from January 1,
4713 B.C. to January 1, 9999 A.D. in the Date field.

Time fieldsStore time information only, as the number of seconds from


12:00:00 AM. Use a time field to compare two times or perform
calculations based on time, such as the number of seconds elapsed.
The value in a time field is independent of the time zone. While a date/
time field will adjust the displayed value to reflect the users time zone, the
time value in a time field will remain unchanged when displayed on the
client.

Warning: Because values stored in date/time, date, and time fields are not
equivalent, setting, pushing, or merging values among these fields might
produce unexpected results.

The format for these fields matches the locale specified in user preferences. If
there is no user preference for locale, then user environment settings are used
(for example, Regional Settings Properties in the Windows Control Panel).

Field types ! 215

Action Request System 6.3

For more information about how date and time settings are determined in
AR System, see How date and time settings are determined in AR System
on page 69.
For information about workflow considerations for date/time, date, and time
fields, see Keywords on page 673 and Assigning values using function
results on page 645.

Diary fields
Diary fields capture the history of a request over time. Whenever users enter
comments in the diary field, the new entry is appended to the previous diary
entries. Every diary entry is stamped by the AR System server with a
timestamp and user name. After they are entered, diary entries cannot be
modified.
By default, AR System inserts a diary icon to the right of each diary field that
users can click to open a Diary Editor dialog box. When the diary field
contains entries, the icon changes from a blank book to an image of a book
containing text.
The default upper size limit of data contained in diary fields is different for
each of the following databases:
!

For Sybase/MSSQL and Informix databases, 2 GB

For DB2, 10 MB

For Oracle, 4 GB

Note: Use the ar.conf or ar.cfg files to configure a different upper limit for
Oracle and SQL Server databases using the Db-Max-Text-Size
configuration option. For more information about the AR System
configuration files, see the Configuring AR System guide.

To search a diary field when using Oracle, you must configure ar.conf or
ar.cfg to allow searching on clob data types. For more information, see the
Configuring AR System guide.
Consider the effect of searching on system performance. Note that you
cannot search the timestamp or the name of the user who submitted an entry.
You cannot use the Indexing form property to create an index for a diary
field.

216 "Chapter 6Defining fields

Developing AR System Applications: Basic

Decimal fields
Decimal fields accept and contain fixed-point decimal numbers. Real
number fields and decimal number fields differ in the following ways:
!

Real numbers are inherently defined to be approximations, and decimal


numbers are defined to be exact.

Decimal numbers can be higher precision.

The administrator has control over the fractional portion in a decimal


field.

The total number of values in a decimal number field can be as many as 28


places long. This number includes the decimal places (up to 9) you define in
the Precision field. You can control the precision of the number by defining
where the decimal point is placed. Decimal number fields appear rightjustified. Decimal, digit grouping, and negative sign symbols are based on the
users locale settings, which are found in Regional Settings Properties
window.
You can use decimal fields to process statistical information in reports.

Integer fields
Integer fields accept integer values between 2147483647 and 2147483647.
You can use integer fields to process statistical information in reports.

Selection fields
Selection fields provide for a small number of choices. Selection fields are
displayed as one of three types:
!

Drop-Down ListUsers can select a list of choices.

Radio ButtonUsers can select from a visible set of choices.

Check BoxUsers can select only one choice.

The user cannot enter choices that are not included in the definition of the
selection field. (This is one distinction between selection fields and character
fields with menus.)

Field types ! 217

Action Request System 6.3

The choices you define for selection fields correspond to integers starting
with 0. For example, the choices in the Status core field are as follows:
New = 0
Assigned = 1
Fixed = 2
Rejected =3
Closed = 4

For check boxes, you can define more than one choice, but users only have
access to the first value.
You can define searches using the numeric value of choices in the selection
field. For example, the search string Status < 2 will search for all New and
Assigned requests. The search string Check Box = $NULL$ will search for
requests where the check box was not selected.
Use selection lists only in cases where you do not expect the options available
to users to change over time. For information about creating or changing
choices in a selection field, see Creating selection fields on page 274.

Currency fields
A currency field stores currency data, including information the user enters
(a decimal value and a currency type), one or more functional currency types
(whose values are filled in when the currency data is submitted), and the date
on which functional values were converted.
Currency fields require special configuration using AR System forms. For
more information, see Creating currency fields on page 276.

Currency field structure


The currency types that users can enter are selected from the list of allowable
currency types, which are visible in menus or drop-down lists in Remedy
Administrator and in user clients. For each currency field, you can specify a
primary allowable currency type, which is the currency type that is assumed
if the user enters only a decimal value in the field. If you do not specify a
primary allowable currency, the first allowable currency type is used.

218 "Chapter 6Defining fields

Developing AR System Applications: Basic

When the user saves a request, the value in the currency field is converted to
each functional currency type defined for the field. Functional currency
decimal values are stored as part of the fields value. Having these preconverted functional currencies allows you to search, report, and run
qualifications without using the additional server processing time required to
convert the values. Every currency field must have at least one functional
currency type. There is no maximum number of functional currencies, but it
is recommended that you have no more than five, to avoid delays when you
submit requests.
You can set default allowable and functional currency types and decimal
precisions in the Currency Types tab of the Server Information window.
These default currency types then appear in the field properties for all new
currency fields. You can also define unique allowable and functional
currency type properties for individual currency fields. For more
information, see Creating currency fields on page 276.
You can define localized currency labels in the AR System Currency Label
Catalog form. For more information, see the Developing AR System
Applications: Advanced guide.

Currency exchange rates


You define currency exchange rates using the AR System Currency Ratios
form. Create entries that define exchange ratios between every allowable and
functional currency type. Define one exchange ratio for converting from one
currency to another, and a second ratio for converting back. For example, for
United States dollars and British pounds, create one entry for converting
from USD to GBP, and another entry for converting from GBP to USD.
When a user saves a request, functional currency values are calculated
according to ratios stored in the AR System Currency Ratios form.
Add new entries to the AR System Currency Ratios form as currency
exchange rates change over time. During currency conversions, the system
uses the value in the Create Date field to determine the latest available ratio
for new currency values, or the latest available for historical conversion,
when the date specified is something other than current.

Field types ! 219

Action Request System 6.3

Keeping currency ratios up to date


There is no mechanism in AR System that automatically updates records in
the AR System Currency Ratios form. However, you can use AR System to
design your own update mechanism. For example, you can:
!

Create a web service that consumes a currency conversion web service.

Use an ARDBC plugin that interfaces with a rate service.

Create an escalation that submits new values.

You can define the client update interval by which clients query the server for
the latest currency ratios for new currency values. (Currency ratios are stored
in the AR System Currency Ratios form on the server.) Specify this interval
in minutes in the Timeouts tab of the Server Information window. For more
information on server settings, see the Configuring AR System guide.

Currency field function


The user enters a decimal value and selects an allowable currency code from
the menu next to the field. The currency type that was used at the time of
submission is stored as part of the currency value, and this stored currency
value is used when the record is displayed again. Users can view functional
currency values by clicking on the expand box next to the currency field, as
shown in the following figure.

Figure 6-1: Currency fieldfunctional currencies

Decimal values are displayed according to the users locale. For example, on
German systems, thousands are separated by periods.

220 "Chapter 6Defining fields

Developing AR System Applications: Basic

The user can define a preferred currency type, or you can define an initial
currency type in field properties, which loads if the currency field is empty
when the user creates a new request. If you set a default value for the field, it
overrides any initial currency type. For more information, see Setting
currency field attributes on page 281.
In table fields and results lists, when a user sorts on a column, records are
grouped by currency type and then sorted within each group. This allows
meaningful comparisons among currencies of the same type.

Workflow considerations for currency fields


You can use currency fields in active link, filter, and escalation actions.
Currency fields behave like other fields in workflow actions, with the
following exceptions:
!

The Change Field active link action cannot access the menu attached to
the field.

The Set Fields and Push Fields actions allow only the overall value of the
field to be set. You can use the overall value or any portion of the value
(such as the date) as a data source.

There are four functions for currency fieldsCURRCONVERT, CURRSETDATE,


CURRSETTYPE, and CURRSETVALUE. For more information, see Assigning
values using function results on page 645.
For more information about these workflow actions, see Chapter 10,
Automating application processes with workflow.

Field types ! 221

Action Request System 6.3

Because the currency field is a complex type, it has some special data
conversion rules for different situations:
From Currency
to <other data type>:

Data conversion rule

Character or Diary

The decimal value, with the currency code to the right.

Decimal, Real, or Integer

The decimal value only, dropping the fraction as


necessary.

Date/time, Date, or Time

The decimal value converts to a long date value.

Selection

The decimal value converts to an integer value.

From <other data type>


to Currency:

Data conversion rule

Character or Diary

Parses the string to get a number and symbol.


If the symbol is valid, the following rules are applied:
If the symbol is part of allowed currencies for the
field, the symbol and number are used as is. For
example, if 100 ARS is entered, the data is converted
to 100.00 ARS.
! If the symbol is not part of the allowed currencies for
the field:
! If a currency ratio exists between the symbol and
primary allowed currency for the field, the value is
converted to the primary allowed currency.
! If no ratio exists between this symbol and primary
allowed currency for the field, the data is set to
NULL.
If the symbol is not valid, the data is set to NULL.
!

Decimal, Real, or Integer

Converts the numeric value to Decimal, then appends


the primary allowable currency type.

Date/time, Date, or Time

Converts the numeric value of the timestamp to


Decimal, then appends the primary allowable currency
type.

Selection

Converts the numeric value to Decimal, then appends


the primary allowable currency type.

222 "Chapter 6Defining fields

Developing AR System Applications: Basic

Table fields
The AR System supports three types of table fields: table fields, results list
fields, and alert list fields. These fields can be used by the client and the server.
When using table fields, remember the following important distinction:
!

Active links work on table fields on the client.

Filters work on table fields on the server.

Depending on your needs, you might use the same table field in one context
as a server-side table field, but in another as a client-side server table. The
choice depends on where you want to process the information: the client or
the server.
Client-side table fields enable users to view specific fields and requests from
a form in tabular format. Requests are displayed in the field based on a search
of the supporting form.
A server-side table field is any table field (table, results list, or alert list) that
appears in server-side workflow, for example, in filters or filter guides.
Server-side table fields let you use filters in performing calculations on a list
of records.
With a server-side table field, the goal is not to display the entire list of
records to the client, as you would with a client-side table field; you just want
to return the final result. Accordingly, you can create filters to find a specific
row in a table field (for example, find the last Entry ID), and then perform
actions based on specific criteria. You could also use functions that compute
how many records there are, for example, for a given user, or even how many
records simply exist.
Data in a server-side table field is read-only.
The most important reason for using server-side table fields is network
performance. If you are evaluating and performing actions on large amounts
of data (for example, Push Fields actions), you will find a great benefit in
performance because you are not using API calls from the client to the server.
Using filters with server-side table fields creates less network traffic than a
client-side table field where the client must communicate with the server, or
where a browser must communicate with the mid tier to the server, and back
to the browser.

Field types ! 223

Action Request System 6.3

For more information about server-side table fields, see the Developing
AR System Applications: Advanced guide.

Regular table fields


Use a table field in a form to display the results of a search. You can define
which fields from the supporting form are displayed in the table. You can
have multiple table fields on one form.
Controls for a table field in Remedy User are contained in a right-click menu,
as shown.

Figure 6-2: Table fieldWindows view with menu

Similar controls appear as links and buttons below the table in a browser, as
shown. For more information, see Understanding field properties on
page 240.

Figure 6-3: Table field displayed in a browser

224 "Chapter 6Defining fields

Developing AR System Applications: Basic

Results list fields


Forms viewed in Remedy User and in a web browser include a results list
pane that shows a list of requests after a search.
For forms on a pre-6.3 mid tier, you can set a preference in Remedy
Administrator to add a results list field to every web view, as described in
Web View preferences on page 79.
Note: If you place a results list field in a form viewed on a 6.3 mid tier, the
results lists pane will not appear.

In the Table Property tab of the results list Field Properties dialog box, you
can define which fields appear as columns. You define which fields appear as
columns in the results list pane in Remedy User in the Form Properties dialog
box. For more information, see Setting form properties on page 201.
The results list field displays details of a record in a table (or drill-down) on
the web. To support table drill-down, you do not need to define any
particular columns in the results list field. If you are only using the results list
field to support a table, and not to display the results of a search, consider
hiding the results list field.
You can have only one results list field on a form; however, each view of that
form can display different columns.
The results list field is visible only during a query. When the user switches to
submit mode, the results list field becomes hidden. Consider where to
position the field in the view so that you achieve the desired layout in
different modes.

Field types ! 225

Action Request System 6.3

Alert list fields


Use an alert list field to display an alert list in a web view, as shown. You can
insert only one alert list field on a form. The supporting form for an alert list
is the Alert Events form, but when users drill-down, they see the request on
the form that generated the alert. To support drill-down from the alert list
field, the forms originating the alerts must contain results list fields.

Figure 6-4: Alert list field

Each AR System server installation includes the Alert List form, which
includes an alert list field in a web view. You can add this form to your webbased applications, or use your own form. See the Developing AR System
Applications: Advanced guide for more information on implementing alert
lists on the web.

Table field structure


In a table, each column title represents a field from the supporting form, and
each row represents a request from that form. For table and results list fields,
you can define which fields will appear as columns. Almost any field can be
defined as a field column; however, you cannot list attachment fields, diary
fields, or character fields with a database length of more than 255.
The columns themselves are also fields, and you can specify their properties.
In Remedy Administrator, double-clicking a column causes the Field
Properties dialog box for that column to appear (Figure 6-33 on page 289).
You can alternate between viewing column properties (by clicking a column)
and table field properties (by clicking inside the table field).

Table field function


When the table field is refreshed, information that meets the fields search
criteria (such as parts ordered, delivery status, and price) appears beneath the
column headings. If new entries that meet the table fields search criteria are
made to the supporting form, the user will see them when the table is
refreshed.

226 "Chapter 6Defining fields

Developing AR System Applications: Basic

You can set the Refresh on Entry Change property (see page 246) to
automatically refresh data whenever the main request is displayed, or to
allow manual refresh.
You can also set the Data Chunking property to chunk (or display in parts)
the requests returned (see page 298). For example, you set the size of chunks
to 5, and up to 5 requests are initially displayed. If more than 5 requests are
returned, you can determine how users proceed to the next chunkby
clicking a hyperlink that you define in Advanced Properties for the table, or
by clicking a button that triggers an active link. For more information on
configuring chunks, see Defining Advanced Display properties for tables
on page 296.
You can allow users to dynamically define the search criteria by using the
EXTERNAL() operator. For more information, see Operators on page 668.
Users can view and edit row data (see Display Type on page 248). If you
give users permission, they can change the data in a table or alert list field by
drilling down to the source request. For results list fields, users can display
and modify a record in the current form by selecting that record in the results
list field. Users must have permission to the supporting form, to the fields on
the supporting form, and to the table field. For more information, see Table
field permissions properties on page 97.
You can set properties to make rows appear in different colors based on the
value of a selection field item. For example, as shown below, a table field
might use data showing various types of engine parts that have been ordered
from multiple vendors, with Backordered in red to alert the assembly
manager. For more information, see Defining results colors on page 295.

Figure 6-5: Table fieldWindows view

Field types ! 227

Action Request System 6.3

Workflow considerations for table fields


You can use active links and filters to allow users to modify data in the
supporting form of a table field as follows:
1 Create a Set Fields action to pull request data from the row into a set of fields.

The user can then modify the values in this set of fields.
2 Create a Push Fields action to push the new values into the request on the

supporting form.
3 Create a Change Field action to refresh the table.

You can create guides (active link and filter) that loop through rows in a
table. The guide selects each row in a table field (without highlighting) and
performs a series of workflow actions on the row. This action is also known
as walking a table field. For more information, see the Using workflow to
walk a table field on page 659.
You can also select rows and create statistics on columns such as sums,
averages, maximum and minimum values, and both total number of rows or
total number of non-NULL values in a column. For more information about
functions you can use with table fields, see Using workflow to walk a table
field on page 659.

Page fields
A page field enables you to organize fields on a set of tabbed pages. When
fields are grouped onto pages, the form is easier to use because users do not
have to scroll through long forms to find a particular field.

Page field structure


Page fields are composed of a page holder containing one or more tabbed
pages. You add fields to each page and arrange the page order and field
layout. You can hide the page holder border and page tabs, and use workflow
to display each page. You can specify some fields as shared fields, meaning
that they appear on every page.

228 "Chapter 6Defining fields

Developing AR System Applications: Basic

When creating page fields, you set properties for each individual page
(including field ID) and for the page holder. In addition, you must provide
permissions for each of the following levels:
!

Page holder

Individual pages

Each field on each page

Users without permission to the page holder cannot see the pages or the
fields. Users with permission to the page holder but not a page, cannot see
any fields on that page. For more information, see Page field permissions
properties on page 97.

Page field function


For page fields with a border and tabs, users click on a tab to display a page.
If you choose not to display the page holder border and the page tabs in a
form that will be viewed in a browser, you must create workflow to allow
users to change which page is displayed. See the procedure To create a page
field: on page 303 for information about removing the border and tabs.

Workflow considerations for page fields


When executing active links, a specific page gains focus when any of the
following conditions occur:
!

A user clicks a tab.

A user tabs to a page.

An active link sets focus to a page.

A page in a page holder loses focus when any user or workflow operation
causes the focus to move from a page tab. Page visibility is not always
dependent upon field focus. You can use the following workflow actions with
page fields:
!

Use the Set Fields action on a page holder to bring a specific page (by using
its database name) to the top of the page holder without setting focus.

Use the Change Field action to change focus to a page field, to make a page
or page holder hidden or visible, or to set the page label color.

You can use a page holder as a data source in workflow. For example, you can
use a Run If qualification such as PageHolder = Page3.
For more information, see Defining workflow basics on page 477 and
Building qualifications on page 484.

Field types ! 229

Action Request System 6.3

Attachment pools
An attachment pool contains attachment fields that enable users to store text,
graphics, audio, or video with a request. Attachment data is compressed and
stored in the database with each request.

Attachment pool structure


Each form can contain any number of attachment pools, and each
attachment pool can contain any number of attachment fields, subject to
database limitations. You also define the maximum size for each attachment
field (in bytes). Depending on field setup, the attachment pool shows the
names of attached files, or displays columns of information about each
attachment. Attachment pools do not have labels, but you can use trim to
label the attachment pool on the form.
You set the properties (including permissions) for the attachment pool, and
for each of the attachment fields within the pool. View permission allows
users in a group to view attachments. Change permission allows users in a
group to add and remove attachments in an attachment pool.

Attachments viewed in Remedy User


In Remedy User, attachments can be viewed as icons or with details, such as
the file size. When creating a new request or modifying an existing request,
the user right-clicks in the attachment pool to open a menu with commands
to change the view; to add, delete, or display attachments; or to save them to
a local disk. Users can also add attachments by dragging files into the
attachment pool. The following figure shows an attachment pool with its
menu displayed in Remedy User.

Figure 6-6: Attachment poolWindows view

230 "Chapter 6Defining fields

Developing AR System Applications: Basic

Attachments viewed in a web browser


For forms that will be viewed in a browser, you define the columns that
appear at the top of the attachment pool, as well as the add, save, delete, and
display commands, which appear as buttons below the pool. When creating
a new request or modifying an existing request, the user clicks an available
button to perform the specified function, as shown.

Figure 6-7: Attachment pool displayed in a browser

Attachment pool function


Attachment pools function slightly differently in Remedy User and in forms
viewed in a web browser.

Attachments viewed in Remedy User


In Remedy User, when a user drags or adds a file to the attachment pool, the
file will be added to the next available attachment field. If no empty
attachment field is available, the user is prompted to replace the file in the
first attachment field. When a user selects Add or Delete, attachments are
added to or deleted from the database when the request is saved.
Note: When users perform the Copy to New operation in Remedy User, the
new request does not include the attachments and diary fields. Users must
save attachments to files and then attach them to the new request. Web
clients do not have a Copy to New operation.

Attachments viewed in a web browser


Users viewing a form in a browser can add, delete, open, or save attachments
by using buttons defined by the administrator in Attach Fields properties for
the attachment pool. The buttons do not appear until the user selects an
attachment field. If the user selects an attachment field that does not contain
an attachment file, only the Add button appears. For information about
attachment field buttons, see Defining display labels for attachment pools
on page 316.

Field types ! 231

Action Request System 6.3

Workflow considerations for attachment pools


The attachment pool and attachment field names you specify in the Database
tab can be used as field references when creating workflow. You can use all
attachment properties in active link, filter, and escalation actions. You can
use the following supported actions:
!

The Change Field active link action to show or hide an attachment pool
and to set focus to it.

The Message action to display the name of an attached file in a message.

The Set Fields and Push Fields actions to transfer attachment data from
one attachment field to another attachment field. You can also use the Set
Fields action to display an attachment in a View field.

The Set Fields and Run Process active link actions to add, save, open, or
delete attachments. The available Run Process commands are:
!

PERFORM-ACTION-ADD-ATTACHMENT

PERFORM-ACTION-DELETE-ATTACHMENT

PERFORM-ACTION-OPEN-ATTACHMENT

PERFORM-ACTION-SAVE-ATTACHMENT

For more information about these commands, see Table of Run Process
and $PROCESS$ commands on page 618.
For more information about these actions, see Chapter 10, Automating
application processes with workflow.

View fields
A view field is a display-only field that displays any type of document that a
typical browser can display, including:
!

URLs for locally stored HTML files or published web pages (Remedy User
and Internet Explorer clients only).

Attachment field contents, such as HTML files, image files, and Microsoft
Word documents.

Views of AR System forms.

HTML source code with embedded field references.

232 "Chapter 6Defining fields

Developing AR System Applications: Basic

View field structure


You set the initial value of the view field by setting a Display property or by
using a Set Fields active link action. You can add multiple view fields to a
form to display various pieces of data from different sources. You can also
use different initial display values for every view of a form to customize the
presentation for any language, platform, or user role.
View fields do not have labels; use a text trim field to add a label as needed.

View field function


The contents of a view field are displayed in Remedy Administrator after you
specify a URL, file, AR System form view, or HTML code as an initial value
and close the Display Properties window. If the view field is too small to
display the entire document, scroll bars appear on the right side and bottom
of the field depending on how you define Advanced display properties values.
See Creating view fields on page 317.
View fields cannot be resized.

Figure 6-8: View field with scroll bars

The contents of a view field do not load automatically when the user opens a
form. In New mode, users can see the contents if the Set To Defaults user
preference is set. In New or Search mode, you can set the initial value with an
active link that executes on Window Loaded and sets the value of the view
field.

Field types ! 233

Action Request System 6.3

You can also make the contents of the view field persist across actions in the
same window by making the view field a window-scoped global field. Create
the view field with a field ID in the range of 3000000 to 3999999 and use
workflow to set the initial value. For more information, see Global fields on
page 237.

Workflow considerations for view fields


A view field participates in active links and filters as a display-only character
field. It cannot participate in escalations, and it cannot trigger active links.
You can use workflow to set focus to view fields.

Application list fields


An application list field displays a list of available entry points. The contents
of this list are automatically generated from AR System. It is composed of the
available applications, forms, and entry point guides on a given server.

Application List
field with entry
points

Figure 6-9: Application list field in sample home page

Any form that contains an application list field can be used as a Home Page
form, as shown in Figure 6-9. You can insert only one application list field on
a form.

234 "Chapter 6Defining fields

Developing AR System Applications: Basic

For more information, see the Developing AR System Applications: Advanced


guide.

Workflow considerations for application list fields


You might want to display only a subset of applications and entry points to
users. Accordingly, you can create sophisticated workflow using a reserved
character field ID that lets users see only a subset of entry points. Here you
use a Run Process command (PERFORM-ACTION-HOME-FIELD-REFRESH) to
display dynamically a subset of servers and applications.
For more information, see the Developing AR System Applications: Advanced
guide.

Button fields
Button fields are control fields that are used to execute active links. For more
information, see Using buttons and menu bar items to execute active links
on page 587.
Buttons can be displayed as URLs and then associated with an Open Window
active link action to simulate a hyperlink that opens a new window. For more
information, see Display Type on page 248. To add a real URL that links to
a web page, see Adding a URL to a text field on page 328.
You can add an image to a button to enhance the look of forms displayed in
Remedy User. For more information, see Adding an image to a button on
page 322.

Field types ! 235

Action Request System 6.3

Trim fields
Trim fields are lines, boxes, and text (including URLs) that enable you to
modify the appearance of a form. You can use vertical or horizontal lines,
rectangles, or text to group similar fields together or to emphasize parts of the
form. Types of trim are shown below.

Figure 6-10: Lines, boxes, and text

Each piece of trim is treated as a field by AR System, meaning that it has a


unique field ID, a name, and display information. (No database information
is associated with trim.) Treating trim as a field enables you to:
!

Address each piece of trim in your workflow. For example, you can use a
Change Field active link action to make a box hidden or visible.

Change how or if the trim appears in different form views.

Define permissions for the trim to match the permissions of associated


fields so that the trim is not visible if the fields are not visible.

Add and change trim in the same way that you add and change other
fields.

Create URLs that link the form or application to the Internet. For more
information, see Adding a URL to a text field on page 328.

For forms used in Remedy User, you can place a transparent trim box field
over existing fields to visually group the fields. This is not recommended for
forms that will be viewed on the web. For more information, see Creating
trim fields on page 324.

236 "Chapter 6Defining fields

Developing AR System Applications: Basic

Global fields
Global fields are a class of display-only fields that share values across multiple
windows and forms (regular global fields) or across multiple records in the
same window (window-scoped global fields).
You can make a field into a global field by setting the field ID to a value within
a reserved range. The following field types can be global fields:
!

Character

Date/Time

Date

Time

Diary

Integer

Real Number

Decimal Number

Selection List (radio button, drop-down list, or check box)

Currency

View (window-scoped global fields only)

You cannot create default values for global fields. The values in global fields
begin as NULL until they are initialized through active links, or the user
enters the information. The values in global fields are not affected if the user
chooses Edit > Clear All or Edit > Set to Defaults.
For more information on display-only fields, see Entry Mode on page 257.
In forms viewed in a browser, global fields are implemented as encoded
values in cookies, which have a 4k limitation. (With other cookie data, you
can estimate that 3,500 bytes can likely be stored.) Global values are checked
and fields are updated when a window receives focus.

Global fields ! 237

Action Request System 6.3

Using regular global fields


Use a regular global field to share data across multiple forms. The field value
stays in Remedy User memory until the next login. On web clients, the value
in the global field persists across forms for the user session, but is not shared
across sessions.
Use regular global fields for information that is expected to be shared across
multiple forms and windows in an application. For example, on several
forms, you might include a global field for the users license information.
" To create a regular global field:
1 Add one of the valid global field types to a form.

For a list of valid field types, see Global fields on page 237.
2 Set the field ID to a value in the range from 1000000 to 1999999.

See Database properties on page 253 for more information.


3 Copy the global field to multiple forms.

Make sure that each copy of the global field uses the same field ID number.

Using window-scoped global fields


Use a window-scoped global field to share data between records in the same
window. The initial field value is set by the user or by active links and stays in
the field until the window is closed. This value must be reinitialized when the
window opens again.
Using a window-scoped global field, for example, you could display
information about weather conditions in a view field. This information
would remain the same while the user performs searches on other fields in
the same window. If you displayed the same information in a regular global
field, you would have to refresh it every time a new record is displayed. With
a window-scoped global field, you set the value once for that window and
update the value using active links when you choose to do so. For example,
you could update the information about weather conditions on an interval.
" To create a window-scoped global field:
1 Add one of the valid global field types to a form.

For a list of valid field types, see Global fields on page 237.
2 Set the field ID to a value in the range from 3000000 to 3999999.

See Database properties on page 253 for more information.


238 "Chapter 6Defining fields

Developing AR System Applications: Basic

GUID fields
You can use a character field to automatically generate a globally unique
identifier (GUID.) GUIDs are useful in a multi-AR System server
environment where you need unique IDs across AR System servers. Using
GUIDs in this case guarantees unique, transactionally safe IDs for your
requests. GUIDs do not replace Request IDs. Each request will still have a
Request ID.
Note: Prior to AR System 6.3, you used the $PROCESS$ command to generate
GUIDs. Using a GUID field provides better performance than the
$PROCESS$ command.

To auto-populate a field with a GUID, define a character field using field ID


179. A GUID is available during active link processing on the client and
through all filter phases. By contrast, the value of Request ID field is not
available until an entry has been successfully committed to the database. You
can set the attributes of the GUID field, except for field type, length, and ID.

Determining what types of fields to use


When creating a form, determine what type of information your form will
contain. Adding new fields should be motivated by the planned use of the
fields. Some possible uses include:
!

Data fields that all users need. These fields should be grouped together.

Data fields used by selected groups of users. Consider grouping these fields
on separate tabbed pages.

Data fields that contain information not presented to users. Consider


hiding them from all views.

Temporary workflow fields. These fields store temporary, working values


used during workflow processing. Consider hiding them from all views
because users do not need to interact with these fields.

Visual cue fields. Trim fields, page fields, view fields, and images on button
fields provide cues to users on how best to use each form.

List-oriented fields. Use table fields when presenting data lists on forms.

GUID fields ! 239

Action Request System 6.3

Add fields carefully since you might find it impractical to eliminate a field
after users have come to rely on it. In addition, how you administer fields can
affect performance. For more information about system performance and
fields, see the Optimizing and Troubleshooting AR System guide.

Understanding field properties


For each field, you use a properties window to define properties that
determine how a field will look and perform during operations performed in
Remedy User.
The following table presents the field properties tabs and the page where you
will find more information.
Tab Name

Page

Display

page 242

Advanced

page 251

Database:
!
!

All fields (except attachment fields)


Attachment fields

page 253
page 314

Permissions

page 259

Views

page 259

Related Workflow

page 261

Help Text

page 262

Change History

page 263

Attributes:
!

Character Fields

page 268

Currency Fields

page 281

Date and Time Fields

page 270

Diary Fields

page 271

Integer Fields

page 271

Real Fields

page 272

Decimal Fields

page 273

Selection Fields

page 274

240 "Chapter 6Defining fields

Developing AR System Applications: Basic

Tab Name
!

Trim Fields

Page
page 326

Color/Font:
!

Data and Button fields

page 263

Trim fields

page 329

Allowable Types (Currency fields only)

page 279

Functional Types (Currency fields only)

page 280

Table Property (Table fields only)

page 286

Sort (Table fields only)

page 294

Results Color (Table fields only)

page 295

Advanced Display (Table fields only)

page 296

Table Labels (Table fields only)

page 299

Pages (Page fields only)

page 307

Shared Fields (Page fields only)

page 309

Attach Fields (Attachment pool fields only)

page 311

Active Links (Button fields only)

page 322

Image (Button fields only)

page 322

Understanding field properties ! 241

Action Request System 6.3

Display properties
From the Display tab, you can define how fields are displayed in Remedy
Administrator and Remedy User.
The following figure shows character field display properties. The display
properties vary for each field type.

Figure 6-11: Field PropertiesCharacter Field, Display tab

242 "Chapter 6Defining fields

Developing AR System Applications: Basic

The option settings in the following table appear in the properties window
when you select the Display tab. These settings apply only to the specific form
views in which they are set. For example, in one view a field might be visible,
while in another view, the field might be hidden or located somewhere else
in the form.
Field

Description

Label

Identifies a field in the currently selected view of the form. You can enter a name with as
many as 80 characters that describes the meaning and purpose of the field. The label can
include spaces and double-byte characters. Avoid using spaces at the beginning of field
labels; spaces added at the beginning of field labels will not appear in some browsers.
If you leave this field empty, the field appears on the screen with no label. Users with
Customize permissions can define labels in their personalized views in Remedy User.
The field label text need not be unique. However, if duplicate field labels exist in a form,

AR System will issue a warning message every time you apply changes to that form
(unless you disable the Remedy Administrator preferences for duplicate blank and
nonblank field label warnings, as described in Confirmation preferences on page 70).
You can use single quotation marks in field labels; however, when performing searches,
users will need to enter two single quotation marks when specifying the quotation mark
in the label. This is because field labels that contain special characters must be enclosed in
single quotation marks in searches, and a single quotation mark in the label would
otherwise be interpreted as the end of the field label.
Location

Defines where a data fields label will appear in relation to the field: Top (above the field)
or Left (the default).

Justify

Defines where a label is positioned relative to the left and right edges of the region
available to the label. Your choices are Left (the default), Center, and Right.

Align

Aligns labels to the top, center, or bottom of the region available for the label. The default
is Top for labels located to the left of the field. The default is Bottom for labels located
above the field. For more information, see Using the alignment field to align form fields
on page 417.
For text fields with one row, when the Align property is set to Top, labels appear in the
center in Remedy User and on the web. For more information, see Rows on page 244.

Defines the horizontal position of the left edge of the field in the form.
The X and Y settings are relative to the top left corner of the form. For example, X=0 and
Y=0 is the top left corner of the screen.

Understanding field properties ! 243

Action Request System 6.3

Field

Description

Defines the vertical position of the left edge of the field in the form.
The X and Y settings are relative to the top left corner of the form. For example, X=0 and
Y=0 is the top left corner of the screen.
If you have a series of data fields on the same line, these fields must have the same Y
coordinate for tabbing between fields to work from left-to-right, top-to-bottom, unless
you define a tab order of fields in the form. For more information, see Setting the tab
order for the fields in a form on page 421.

Field Width

Defines the width of the field in pixels.

Field Height

Defines the height of the field in pixels.


This setting applies to data, button, line trim, table, and page holder fields.

Data Length

Defines the width of the fields data entry region in pixels. Display length often differs
from the setting of the maximum length allowed for data entered in the field (see Input
Length on page 256). If a user enters more characters than can be displayed, the text will
scroll off the end of the field, provided the internal field length can accommodate the
input.

Rows

Defines the number of rows displayed in a field.


!

Hidden

For selection fields displayed as radio buttons, defines the number of rows used for the
selection choices. A setting of 1 produces a single horizontal row. A setting of 2 divides
the choices evenly into two horizontal rows, and so on.
For text fields, defines the number of rows of text that are displayed.

Specifies whether the field is visible in the users view. If the check box is selected, the field
cannot be seen in the view, although users with Customize permissions can make a
hidden field visible.
A hidden field remains in the database and can be accessed by workflow. You can create
active links to hide and unhide fields dynamically.

244 "Chapter 6Defining fields

Developing AR System Applications: Basic

Field

Description

If Hidden, No In legacy relative web views, defines the field as taking up no space when hidden. Select
Space
this property if your application includes overlapped or hidden fields to ensure the
correct alignment of surrounding fields.
The If Hidden, No Space option is not available in Standard (Recommended) and Web Alternate (Fixed) views.
If you select Maintain Field Layout when creating the web view and select the If Hidden,
No Space option, you must also modify the HTML source code for the view as follows:
!

!
!

In the source code, locate the HTML table and table cells associated with each field
pagelet.
Identify pagelets by the field ID, and locate the associated <TABLE> and <TD> tags.
Remove the width tag from the HTML tables containing hidden fields. For example,
change <TABLE height=128 width=910 border=0> to <TABLE height=128 border=0>.
Remove the width tag from each HTML table cell that contains a hidden field.
For example, change <TD width=455> to <TD>.

Note: This property does not make the field hidden. To hide the field, select the Hidden

property or use a Change Field action.


Disable
Change Flag

For data and attachment fields, defines whether the change flag (or dirty bit) is affected
by the field you are creating. When the check box is selected, the field will not affect the
change field status of the form. This can be helpful when you have calculations that use
hidden fields.
Note: Any field not in the users current view does not affect the change flag, even if the

Disable Change Flag check box is cleared. You can associate a SET-CHANGE-FLAG Run
Process action with a field not in the view to set the change flag as needed. For more
information, see Including and excluding fields from form views on page 423 and
Special Run Process and $PROCESS$ commands on page 616.
For more information, see GET-CHANGE-FLAG and SET-CHANGE-FLAG in Table of Run
Process and $PROCESS$ commands on page 618.
Display As
Text

For data fields, displays the contents of the field as plain text, without a field border or
background. You might want to set an initial value for the field as described in Database
properties on page 253.

Read/Write,
Read Only,
Disabled

For data fields, defines how users initially access a field in the current view.
!

!
!

Read/Write (the default)Users can read, access (for example, copy), and edit field
information. (This is the default.)
Read OnlyUsers can read or access field information, but cannot edit it.
DisableUsers can read field information, but cannot access or edit it.

Understanding field properties ! 245

Action Request System 6.3

Field

Description

Expand Box

For character, diary, date/time, date, and currency fields, determines whether the expand
box icon appears next to the field. You might want to hide the expand box if you select
the Display As Text check box. The options are:
!

!
!

Enabled,
Disabled

DefaultHides the expand box for character fields if the field length is less than 70.
Displays the expand box for diary, date, and date/time regardless of field length.
HideAlways hides the expand box.
ShowAlways displays the expand box.

For trim or control fields (buttons and form menu items), controls how the field is
initially displayed. The options are:
!
!

EnabledResults in an active field. (This is the default.)


DisabledResults in an inactive (grayed out) field.

Table DrillDown

For table, results list, and alert list fields, determines whether the source request can be
displayed. When Table Drill-Down is enabled, to open the source request of a row in
modify mode, users can double-click the row in the table in Remedy User or web clients.
See Defining Table Labels properties on page 299 for more information.

Refresh on
Entry Change

For table fields, refreshes data when the request in which the table is embedded appears.
Enable this mode if users must see the contents of the field whenever they access a request.
To reduce performance impact, limit the use of this feature because each refresh causes a
database search.
If the Refresh on Entry Change check box is not selected, the user can refresh data
manually in Remedy User by clicking the table field or by right-clicking in the table field
and choosing Refresh Table. On the web, users can click the Refresh button, if the
administrator supplies this button. See Defining Table Labels properties on page 299
for more information.
You can refresh a table field using workflow by selecting the Refresh Table Field check box
when defining a Change Field active link action.

246 "Chapter 6Defining fields

Developing AR System Applications: Basic

Field

Description

Auto Fit
Columns

For table, results list, and alert list fields, specifies that column widths should be scaled
proportionally to the width of the table, results list, or alert list field. This ensures that no
horizontal scrolling is necessary to see all columns.
If Auto Fit Columns is not checked, the column widths are not scaled, and a horizontal
scroll bar might appear so that the user can access all columns. See also the Column
Width property on page 249.
In web clients, tables always have scroll bars, even with Auto Fit Columns enabled. If you
have data that exceeds the width of the column headings, the headings and data might not
align correctly when Auto Fit is used in conjunction with Fixed Headers.
Unlike Windows, column size on the web is not exact. The web client will try to fit the
columns into the requested table width size area. If the width of your column title and the
data in the column is narrow, and the column width size defined in Remedy
Administrator is wide, the web client might shrink the column width to accommodate
other columns so that all the columns can be seen.

Fixed Headers For table, results list, and alert list fields in web clients only, prevents the table header
from disappearing when scrolling down a table.
In some browsers, editable drop-down list fields within a table might not appear correctly
with Fixed Headers enabled.
Data Type

Indicates the field type. This property also appears on the Database tab. The data type
property is read-only.
See Field types on page 214 for more information.

Understanding field properties ! 247

Action Request System 6.3

Field

Description

Display Type

Defines how field information is presented in a form.


For character fields, the options are:
Drop-Down ListUsers can select a value from a drop-down list, but cannot type
directly in the field. Values available in the list are from a menu you attach to the
character field. The drop-down list option is only available if the character field has a
menu attached to it. This option is different from the drop-down list for a selection
field although they look similar.
! EditUsers can type values directly into the field.
! Edit MaskedUsers can type values directly into the field, but the value is displayed as
asterisks. This display type, however, offers no special security. For example, a value
you enter is not stored in the database as an encrypted value. Edit masked values are
exported, imported and transmitted from client to server in clear text.
For diary and real fields, the options are:
!

EditUsers can type values directly into the field.


For date/time fieldsThe options are:

Date and TimeUsers can click a calendar that enters date and time values directly
into the field. Users can also directly edit date/time fields.
! Date OnlyUsers can click a calendar that enters date values directly into the field.
Users can also directly edit date/time fields.
! Time OnlyUsers can click increment and decrement arrows (# and $) to enter a
time value directly into the field. Users can also directly edit date/time fields.
For date and time fields, the only choices are Date and Time, respectively.
!

For selection fields, the options are:


Drop-Down ListUsers can select from a list of choices.
Radio ButtonUsers can select from a visible set of choices.
! Check boxUsers can select only one choice.
For integer fields, the options are:
!
!

EditUsers can type values directly into the field.


Numeric SpinnerFor Remedy User clients and Internet Explorer browsers only.
Users can click increment and decrement arrows (# and $) to increase or decrease
the number in a field. Users can also directly edit numeric fields.
For currency fields, the only choice is Edit.

!
!

For buttons, the options are:


!
!

ButtonUsers can click a button to initiate active link actions.


URLThe button looks like a URL, which users can click to initiate active link actions.
With the URL display type, you can also select a Justify property for the button label.
See Justify on page 243 for more information.

248 "Chapter 6Defining fields

Developing AR System Applications: Basic

Field

Description

Display Type
(continued)

For attachment fields, the only choice is List Control., which allows users to view data as
a list of elements (such as attachments).
Page holders, pages, and attachment pools do not have an associated display type.
For table, results list, and alert list fields, the only choices are Table, Results List, and Alert
List, respectively.
For columns in results list and alert list fields, the only choice is Read Only.
For columns in a table field, the options are:
!

!
!

EditableUsers can change the value in cells in a column. Editing cells in a table does
not affect data in the supporting form. On refresh or sort, changes the user makes are
lost, and data displayed in the table will be the data from the parent form. Also, editing
a table does not affect the modify flag of the form, nor does it affect row colors.
Read OnlyUsers cannot change the field value.
Read Only-HTMLUsers cannot change the field value.
In web clients, data in the cell is displayed as HTML. For example, if a cell contains
<b>my cell</b>, it will be displayed as my cell, but in Remedy User, it will be displayed
as <b>my cell</b>.

If the column references a display-only field, you can specify the initial value of the
column by entering text in the Default Value field. See the Default Value property that
follows. For more information about display-only fields, see Entry Mode on page 257.
Column
Width

For columns in table, results list, and alert list fields, defines the width of the column in
pixels. See also Auto Fit Columns property on page 247.

Wrap Text

For columns in table fields, defines that multiple lines in table column fields are
automatically wrapped or that carriage returns are allowed in their row data.

Default Value

For columns in table fields that reference display-only fields, sets the initial value for cells
in the column, up to 255 characters.
If the column has a display type of Editable or Read Only, its initial value can be either
text or the value from another column in the same table. If the column has a display type
of Read Only-HTML, its initial value can be a combination of column references and text.
If Default Value is a column reference, such as $Column2$, the value in the display-only
column is set to the corresponding value in that column. If the column reference is not
valid, the reference will be displayed as text.

Attachment
Pool List

For attachment fields, copies an attachment field to a second attachment pool when
multiple pools are defined on a form.

Text

For text fields (trim), defines the text that will appear in the trim of a form. For view fields,
defines the initial display value for the field. For more information, see Trim fields on
page 236.

Understanding field properties ! 249

Action Request System 6.3

Field

Description

Insert URL
Link

For text fields (trim), enables you to define the URL that is linked to the text defined in
the Text field of the properties window.
After you highlight a portion of the text you have entered in the Text field, click this
button to turn the highlighted text into the label of a URL, which the user can click to link
to the specified destination. The destination can be any of the following URLs: file:, ftp:/
/, gopher://, http://, or mailto:. By default, the URL will appear in blue text.
For more information about inserting URLs into a form, see Accessing forms and
applications with URLs on page 444 and Adding a URL to a text field on page 328.

Background
Mode

For page holder fields, defines whether the background image for the view shows through
the page holder and all page fields.
Opaque (the default)Does not show the background images through the page
holder. The color of the page holder and page fields is determined by the views
background color.
! TransparentIn Remedy User, sets the page holder to the same background color as
the form view, and anything placed under the page holder is not seen. In a browser,
allows anything placed under the page holder to be seen.
For more information on background images and colors in views, see Setting view
properties on page 373.
!

Initial
For currency fields, defines the currency type that appears in currency fields that are
Currency Type empty when the form opens in New mode. Users can set a preference for initial currency
type that overrides this setting.

250 "Chapter 6Defining fields

Developing AR System Applications: Basic

Advanced properties
From the Advanced tab in the Field Properties dialog box, you specify values
for Auto Layout functionality for all field types. See Using auto layout to
arrange fields on a form view on page 387 for more information.
For view, application list, and Flashboards fields, you can also use the
Advanced tab to specify border and scroll bar parameters. For more
information about view fields and application list fields, see Creating view
fields on page 317 and Creating application list fields on page 319. For
information about Flashboards fields, see the Remedy Flashboards
Administrators Guide.

Figure 6-12: Field PropertiesView Field, Advanced tab

Understanding field properties ! 251

Action Request System 6.3

Field

Description

Column Type Indicates how wide the field should be. Possible values are:
!

!
!
!

0This field will share space with the previous field. Valid for
button fields only. See About auto layout properties on
page 397 for more information.
1One field of this type will fill the row.
2Two fields of this type will fill the row.
3Three fields of this type will fill the row.

Field Type

Indicates the type of field selected. You can change the field type if
it is permitted for the selected field. For example, you can change
an Application Title field to a Category Title, Page Title or Regular
field.

Navigation
Level

Indicates level of indentation in a navigation panel. Possible values


are 1, 2, and 3. This applies only to Navigation fields.

Overlap

Indicates that two or more fields should occupy the same space on
the view and the same place in the field order.
This property is useful if you want to hide fields or display certain
fields based on workflow.

Align

Specify whether you want the selected field aligned left or right
relative to the view. This applies only to Button fields, Action
fields, and Form Action fields.
This property is also useful in conjunction with zero-column
buttons. See Using zero-column buttons on page 407.

New Column

Indicates that this field is the start of a new column in a form in


auto layout mode. See Using auto layout to arrange fields on a
form view on page 387.

New Section

Indicates that this field should be the start of a new section of a


form in auto layout mode. See Using auto layout to arrange fields
on a form view on page 387.

252 "Chapter 6Defining fields

Developing AR System Applications: Basic

Field

Description

Border

Identifies how borders are shown:


!

!
!

Scroll Bar

DefaultThe field border is displayed when only the content of


the view field is a URL. The Default option works only with webbased clients. Selecting this option for native-based clients is
equivalent to selecting the Show option.
HideThe field border is not displayed.
ShowThe field border is displayed.

Identifies how scroll bars are shown:


!

!
!

AutoShow the scroll bars only when the view field content
does not fit completely within the field.
ShowAlways show scroll bars.
HideAlways hide scroll bars.

Database properties
The settings described in the following table appear in the properties window
when you select the Database tab. These settings apply to all views.
Note: Attachment fields use different database properties, which are
described in Defining Database properties for each attachment field on
page 314.

Figure 6-13: Field PropertiesCharacter Field, Database tab

Understanding field properties ! 253

Action Request System 6.3

Field

Description

ID

Identifies the field internally throughout AR System. Every field in a form must have an
integer field ID that is unique in that form. If you leave the ID field empty or set it to
zero when you are defining a field, AR System will automatically assign a number from
the unrestricted number set. Restrictions on field ID numbers are as follows:
Numbers 199 are reserved for core fields. You cannot assign an ID in this range,
unless you are modifying core fields. See Appendix A, Core and reserved fields for
information about these fields.
! Numbers 100536870912 are reserved. If you use an ID in this range, you will receive
a warning. Numbers 10000001999999 and 30000003999999 are specifically
reserved for regular global fields and window-scoped global fields, respectively. For
more information about global fields, see page 237.
! Numbers 5368709132147483647 are administrator-defined. There are no
restrictions on assigning numbers in this range. If you choose to assign field IDs
instead of letting AR System do it automatically, be aware that view IDs are also
drawn from the low end of this range.
Columns in table fields and pages in page fields also have an ID. For purposes of
assigning order in workflow, you can assign the ID yourself, or let AR System assign the
number for you.
!

The field ID remains constant even if the database name or display label changes. You
cannot modify the field ID after it is applied to the database.
If you are defining fields that serve the same purpose in more than one form, assign
identical IDs to the identical fields in the different forms. You can then write workflow
once for that field (with minor edits to AR System field definition) and reuse the field
in multiple forms. Reusing the ID provides a consistent definition for the field across
the forms.

254 "Chapter 6Defining fields

Developing AR System Applications: Basic

Field

Description

Name

Identifies the field in the database. Every field in a form must have an alphanumeric
field name that is unique in that form. Names can be as many as 80 characters, including
spaces. Names can include double-byte characters, but avoid using numbers at the
beginning of the name.
If you leave the Name field empty, Remedy Administrator generates a name based on
the field type and appends a number to the name to make it unique. For example, if
there is already a field called Column1, Remedy Administrator names the next field of
this type Column2.
Note: If you create a field with a dollar sign ($) or an apostrophe (') in the database

name, you must double the dollar sign or the apostrophe when using the field in
workflow in addition to adding the surrounding characters. For example, a field
named MyMoney$ would be entered in workflow as $MyMoney$$$, while a field
named Johns Money would be Johns Money.
The field name is easier to use than the field ID when creating workflow such as active
links and filters. Unlike the field label, the field name is not specific to a view of the
form. Do not confuse the field name with the field label that you define in the Display
properties tab, especially when creating workflow.
To avoid naming conflicts with the database server, do not use a word reserved by the
database server software as a field name. Consult your database documentation for a list
of reserved words.

Understanding field properties ! 255

Action Request System 6.3

Field

Description

Input Length

For attachment fields, determines the maximum size of the attachment. For more
information, see Defining Database properties for each attachment field on page 314.
For character fields, determines the maximum number of characters the field can
contain. You will get the most efficient use of database storage if you set the maximum
length of a character field to be less than or equal to 255 bytes (except for Oracle, as
explained below). When the field length is this size, the storage is dynamically allocated
to the length of the actual field contents, not the input length. If you set the maximum
length to more than 255 bytes, storage is allocated in blocks that average between 1K to
2K bytes (depending on the database). A full block is allocated for the first character.
When that block is filled with the field contents, another full block is allocated. Leaving
the Input Length field empty or setting it to 0 specifies an unlimited length field.
For Oracle databases, character fields up to 4000 bytes are created as varchar, and
storage space is allocated dynamically to the length of the actual field contents.
Character fields larger than 4000 bytes are created as clob, which is managed differently
by the database. For better performance, use varchar whenever possible. For more
information on database structure in AR System, see the Database Reference Guide.
Do not use more space than you need to store the intended field contents. If you allot
more space for storage than your system needs, more space is searched during queries.
If the Expand Box display property is set to Default, and if the field length is 70
characters or more, AR System automatically inserts a text icon to the right of the field
that the user can click to open a Text dialog box. This enables you to conserve space on
the users view of the form by making the fields Display Length smaller than its Length
attribute.
The default upper size limit for character fields is different for each of the following
databases:
For Sybase/MS SQL Server and Informix databases, 2 GB
! For DB2, 10 MB
! For Oracle, 4 GB
For scalability reasons, limit the number of long character fields in a form.
!

Note: Use the ar.conf or ar.cfg files to configure a different upper limit (than the

default) for Oracle and MS SQL Server databases using the Db-Max-Text-Size
configuration option. For more information about AR System configuration files, see
the Configuring AR System guide.
You cannot use the Indexing form property to create an index for a long or character
field with a database length over 255 characters.
For some databases, you cannot search fields that are over 255 characters. If you have
questions about the capabilities of your database, see your database reference guides, as
well as information in the AR System release notes and the Installing AR System guide.

256 "Chapter 6Defining fields

Developing AR System Applications: Basic

Field

Description

Data Type

Indicates the type of information that the field is designed to contain, for example,
character or trim.
For information about Date, Time, and Date/Time fields, see Date and time fields on
page 215.
For more information about the data types that have attribute properties, see Defining
Attributes properties on page 268.

Entry Mode

Defines whether the field is:


RequiredField requires a value (by user input, a default value, or workflow) when
the user submits a request. A required field appears with a bold label. A form has at
least three required fields: Submitter, Short Description, and Status. Make a field
required only if it must be filled in for every new request.
! OptionalUsers can enter information in the field or leave it empty. If you have
optional fields that must be filled in under certain circumstances, you can create
filters and active links that force the user to fill in the field when specified conditions
are met.
! Display OnlyThe field is used as a temporary field. No space is allocated for a
display-only field in the database, so a display-only fields value can never be recorded
to the database. For this reason, display-only fields have a value of NULL when a
request is retrieved. In all other ways, a display-only field can be used in the same way
as any other field (for example, you can reference it in workflow).
! SystemThe field is populated by AR System. Certain core fields such as
Request ID and Last Modified By are system fields.
You can select the Display Only option only when you create a field. After you save a
form, the following changes occur:
!

For a required or optional field, the display-only option is no longer available as an


entry option.
! For a display-only field, the Entry Mode field is disabled and cannot be changed.
To improve system performance, use display-only fields to store temporary values or
perform calculations.
!

Global fields (field IDs 10000012000000) must be display-only.

Understanding field properties ! 257

Action Request System 6.3

Field

Description

QBE Match

For character fields, specifies how a match will be determined when a user performs a
query-by-example (QBE) in Remedy User. If you select:
Anywhere (the default)Finds a match if the value entered occurs anywhere in the
corresponding field. For example, if the user enters Bob in the Submitter field, the
search will return all requests submitted by Bobby Jones, Bob Smith, and Jill
Bobbington.
! LeadingFinds a match only if the value entered occurs at the beginning of the
corresponding field. For example, if the user enters Bob in the Submitter field, the
search will return all requests submitted by Bob Smith and Bobby Jones, but not
those submitted by Jill Bobbington.
! EqualFinds a match only if the value entered matches the value in the
corresponding field exactly. For example, to find requests submitted by Bob Smith,
the user must enter Bob Smith, with exact spelling and capitalization, in the Submitter
field. However, for some databases (for example, Sybase or MS SQL Server), casesensitivity depends on the underlying DBMS settings, regardless of what QBE Match
you specify here.
You can use the Preferences window to set a default QBE match setting for all new
character fields that are not core fields (Request ID, Submitter, Assigned To, Last
Modified By, and Short Description). For more information, see Form preferences
on page 77.
!

A search on a character field with a QBE match type of Anywhere will perform a full
table scan of the database, reading every record in a form and ignoring any indexes for
the field. Searches on fields where the QBE match type is Leading or Equal are typically
faster than searches on fields where the match type is Anywhere, especially if the field is
indexed, as described in Defining indexes on page 210.
Some relational operators and wildcards work during a query-by-example regardless of
the QBE Match setting. This means that users can specify an exact match in a field with
a QBE Match setting of Anywhere by using the equal sign (=) relational operator. Users
can also use the percent sign (%) wildcard at the beginning of the search string (%abcd)
to override a QBE Match setting of Leading or Equal. However, using the % wildcard
anywhere else in a string (abcd%) does not override the Equal setting. Overriding the
Leading or Equal QBE Match settings overrides the performance benefits of using those
settings.
Join
Information

For fields on join forms, includes read-only join information about the field.

View
Information

For fields on view forms, specifies the table and column names.

Vendor
Information

For fields on vendor forms, specifies the vendor, table, and column names.

For more information, see Fields in join forms on page 334.


For more information, see View and vendor forms on page 174.
For more information, see View and vendor forms on page 174.

258 "Chapter 6Defining fields

Developing AR System Applications: Basic

Permissions properties
Use the Permissions tab to define permissions for a field. Field permissions
define which access control groups receive View or Change access for fields.
For more information, see the detailed discussion in Defining permissions
for individual or multiple AR System objects on page 125.

Views properties
From the Views tab, you can specify the form views in which a field will
appear. Even if you remove a field from all views, it is still usable in workflow.
The Views tab, shown in Figure 6-14, is present in the properties window
only if you have defined multiple views for a form, as described in Creating
form views on page 366.

Figure 6-14: Field PropertiesCharacter Field, Views tab

When you select the Views tab, you will see every view defined for the form
with the exception of the current form view. To remove a field from the
current form view, you must use the Fields in View dialog box described in
Including and excluding fields from form views on page 423.

Understanding field properties ! 259

Action Request System 6.3

If you have defined multiple views for your form, the new field is added to
the view of the current form. The new field is also added to all other views of
the form depending on how your preferences are set (as described in Form
preferences on page 77).
A field can be hidden in one form view and displayed in a different form view.
Some field properties affect all form views while other field properties do not.
For more information about form views, see Chapter 8, Creating and
managing form views and Chapter 9, Working with AR System forms and
applications on the Web.
" To select the form views that display a field:
1 Open the form with which you want to work.
2 Double-click the field to open the properties window.
3 Select the Views tab.

The views defined for the form appear in the Not In Views list and the
In Views list.
4 From the In Views and Not In Views lists, specify the views in which the field

will and will not appear.


5 Choose File > Save Form to save your changes.

260 "Chapter 6Defining fields

Developing AR System Applications: Basic

Related Workflow properties


The workflow objects related to the field are listed in the Field Properties
window when you select the Related Workflow tab, shown in the following
figure.

Figure 6-15: Field PropertiesSubmitter, Related Workflow tab

The Related Workflow tab will not appear if any of the following statements
are true:
!

The search database reference form does not exist. (You can create it by
choosing Tools > Set Up Search Database.)

The search database was never synchronized in the current server. (You
can synchronize the database by choosing Tools > Sync Search Database.)

The search database is currently running.

For more information about setting up the search database, see the
Optimizing and Troubleshooting AR System guide.

Understanding field properties ! 261

Action Request System 6.3

Help Text properties


From the Help Text tab, you can create or modify the help text for a field. In
most cases, the help text that you enter is a description of the data field and
how it is used.
In Remedy User, when the field has input focus, users can view this help text
in the prompt bar (if visible) or by right-clicking on a field and choosing
Whats This? Help, as shown in the following figure.

Figure 6-16: Example of Whats This? Help in Remedy User

When the administrator has not defined help, AR System automatically


generates field help that appears in the prompt bar of Remedy User when a
field has input focus. For more information about creating help text, see
Creating help text for AR System objects on page 62.

262 "Chapter 6Defining fields

Developing AR System Applications: Basic

Change History properties


AR System automatically records the owner of a field, the user who last
modified the field, and the date of the modification. To display or add to this
information, select the Change History tab in the properties window.
For more information about building and using change history, see
Building and using change history for AR System objects on page 61.

Color/Font properties
From the Color/Font tab, you can set the color and font style for a field.

Figure 6-17: Field PropertiesCharacter Field, Color/Font tab

Understanding field properties ! 263

Action Request System 6.3

Label/Text color
For a data field, the field label is the text that appears to the left of a field or
above it. For a button field, the field label consists of the text that appears
within the button. Colors are set one field at a time.
" To change label or text color:
1 Select the Color/Font tab.
2 Clear the Default Label/Text Color check box.

The field under Label/Text Color is enabled.


3 Select a color from the palette attached to the field.

You can also select Other from the palette to create a custom color.
4 Choose File > Save Form to save your changes.

URL color
You also can define the color of the URL when you insert a URL link into a
text trim field, as described in To change the URL color (text trim fields):
on page 329. For information about adding a URL to a text field, see Adding
a URL to a text field on page 328.

Fonts
You can choose a font type for the field label and for the data the user enters
into the field. Each font type represents a particular font family, style, and
size. You can change the characteristics of each font type in your Remedy
Administrator preferences. For more information, see Form Font
preferences on page 71.
A newly created regular form is shown in Figure 6-18 on page 265. The field
labels appear in different font styles in the form. By default, each font style
identifies a different field behavior. As the administrator, you can override
the font properties of the fields, but use caution to avoid confusing users. In
addition, users can change the fonts assigned to the font styles using
preferences. All fields with the same style will remain consistent.

264 "Chapter 6Defining fields

Developing AR System Applications: Basic

The various default font styles have the following meanings:


Italic text

Maintained and automatically updated by AR System

Bold text

Requires a value

Plain text

Value is optional

Figure 6-18: Regular form with core fields

" To change the font style:


1 Select the Color/Font tab.
2 From the Label field list, select a font style for the field label.
3 From the Data field list, select a font style for data entered into the field, if

applicable.
4 Choose File > Save Form.

Understanding field properties ! 265

Action Request System 6.3

Creating fields
You can create new fields or modify existing fields in a form at any time.
Users can continue using the form while you are creating and modifying
fields. All changes take effect as soon as you save them to the database, but if
a user has a form open during modification, the user must close all instances
of the form and reopen it to see your changes.
For a description of how to define each of these fields, see Understanding
field properties on page 240.
See the following sections for information about creating specific field types.

Creating data fields


Use the following procedure to create all data fields, except for selection and
currency fields, which are discussed in Creating selection fields on
page 274 and Creating currency fields on page 276.
" To create a data field:
1 Open the form with which you want to work.
2 Choose Form > Create a New > <field type>.

The new field appears in the upper-left corner of the Form window.
You can create a field by selecting it from the field palette that is displayed
when you choose View > Toolbars > Palette.
3 Open the Field Properties window by double-clicking the field.

266 "Chapter 6Defining fields

Developing AR System Applications: Basic

The Field Properties dialog box appears.

Figure 6-19: Field PropertiesCharacter Field

You can set your preferences to open the properties window whenever a field
is created (as described in To define Form preferences: on page 77).
If the Keep Window Open check box is selected, you need not close the
properties window to modify other fields in the form. The properties window
displays the properties of the selected field.
4 Specify the field properties, which are listed on page 240.
5 Select the field, drag it to a position in the form, and adjust its size.

See Arranging fields on a form without auto layout on page 408 for more
information.
6 Choose File > Save Form to save your changes.

For some fields, you can set Attributes properties. For more information, see
the next section.

Creating fields ! 267

Action Request System 6.3

Defining Attributes properties


From the Attributes tab, you can specify the kind of information that will be
contained in the fields that you create. The settings that appear differ based
on the data type of the field.
The following sections describe attributes properties for character, date and
time, diary, integer, real, and decimal fields. See the following sections for
information on attributes for other fields:
!

Creating selection fields on page 274

Setting currency field attributes on page 281

Setting trim field attributes on page 326

Defining character field attributes


The following figure shows the Attributes tab for character field properties.

Figure 6-20: Field PropertiesCharacter Field, Attributes tab

268 "Chapter 6Defining fields

Developing AR System Applications: Basic

The following table lists the definitions and uses of attributes you can set for
the character data type.
Field

Description

Default Value

Assigns an administrator default value to the field. The value that you enter will appear
in the field whenever users load default values before performing a search or submitting
a new request in Remedy User.
Default values are helpful for application usability. For example, creating a default value
as a prompt in a required field (Enter your name here) informs the user what
information must be entered into the form.
You can use keywords to define a default value. Keyword values that are not likely to
change, such as $USER$, expand to a value when defaults are first set. Other keywords
(such as $TIME$) expand to a value as late as possible when defaults are loaded. For a list
of keywords you can use to define a fields default value, see Keywords on page 673.

Pattern

Restricts what the user can enter into the field. There are two types of character patterns
that you can specify.
The first type enables you to enter any character pattern that you want to match. It is
similar to that used in the LIKE operator and can include any of the same wildcard
characters (see Operators on page 668).
The second type uses a keyword to specify a style for a character field. You can specify
only one keyword for a pattern, and it cannot be combined with a pattern of characters
and wildcards. If you select:
!
!
!
!

$ALNUM$The value must be alphabetic characters and digits (and blank space).
$ALPHA$The value must be alphabetic characters (and blank space).
$DIGIT$The value must be digits.
$LOWER$The value can be any character except uppercase letters. This includes
special characters, digits, and blank spaces.

!
!

$MENU$The value must match an item defined in the default menu attached to the
field. Avoid using $MENU$ together with a Change Field workflow action that
attaches a new menu (with new values) to the field. You cannot use the $MENU$
keyword for file menus and data dictionary menus.
$PRINT$The value must be printable characters.
$UPPER$The value can be any character except lowercase letters. This includes
special characters, digits, and blank spaces.

Note: The way in which keywords are interpreted is language-dependent. For example,

$LOWER$ is not valid in Japanese, and $MENU$ is not valid in a multilingual


environment.

Creating fields ! 269

Action Request System 6.3

Field

Description

Name

Attaches a character menu to a character field and inserts a menu icon to the right of
the field. Character menus provide users with a fill-in aid that can help standardize the
text contents, which can improve the accuracy of searches.
Unless you specify a pattern match in the Pattern field (see previous description) or
change the display type to Drop-Down List (see Display Type on page 248), users can
enter their own text even when character menus are defined for the field.
The $NULL$ selection allocates space for the menu icon, but hides this icon in the user
client. When you associate a different menu using the Change Field action, the menu
icon appears without affecting form layout. See The Change Field active link action
on page 502 for more information.
See Chapter 7, Defining menus, for information about designing and creating a
character menu.

Append Items

Specifies how menu text is added to the field when a user selects an item from a
character menu. If the check box is:
!

SelectedThe menu text is added to any text already in the field. If there is any text
in the field, a blank space is inserted before the menu text value is appended.
ClearedThe menu text replaces any text already in the field.

Defining date and time field attributes


In the Default Value field of the Attributes tab (shown in the following
figure), you can enter the value that you want to appear in the field whenever
users load default values before performing a search or submitting a new
request. The field value can be a static value or one of the following keywords:
$TIME$, $DATE$, and $TIMESTAMP$.

Figure 6-21: Field PropertiesDate/Time Field, Attributes tab

270 "Chapter 6Defining fields

Developing AR System Applications: Basic

Defining diary field attributes


In the Default Value field of the Attributes tab (shown in the following
figure), you can enter the value that you want to appear whenever users load
default values when performing a search or submitting a new request. You
can choose a keyword from the menu at the end of the field. (For more
information about keywords, see Appendix C, Operators, wildcards,
keywords, and NULL values.)

Figure 6-22: Field PropertiesDiary Field, Attributes tab

Defining integer field attributes


Integer fields accept integer values between 2147483647 and 2147483647.
Specify values in the Minimum and Maximum fields to limit the range for a
field. During data submission and modification, the user is limited to
entering values that fall within the range that you specify.

Creating fields ! 271

Action Request System 6.3

In the Default Value field of the Attributes tab (shown in the following
figure), you can enter the field value that you want to appear whenever users
load default values when performing a search or submitting a new request.

Figure 6-23: Field PropertiesInteger Field, Attributes tab

Defining real field attributes


Real fields accept and contain floating-point numbers. The attributes for real
number fields are defined in the Attributes tab, shown in the following figure.

Figure 6-24: Field PropertiesReal Number Field, Attributes tab

272 "Chapter 6Defining fields

Developing AR System Applications: Basic

For real number fields:


!

In the Minimum and Maximum fields, enter numbers for the low and
high limits the field value can have during data submission and
modification. These settings are required.

In the Precision field, enter the value that limits the number of decimal
places displayed in the users view. The displayed number is rounded off,
but the value stored in the database is not changed.

In the Default Value field, enter the value that you want to appear
whenever users load default values when performing a search or
submitting a new request.

For real fields, the representation in the database keeps a maximum of 10


digits worth of data. After 10 digits, the number is rounded, and the
succeeding digits are ignored. For example, if 12345.090009 is entered, the
value after a submit is 12345.090010. But, if 1234567.090099 is entered, the
value after a submit is 1234567.090000. The last three digits are ignored
because the rounded answer comes after the 10th position.

Defining decimal field attributes


Decimal fields accept and contain fixed-point decimal numbers. Decimal
number field attributes are defined in the Attributes tab, shown in the
following figure.

Figure 6-25: Field PropertiesDecimal Number Field, Attributes tab

Creating fields ! 273

Action Request System 6.3

For decimal fields:


!

In the Minimum and Maximum fields, enter numbers for the low and
high limits the field value can have during data submission and
modification. These settings are required.

In the Precision field, enter the value that sets the number of decimal
places displayed in the users view. The default setting is 2 and the
maximum value of precision in AR System is 9.

In the Default Value field, enter the value that you want to appear
whenever users load default values when performing a search or
submitting a new request in Remedy User.

Creating selection fields


Selection fields provide for a small number of choices. Use selection lists only
when you do not expect the options available to users to change over time.

Figure 6-26: Field PropertiesStatus, Attributes tab

274 "Chapter 6Defining fields

Developing AR System Applications: Basic

Data for a selection field is stored in the database as an integer that relates to
the order of the choices. Do not change the order of existing selection field
items, or the meaning of data previously entered in the database will be
changed. For example, in a Status field, if the current choices are New,
Assigned, and Closed, and you add a choice labeled Fixed before the Closed
selection, existing database entries with a status of Closed will change to a
status of Fixed.
If you must add a new choice to a selection field on an active form, add it only
as the last choice, as in the following example:
New = 0
Assigned = 1
Closed = 2
Fixed = 3

Warning: Altering the choices in a selection field might require explicit


modifications to every request in a form.
" To create a selection field:
1 Open the form with which you want to work.
2 Choose Form > Create a New > <selection field>.

Selection field choices are Drop-Down List Field, Radio Button Field, or
Check Box Field.
A selection field appears in the upper-left corner of the Form window.
3 Open the Field Properties dialog box for the new selection field.
4 Specify Attributes properties, as described in the following procedures.
5 Specify other field properties.
6 Choose File > Save Form to save your changes.
" To add selection values:
1 In the Field Properties window for a selection field, select the Attributes tab.
2 From the Selection Value list, select where you want to position the new

value.
3 In the Value field, enter the value of the new item.
4 In the Default Value field, enter the value that you want to appear whenever

users load default values before performing a search or submitting a new


request.

Creating fields ! 275

Action Request System 6.3

5 If you are localizing the form, enter localized text in the Alias Value field.

For more information about manually localizing field labels, request aliases,
and selection fields, see the Developing AR System Applications: Advanced
guide.
6 Click Add Before or click Add After to add the item to the selection field.

Do not add choices in the middle of a selection field in an existing form, or


the meaning of the data in existing requests will change, as described in the
introduction to this section.
For selection fields with a display type of Check Box, add only one item
because the user will only have access to the first item.
7 Choose File > Save Form to save your changes.
" To modify selection values:
1 From the Selection Values list, select a value.
2 In the Value, Default Value, or Alias Value fields, edit the information.
3 Click Modify.
4 Choose File > Save Form to save your changes.
" To delete selection values:
1 From the Selection Values list, select a value.
2 Click Delete.

Do not delete choices in the middle of a selection field in an existing form.


3 Choose File > Save Form to save your changes.

Creating currency fields


To create a currency field, see the following sections.

Defining default currency types


Before you create a currency field, you should specify default allowable and
functional currency types in the Server Information window to predefine
these currency types for all new currency fields.
You can also define allowable and functional currency types and precisions
for individual currency fields. See Defining allowable currency types on
page 279 and Defining functional currency types on page 280.

276 "Chapter 6Defining fields

Developing AR System Applications: Basic

" To define default currency types:


1 In Remedy Administrator, select a server.
2 Choose File > Server Information.
3 Select the Currency Types tab.
4 Select a currency under Choose Default Allowable Types, and click Add.
5 Select a currency under Choose Default Functional Types, and click Add.

For more information, see Currency fields on page 218.


6 To specify a decimal precision, click the number under the Precision column

and edit as appropriate.


7 Repeat steps 4 through 6 to define all default allowable and functional

currency types and precisions.


8 To delete a default currency, select the currency under the Currency Type

column and click Remove.


9 Click Apply.

Creating a currency field


This procedure explains the basic steps for creating a currency field using
Remedy Administrator.
" To create a currency field:
1 Open the form with which you want to work.
2 Choose Form > Create a New > Currency Field.

A currency field appears in the upper-left corner of the Form window.


3 Open the Field Properties window for the new currency field.

Creating fields ! 277

Action Request System 6.3

The Field Properties dialog box appears.

Figure 6-27: Field PropertiesCurrency Field

4 Define allowable and functional currency types in the Allowable Types and

Functional Types tabs.


You must have at least one functional currency. For more information, see
Defining allowable currency types on page 279 and Defining functional
currency types on page 280.
5 Specify the other currency field properties, which are listed on page 240.
6 Select the currency field, drag it to position it on the form, and adjust its size

with the resize handles.


See Arranging fields on a form without auto layout on page 408 for more
information.
7 Choose File > Save Form to save your changes.

278 "Chapter 6Defining fields

Developing AR System Applications: Basic

Defining allowable currency types


Use the Allowable Types tab to define allowable currency types and
precisions for a currency field.

Figure 6-28: Field PropertiesCurrency Field, Allowable Types tab

If you defined default allowable currencies, those currencies are listed under
the Currency Type column when you create a new currency field. Use the
Allowable Types tab if you did not define default currency types, or if you
want to change the allowable currency type properties for an individual
currency field. For information on default currency types, see Defining
default currency types on page 276.
" To define allowable currency types:
1 Select a currency type in the Available list and click Add to add that currency

to the Selected list.


If you select the All Allowable Currency Types allowed check box, all
currency types are allowable.
2 To optionally change the decimal precision, select and edit the number under

the Precision column for each currency type.


Creating fields ! 279

Action Request System 6.3

3 To delete an allowable currency, select a currency type in the Selected list and

click Remove.
4 From the Choose Primary Allowable Type list, select the currency type used

when only a decimal value is entered in the currency field.


If none is selected, the first allowable type is used.
5 To set the default allowable currencies in the Server Information window

using the Selected currency types in the Allowable Types tab, click Save As
Server Default.
To reset the allowable currency types for the field based on default allowable
currencies in the Server Information window, click Reset To Default.

Defining functional currency types


Use the Functional Types tab to define functional currency types and
precisions for a currency field.

Figure 6-29: Functional Types tabCurrency field

280 "Chapter 6Defining fields

Developing AR System Applications: Basic

If you defined default functional currencies, those currencies are listed under
the Currency Type column when you create a new currency field. Use the
Functional Types tab if you did not define default currency types, or if you
want to change the functional currency type properties for an individual
currency field. For information on default currency types, see Defining
default currency types on page 276.
" To define functional currency types:
1 Select a currency type in the Available list and click Add to add that currency

to the Selected list.


2 To optionally change the decimal precision, select and edit the number under

the Precision column for each currency type.


3 To delete a functional currency, select a currency type in the Selected list and

click Remove.
4 To set the default functional currencies in the Server Information window

using the Selected currency types in the Functional Type, click Save As Server
Default.
To reset functional currency types for the field based on default functional
currencies in the Server Information window, click Reset To Default.

Setting currency field attributes


Currency fields store information entered by the user (a decimal value and
an allowable currency type), and system-generated data (one or more
functional currency types and the date on which functional values were
converted). The following figure shows the Attributes tab for currency field
properties.

Figure 6-30: Field PropertiesCurrency Field, Attributes tab

Creating fields ! 281

Action Request System 6.3

The following table lists the definitions and uses of attributes you can set for
the currency data type.
Field

Description

Minimum

Specifies a minimum decimal value.

Maximum

Specifies a maximum decimal value.

Default Value

A decimal value and an allowable currency type. The default


value overrides any administrator or user defined initial
currency type.

Defining currency ratios


The following procedure describes how to create currency exchange ratios
for converting allowable currencies to functional currencies. You must create
currency ratios from every allowable currency to every functional currency.
Note: If you do not supply a complete set of currency ratios, your
applications might not work properly. For example, sorting on currency
fields might produce unexpected results.
" To define currency ratios:
1 On the server where you defined currency types, open the AR System

Currency Ratios form in New mode in Remedy User.


2 Create two entries for each pair of currencies to which and from which you

want to convert.
For example, you might create one entry for converting from USD to GBP,
like this:
Field

Contents

Conversion Date

$TIMESTAMP$

From Currency

USD

To Currency

GBP

Conversion Ratio

1.455

282 "Chapter 6Defining fields

Developing AR System Applications: Basic

Then, you could create a second entry for converting from GBP to USD, like
this:
Field

Contents

Conversion Date

$TIMESTAMP$

From Currency

GBP

To Currency

USD

Conversion Ratio

0.687

" To define the currency ratio refresh interval:


1 In Remedy Administrator, open the Server Information window.
2 Click on the Timeouts tab.
3 In the Client Refresh Interval field, enter the interval in minutes.

The default setting is 60. A setting of 0 disables refresh.


This defines the interval by which clients query the server for new currency
ratios from the AR System Currency Ratios form.
4 Click Apply.

Creating table fields


Use the following procedures to create table, results list, and alert list fields.

Creating table, results list, or alert list fields


This procedure explains the basic steps for creating a table, results list, or alert
list field using Remedy Administrator.
!

Client-side table fields can be used in forms viewed in Remedy User or in


a browser, but results list and alert list fields are specifically for forms
viewed in a browser.

Server-side table fields are not used to propagate results to the client; they
are used exclusively to manipulate data.

See Defining Advanced Display properties for tables on page 296 and
Defining Table Labels properties on page 299 for property settings used for
table, results list, and alert list fields in web views.

Creating fields ! 283

Action Request System 6.3

" To create a table, results list, or alert list field:


1 Open the form with which you want to work.
2 Choose Form > Create a New > Table Field (or Results List or Alert List).

The new field appears in the upper-left corner of the Form window.
3 Open the Field Properties window for the new field.

Figure 6-31: Field PropertiesTable Field

4 Select the Table Property tab and specify table properties, as described in

Defining Table Property properties on page 286.


5 Specify Display properties, as described in Display properties on page 242.

See Understanding field properties on page 240 for additional field


properties descriptions.
Note: You can set display, database, permissions, help text, and change
history properties for each column separately from those of the entire
field.

284 "Chapter 6Defining fields

Developing AR System Applications: Basic

6 Specify Advanced Display and Table Labels properties.

See Defining Advanced Display properties for tables on page 296 and
Defining Table Labels properties on page 299 for descriptions of these
properties.
7 Set the column properties (column width, ID, column field database name,

the permissions, and so on) for each column.


To open properties for a column, double-click on the column title.
Note: When you are creating a column and you need to define a column ID
(for example, to control the ID for purposes of shared workflow), make
the changes to the ID before saving the table field.

See the procedure To define Column properties: on page 289 for more
information.
8 Specify sort properties.

See the procedure To define the sort order for table fields: on page 294 for
more information.
9 Specify the other field properties, which are listed on page 240.
10 Select the table, results list, or alert list field, drag it to position it on the form,

and adjust its size with the resize handles.


See Using auto layout to arrange fields on a form view on page 387 for
more information.
On the web, table fields have space allocated at the top and bottom for
buttons such as Refresh and Select All, so make your table field a little taller
in Remedy Administrator to leave room for the buttons.
11 Choose File > Save Form to save your changes.

Creating fields ! 285

Action Request System 6.3

Defining Table Property properties


The Table Property tab (Figure 6-32 on page 286) enables you to define
properties about the source form, fields, rows, and columns.

Figure 6-32: Field PropertiesTable Field, Table Property tab

These properties are described in the following table.


Field

Description

Server

Table fields only. Defines the server that contains the form used in the table field.

Form

Table fields only. Defines the supporting form that is used in the table field.

Restricted List

Table fields only. Defines if the table field is restricted only to the forms in a
deployable application.

Fields On Form

Specifies data fields from the supporting form, and display-only fields from the
current form. The Field Type column indicates whether the field is a data or
display-only field.

286 "Chapter 6Defining fields

Developing AR System Applications: Basic

Field

Description

Field As Column

Enables you to specify which fields from the supporting form will appear in the
table field as columns.
The names listed beneath Column Title represent the field names that you want to
appear in table field. The names listed beneath Field represent the field names used
in the supporting form.
The up and down arrows enable you to arrange the order in which the fields will
appear in the table field.

Max. Rows

Specifies the maximum number of rows that will appear. If you enable chunking,
this setting is ignored.
If users select Refresh or Refresh Table, the maximum number of rows that the
administrator defines is displayed. In Remedy User, if users select Refresh All in
Table, the maximum number of rows that the administrator defines is ignored.
(On web clients, there is no Refresh All function. For more information, see
Defining Table Labels properties on page 299.)
Note: For results list fields on the web, there is no default maximum for the

number of items returned. If you do not specify a value greater than zero for
Max. Rows, and if the Limit Number of Items Returned user preference is not
selected, then the results list field will return unlimited items during a search.
Qualification

In a table or alert list field, enables you to define the search criteria to determine
which requests appear in the table field. You can use fields from the current form,
fields from the selected supporting form, or a keyword in the qualification
statement. The way qualifications function in table fields is similar to how they are
used with the Set Fields action. See Building qualifications on page 484.
The character limit for strings in a qualification is 4K.

Sample Server Name In a table field, enables you to define the server and forms names dynamically.
Based on values that workflow or users enter into certain fields, you can
(Advanced)
Sample Form Name dynamically change which servers and forms entries will be displayed. For more
information, see Defining advanced table field functionality on page 290.
(Advanced)
" To define Table Property properties:
1 Open the Table Field Properties dialog box.
2 Select the Table Property tab.
3 For table fields, select the server that has the supporting form you want to use

for the table.

Creating fields ! 287

Action Request System 6.3

4 For table fields, choose the form containing the data to be used.

Fields On Form is populated with field names. The following fields cannot be
listed in table or results list fields and do not appear in Fields On Form:
!

Fields with a database length of more than 255.

Display-only fields from the supporting form. (You can use display-only
fields from the current form.)

View fields.

5 (For deployable applications only) From the Restricted List field, select if the

table field is restricted only to the forms in the application.


6 Use the Add and Remove buttons to move the fields between columns until

the Field As Column shows the fields you want to appear.


7 To edit or delete a column title, right-click on any text under the Column

Title heading, and select Edit or Delete.


Text beneath the Field heading matches the original field text in the
supporting form. Text that you change beneath the Column Titles heading
appears in the table field as the column title.
8 Use the up and down arrows next to Field As Column to position the order

in which the columns will appear.


9 For table and alert list fields, enter a qualification statement to further define

what data will appear in the table or alert list.


Warning: If you do not include a qualification, all requests in the supporting
form will appear. For information about using qualifications, see
Building qualifications on page 484.

Click the Qualification down arrow to include a keyword or field (from the
current or supporting form) in the qualification. See Keywords on
page 673 for information about using keywords.
10 To limit the maximum number of rows that will be displayed in a table or

results list field, enter a number for the Max Rows field.
The default is 0, which means that the maximum number of rows is
unlimited. Because users can override the maximum row limit you set by
selecting Refresh All in Remedy User, use an appropriate qualification to
control the rows of data that can appear.

288 "Chapter 6Defining fields

Developing AR System Applications: Basic

Alternately, use chunking to display all records while limiting the number of
rows displayed at one time. If you enable chunking, the Max Rows setting is
ignored. For more information, see Defining Advanced Display properties
for tables on page 296.
11 To supply a dynamic server or form, select the Advanced check box, and then

define a sample server and form.


For example, you could select the value of a server and a form that will
function as the sample form whose entries will be displayed at runtime. For
more information, see Defining advanced table field functionality on
page 290.
12 Choose File > Save Form to save your changes.
" To define Column properties:
1 Double-click the column title in the table, results list, or alert list field (not in

the table field itself) to set the properties for each column.
The Column Properties dialog box appears.

Figure 6-33: Field PropertiesColumn, Display tab

2 Under the Display tab, select a display type from the Display Type menu. For

more information, see Display properties on page 242.

Creating fields ! 289

Action Request System 6.3

3 To set the width of the selected column, enter a number in the Column

Width field of the Column Properties dialog box.


4 To wrap multiple lines of data in table column fields or to allow carriage

returns in row data, select Wrap Text.


5 For display-only fields, optionally specify a default value in the Default Value

field. For more information, see Default Value on page 249.


6 To hide the current column, select the Hidden check box.
7 To rename what this column is called in the database, select the Database tab,

and change the default in the Name field.


8 Choose File > Save Form to save your changes.

Defining advanced table field functionality


You can define advanced table field properties that provide enhanced
functionality beyond retrieving and displaying requests from a hard-coded
server and form defined in the table field. Based on values that workflow or
users enter into certain fields, you can dynamically select which server and
form you are reading the table field data from.

290 "Chapter 6Defining fields

Developing AR System Applications: Basic

For example, the Dynamic Table Field form (as shown in Figure 6-34)
contains two fields (server and form) that can be hidden or display-only. The
values you enter into these fields (for example, values could come from a Set
Fields action) determine at runtime which server and form are used as
sources in the table field. When you refresh the table field, it is dynamically
refreshed with values from the source server and form. Administrators might
prefer to hide this functionality from users altogether and use the Window
Loaded execution condition instead.

Figure 6-34: Using dynamic table fields

In this example, two records were created in the Source form on the server
cordova. If you opened the Dynamic Table Field form in Remedy User,
entered cordova as the server and Source as the form, and then refreshed the
table field, the contents of the table field would be refreshed by the
underlying active link workflow. The table field displays the entries from the
dynamically defined server and form.

Creating fields ! 291

Action Request System 6.3

" To define advanced table field functionality:


1 Select the Advanced check box on the Table Property tab.

The window changes in the following ways:


!

Two icons appear next to the Sever and Form fields. The first icon opens
a dialog box for entering a long string of data into the Server or Form field.
The second icon opens a menu that allows you to enter field references or
keywords for the server and form names. These fields come from the
current form on which the table field resides and are typically hidden.

The Sample Server Name and Sample Form Name fields appear (as shown
in Figure 6-35). Default values listed are the current server and form. You
use these sample fields to map the column fields. The sample form
must contain fields that exist on any dynamic source forms that are used
at runtime. But the sample server and form are not actually used at
runtime; the fields you pick are only used to build the table field.

Figure 6-35: Advanced functionality of table fields

2 In the Server and Form fields, enter a field or variable (for example,

($server$) that will dynamically specify which server and form are used.
The server and form that a user (or workflow) enters into those fields will be
used as the source server and form whose data the table field will display.

292 "Chapter 6Defining fields

Developing AR System Applications: Basic

3 From the Sample Server Name and Sample Form Name lists, select a

reference server and form.


The Fields on Form list updated with fields from the sample form.
The sample server and form are used as a temporary reference to create and
save the dynamic table field settings. You can even delete the sample form
after saving the table field. What is important is being able to select the field
columns used in step (5).
4 Enter a qualification in the Qualification field to specify the request that

contains the values that you want to retrieve.


The fields from the sample form can be used in the qualification. Conversion
rules do not apply in this case.
5 Define the field columns you are including in the table field. Make sure you

select fields that correspond to field IDs available on any dynamically selected
form at runtime.
In this example, the table field includes two columns, Request ID and Short
Description, which are AR System fields that are required on every form. To
display the required entries in your table field properly, make sure that you
have corresponding (or matching) fields included among all your forms.
Otherwise, when you try to refresh the table field, you will receive an error
that the field does not exist, and no data will appear in the table field.
6 Choose File > Save Form to save your changes.

Defining the table sort order


From the Sort tab, you can define the order in which requests appear in a
table, results list, or alert list field. For example, you can set sort requests first
by department and then by products within a department.
Note: You can sort on columns that reference display-only fields in Remedy
User, but not in web clients.

Creating fields ! 293

Action Request System 6.3

The table sort properties (and the Max Rows property) determines:
!

The sequence in which rows of data appear when the field is refreshed.

The default order that users see before they click a column title to re-sort
data.

Figure 6-36: Field PropertiesTable Field, Sort tab

" To define the sort order for table fields:


1 Open the Field Properties window for a table, results list, or alert list field.
2 Select the Sort tab.
3 Select the fields from the Non-Sorted Columns field by which you want to

sort, and click Add to move them to the Sorted Columns field.
By default, if you do not define a sort order, the data will appear in ascending
order based on the Request ID number.
4 Use the up and down arrows at the top of the Sorted Columns field to set the

sort precedence of each column in the table.

294 "Chapter 6Defining fields

Developing AR System Applications: Basic

The field name that appears at the top of the Sorted Column list has the
highest precedence. Requests matching the field setting with the highest
precedence appear at the top of the table list. For example, if you set the
Assembly Manager field before the Part Number field, the requests will
appear alphabetically by Assembly Manager.
5 Use the up and down arrows next to each column title (within the Sorted

Columns field) to set the sort direction of each field.


Clicking an arrow toggles the field between ascending and descending order.
Ascending order means that values like lower ID numbers or earlier dates
appear at the top of the table list. Ascending order for character fields means
that requests are sorted alphabetically.
6 Choose File > Save Form.

Defining results colors


The Results Color tab enables you to set the colors for table, results list, and
alert list fields after a search (or refresh). For example, you can color all New
requests red and all Assigned requests green.

Figure 6-37: Field PropertiesTable Field, Results Color tab

Creating fields ! 295

Action Request System 6.3

The following table describes the available results color properties.


Field

Description

Selection
Field

Defines the selection field that contains the items to which you will
be adding color in the results list. You can define results color for
only one selection field per form.

Value

Defines the item to which you are adding color. You can add color
to each item in the selection list by selecting an item and a color,
selecting another item and color, and so on.

Color

Defines the color that will be added to the selected value (selection
field item). You can select Default Color, or you can select Custom
Color and choose a color from the color palette.

Defining Advanced Display properties for tables


The Advanced Display tab allows you to define refresh, chunking, and user
selection options for table, results list, and alert list fields.
The following figure shows the field properties on the Advanced Display tab.
The table on the following page provides descriptions of each field property.

296 "Chapter 6Defining fields

Developing AR System Applications: Basic


Figure 6-38: Field PropertiesTable Field, Advanced Display tab

Refresh Table Options section


Field

Description

Initial Row Selection

Describes what will happen the first time the table or


results list is displayed. Your choices are:
!

Select First, Fire WorkflowThe first item is selected,


and enabled workflow will be executed.
Select First, No WorkflowThe first item is selected,
and no workflow will be executed.
No SelectionNo item is selected.

Refresh Row Selection Describes what will happen on all subsequent refreshes.
Your choices are:
!

Retain Selection, Fire WorkflowThe current selection


is retained, and enabled workflow will be executed.
Retain Selection, No WorkflowThe current selection
is retained, and no workflow will be executed.
Select First, Fire WorkflowThe first item is selected
and enabled workflow will be executed.
Select First, No WorkflowThe first item is selected
and no workflow will be executed.
No SelectionThe table or results list will display with
no selection.

Creating fields ! 297

Action Request System 6.3

Data Chunking section


Field

Description

Size of Chunk

For client-side table and results list fields, defines the size
of data chunks (the number of records) displayed.
If the value is 0, chunking is disabled.
If the value is greater than 0, chunking is enabled,
according to the number of records indicated.
If you enable chunking, the Max Rows setting in the Table
Property tab is ignored.

!
!

Note: Use the Configuration tab in the Server Information

window to set the chunk size of server-side table fields


for the entire server. For more information, see the
Configuring AR System guide.
Next Label

When chunking is enabled, specifies the label to display to


proceed to the next chunk. This label does not appear if
the current chunk is the last chunk.

Previous Label

When chunking is enabled, specifies the label to display to


return to the previous chunk. This label does not appear if
the current chunk is the first chunk.

Other settings
Field

Description

User Selection Not


Allowed

Specifies whether a user can select rows. If selection is not


allowed:
!

Single Selection Only

298 "Chapter 6Defining fields

A user cannot:
! Trigger active links.
! Delete a row item.
A user can:
! Scroll.
! Sort.
! Drill-down.
! Create a report.

Specifies that a user with selection capability can select


only one row at a time.

Developing AR System Applications: Basic

" To define Advanced Display properties:


1 Open the Table Field Properties dialog box.
2 Select the Advanced Display tab.
3 Select properties for the table or results list field.
4 Choose File > Save Form to save your changes.

Defining Table Labels properties


From the Table Labels tab, you can define hyperlinks, button labels, and
informational strings displayed in table, results list, and alert list fields. You
can define strings for functions that are supported in both Remedy User and
web clients, such as Select All, Delete, Refresh, and Report. You cannot define
strings for functions that are not supported on web clients, such as Refresh
All in Table, Print Table, and Clear Table.

Figure 6-39: Field PropertiesTable Field, Table Labels tab

Creating fields ! 299

Action Request System 6.3

The following table describes the field properties in the Table Labels tab.
Header
Field

Description

Table Not Loaded String


(Table fields only)

The message that appears when a table is initially


displayed.

Number of Entries
Returned String

The message that appears when data is loaded into the


table or results list field. In forms viewed in a browser,
the message is displayed in the table or results list
header. In Remedy User (where there is no table
header), the message appears in the status bar.
You can pass the following four parameters to this
string:
{0} starting row number
{1} ending row number
{2} total number of rows returned
{3} maximum number of rows that could have been
returned
If chunking is not enabled, this field will default to {2}
entries returned - {3} entries matched.
If chunking is enabled, this field will default to
Showing {0} - {1} of {3}.

Auto Refresh String


(Alert list fields only)

The message that appears when the Alert Refresh


Interval in the Web tab of the AR System User
Preference form is set to a value greater than 0.
This is an informational message only. The presence of
this string does not enable or disable auto refresh.
For more information about user preferences, see the

Configuring AR System guide.

300 "Chapter 6Defining fields

Developing AR System Applications: Basic

Body
Field

Description

Row Header/Web DrillDown Column

This field is not supported for forms using the 6.3 mid
tier. Table fields on the web behave like they do in
Remedy User. If a user double-clicks on a row, the
selected record will appear in the new window.
For tables viewed on a pre-6.3 mid tier, the following
information applies:
If Table Drill-Down is enabled in the Display tab, the
Row Header/Web Drill-Down Column field specifies
which column is used as the drill-down column on the
web. The value in each cell in this column becomes a
hyperlink to the corresponding request in the
supporting form.
For alert list and table fields, details are displayed in
another form in the same browser window.
For results list fields, details are displayed in the same
form.
If Table Drill-Down is enabled and no Web DrillDown Column is specified, the first defined visible
column in the table becomes the drill-down column
by default. If the Display Type property for this first
column is Editable and the first column is the drilldown column, drill-down will not work. For
information, see Display properties on page 242.
If the drill-down column is hidden by workflow, you
cannot drill-down. This is true even if drill-down
column was selected by system defaultthe system
will not designate another drill-down column. For
more information, see The Change Field active link
action on page 502.
If a Set Fields action changes the value of a drill-down
cell, the drill-down ability of that cell will be lost (the
cell value is no longer a link).

Select Column Label

The column header that will appear above the


selection column when in Accessibility mode (Internet
Explorer browsers only).
For all other browsers not in Accessibility mode, this
string will be ignored at runtime.

Creating fields ! 301

Action Request System 6.3

Footer
Field

Description

Select All

The label of the hyperlink to select all rows.

Deselect All

The label of the hyperlink to deselect all rows.

Refresh Button

The label for the refresh button.


In version 6.3 of the mid tier, the Refresh button will
appear above the table to the right (instead of in the
footer as in previous versions).

Report Button
(Table and results list
fields only)

The label for the report button.

Delete Button
(Results list and alert list
fields only)

The label for the delete button.

Read Button
(Alert list fields only)

The label for the button to mark an alert as read.

Mark as Unread Button


(Alert list fields only)

The label for the button to mark an alert as unread.

Note: The Delete Button, Read Button, and Mark as Unread Button fields are
only available for the web. Remedy User expects you to open the Alert
Events form or use the View Alerts option.
" To define Table Labels properties:
1 Open the Field Properties dialog box.
2 Select the Table Labels tab.
3 Select properties for the Header, Body, and Footer.

You can write strings in different languages for localized form views.
You can remove a button, function, or message string by clearing the
appropriate edit box. For example, if you clear the contents of the Refresh
Button field, the Refresh button will not appear below the table in web
clients, and the Refresh menu item will not appear when you right-click on
the table in Remedy User.
4 Choose File > Save Form to save your changes.

302 "Chapter 6Defining fields

Developing AR System Applications: Basic

Creating page fields


Use the following procedure to create a page field.
" To create a page field:
1 Set up the page holder.
a Open the form with which you want to work.
b Choose Form > Create a New > Page Field.

The page field appears in the upper-left corner of the Form window.
c Click the Field Properties button to open the Field Properties dialog box

for the page holder.

Figure 6-40: Field PropertiesPage Holder

d Under the Database tab, enter a name for the page holder in the Name

field of the Database. See Database properties on page 253 for more
information.
e Under the Permissions tab, set permissions for the entire page holder.

Users must have permission to the page holder to see or change the fields
on the pages. See Page field permissions properties on page 97 for more
information.

Creating fields ! 303

Action Request System 6.3

f Select the Pages tab to specify the number of pages you want and whether

to display the border and tabs.


The Available Pages field lists the pages in the page field.
g To remove a page in a form view, clear the check box to the left of the page

in the Available Pages field.


If there is only one view, you will delete the page.
Note: By contrast, if you delete a page (or field in a page) from a view, the page
(or field) is deleted in all views.
h To add a new tab, click Create a New Page.

See Setting Pages propertiesPage holder fields on page 307 for more
information.
In a browser, only one row of tabs for a page field is displayed. If users will
be viewing your form in a browser, size the page field appropriately or
reduce the number of tabs so that users can view all the tabs.
2 Name and set properties for the tabbed pages.
a In the form, open the Properties dialog box for first page tab you want to

label.

304 "Chapter 6Defining fields

Developing AR System Applications: Basic

The Field Properties dialog box for that tab appears.

Figure 6-41: Field PropertiesPage

b Under the Display tab, enter the label you want to appear for this page tab.

The name you enter for the label will also appear as the Name field on the
Database tab.
When you are creating a page and you need to define an ID (for example,
to control the ID for purposes of shared workflow), make the changes to
the ID before saving the page.
c (Optional) Specify a font for the page tabs in the Color/Font tab.

You can select a different font for each tab in a page field. You can also
specify font preferences for tabs by changing the Optional Field font
setting. For information about changing font preferences on forms, see
Form Font preferences on page 71.
d Set permissions for the page.

Users must have permission to see or change the fields on this page. For
more information, see Page field permissions properties on page 97.

Creating fields ! 305

Action Request System 6.3

e Specify the other field properties, which are listed on page 240.
f Repeat these steps until you have named all the pages you want to appear

in the tab set.


3 Add fields to each page, and set field permissions.

When adding fields to page fields, select the tab of the page field, and then
add the field.
4 If you want a set of fields to appear on every page in a view, specify Shared

Fields properties for the page holder, as needed.


See Setting Shared Fields propertiesPage fields on page 309 for more
information.
5 Specify the other field properties, which are listed on page 240.
6 Select the page holder, and drag it to position it on the form.

See Arranging fields on a form without auto layout on page 408 for more
information.
7 Choose File > Save Form to save your changes.

306 "Chapter 6Defining fields

Developing AR System Applications: Basic

Setting Pages propertiesPage holder fields


From the Pages tab you can set the order of the tabbed pages and create any
new tabbed pages that you want to appear in the page holder.

Figure 6-42: Field PropertiesPage Holder, Pages tab

The Available Pages field lists the name (followed by the label) of each
existing page field.
Note: Use the Field Properties window for each page to edit the names and
labels of the three pages, for example, Page(Page). To avoid this step,
remove the pages, and use the Create a New Page to name and label each
page.

Creating fields ! 307

Action Request System 6.3

" To set properties for the page holder:


1 Open the properties window for the page holder.
2 Select the Pages tab.
3 Determine the number of pages you want available in the view by selecting

the check box to the left of each page.


If there is only one form view and you uncheck the page, the page is deleted
and any fields on the page will be removed from the view.
Note: Multiple rows of tabs are not supported in forms viewed in a web
browser.
4 Click Create a New Page to add a new page to the page holder field.

You will be prompted for a label and a name. The label you enter appears on
the tab (if tabs are displayed). The name identifies the field in the database,
and it must be unique. The name also enables you to identify a different tab
label for different views.
5 To delete a page, select it and click Delete Page.
6 Use the Move arrows to change the order of pages in the view.
7 To display the page holder field without a border and without page tabs in

web clients, select the Tabless Borderless Page Holder check box.
You must create workflow to allow users to navigate from one page to
another. See Workflow considerations for page fields on page 229 for more
information.
8 Choose File > Save Form to save your changes.

308 "Chapter 6Defining fields

Developing AR System Applications: Basic

Setting Shared Fields propertiesPage fields


Use the Shared Fields tab to display the same fields in all of the pages in a page
holder in a view.
When you select the check box to the left of each field, that field will be shared
and visible in the same position on each page. Fields that are not selected
appear only on one page.

Figure 6-43: Field PropertiesPage Holder, Shared Fields tab

If you share an opaque trim box across page fields, there is no logical way to
make sure the box is behind all fields on each page. To ensure that users can
view the fields on each page field, make sure such boxes are transparent.
In Remedy User, fields that are shared across page fields are hidden if all the
page fields in the page holder are hidden. However, if a page holder is shared
across all pages of a hidden outer page holder, some of the pages in the inner
page holder might be visible. The contents of these pages are not visible.
On the web, fields that are shared across page fields (including nested page
holders and page fields) are visible even though all the page fields are hidden.
This is because shared fields are children of the page holder and independent
of page display properties. Use workflow to hide these shared fields or to hide
the page holder.

Creating fields ! 309

Action Request System 6.3

Creating attachment pools


Use the following procedure to create an attachment pool.
" To create an attachment pool:
1 Open the form with which you want to work.
2 Choose Form > Create a New > Attachment Pool.

An attachment pool appears in the upper-left corner of the Form window.


3 Open the Field Properties window for the new attachment pool.

Figure 6-44: Field PropertiesAttachment Pool

4 Specify Database properties to set the attachment pool name.


5 Specify Attach Fields properties to add attachment fields to the attachment

pool, as described in Defining attachment fields within an attachment pool


on page 311.
6 For web views, define button and column labels for attachment pool, as

described in Defining display labels for attachment pools on page 316.


7 Specify the other pool properties, which are listed on page 240.

310 "Chapter 6Defining fields

Developing AR System Applications: Basic

8 Select the attachment pool, drag it to position it on the form, and adjust its

size with the resize handles.


Note: For web views, make sure to leave enough space on the form to
accommodate the Add, Delete, Display, and Save to Disk buttons that
appear below the attachment pool in the browser.

See Arranging fields on a form without auto layout on page 408 for more
information.
9 Choose File > Save Form to save your changes.
10 Specify properties for each attachment field within the attachment pool.

These properties are described in Understanding field properties on


page 240.
11 Choose File > Save Form to save your changes again.

Defining attachment fields within an attachment pool


Use the Attach Fields tab to define attachment fields within an attachment
pool. If you are creating a form or a view that will be viewed on the web, you
can define display labels as described in Defining display labels for
attachment pools on page 316.

Figure 6-45: Field PropertiesAttachment Pool, Attach Fields tab

Creating fields ! 311

Action Request System 6.3

The following figure shows an attachment pool in Remedy User.

Figure 6-46: Attachment poolWindows view

The following figure shows an attachment pool in a browser.

Figure 6-47: Attachment pool displayed in a browser

" To create an attachment field in an attachment pool:


1 In the attachment pool Field Properties window, select the Attach Fields tab.
2 Enter a label for the attachment field in the Enter Attachment Field Label

field.
This label can be up to 80 characters, and will be used as the display label and
database name for the attachment field. After saving the form, you can
change the display label by modifying the attachment field label in this dialog
box, or by defining Display properties for the attachment field. You can
change the database name by defining Database properties for the
attachment field. See Understanding field properties on page 240 for
information on defining properties for attachment fields.
3 Click the Add button to add the attachment field to the attachment pool.

The name of the new attachment field appears in the Attachment Field List
box.

312 "Chapter 6Defining fields

Developing AR System Applications: Basic

4 Repeat steps 2 and 3 for each attachment field you want to add to the

attachment pool.
The number of fields you add determines the number of attachments the
user can add (assuming permissions are set for that particular user). You can
specify as many attachment fields as you want, depending on your
underlying database. If you exceed the limit your database sets, you will get a
database error. See your database documentation for the maximum number
of columns allowed in each database.
There is no automatic sorting of the fields in the attachment pool. Rearrange
the fields by using the up and down arrows next to the Attachment Field List
box.
5 Choose File > Save Form to save your changes.
" To modify an attachment field in an attachment pool:
1 In the attachment pool Field Properties window, select the Attach Fields tab.
2 Select the attachment field you want to modify in the Attachment Field List.
3 Click the Enter Attachment Field Label field and change the label for the

attachment field.
This label can be up to 80 characters, and will be used as both the display label
and database name for the attachment field. After saving the form, you can
change the display label by modifying the attachment field label in this dialog
box, or by defining Display properties for the attachment field. You can
change the database name by defining Database properties for the
attachment field. See Understanding field properties on page 240 for
information on defining properties for attachment fields.
4 Click the Modify button to apply changes to the attachment field.

The new name of the attachment field appears in the Attachment Field List
box.
5 Choose File > Save Form to save your changes.

Creating fields ! 313

Action Request System 6.3

" To delete an attachment field from an attachment pool:


1 In the attachment pool Field Properties window, select the Attach Fields tab.
2 Click the name of the attachment field in the Attachment Field List box.
3 Click the Delete button to delete the attachment field from the attachment

pool.
The name of the attachment field disappears from the Attachment Field List
box.
4 Choose File > Save Form to save your changes.

Defining Database properties for each attachment field


For each attachment field within an attachment pool, you set database
properties. The Database tab (shown in the following figure) enables you to
define the:
!

Attachment field name.

Maximum size (input length) of the attachment.

Entry Mode. You can select Optional or Display Only. For more
information, see Entry Mode on page 257.

Figure 6-48: Field PropertiesAttachment Field, Database tab

314 "Chapter 6Defining fields

Developing AR System Applications: Basic

Size factors to consider when creating attachment fields


When setting properties for each attachment field within an attachment
pool, set a maximum size that is large enough to accommodate typical
attachments, but small enough to conserve database space. If you do not
allocate enough space in the Input Length field and the size of the attachment
exceeds what you have allocated, users will not be able to add attachments,
even when there are empty attachment fields available in the attachment
pool. If you set the maximum field size to 0 (the default), users can add
attachments up to whatever size your DBMS will allow. Any other number
you enter represents actual bytes.
The size of your attachments can also be limited by the available memory on
your client machine. For example, your DBMS might allow attachments up
to 2 GB, but in fact be limited to attachments of only a few MB at any given
time due to memory constraints on the client side.
To define maximum sizes of attachments for Oracle (including memory
allocation) and MS SQL Server databases, see the discussion of
Db-Max-Text-Size under the configuration file (ar.conf/ar.cfg) discussion in
the Configuring AR System guide.
Note: Remote procedure call (RPC) and memory allocation errors might
occur when users open large attachments on computers with limited
memory resources. The error that appears depends on the stage of transfer
(from client to server computer) at which the memory failure occurred. If
the user receives a malloc in client library failed error, check the memory
resources of the client computer. If the error is Unable to send, check the
memory resources of the client and server computers. If it was a databasespecific memory error, check the data or log (or transaction) space.
" To define Database properties for attachment fields:
1 Select the Database tab.
2 Click the ID field to edit the field ID for the attachment field.
3 Click the Name field to edit the database name for the attachment field.
4 Click the Input Length field, and enter the maximum size (in bytes) for the

attachment field.
The input length appears under the Max Size column in the attachment pool.
5 Set Entry Mode to Optional or Display-Only. (See Entry Mode on page 257

for more information.)

Creating fields ! 315

Action Request System 6.3

6 Repeat steps 2 through 5 for each additional attachment field.


7 To delete an attachment field, see the procedure To delete an attachment

field: on page 332.


8 Choose File > Save Form to save your changes.

Defining display labels for attachment pools


You can define labels for attachment pool functions, such as Add, Delete,
Display, and Save to Disk. These functions appear as buttons in web clients
(as shown in the following figure), and as right-click menu items in Remedy
User.

Figure 6-49: Attachment pool displayed in a browser

If a label is left blank, the button, or right-click menu item will not be
displayed. Depending on the labels you define for attachment pools on the
web, you might want to adjust the size of the pool to accommodate them.
The following table shows the available display labels, their default values,
and their descriptions.
Field

Default Value

Description

Add Label

Add

Label on button used for adding an


attachment.

Delete Label

Delete

Label on button used for deleting the


selected attachment.

Display Label

Display

Label on button used for opening the


selected attachment on the client.
For web clients, only files with file name
extensions that are configured by the
browser will open. If the browser is not
configured for a particular file type, a Save
dialog box will open.

316 "Chapter 6Defining fields

Developing AR System Applications: Basic

Field

Default Value

Description

Save Label

Save to Disk

Label on button used for saving the


selected attachment on the client.

Title Label

Attach Label

Label on column displaying attachment


field labels.

Filename Label

File Name

Label on column displaying attached file


names.

Filesize Label

Max Size

Label on column displaying attached file


sizes.

" To define display labels for attachment pools viewed in a browser:


1 In the attachment pool Field Properties dialog box, select the Attach Fields

tab.
2 In the Display Labels in View section, click the field next to the label you want

to modify.
3 Enter a new label, or clear the existing label.

If you clear a label for a button, the button will not be displayed. If you clear
a label for a column, the default column names will be used. When a user
adds attachments, the file names will always appear in the attachment pool,
even if you do not display any of the columns or buttons.
4 Choose File > Save Form to save your changes.

Creating view fields


Use the following procedure to create a view field.
" To create view fields:
1 Open the form with which you want to work.
2 Choose Form > Create a New > View Field.

The new field appears in the upper-left corner of the Form window.
3 Click Field Properties.

Creating fields ! 317

Action Request System 6.3

The Field PropertiesView Field window appears.

The web page, form , or


interpreted code you
specify here is displayed
in the view field.

Figure 6-50: Field PropertiesView Field window

4 In the Text field on the Display tab, specify an initial value for the view field.

You can enter any value that can be read by a browser. For example, you can
enter the URL of your company, the URL for a form on the web, an HTML
snippet, or JavaScript. The web page, form, or interpreted code appears in the
view field in Remedy Administrator when you close the Field Properties
window.
To display the view field initial value in Remedy User or web clients, do one
of the following:
!

Configure user preferences to Set Fields to Default Values in new and


search modes.

Use a Set Fields active link action to set the view field value to $DEFAULT$
when the form opens. In this case, set the execute on condition to Window
Loaded.

You can also leave the Text field blank and use workflow to set the initial
display value.

318 "Chapter 6Defining fields

Developing AR System Applications: Basic

Warning: Do not use HTML snippets that contain tables or frames. Display
this type of content using a URL instead.
5 Specify border and scroll bar properties on the Advanced tab.

For more information, see Advanced properties on page 251.


6 Specify the other field properties, which are listed on page 240.
7 Select the field, drag it to a position in the form, and adjust its size.

If the contents of the web page or HTML snippet are too large for the field,
scroll bars will appear at the top and right side of the field in Remedy User or
web client.
See Arranging fields on a form without auto layout on page 408 for more
information.
8 Choose File > Save Form to save your changes.

Creating application list fields


Use the following procedure to create an application list field.
" To create an application list field:
1 Open the form with which you want to work.
2 Choose Form > Create a New > Application List.

The new field appears in the upper-left corner of the Form window.
3 Click Field Properties.

Creating fields ! 319

Action Request System 6.3

The Field PropertiesApplication List window appears.

Figure 6-51: Field PropertiesApplication List window

4 In the Display tab, specify the Label.


5 Specify other field properties, which are listed on page 240.
6 Select the field, drag it to a position in the form, and adjust its size.

For more information, see Arranging fields on a form without auto layout
on page 408.
7 Choose File > Save Form to save your changes.

Creating button fields


Use the following procedure to create a button field.
" To create a button field:
1 Open the form with which you want to work.
2 Choose Form > Create a New > Button.

The new field appears in the upper-left corner of the Form window.

320 "Chapter 6Defining fields

Developing AR System Applications: Basic

3 Click Field Properties.

The Field PropertiesButton window appears.

Figure 6-52: Field PropertiesButton window

4 In the Display tab, specify the Button Label and Display Type.

For more information, see Display properties on page 242.


5 In the Active Links tab, specify active links to execute when the button is

clicked.
For more information, see Adding an active link to a button on page 322.
6 Specify other field properties, which are listed on page 240.
7 Select the field, drag it to a position in the form, and adjust its size.

For more information, see Arranging fields on a form without auto layout
on page 408.
8 Choose File > Save Form to save your changes.

Creating fields ! 321

Action Request System 6.3

Adding an active link to a button


Active links define operations that are executed on the client machine when
the user performs a specific action. Use the Active Link(s) tab in the buttons
Field Properties window to connect active links to buttons or menu items, as
explained in Associating active links with buttons and menu items on
page 594.

Adding an image to a button


The Image tab enables you to add an image to a button.

Figure 6-53: Field PropertiesButton, Image tab

Note: When creating graphics in a form, use images that employ a web-safe
palette, which is a palette of 256 colors.

322 "Chapter 6Defining fields

Developing AR System Applications: Basic

The following table describes the available image properties.


Field

Description

Display as Flat Image Enables you to display the button without its default threedimensional border. This option is helpful when you want
to use images as trim.
If you select this option and your button performs an action
when clicked, make sure that the button looks like an object
that users should click. For example, you can include a label
for the button.
Image Position
Relative To Label

Specifies where the image is positioned relative to the label.


The choices are:
Center (default)
Left
! Right
! Top
! Bottom
When the image is centered, the label will not be visible
inside the button.
!
!

Scale Image To Fit

Scales the image to fit the size of the button.


If this option is not selected, the image might be cropped,
and you might need to resize the button frame.

Maintain Aspect
Ratio

Maintains the proportions of the image when the image is


resized to fit the size of the button. This option is enabled
when you select Scale Image To Fit.

Change Image

Enables you to browse to and choose an image for the


button. You can choose files that are in .jpg, .jpeg, .bmp,
and .dib formats. The image you choose appears in the
Image Preview region.

Save Image To File

Enables you to save the image to a different file or folder.

Clear Image

Deletes the image within the button.

The functionality to gray out disabled buttons is part of the button feature;
you need not use different bitmaps to represent the different button states
(for example, normal, grayed, depressed, reversed).

Creating fields ! 323

Action Request System 6.3

There are no restrictions on the size of the bitmaps, either in dimension in


the form or in disk space. However, all forms are stored in memory, and
forms with large images will cause a performance decline. Furthermore,
having images contained in multiple views causes additional copies of the
same images to be stored in memory. On the web, large images will increase
the download time. For best performance, use images with small file sizes.
" To add an image to a button:
1 In the Field Properties window for the button, select the Image tab.
2 Click the Change Image button.
3 In the dialog box that appears, open the file for the image you want displayed

on the button.
4 Change the image properties as needed.
5 Choose File > Save to save your changes.

Creating trim fields


Use the following procedure to create a trim field.
" To create trim fields:
1 To create one of the trim elements, open the form with which you want to

work.
2 Choose Form > Create a New.
3 Choose Horizontal Line, Vertical Line, Box, or Text.

The new field appears in the upper-left corner of the Form window.
4 Click Field Properties.

324 "Chapter 6Defining fields

Developing AR System Applications: Basic

The Field Properties dialog box appears.

Figure 6-54: Field PropertiesText window

5 Specify the field properties, which are listed on page 240.

By default, boxes and text boxes are opaque and use the background color of
the form. To show the area on the form beneath a box (for example, when
using a background image on a button and you want the text on top of the
image), make the box or text transparent (see Color/Font properties on
page 263), and bring it to the front (choose Layout > Bring to Front).
Note: In some browsers, users cannot click through a transparent trim box to
the fields underneath. For applications that will be viewed on the web,
place box trim fields under fields.
6 Select the field, drag it to a position in the form, and adjust its size.

When adding a box to a form, drag it by its interior to change its position or
drag it by the corners or edges to change its size. Similarly, you can move and
resize the box that surrounds text that you add.
!

To change the length of a line, drag the anchors that appear at either end.

To control where the box appears, use the toolbar buttons or the Layout
Menu.

Creating fields ! 325

Action Request System 6.3

For more information, see Arranging fields on a form without auto layout
on page 408.
7 Choose File > Save Form to save your changes.

Setting trim field attributes


The settings that appear in the Attributes tab (shown in the following figure)
of the trim properties window vary depending on whether the trim is a line,
box, or text.

Figure 6-55: Field PropertiesTrim Field, Attributes tab

326 "Chapter 6Defining fields

Developing AR System Applications: Basic

The following tables describe available trim field attributes.


Text section
Field

Description

Style

Specifies a style for a text field. You can redefine how a style maps to
a specific font. The style choices, default attributes, and uses are
listed in Form Font preferences on page 71.
Note: The user can change the font and size of each style with

Remedy User Display Options settings. As the administrator, your


font preferences should match that of the majority of your users
tools.
Justification

Defines where text is positioned relative to the left and right edges of
the box. Your choices are:
!
!
!

Alignment

Left
Center (the default)
Right

Defines where text is positioned relative to the top and bottom edges
of the text box. The choices are:
!
!
!

Top
Middle (the default)
Bottom

Line section
Field

Description

Thickness

For a box or line, specifies a line width of 1 to 9 pixels. The default is


2.
Thickness cannot be edited if the Depth Effect is Etched.

Creating fields ! 327

Action Request System 6.3

Line section
Field

Description

Depth Effect For a box or line, specifies the appearance of depth. The choices are:
None
Raised
! Sunken
! Etched (the default)
See Figure 6-10 on page 236 for examples of these styles.
!
!

Orientation

Specifies the orientation of a line. The choices are:


!
!

Vertical
Horizontal

Background section
Field

Description

Background
Mode

For text or box fields, specifies whether the background is


opaque or transparent.
For text fields in web clients, if you choose Opaque, the
background will be white when displayed in web browsers.

Adding a URL to a text field


Using a text field (trim), you can insert URLs into a form that will link your
users to the Internet or intranet, or will open the file in the associated
program.
" To add a URL to a text field:
1 Open the form with which you want to work.
2 Create a text field using the procedure in To create trim fields: on page 324.

The new field appears in the upper-left corner of the Form window.
3 Double-click the new field to open the properties window.

The Display properties tab is displayed.


4 In the Text field, select New Text, and replace it with the URL label that you

want to appear on the form.


For example, you can enter the name of your company.

328 "Chapter 6Defining fields

Developing AR System Applications: Basic

5 Select the text that is to be converted to a URL, and click the Insert URL Link

button.
The Insert URL Link dialog box appears.
6 In the URL field, enter the URL destination to which you want to connect.

From the URL field list menu, you can select any URL protocol identifier.
For example, select one of the protocol identifiers (http://) and enter the
URL, as in http://www.remedy.com.
7 Click the Test URL button to make sure that the URL destination is valid.

Your default browser will open to the URL destination you entered, or the
associated program will open the file with a known extension.
8 Drag the text URL field to a position in the form.
9 Choose File > Save Form to save your changes.
" To change the URL color (text trim fields):
1 Select the Color/Font tab.
2 Clear the Default URL Color check box.

The field under URL Color is enabled.


3 Select a color from the palette attached to the field.

You can also select Other from the palette to create a custom color.
4 Choose File > Save Form to save your changes.

Managing fields
The following sections explain how to modify, copy, delete, disable, and find
fields on a form.

Modifying fields
Use the following procedure to modify an existing field. If you modify the
display properties of a field, the modifications apply only to the form view in
which you are working. If you modify any other field properties, the
modifications apply to all form views.

Managing fields ! 329

Action Request System 6.3

" To modify a field:


1 Open the form with which you want to work.
2 Double-click the field to open the properties window.

Alternatively, select the field from the Find Field drop-down list or select its
ID from the ID field, and click the Field Properties button at the top of the
window.
3 Modify the field properties, which are listed on page 240.
4 Select the field, drag it to a position in the form, and adjust its size.

See Arranging fields on a form without auto layout on page 408 for more
information.
5 Choose File > Save Form to save your changes.

Copying fields
You can copy all field types, except page fields. When copying attachment
fields, you can copy only one at a time.
When you create a copy of a field, most properties for the new field are the
same as the original, with the following exceptions:
!

If you copy a field to the same or different view of the original form, the
only field properties that change are the ID and the Name.

If you copy a field to a different form, its properties (including the field ID)
remain the same. However, if you want to use this field in shared workflow
(for example, in an active link), you must modify the workflow to include
the form to which the field was copied.

Regardless of the form or form view to which you copy a field, menus that are
attached to a field are copied with the field and need not be reattached.
Warning: Use caution when using different field names that share the same
field ID since shared workflow could use the field ID. You might want to
use the same field name to help you remember what the fields purpose is
on each form if you are attaching shared workflow to multiple forms.

330 "Chapter 6Defining fields

Developing AR System Applications: Basic

" To copy a field:


1 Open the form from which you want to copy a field.
2 Select the field.

You can also select and copy multiple fields.


3 Choose Edit > Copy.
4 Open the form to which you want to copy the field.
5 Choose Edit > Paste.

The new field appears on the form. If the form has multiple views, the
following conditions apply:
!

If your system preferences are set to copy fields to all form views (the
default setting), the field will be added to all form views. For more
information, see Form preferences on page 77.

If these preferences are cleared, the field will appear only in the selected
form view. However, if you want the field to appear also in a different form
view, select the view, and then choose Form > Current View > Fields in
View to add the field to that view. For more information, see Including
and excluding fields from form views on page 423.

If you copy the field to a different view on the same form (choose
Form > Select a View to select the view), the Paste to View Options dialog
box appears with the following prompt: Do you wish to add existing
fields to this view, or create new fields? Click one of the following buttons
to complete the action:
!

Add to ViewAdds the selected field to the current view. The added
field has the same display properties as the original field, and no new
fields are created. See Views properties on page 259 for another way
to perform this operation.

Create NewCreates and adds a copy of the field to the current view.
The copied field has the same properties as the original field, except for
the field ID and field Name.

6 Click Field Properties to open the properties window.


7 Modify the field properties, which are listed on page 240.
8 Select the field, drag it to a position in the form, and adjust its size.

See Arranging fields on a form without auto layout on page 408 for more
information.
9 Choose File > Save Form to save your changes.

Managing fields ! 331

Action Request System 6.3

Deleting fields
The delete operation is permanent and cannot be undone. When the field is
deleted, it is removed from all form views. The field and its associated data
for each request are also deleted from the database and space is freed. The
operation might take several minutes to complete. Because your database
might be unavailable while the deletion is occurring, users will not be able to
access the server and might receive time-out messages. To minimize user
inconvenience, perform deletions during off-peak hours.
If you want to make data fields nonoperational without removing them or
their associated data from the database, see Making data fields
nonoperational on page 333.
" To delete a field:
1 Open the form with which you want to work.
2 Select the field (or fields).

You cannot delete the core fields. See Core fields on page 598 for more
information.
3 Choose Edit > Delete.

A delete field warning appears.


4 Click Yes to delete the field.

The field is removed from the form.


5 Choose File > Save Form to save your changes.

A final warning appears alerting you that the fields will be deleted from the
database.
6 Click OK.

Note: When deleting a page field, the data fields on the page are not deleted.
They are removed from the view, but are still present. For more
information, see Including and excluding fields from form views on
page 423.
" To delete an attachment field:
1 Open the Properties window for the attachment pool.
2 Select the Attach Fields tab.
3 Select the attachment field you want to delete.

332 "Chapter 6Defining fields

Developing AR System Applications: Basic

4 Click the Delete button.


5 Choose File > Save Form to save your changes.

Note: You can select the attachment pool and press the Delete key to delete
the attachment pool and all its fields. At the prompt in the dialog box, click
the Yes button.

Making data fields nonoperational


If you do not want to use a data field but do not want to delete it, you can
make it nonoperational. The following procedure can be useful for fields that
contain necessary data that you do not want users to access or for fields that
you plan to delete when you restructure the database.
" To make a data field nonoperational:
1 Open the form with which you want to work.
2 Double-click the field to open the properties window.
3 Select the Database tab.
4 From the Entry Mode list, select Optional.

The Entry Mode list is active only for required and optional fields. You
cannot change the entry mode of a display-only field, table field, or a page
field. See Entry Mode on page 257 for more information.
5 If there are multiple views, use the Views tab to remove the field from all

views other than the current one.


See Views properties on page 259 for more information.
6 Close the properties window.
7 Remove the field from the current view by using the Fields in View dialog

box, as described in Including and excluding fields from form views on


page 423.
8 Choose File > Save Form to save your changes.

The field will not be hidden to current users of the form until they reopen the
form or log in again.
Note: You can also set permissions to make a field available to selected users
only. See Permissions properties on page 259.

Managing fields ! 333

Action Request System 6.3

Finding fields in a form


Use the Find Fields feature to locate a field in a specific form view. This
feature is useful when you:
!

Have a large number of fields in a form.

Need help locating a field that does not have a label.

Need help locating a field that is behind another field.

Know the field ID, but do not know where it is on the form.

" To find a field:


1 Open the form with which you want to work.

If the field you are trying to locate is in another view of the form, use the
Form > Select a View menu to choose the form view. This menu selection is
active only if more than one view is associated with the form.
2 From the Find Field menu list beneath the toolbar, select the field that you

want to locate.
Each field in the list is displayed in the forms field_database_name
(field_display_label [field_ID]). If the field that you are trying to locate does
not have a field label, AR System displays field_database_name([field_ID]).
The selected fields ID is listed in the ID field, and the field is outlined with a
selection box.
To find a field by its ID, select the ID from the ID field.
3 To open the properties window, click the Field Properties button or double-

click the selected field.

Fields in join forms


Field properties function somewhat differently in a join form than in a nonjoin form.
For each field in a join form, you can perform the following tasks:
!

View information about the underlying form and field for a specific join
field, including:
!

Database properties such as field ID and data type.

The field ID in the underlying form.

The underlying form from which the field came.

334 "Chapter 6Defining fields

Developing AR System Applications: Basic


!

The name of the field in the underlying form. (This information is


helpful for keeping track of field names when they are changed in a join
form.)

Group permissions.

Modify a join fields display, database, and color/font, help text, and
change history properties.

Add data fields to the join form, or create display-only or trim fields.
(Display-only fields can be inherited or created on the join form.)

Remove fields from the join form.

The following sections provide instructions for performing these tasks. For
important background information, see Understanding field properties on
page 240.
" To view or modify field properties in a join form:
1 Open the join form with which you want to work.
2 Open the Field Properties window of the field.

Figure 6-56: Field properties for a join form

Fields in join forms ! 335

Action Request System 6.3

3 Modify the fields display properties by changing any of the values under the

Display and Color/Font tabs.


See Display properties on page 242 and Color/Font properties on
page 263 for information about the values you can enter.
Other tabs in the Field Properties window let you also view important readonly information. For example, the Database tab shows the underlying form
that the field came from.
4 To modify the fields help text or change history, select the Help Text and

Change History tabs.


See Creating help text for AR System objects on page 62 and Building and
using change history for AR System objects on page 61.
5 Choose File > Save Form to save your changes.

Adding fields to join forms


If you want to add a data field to a join form after it has already been created,
the field must already exist in one of the underlying forms. This is because,
from a database point of view, a join form is only a temporary composite
database table.
You can add new trim fields (lines, boxes, or text), buttons, page fields, table
fields, and display-only data fields directly to the join form in the same way
that you add them to non-join forms.
The following procedure only provides instructions for adding data fields
from the primary or secondary form to your join form.
" To add a field from a primary or secondary form to a join form:
1 Open the join form with which you want to work.
2 Choose Form > Create a New > Field From <xxx>, where xxx is the primary

or secondary form that contains the appropriate field.


The Add Field dialog box appears. It contains a list of the fields that you have
not yet added from the underlying form to the Join form.
3 From the Select field list, select the appropriate fields, and click OK.

The new fields appear in the upper-left corner of the form window.
4 Drag the new fields to the appropriate position in the Join form.

336 "Chapter 6Defining fields

Developing AR System Applications: Basic

5 To modify a fields display properties:


a Double-click the field to open the Field Properties window.
b Edit the fields display properties, help text, and change history as needed.

See Understanding field properties on page 240 for information about


the values that you can enter.
6 Choose File > Save Form to save your changes.

Removing fields from join forms


You can remove inherited data fields from a join form at any time. Removing
a data field from a join form removes it only from the join form view. To
delete a data field displayed in a join form from the database, you must delete
the field from the underlying non-join form.
If you remove a display-only field or trim from a join form, it is actually
deleted.
" To remove fields from a join form:
1 Open the join form with which you want to work.
2 Select the appropriate fields.
3 Choose Edit > Delete.
4 Click Yes to delete the field, or click Yes to All to delete multiple fields.
5 Choose File > Save Form to save your changes.

Fields in join forms ! 337

Action Request System 6.3

338 "Chapter 6Defining fields

Chapter

Defining menus

This section describes how to create and modify character field menus, and
includes the following sections:
!
!
!
!
!
!
!
!
!
!

Understanding character field menus (page 340)


Using the Menu window (page 341)
Creating and modifying menus (page 342)
Defining character menus (page 345)
Defining file menus (page 348)
Defining search menus (page 350)
Defining SQL menus (page 357)
Defining data dictionary menus (page 362)
Building and using menu change history (page 364)
Creating help text for menus (page 364)

Defining menus ! 339

Action Request System 6.3

Understanding character field menus


Menus provide organized lists of choices for quick selection and field entry.
You can attach menus to any character field in any form on the server, and
you can use the same menu for as many different fields as you want.
In Remedy User, users can set a preference to determine how menus are
displayed, such as hierarchical levels (popup style) or tree views (list box
style). On web clients, menus are always displayed as lists.
Note: Do not confuse character field menus with the menus in the menu bar
used to execute active links on the enumerated field type (drop-down list
field). For more information about active link menus, see Using buttons
and menu bar items to execute active links on page 587.

You should familiarize yourself with the information in Chapter 5, Creating


AR System forms, and Chapter 6, Defining fields, before you perform the
operations described in this section.

340 "Chapter 7Defining menus

Developing AR System Applications: Basic

Using the Menu window


Use the Menu window (shown in the following figure) to create and modify
menus.
Note: In this section, Menu window refers to a Create Menu or Modify Menu
window.

Figure 7-1: Menu window

Menu names must be unique on each AR System server. The maximum


number of characters that can be displayed in Remedy User for a menu item
regardless of type is 80 characters.
The Menu window contains the following tabs:
Menu
Definition

Defines the basic properties of the menu, including refresh mode


and menu type.

Change History Records the owner of a menu, the user who last modified it, and
the date of the modification. You can also enter a description of
your changes.
Help Text

Supplies help text for the menu. In most cases, this help text is a
description of the menu, what it does, and how it is used.

Using the Menu window ! 341

Action Request System 6.3

Creating and modifying menus


You can create a menu and attach it to any character data field. The following
figure shows a menu with two levels.

Figure 7-2: Character field with a menu

You can define as many as 14 menu levels, but, for good usability, limit
menus to as few as possible.

Creating menus
You can create menus in a Server Window or an Application Window. When
you create a menu in an Application Window, the menu initially appears in
the Server Window. After you add the menu to a character field on a form (or
to a Change Field action) that belongs to an application, the menu appears in
the Application Window for that application. For more information, see
Defining Attributes properties on page 268 and Chapter 7, Defining
menus.
" To create a menu:
1 Open a Server Window or an Application Window.
2 Click the New Server Object toolbar button.
3 From the New Server Object list, select Menu, and then click OK to open the

Create Menu window (Figure 7-1 on page 341).


4 In the Menu Name field, enter a name.

Names can be as many as 80 characters, including spaces. Names can include


double-byte characters, but avoid using numbers at the beginning of the
name.

342 "Chapter 7Defining menus

Developing AR System Applications: Basic

5 From the Menu Type region, select one of the following menu types.
Character

Defines the menu as a series of label and value entries.

File

Specifies a file that contains a formatted character menu. The file


can reside on the client or the server and can be updated at any
time. After you update the file, the changes are automatically
applied when the menu is refreshed.

Search

Uses a search that specifies a form from which to draw labels and
values. The search runs when a user accesses the menu so that you
can create a dynamic menu that updates based on current
conditions. Because permissions are verified at the time of the
search, users will only be able to see items for which they have
permission.

SQL

Uses an SQL command to pull values from a database table. You


specify which column of the retrieved data to use as the label and
which to use as the value. You can create a dynamic menu that
updates based on current conditions.

Data
Dictionary

Uses names, labels, or IDs of forms or fields in the data dictionary


as menu labels and values. You specify the name of the server and
form (as appropriate), and the types of forms or fields to use.

The Menu Definition tab changes to display the fields required for the menu
type that you have selected.
6 From the Refresh region, select the appropriate refresh mode.

The Refresh region is disabled for character-style menus, since they are static
menus. All other types allow you to configure when the menu is loaded.
On Connect Retrieves the menu when the user opens the menu after selecting the
form. To update the menu, the user must reopen the form.
On Open

Retrieves the menu each time the user opens it. Frequent menu
retrieval can slow performance, so select this option only when it is
critical that the menu be up to date.

On 15
Minute
Interval

Retrieves the menu when the user first opens it, and when 15
minutes have passed since the last retrieval. This choice provides a
balance between the need to be current and the expense of constant
menu retrieval.
For web clients, this option behaves the same as On Open.

Refresh modes affect only a menus contents, not its definition. The
definitions of all menus are updated every time you reconnect to a form.
Creating and modifying menus ! 343

Action Request System 6.3

7 Specify values for the remaining fields for the menu type that you

have selected, as described in the appropriate procedure:


!

Defining character menus on page 345.

Defining file menus on page 348.

Defining search menus on page 350.

Defining SQL menus on page 357.

Defining data dictionary menus on page 362.

8 Choose File > Save Menu to save your changes.

Modifying menus
Use the following procedure to modify an existing menu.
" To modify a menu:
1 Select a server to administer.
2 Click the Menus category.
3 Double-click the appropriate menu to open it in a Modify Menu window.
4 To modify the menu name, enter a new name in the Menu Name field.
5 To modify the refresh mode, select the appropriate option from the Refresh

region. For more information, see Creating menus on page 342.


6 Modify the remaining fields for the menu type that you have selected.
7 Choose File > Save Menu to save your changes.

Copying menus
When you save a menu under a different name, the new menu contains all of
the properties of the original menu. The only difference is the name.
" To copy a menu:
1 Select a server to administer.
2 Click the Menus category.
3 Double-click the appropriate menu to open it in a Modify Menu window.
4 Choose File > Save Menu As.
5 In the Menu Name field, enter a new name.
6 Click OK.

344 "Chapter 7Defining menus

Developing AR System Applications: Basic

Deleting menus
The delete operation is permanent and cannot be undone. You cannot delete
a menu that is open in Remedy Administrator.
" To delete a menu:
1 Select a server to administer.
2 Click the Menus category.
3 Select the appropriate menu.
4 Choose Edit > Delete - Menu(s).

A confirmation message appears (if your preferences are set to display a


message, as described in Defining administrator preferences on page 66).
You can also right-click on the menu, and choose Delete from the context
menu that appears.
5 Click Yes to delete the menu.

The menu is deleted from the database and will no longer appear in the list
of menus.

Defining character menus


A character menu is a series of label and value entries. Plan your menu
structure before creating a character menu. The following figure shows an
example of a plan, including the parent and child menu entries.
First-Level Menu
(parent)
Second-Level
Submenu
(child)
Third-Level
Submenu
for Clients
(child)

AR System
Utilities
Clients
Remedy User
Remedy Import
Remedy Alert

Figure 7-3: Design for parent and child menus

Defining character menus ! 345

Action Request System 6.3

" To define a character menu:


1 From the Menu Type region of the Create Menu window, select Character.

The fields required to define a Character menu appear, as shown in Figure 71 on page 341.
2 Click Add Menu to add a new menu entry.

An item is created in the Menu Definition box (Figure 7-4 on page 347) and
contains the default text, New Menu.
The Value field becomes enabled when you click Add Menu.
3 Replace New Menu with the appropriate menu item label.

The maximum length is 80 characters.


4 To add a submenu, select a menu or submenu, and click Add Menu Item.
5 Edit the menu item label.

You can specify as many as 99 submenu items for each menu item.
For example, to create the AR System menu hierarchy shown in Figure 7-3
on page 345:
a Click Add Menu, and replace the text New Menu with AR System.
b Select AR System, click Add Menu Item, and replace New Menu with

Utilities.
c Click Add Menu, and replace New Menu with Clients.
d To add the third-level items, select Clients, click Add Menu Item, and

replace New Menu with Remedy User. Click Add Menu, and replace New
Menu with Remedy Import, and so on.

346 "Chapter 7Defining menus

Developing AR System Applications: Basic

Note: Avoid using the & (ampersand) character in menu item names.
The & character behaves differently in Remedy User and web clients and
can produce unexpected results.

Minus sign indicates a menu


expanded to show its contents.
Plus sign indicates a collapsed
menu. Clicking either symbol
toggles between the two
states.
Replace New Menu text with
new menu labels.

Figure 7-4: Menu definition list with parent and child menus

6 If the value that you want to appear in the field when the user selects this

menu item differs from the label text, enter the appropriate text in the Value
field.
The maximum length is 255 bytes. The label text is used if you do not enter
a value in this field. Because this text appears when a user selects the menu
item, the Value field applies to selectable menu items only (that is, menu
items that are not parents for other menu items).
7 To add menu entries, repeat steps 2 and 3.

You can also perform the following actions:


!

To modify a menu item, select and edit its label in the Menu Definition
list. You can also select an item and click F2 to edit the menu label. You
can edit the menu item value in the Value field as well.

To rename, delete, cut, copy, or paste a menu item, right-click the item
and choose the appropriate option. Perform the action as needed.

Defining character menus ! 347

Action Request System 6.3


!

To expand or contract all menu hierarchies, click Open All or click


Close All.
These buttons control your view of the menu definition, not how the
menu appears in the User Tool. Menus are saved with child menu items
hidden.

To delete a menu entry, select the appropriate menu entry in the Menu
Definition list, and then click Delete.
Child menu entries are deleted when you delete the parent menu entry.

To change the order of the menu items in the Menu Definition list, rightclick the item that you want to move, drag it up or down in the menu
hierarchy, and then release the mouse button. A context menu appears,
providing you several options where to move or copy the menu item.
In addition, you also can select a menu item, and then click the up or down
arrows.

8 Choose File > Save Menu to save your changes.


9 Attach the menu to a character field as described in Defining Attributes

properties on page 268.

Defining file menus


A file menu lets you display a formatted character menu by referencing an
external plain text file. After you update the file, the changes are
automatically applied when the menu is refreshed.
" To define a file menu:
1 From the Menu Type region of the Create Menu window, select File.

348 "Chapter 7Defining menus

Developing AR System Applications: Basic

The following figure shows how the Menu window might look after you
complete the remaining steps in this procedure.

Figure 7-5: File menu window

2 From the File Location region, select the file location:


Client

File is on the system where the Remedy User client is running. This
location is not supported for web clients.

Server

File is on the AR System server.

3 In the File Name field, enter or browse for the path and name of the plain text

file that contains the menu definition.


For information about how this file is formatted, see the following section,
Menu file format.
4 Choose File > Save Menu to save your changes.
5 Attach the menu to a character field as described in Defining Attributes

properties on page 268.

Defining file menus ! 349

Action Request System 6.3

Menu file format


A menu file is a plain text (.txt) file that contains a formatted menu structure
and is used with file menus. You cannot use MS Word (.doc) or Rich Text
Format (.rtf) files as menu files.
Each line in the file contains a definition of a menu entry in the following
format:
label\value
To create submenu items under a specific item, use tabs (not spaces) to
indicate a child menu. (Omit the value specification for any label that has
sub-items.)
The following example shows a formatted menu file with three main items,
two of which have sub-items:
Consulting Services\Consulting Services
Training
Administrator\Administrator Training
User\User Training
Support
Standard\Standard Support
Priority\Priority Support

You can use a pound sign (#) in the far-left column, and the line of text that
follows the pound sign will be ignored.
For labels in Remedy User, the maximum number of characters that can be
displayed is 80 characters. For values, the maximum number is 255 bytes.
Note: Avoid using the & (ampersand) character in menu item names.
The & character behaves differently in Remedy User and web clients and
can produce unexpected results.

Defining search menus


When you create a search menu, you specify a form from which to draw field
names and values. This method enables you to create a dynamic menu that
updates based on current conditions. Because permissions are verified at the
time of the search, users will be able to see only the items for which they have
permission.

350 "Chapter 7Defining menus

Developing AR System Applications: Basic

" To define a search menu:


1 From the Menu Type region of the Create Menu window, select Search.

You can create a hierarchical search menu by defining up to five levels.


You could build a menu that displays the names of everyone who has an open
help desk request. To do so, select the server and form that contain the
information. Then, select the Submitter field as both the Label and Value.
Finally, build a qualification that searches for requests with a Status not yet
Closed. Figure 7-6 shows how the Menu window might look if you created
this type of menu.

Figure 7-6: Search menu with qualification for open requests

2 From the Server list, select the server that contains the form that you want to

search.
3 From the Form Name list, select the form that you want to search.

Defining search menus ! 351

Action Request System 6.3

4 Define the fields whose values will be used as menu items.


a From the Label Fields list on the left, move the fields that you want to

appear as menu items to the right side. Use one of the following methods:
!

Select a field name in the list on the left and click the >> button.

Double-click a field name in the list on the left.

To remove a label from the menu:


!

Select a field name in the list on the left and click the << button.

Double-click a field name in the list on the right.

b If you add more than one field to the list on the right, you can change the

order of the fields to determine their position in the hierarchy by clicking


the Up and Down arrows.
The first fields values will be the first level, the second fields values will be
the second level, and so on.
Only the first 80 characters of the field will be displayed. Menu items within
the first four levels that do not have a value will appear blank. If the fifth level
menu item does not have a value, it will not appear.
Note: Avoid using the & (ampersand) character in menu item names.
The & character behaves differently in Remedy User and web clients and
can produce unexpected results.
5 From the Value Field list, select the field whose value will be assigned to the

lowest level menu item selected in step 4.


Only the first 255 bytes of the field will be displayed.
6 Select or clear the Sort On Label check box:
!

SelectedMenu labels appear alphabetically.

Cleared (the default)Menu labels appear in the order in which they are
retrieved (that is, the form default sort order).

Note: If there are multiple levels in the menu, Sort On Label is enabled, even
if you do not select it.
7 In the Qualification field, build a qualification to define which requests from

the form that you are searching will be included in the menu.

352 "Chapter 7Defining menus

Developing AR System Applications: Basic

You can type the qualification or you can build it by using the qualification
bar and list, as described in Building qualifications on page 484. You can
use the menu button to choose from a list of fields in the form that you are
searching and from a list of keywords. Make the qualification as specific as
possible to avoid building a list with an unmanageable number of items.
In addition, Remedy Administrator assists you in building qualifications by
performing error checking against certain invalid qualifications, for example,
referencing a field that does not exist on the form, misspelling the field name,
and so on.
When referencing a value from the current screen, you must use the
$<field_ID>$, not the field name, as in the following qualification example:
'Problem Summary' = $8$
Note: If you refer to a field on the current screen in the qualification, do not
use the pattern $MENU$ for any field to which the menu is attached. The
server cannot resolve the field references, so the value will always be
rejected.
8 (Optional) To supply a dynamic server or form, select the Advanced check

box.
For more information, see Defining advanced search menu functions on
page 354.
9 Attach the menu to any field in any form as described in Defining Attributes

properties on page 268.


You might use the menu created in this example to help perform a search on
a callers open requests, as shown in Figure 7-7.

Figure 7-7: Menu items generated from search menu

Defining search menus ! 353

Action Request System 6.3

Defining advanced search menu functions


You can define advanced Search Menu functions that provide alternate
functionality beyond the hard-coded server and form defined in the search
menu. Based on values that workflow or users enter into certain fields, you
can dynamically change which server and form you are querying to create the
search menu.
For example, the Dynamic Search Menu form (as shown in Figure 7-8)
contains two fields (server and form) that can be hidden or display-only. The
values you enter into these fields (for example, they could come from a Set
Fields action) determine at runtime which source server and form are used
as sources in the Search Menu.
When you click the menu on the Short Description field, a query is
performed on the Help Desk Request form on the source server (cordova),
and the returned values are used to create the search menu. Administrators
might prefer to hide this functionality from users altogether and use the
Window Loaded execution condition instead.

354 "Chapter 7Defining menus

Developing AR System Applications: Basic

In this example, records were created in the Help Desk Request form on the
server cordova. If you opened the Dynamic Search Menu form in Remedy
User and entered cordova as the server and Help Desk Request as the form,
when you click the search menu on the Short Description field, the search
menu queries for all open tickets ( 'Status' < "Closed") on the Help Desk
Request form. The values returned create the dynamic entries in the search
menu (Joe User and Josephine User) that users can choose.

Figure 7-8: Using dynamic workflow with search menus

Defining search menus ! 355

Action Request System 6.3

" To design advanced search menu functions:


1 Click the Advanced check box in the Menu window.

The window changes in the following ways:


!

The Server and Form Name fields have boxes that allow you to enter field
IDs or select keywords for the server and form names. These fields must
exist on the form where the menu will be attached.

The Sample Server Name and Sample Form Name fields appear (as shown
in Figure 7-9). Default values listed are the current server and form. You
use these sample fields to specify the Label and Value fields. The
sample form must contain fields that exist on any dynamic source forms
that are used at runtime. But the sample server and form are not actually
used at runtime; the fields you pick are only used to build the menu.

Figure 7-9: Advanced functionality of search menus

2 In the Server and Form Name fields, enter a field ID (or choose a keyword

from the drop-down list) that will dynamically specify which server and
form are used.

356 "Chapter 7Defining menus

Developing AR System Applications: Basic

The server and form that a user (or workflow) enters into those fields at
runtime will be used as the source server and form from which to query for
records when the search menu executes.
You must enter the field IDs for the server and form in their variable format,
for example, $536870916$, as shown in Figure 7-9. When you attach the
search menu to a form, make sure that the form you are querying contains
the appropriate field IDs.
3 From the Sample Server Name and Sample Form Name lists, select a

reference server and form.


By selecting these, you can map the labels and values in step (4). The labels
and values are populated with fields from the sample form. Select field
values that correspond to fields available on any dynamically selected form at
runtime.
The sample server and form are used as a temporary reference to create and
save the Search menu. You can even delete the sample form after saving the
action.
4 Map the Label Field and the Value that you are setting with this action.

In this example, the label and value for the first level of the search menu are
built from querying the dynamic server and form.
Note: Avoid using the & (ampersand) character in menu item names.
The & character behaves differently in Remedy User and web clients and
can produce unexpected results.
5 Choose File > Save Menu to save your changes.

Defining SQL menus


An SQL menu pulls values from a database table by using an SQL command.
The database values make up the SQL menu item labels and define the value
of each SQL menu item. The ability to submit SQL commands to create a
menu enables you to:
!

Select data from databases other than AR System databases.

Issue complex queries to the database. This is useful for customers who
want to use database features specific to a particular database platform.

Defining SQL menus ! 357

Action Request System 6.3

For the most effective use of SQL commands, you must have a general
understanding of relational databases and a specific understanding of your
relational database. If an SQL command is specific to a database instead of
generic, you might have difficulty moving the definition to another
environment.
Before you create an SQL menu, determine what information you want to
search from the database and what information will be returned from your
SQL command.
" To define a menu that uses SQL commands:
1 From the Menu Type region of the Create Menu window, select SQL.

The following figure shows how the Menu window might look after you
complete the remaining steps in this procedure.

Figure 7-10: SQL menu window

2 From the Server list, select the database server to which the SQL command

will be issued.
3 In the Label Index List field, enter the number that is the numerical index of

the database column that contains the information you want to display as
menu item labels.

358 "Chapter 7Defining menus

Developing AR System Applications: Basic

You can create a hierarchical menu by entering up to five index numbers


separated by commas. The first number becomes the first level, the second
number the second level, and so on.
Only the first 80 characters will be used. Menu items within the first four
levels that do not have a value will appear blank. If the fifth level menu item
does not have a value, it will not appear.
Note: Avoid using the & (ampersand) character in menu item names.
The & character behaves differently in Remedy User and web clients and
can produce unexpected results.
4 In the Value Index field, enter the number that is the numerical index of the

database column that contains the information you want to load in the field
when the user chooses the menu item.
Only the first 255 bytes will be used.
5 In the SQL Command field, enter the SQL command that you want to issue

to the database to create the menu.


You can enter only one SQL command for each menu. If you need to run
more than one SQL command, you must use stored procedures or functions.
Do not end the SQL command with run or go.
Note: The syntax that you use must be recognized by the underlying SQL
database. The AR System does not verify the validity of your SQL
command.
6 Attach the menu to a field in any form as described in Defining Attributes

properties on page 268.


Suppose the SQL command from Figure 7-10 on page 358 returned the
results shown in the following figure.
SELECT BUG_ID, FIRST_NAME, TECHNCN FROM CUSTMR_INFO

1
BUG_ID
5000
5001
5002

2
FIRST_NAME
Mary
John
Mark

3
TECHNCN
Zan
Fran
Tran

Figure 7-11: Sample results returned from SQL command

Defining SQL menus ! 359

Action Request System 6.3

Each column has a corresponding numerical index: 1 corresponds to the


BUG_ID column, 2 to the FIRST_NAME column, and 3 to the TECHNCN
column.
Entering a 2 into the Label Index List field creates a menu with the contents
of the FIRST_NAME column as the menu items, as shown in the following
figure.
Menu created from
contents of column 2.

Figure 7-12: Menu created with an SQL command

Entering a 1 in the Value Index field inserts the value from the BUG_ID
column into the field. If a user chooses John from the menu in Remedy User,
the field would be filled with the BUG_ID value associated with John, as shown
in the following figure.

Menu selection

Value inserted
Figure 7-13: Sample field value if value index set to 1

Entering a 3 into the Value Index field inserts the value from the TECHNCN
column into the field, as shown in the following figure.

Menu selection

Value inserted
Figure 7-14: Sample field value if value index set to 3

360 "Chapter 7Defining menus

Developing AR System Applications: Basic

Entering 2,3 into the Label Index List field creates a hierarchical menu as
shown.

Figure 7-15: Hierarchical menu

Performing the SQL operation


Remember the following tips for using SQL commands:
!

You can issue only one SQL command per menu. You cannot enter two
commands separated by a semicolon and have both commands run. If you
need to run a set of commands, you must create a stored procedure and
run that.

Turn on SQL logging in the database to debug the SQL syntax if it returns
unexpected values or results. An additional debugging strategy is to start
an SQL interpreter (for example, isql for Sybase, SQL*Plus for Oracle,
Command Center for DB2, or Query Analyzer or Microsoft ISQL/w for
SQL Server), and enter the same SQL command directly into the database
to see what results occur.

Because AR System does not perform error checking on the SQL


statement, run the SQL statement directly against the database (as a test)
before you enter it into the SQL Command field. You can then copy and
paste the tested SQL command into the SQL Command field.

If the SQL operation fails, an AR System error message and the underlying
database error message appear.

You can greatly affect database performance by how an SQL search is


written. If the row has many columns, a SELECT * SQL command can have
a greater performance impact than if you select specific columns. For
more information, see your relational database documentation.

Defining SQL menus ! 361

Action Request System 6.3

Database security issues


To use SQL commands, familiarize yourself with the specific features of your
underlying database.
All SQL commands are issued by the following users:
!

For Oracle and Sybase databases, run as ARAdmin.

For Informix databases, run as the user that controls the arserverd process.

For DB2 databases, run as the user who installs AR System.

If you are running AR System as one of these users without permission to


access the database, you cannot issue the SQL command.
To access non-AR System databases, use the database name as part of the
SQL command syntax, for example, for a Sybase/MS SQL database:
<DatabaseName.owner.table>
acme.ARAdmin.CUSTMR_INFO

Defining data dictionary menus


A data dictionary menu pulls values for field and form objects from the data
dictionary. For field objects, you specify the server and form, and the type of
fields to use, such as data fields or control fields. For form objects, you specify
the server and the type of forms to use, such as regular forms or join forms,
and whether to include hidden forms.
" To define a data dictionary menu:
1 From the Menu Type region of the Create Menu window, select Data

Dictionary.

362 "Chapter 7Defining menus

Developing AR System Applications: Basic

The following figure shows how the Menu window looks when you are
defining a data dictionary menu.

Figure 7-16: Data dictionary menu window

2 In the Server Name field, enter the name of the server from which the objects

will be selected.
You must have administrator permissions to the server specified.
You can also specify a field ID, such as $<field_ID>$, so that the value in that
field will be used as the server name at run time.
3 Select a format for menu item names in the Label Format field.

The following formats are available:


!

NameThe name of the object in the database.

LabelThe label displayed for the object in the client.

IDThe ID of the object.

Note: Avoid using the & (ampersand) character in menu item names.
The & character behaves differently in Remedy User and web clients and
can produce unexpected results.

Defining data dictionary menus ! 363

Action Request System 6.3

4 Select a format for displaying values in the Value Format field.

You can specify the value to be the name, label, or ID in various formats, such
as plain (Name), or surrounded with single quotation marks (Name) or
dollar signs ($Name$). You can specify pairs of values separated by
semicolons, for example, ID;Label or ;Name;Label.
5 Select the Object Type.

If you select Field, do the following:


a In Field Details, select a form name in the Form Name field.
b In the Field Type field, select one or more types of fields.

The menu will be constructed using fields that match the types of fields
selected.
If you select Form, do the following:
a In Form Details, select a form type in the Form Type field.

The menu will be constructed using forms that match the type of form
selected.
b To display hidden forms matching the form type, select the Show Hidden

Forms check box.


6 Choose File > Save Menu to save your changes.
7 Attach the menu to any field in any form as described in Defining Attributes

properties on page 268.

Building and using menu change history


AR System automatically records the owner of a menu, the user who last
modified the menu, and the date of the modification. To display or add to
this information, click the Change History tab in the Menu window.
For more information about building and using change history, see
Building and using change history for AR System objects on page 61.

Creating help text for menus


You create help text for menus the way you create help text for other objects.
For more information, see Creating help text for AR System objects on
page 62.

364 "Chapter 7Defining menus

Chapter

Creating and managing form


views
This section covers topics related to managing and defining form views, and
includes the following sections:
!
!
!
!
!
!

Creating and managing form views (page 366)


Setting view properties (page 373)
Managing fields in a form view (page 387)
Setting the tab order for the fields in a form (page 421)
Including and excluding fields from form views (page 423)
Preference settings for view selection (page 425)

For additional information specific to web views, see Chapter 9, Working


with AR System forms and applications on the Web.

Creating and managing form views ! 365

Action Request System 6.3

Creating and managing form views


A form view is what users see when they open a form in Remedy User or on
the web. Form views are versions of an original form.
As an administrator, you can provide users with multiple views of the same
form, each defined for a unique purpose, locale, or view type. You can set
default views to determine which view of a form the user will open in
Remedy User or in a browser. An administrator might define views for the
following environments:
!

Different localeViews for specific languages or regions.

Different user rolesCustomized views for requesters, frontline staff,


backline staff, or managers.

Hardware dependenciesViews that allow for the size of a monitor, such


as laptop or desktop. This is useful for legacy systems without scalable
fonts.

Purposes other than a formViews that are used only when invoked as a
dialog box using an active link.

Form views are associated with a particular form and can exist only after the
initial creation of a regular form. Every form has one default view, and you
can create additional views. For information about how to create regular
forms, see Creating and managing forms on page 163.

Creating form views


Use the following procedure to create a new form view. Because one view
exists with every new form, view creation is a copy operation. When you copy
a form view, you get a clone of that view. Only the label name and ID of the
view are changed in the copy. After the copy is made, you can change viewspecific properties without affecting other views.
For information about views that are displayed in a browser, see Chapter 9,
Working with AR System forms and applications on the Web.

366 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

To create an alternate view for a group of users that is invoked using active
links, append an extension to the view label. This view label extension is then
specified in user preferences to identify the extension to be appended to the
view label. The primary view must be specified in the active link and use of
the alternate view is controlled by user preferences. For more information
about user preferences, see the Configuring AR System guide.
" To create a form view:
1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views to open the Manage Views dialog box.

Figure 8-1: Manage Views dialog box

3 From the list of views, select the view that you want to use as a base for your

new view, and click Copy. (Your new view will inherit the view properties
and fields of the original.)
The Manage Views - Copy View To dialog box appears.

Figure 8-2: Manage ViewsCopy View To dialog box

Creating and managing form views ! 367

Action Request System 6.3

Note: To create a blank form view with no core fields, click the New button
(instead of the Copy button) in the Manage Views dialog box.
4 From the View Type list, select Standard (Recommended) to create a view

that can be displayed in Remedy User and in a browser.


The other two options in the View Type list are included for special purposes
or for backward compatibility with previous releases:
!

Web - Alternate (Fixed)A view that uses a fixed layout positioning


for the Web. This type of view is not needed in the 6.3 and later releases.
It would be used only for compatibility with older versions of the midtier or for a situation where you need to create a view that is different
on the Web than what you want on Windows. If there is a view present
of type Web - Alternate (Fixed), that view will be selected first when
running on the Web, unless the Standard view is the default preference
set in Remedy Configuration Tool. See the Configuring AR System guide
for more information.

Web - Legacy (Relative)A view that uses a relative, flow-based


strategy for positioning on the Web. In 6.3 and later releases, this type
of view is not supported. It is available for compatibility with older
versions of the mid-tier.

For information about fixed and relative views, see your prior releases
documentation.
5 Click OK.

The new view is created and listed under the view that was selected as the
template in the Manage View dialog box.

Figure 8-3: Manage Views dialog box

368 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

6 In the Manage Views dialog box, modify the following fields, as appropriate.
ID

A unique identifier for a form view. This value is automatically


generated by AR System and cannot be modified.

Label

The label name for the view. The Label, Locale, and View Type
fields together define a unique identifier for the view. The client
uses the label name to identify the users preferred view. For more
information about user preferences, see the Configuring AR System
guide.
When a view is created, a label name is assigned automatically to
the new view. You can change the label name. There is no enforced
convention for specifying label names, but it is helpful to make the
name descriptive and indicative of the views function consistently
across forms. For example, you might create a Manager view for
all forms in an application.
Label names can be as many as 80 characters, including spaces.
Names can include double-byte characters, but avoid using
numbers at the beginning of the name.
Note: If you want a specific view (other than the default set in

Remedy Administrator) to be displayed in a browser by using a


URL, make sure the label name is unique.
Locale

Defines the views locale. When a view is created, the Locale field is
empty. If left blank, the locale of the users operating system is
assumed for the view.
To specify a locale for a view, click on the cell for the Locale field
and select the preferred locale from the list.
The Locale field associates a language and country dialect with a
view following the format: <language>_<country>. Selecting only
the language will include all variations of that language.
Conversely, selecting fr_CA (French_Canadian) defines a view for
Canadian French speakers, while selecting fr includes all French
speaking countries. For more information about localization, see
the Developing AR System Applications: Advanced guide.
Different views for different locales should have the same Label,
and the correct locale for the user will be automatically opened.

Creating and managing form views ! 369

Action Request System 6.3

View Type

The view type that was selected from the Manage Views - Copy
View To dialog box when copying the view. Choices are:
Standard (Recommended)
Web - Alternate (Fixed)
! Web - Legacy (Relative)
This field cannot be modified.
!
!

Master

Defines whether the view will be used for processing to retrieve


field labels and selection value aliases (not database values).
Certain tools (such as data dictionary menus, active links that
display a list, and application commands) query the data in forms
and use these labels and aliases. For example, the ODBC driver
might use field labels and selection field aliases to generate reports.
Similarly, report qualifiers are validated using these labels and
aliases.
To specify the view that should be used as the master for a
particular locale, click on the cell for the Master field, and select
True from the list.
You can set only one view per locale. It is recommended that you
specify as Master the view that contains most, if not all, of the fields
and aliases required for processing.
If no view is specified as the master, the default view is used. If
neither a master or default view exist, the system chooses a view at
random.

The Label, Locale, and View Type fields do not need to contain unique
values, but the combination of the three fields must be unique to each view.
7 To set a default view, select a view from the Choose Default View list.

The default view is the view that is displayed to a user when a request for a
form is made and no user preferences have been set. An exception to this rule
is seen in a web client; if no user preference has been set but the configuration
preference is set to a web view, the web view is chosen.
8 To open your view, select it in the Manage Views dialog box, and click

Display.
9 Close the Manage Views dialog box.
10 Choose File > Save Form to save the new form view created.

370 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Changing which view is displayed


Use the following procedure to change which view is currently displayed.
" To change which view is displayed:
1 Open a form in Remedy Administrator.

The default view of the selected form appears in the Modify Form window.
2 Choose Form > Select a View.

The Select View dialog box opens with options for selecting and displaying
views. To create or delete a view or to set the default view, use the Manage
Views dialog box accessed by choosing Form > Manage Views from the
menu.
3 Double-click the view you want to open.

Modifying form views


Use the following procedure to modify existing form views.
" To modify a form view:
1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.

You can also use choose Form > Select a View to open or change which view
is currently displayed.
3 Select the view you want to modify from the list of views in the Manage Views

dialog box.
4 Click Display.

The Modify Form window in Remedy Administrator opens.


The following are examples of modifications that you can make to a form
view:
!

Modifying view properties. See Setting view properties on page 373.

Adding or modifying fields. See Field types on page 214 and


Understanding field properties on page 240.

Specifying which fields to include or exclude. See Including and


excluding fields from form views on page 423.

Arranging fields. See Managing fields in a form view on page 387.

Modifying field properties of fields. See Understanding field properties


on page 240.
Creating and managing form views ! 371

Action Request System 6.3


!

Resizing a Web -Alternate (Fixed) view for use as a dialog window. See
Creating help for web applications on page 458.

Localizing the view. For more information, see the Developing AR System
Applications: Advanced guide.

5 Close the Manage Views dialog box.


6 Choose File > Save Form to save changes to the view.

Renaming form views


Renaming a form view enables an administrator to change the name of an
existing form view without having to create a duplicate under a different
name. The renamed view retains all of the settings of the original form view.
" To rename a form view:
1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.
3 Select the view, and click the Properties button to open the View Properties

dialog box.
4 In the Basics tab, enter the new name in the Name field.
5 To change the views label, enter the new name in the Label field.
6 Click OK to close the View Properties dialog box.
7 Click Close to close the Manage Views dialog box.
8 Choose File > Save Form to save changes to the view.

372 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Deleting form views


You cannot delete all views for a form. Each form must have at least one view.
If the view designated as the default view is deleted, the first view in the list in
the Manage Views dialog box is then designated as the default view.
" To delete a form view:
1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views from the menu.
3 Select the view you want to delete.
4 Click the Delete button.

A warning message opens to confirm that the view you selected is the one you
want to delete. The name of the view in the message dialog box is taken from
the entry made in the Name field in the View Properties dialog box for the
selected view, rather than from the label in the Manage Views dialog box.
5 Click Close to close the Manage Views dialog box.
6 Choose File > Save Form to save changes to the view.

Setting view properties


In the View Properties dialog box, you can specify pane layout, create aliases
that describe how requests are named, predefine searches that you think
users will want, disable user access to selected features, and define the color
of rows of a results list pane.
The following option tabs are available in the View Properties dialog box for
Standard views:
Basic

Defines the variable names that uniquely identify a form


view.

Appearance

Defines how a view appears in Remedy User and on forms


viewed in a web browser.

Aliases and Labels

Defines how form aliases and entry point labels are displayed
in AR System.

Defined Searches

Defines common searches for users.

Setting view properties ! 373

Action Request System 6.3

Menu Access

Allows you to enable or disable menu items and toolbar


items in Remedy User and toolbar buttons on forms viewed
in a web browser.

Results List Color

Defines the color of selection field items that appear in a


results list pane.

Advanced Results
List

Defines special results list characteristics for Remedy User.

Dynamic Web
Views

Used in version 6.0 version of AR System and is


available only to clients using the 6.0 release of the mid
tier. Please see that versions documentation for more
information.

" To define view properties in the Basic tab:


1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.
3 Select the view, and click the Properties button.

The View Properties dialog box opens with the Basic tab selected.

Figure 8-4: View Properties dialog boxBasic tab

Note: You can also open the View Properties dialog box by opening a view
and choosing Form > Current View > Properties.

374 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

4 Enter the appropriate information in the following fields:


Master View for If selected, this view will be used for processing to retrieve field
Server Processing labels and selection value aliases (not database values). For
more information, see the description for Master on
page 370.
Name

Defines a unique identifier for a form view. This value is


initially generated by AR System, but you can modify it.

Label

Defines the label name for the view. When a view is created, a
label name is automatically assigned for the new view. The
assigned label can be changed.
There is no enforced convention for specifying label names, but
it is helpful to make the name descriptive, indicative of the
views function, and consistent across forms. Label names can
be as many as 80 characters, including spaces. Names can
include double-byte characters, but avoid using numbers at the
beginning of the name.
Note: If you want a specific view (other than the default set in

Remedy Administrator) to be displayed in a browser by using


a URL, make sure the label name is unique.
Locale

Defines the views locale. When a view is created, the Locale


field is empty. If left blank, the locale of the users operating
system is assumed for the view.
To specify a locale for a view, click on the cell for the Locale field
and select the preferred locale from the list.

Web Alias

This field is not supported in version 6.3 of the mid tier. The
field was used in earlier versions for administrators who wanted
to create and deploy web views of a form. In version 6.3, forms
are no longer deployed; all forms can be viewed on the web
without special aliases.
If you created a form in a mid tier prior to version 6.3, and a
web alias is associated with the form, you can also edit the web
alias by choosing Form > Compatibility > Set Web Alias, and
editing the Set Web Alias dialog box that appears.

View Type

Defines the type of view associated with the selected view.

5 Click OK.
6 Close the Manage Views dialog box.
7 Choose File > Save Form.

Setting view properties ! 375

Action Request System 6.3

" To define view properties in the Appearance tab:


1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.
3 Select a view and click the Properties button.
4 Click the Appearance tab.

Figure 8-5: View Properties dialog boxAppearance tab

Note: When creating graphics in a form, use images that employ a web-safe
palette, which is a palette of 256 colors.

376 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

5 Enter the appropriate information in the following fields:


Background

Defines the background color and the use of images in the Details pane. Choose
from the following options:
!
!
!

Default ColorDefines the background color, usually gray.


ColorEnables you to choose a background color from the palette.
ImageEnables you to add an image (.jpeg, .jpg, .bmp, or .dib format) to the
Details pane. The Horizontal and Vertical menu lists give you options for
positioning the graphic in the view. For example, select Horizontal and Vertical
Fill to cover the entire form, or select Horizontal Right and Vertical Bottom to
move it to the bottom right side of the view. Click Browse to locate the image
you want to add. It is then saved with the form (not referenced in its original
location). Click Save to Disk to save the image to another area on the network.

Note: Alternatively, you can use the App-specific Image Path for Mid-Tier View

field for forms viewed through applications on the web. In this field, insert the
relative path from an application's Support Files top directory to the
background image. If the file is not found in the application resource files, then
the path in this field is ignored. For more information, see Managing resource
files on page 442.
The size of an image file used for a background should be considered. Although
view definitions are cached when initially loaded, images associated with a view
must first be downloaded. Changes to a form will also force the image to again be
downloaded. A large image file can ultimately have a negative affect on response
time.
Pane Banner
Visibility

Enables you to define visibility of the banners in the view.


For the Details pane banner and the Results pane banner, you can choose:
HiddenDoes not appear when Remedy User is opened.
! VisibleAppears when Remedy User is opened.
For the Web Toolbar, you can choose:
!

!
!

Title Bar Icon

HiddenDoes not appear in a form opened in a web browser.


VisibleAppears in a form opened in a web browser.

Enables you to add an icon image (.jpeg, .jpg, .bmp, or .dib format) to the title bar
of the form view.
Select the Use Custom Icon check box. Click Browse to locate the image you want
to add. Images larger than 16x16 pixels will be cropped. Click Save to save the
image to another area on the network.

Setting view properties ! 377

Action Request System 6.3

Layout

Defines the position of the panes and banners in the view. Choose from the
following options:
R/D (Results/Details)Enables you to select from four predefined choices for
pane layout.
Prompt BarDefines the location of the prompt bar, at the top or bottom of the
window.
User Can Change LayoutEnables users to define the position of panes and
banners in their view. If this check box is cleared, the positions are locked, and
the corresponding menu items in Remedy User are disabled.

Edit Web Header


Content

Enables you to add HTML code that you want to include in the header of a Web Alternate (Fixed) view. For more information, see Editing web header and footer
content on page 434.

Edit Web Footer


Content

Enables you to add HTML code that you want to include in the footer of a Web Alternate (Fixed) view. For more information, see Editing web header and footer
content on page 434.
6 Click OK.
7 Close the Manage Views dialog box.
8 Choose File > Save Form.
" To define view properties in the Aliases and Labels tab:

For each view, use the Aliases and Labels tab to define the alias names to be
used for the view, including the labels you want to appear for entry points.
The alias might be a local language version of the view name, or it might be
a more user friendly version of the name. When aliases and labels are defined,
the user will work with the view as the alias and not see the base view name.
For views displayed in a browser, only the Singular option is available, and
the name is displayed in the title bar of a browser.
1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.
3 Select a view and click the Properties button.

378 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

4 Click the Aliases and Labels tab.

Figure 8-6: View Properties dialog boxAliases and Labels tab

5 Enter the appropriate information in the following fields:


Singular

Defines the alias that appears in the Details banner.

Plural

Defines the aliases that appear in the Results and Details


banners in Search mode and the Open dialog box in Remedy
User.

Short Singular

Defines the shortened version of the singular alias that


appears when the title does not fit in the window.
The web does not use the short alias and precedence is as
follows:
!

Short Plural

If long and short aliases are defined, the title bar displays
the long alias.
If only the short alias is defined or if no aliases are defined,
the title bar displays the form name.

Defines the shortened version of the plural alias that appears


when the title does not fit in the window.

Setting view properties ! 379

Action Request System 6.3

Request Identifier

Allows a descriptive request name such as current


inventory to appear instead of asset 565. The Request
Identifier can be any field except diary and long character
fields.
The Request Identifier replaces the Request ID in the Details
pane banner and the most recently used requests in the File
menu in Remedy User. If the data used as the Request
Identifier is greater than 30 characters, it will be truncated
and end with an ellipsis.

Entry Point, New


Mode

Defines the label of a new (submit) entry point that appears


in an application list field. For more information, see the
Defining AR System Applications: Advanced guide.
Note: You use these settings in connection with the forms

Form Properties. For information about using entry


points, see the Developing AR System Applications:
Advanced guide.
Entry Point, Search Defines the label of a search (query) entry point that appears
Mode
in an application list field. For more information, see the
Defining AR System Applications: Advanced guide.
Note: You use these settings in connection with the forms

Form Properties. For information about using entry


points, see the Developing AR System Applications:
Advanced guide.
6 Click OK.
7 Close the Manage Views dialog box.
8 Choose File > Save Form.
" To define view properties in the Defined Searches tab:

For each view, use the Defined Searches tab to define the searches that appear
in the Search menu list on the Details banner and in the Actions > Defined
Searches menu in Remedy User.
Use this feature to create predefined searches that you think will be helpful to
your users; for example, finding all open requests or entries.
1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.
3 Select a view and click the Properties button.

380 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

4 Click the Defined Searches tab.

Figure 8-7: View Properties dialog boxDefined Searches tab

5 Enter the appropriate information in the following fields:


Name

Defines the name of the predefined search that users will see
in the Search menu in Remedy User. This name will appear
in the Results pane banner after users perform a search.

Description

Provides to the administrator a short description of what the


search does; for example, "Search for all open requests."

Qualification

Creates search criteria that you want users to access from the
Search menu. Use it for any search that your users frequently
perform; for example, 'Status' < "Closed by QA", to find all
requests that are not closed.
You can right-click in the Qualification field to access a
menu of fields and keywords for help in building the
qualification. For information about building qualifications,
see Building qualifications on page 484.

6 Click OK.
7 Close the Manage Views dialog box.
8 Choose File > Save Form.

Setting view properties ! 381

Action Request System 6.3

" To define view properties in the Menu Access tab:

For each view, use the Menu Access tab to control which menu and toolbar
items users can access in Remedy User and which buttons appear in the
toolbar of a form viewed in a web browser. For example, if you do not want
users to have Modify All capability, you can disable it.
1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.
3 Select a view and click the Properties button.
4 Click the Menu Access tab.

Figure 8-8: View Properties dialog boxMenu Access tab

382 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

5 Select or clear the following Accessible Menu Items options:


Option

Description

Modify All

If cleared, Modify All is disabled.

Options

If cleared, Options is disabled.

Auto-Refresh If cleared, all user actions to invoke AutoRefresh (polling refresh) of the results list are
disabled.

Remedy
User
menu
item

Web
Browser
toolbar
button

"
"
"

"

Reporting

If cleared, the ability to generate a report on


data in this form is disabled. This includes
disabling the report option of table and
results list fields on a form.

"

"

Home

If cleared, the menu, button, and keyboard


actions for opening the Home page are
disabled.

"

"

"

"

"
"

"
"

If selected and a user clicks the button in a


browser, the Home page opens in a new
window.
Help

If cleared, help is disabled.


If selected and a user clicks the button in a
browser, the help opens in a new window.

Delete

If cleared, Delete is disabled.

Save

If cleared, the menu, button, and keyboard


actions for saving a request are disabled.
This is useful when users do not need to save
a form, such as in control panels. This
option can also force the user to save by
using a button you create on your form.

Print

If cleared, the ability to print the entry is


disabled. This includes disabling the print
option of table and results list fields on a
form.

"

Clear All

If cleared, Clear and Clear All are disabled.

"

"

Setting view properties ! 383

Action Request System 6.3

Option

Description

Set to Default If cleared, Set to Defaults is disabled.


Advanced
Search

Remedy
User
menu
item

Web
Browser
toolbar
button

"

"
"

If cleared, the Advanced Search capability is


disabled.
If workflow shows or hides an Advanced
Query bar form action field (ID 1005), the
toolbar button should toggle 1005 to the
opposite state. (In such a case, you should
remove the Advanced Search button from
the toolbar for that view.)

Search

If cleared, the menu and button actions for


searching for requests are disabled. This is
useful when users do not need to search a
form, such as in control panels. This option
can also force the user to search by using a
button you create on your form.

"

"

New Search

If cleared, New Search is disabled.

New Request

If cleared, New Request is disabled.

Status
History

If cleared, Status History is disabled. If


selected, when the user clicks the button in a
form viewed in a browser, the status history
opens in a new window.

"
"
"

"
"
"

6 Close the Manage Views dialog box.


7 Choose File > Save Form.
" To define view properties in the Results List Color tab:

For standard views, use the Results List Color tab to control the color of
requests that appear in the results list pane after a search in Remedy User. The
colors you choose are based on Selection Field items. For example, you can
choose to color all New requests red and all Assigned requests green.
For information about defining fields to be included in the results list pane,
see Results list fieldsDefining search results on page 206. For
information about results lists on web clients, see Table fields on page 223.
384 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

1 Open a form in Remedy Administrator.


2 Choose Form > Manage Views.
3 Select a view and click the Properties button.
4 Click the Results List Color tab.

Figure 8-9: View Properties dialog boxResults List Color tab

5 Select a field from the Selection Field list.


6 From the Value list, select one of the values (including NULL or none) for

which you want to define a color for rows with that value.
7 From the Color section, specify the color for rows with the selected value.

You can select Default Color, or you can select Custom Color and choose a
color from the color palette.
8 Repeat step 5 through step 7 for each selection field for which you want to

define a color.
You will see only one value at a time, but if you return to a value, you will see
that the color you specified has been entered. If you do not specify a color for
a value, rows with that value will use the default color.
9 Click OK.
10 Close the Manage Views dialog box.
11 Choose File > Save Form.

Setting view properties ! 385

Action Request System 6.3

" To define view properties in the Advanced Results List tab:

For each view, use the Advanced Results List tab to specify advanced options
for managing the results list pane in Remedy User.
1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.
3 Select a view and click the Properties button.
4 Click the Advanced Results List tab.

Figure 8-10: View Properties dialog boxAdvanced Results List tab

5 Enter the appropriate information in the following fields.


Initial Row
Selection

Defines the item you want selected when the results list is
loaded. The options are:
!

Size of Chunk

Select First, Fire WorkflowThe first item is shown selected


and any workflow defined will be activated. This is the default
setting.
No SelectionNo item is selected.

Defines how many rows of data to return at one time (or


chunk) if a search yields a long list of requests in the Remedy
User results list pane. Buttons are provided for displaying
previous and next chunks.
A value greater than zero in this field enables the chunking
feature. The default value is 0.

386 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

6 Click OK.
7 Close the Manage Views dialog box.
8 Choose File > Save Form.

Managing fields in a form view


You can use auto layout to arrange fields in a form view, or you can arrange
fields manually.

Using auto layout to arrange fields on a form view


AR System provides a visual environment for dragging and dropping fields
in forms and views, allowing developers to change width, label, and other
field properties and immediately see the results. AR System developers can
spend considerable time and effort refining the layout of a view to meet
specifications and guidelines that dictate how the application should look.
Time and effort required to perform layout tuning tasks and maintain
consistency across forms within an application increase exponentially as the
number of forms increases.
The auto layout feature helps you increase productivity and solve problems
associated with maintaining consistency by automatically handling field
alignment and ordering, and providing form-level control of styles through
the use of XML-based style definitions. In addition, auto layout provides for
an action area, where you put buttons and fields associated with workflow,
and an optional navigation area, where you put fields that act as navigational
links.
When you enable auto layout mode for a form or view, existing fields are
immediately aligned and form-level style properties defined in the XML style
definition are enforced. As you add fields to the form, they conform to the
style definition in effect.
When you apply an auto layout style definition to a deployable application,
all form views in that deployable application use the same auto layout style
definition by default.
When you apply an auto layout style definition to a local application, it
affects form views only when they are opened within the local Application
window.

Managing fields in a form view ! 387

Action Request System 6.3

In addition, you can apply an auto layout style definition to a view


independent of any application.
Note: It is a good practice to start with new forms when applying auto layout
styles instead of applying an auto layout style to existing forms. Applying
a style to existing forms requires that you open each form, apply the style,
and then save the form. See Applying a style definition on page 396.

Remedy provides two style definition files (DialogView.xml and


RegularView.xml), and application developers can create custom XML style
definition files according to their own specifications. Style definitions
provide an easy way to:
!

Specify layout parameters, such as overall view width, field label font style,
spacing between fields, and so on.

Apply your style at the application level.

After you create or open your application, follow these general steps to use
auto layout:
Step 1 Choose a style definition. For information about style definitions, see About

auto layout style definitions on page 389. For information about choosing a
style definition, see Choosing a style definition on page 390.
Step 2 Optionally, edit the style definition. See Editing an auto layout style

definition on page 394.


Step 3 Create a form.
Step 4 Enable auto layout. See Enabling and disabling auto layout mode on

page 397.
Step 5 Optionally, specify a style definition for this view. See Applying a style

definition on page 396.


Step 6 If necessary, work with fields on the view in auto layout mode to make sure

the view looks like you want it to look.


Note: If you reapply auto layout mode, field order might not display what
you expect because field order is related to position within the view.

The fields in your form immediately conform to your auto layout style. If
necessary, disable auto layout mode to arrange fields on the view without
auto layout constraints.

388 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

About auto layout style definitions


An auto layout style definition is an XML document that contains
information about how you want your views to be arranged. By default,
Remedy Administrator includes two style definition files DialogView.xml and
RegularView.xml. You can use Remedy Administrator to edit them. See
Editing an auto layout style definition on page 394.
Auto layout style definitions contain the following sections:
Parameter Area

Properties

View Area

widthtotal width of the view in pixels.

Navigation Area

!
!

!
!

widthtotal width of navigation area.


leftMargin and topMarginnumber of pixels that the
contents of the navigation area should be from the left
and top edges of the navigation area, respectively.
verticalIndentvertical space between fields.
levelIndentindent of each successive level of
navigation fields in pixels.

Title Area

heighttotal height of the views application title area in


pixels.

Application Title

leftIndent and topIndentnumber of pixels that the


title area should be from left and top of view,
respectively.
fontan AR System form font to be used for the
application title.
colorcolor of the application title font.

Field Area

leftMargin, topMargin, and rightMarginnumber of


pixels that the area occupied by fields should be from the
left, top, and right edges of the view.
defaultColumnTypecolumn type (1, 2, or 3) to be
used when creating new fields and when non-auto layout
views are analyzed for the first time. See About column
types on page 399.
columnSeparationnumber of pixels between
columns.
rowSeparationnumber of pixels between rows.

Managing fields in a form view ! 389

Action Request System 6.3

Parameter Area

Properties

Page Title

If you use pages, specify the following information about


the title area for the pages:
!

!
!

Category Title

If you use categories, specify the following information


about the title area for the categories:
!

Page Field Area

Action Area

leftIndent and topIndentnumber of pixels that the


page title should be from the edge of the view.
fontAR System form font to be used for the page title.
colorcolor of the page title font.

fontAR System form font to be used for the category


title.
colorcolor of the category title font.

If you use page fields, specify the following information:


!

leftIndent, topIndent, and rightIndentnumber of


pixels the area occupied by fields is indented from the
left, top, and right of the page field, respectively.

buttonSpacingnumber of pixels between buttons.


verticalIndentnumber of pixels between the first row
of action buttons and the Field Area. If there is more
than one row, this will be the vertical spacing between
rows.

Working with auto layout style definitions


You work with auto layout style definitions to make your views look and
behave like you want them to look and behave. First, you choose a style
definition for the application or form. Then, you can edit the style definition
to suit your needs.

Choosing a style definition


You can choose a style definition for an entire application or for an
individual form.
Note: You must be working with a deployable application to choose a style
definition at the application level.

390 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

" To choose a style definition for an entire application:


1 Open your application.
2 Choose Application > Properties.

The Modify Application window appears.

Figure 8-11: Modify Application windowForms tab

3 On the Forms tab in the Modify Application window, click Style Info.

Managing fields in a form view ! 391

Action Request System 6.3

The Auto Layout Style Properties dialog box appears.

Figure 8-12: Auto Layout Style Properties dialog box

4 Click Import.

A file selection dialog box appears.


By default, the style templates included with Remedy Administrator are
located in the install folder, typically, C:\Program Files\AR System\Admin.
5 Select the style definition you want to use and click OK.

The file selection dialog box closes and a message appears, confirming that
the style definition file was successfully imported.
6 Click OK to clear the confirmation message.
7 Click OK in the Auto Layout Style Properties dialog box.
" To choose an initial style definition for an individual form:
1 Open the form for which you want to choose a style definition.
2 Select Layout > Auto Layout > Auto Layout Mode to enable auto layout

mode.
A file selection dialog box appears.
3 Select a style definition, and click OK.

The file selection dialog box closes and the auto layout style definition file
you selected is applied to your form.

392 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

" To choose a different style definition for an individual form:


1 Open the form for which you want to choose a style definition.
2 Make sure auto layout mode is enabled. (Choose Layout > Auto Layout >

Auto Layout Mode.)


3 Choose Form > Current View > Properties to open the View Properties

dialog box.
4 In the Auto Layout area of the Basic tab, click Style Info.

The Auto Layout Style Properties dialog box appears.


5 Click Import.

A file selection dialog box appears.


6 Select a style definition, and click Open.

The file selection dialog box closes and a confirmation that the style
definition file was successfully imported appears.
7 Click OK to clear the confirmation message.

The Auto Layout Style Properties appears populated with data from the style
definition you selected.

Figure 8-13: Auto Layout Style Properties dialog boxPopulated with style definition
data

8 Click OK to close the Auto Layout Style Properties dialog box.


9 Click OK to close the View Properties dialog box.
10 Choose File > Save Form, or click the Save button.

Managing fields in a form view ! 393

Action Request System 6.3

Editing an auto layout style definition


You can apply style definitions at the application and view levels. When you
apply a style definition at the application level, it applies to any form you
create subsequently. When you apply a style definition at the view level, it
applies only to that view. It remains in effect even if you specify an
application-level style definition after you specify the view-level style
definition.
Note: If you edit an application-level style definition and want to use it in
existing views, you must reapply that style to each of those views. See
Applying a style definition on page 396.
" To edit an application-level style definition:
1 Open the application for which you want to edit the style definition.
2 Choose Application > Properties, and click the Forms tab.
3 Click Style Info in the Auto Layout area.

The Auto Layout Style Properties dialog box appears.

Select an area to edit.


Edit values here.

Figure 8-14: Auto Layout Style Properties dialog boxEditing a style definition file

4 In the tree view on the left, select an area you want to edit. The values

associated with that area appear in the table view on the right. See About
auto layout style definitions on page 389 for descriptions.
5 Select the value you want to change and type over it.
6 Repeat steps 4 and 5 until finished.

394 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

7 Click OK.

The Auto Layout Style Properties dialog box closes.


8 Choose File > Save Application, or click the Save button.

Your changes will be applied to any forms you create from this point forward.
Note: You must reapply the edited style definition to existing forms and
views. See Applying a style definition on page 396.
" To edit your view-level style definition:
1 Open the form for which you want to edit the style definition.

Note: Make sure auto layout is enabled for the form you open.
2 Choose Form > Current View > Properties to open the View Properties

dialog box.
3 In the Auto Layout area, click Style Info.

The Auto Layout Style Properties dialog box appears.

Select an area to edit.


Edit values here.

Figure 8-15: Auto Layout Style Properties dialog boxediting a style definition file

4 In the tree view on the left, select an area you want to edit. The values

associated with that area appear in the table view on the right. See About
auto layout style definitions on page 389 for descriptions.
5 Select the value you want to change and type over it.
6 Repeat steps 4 and 5 until finished.

Managing fields in a form view ! 395

Action Request System 6.3

7 Click OK.

The Auto Layout Style Properties dialog box closes and the View Properties
dialog box appears.
8 In the View Properties dialog box, click OK.
9 In the Manage Views dialog box, click Close.

The form reflects the changes you made.

Applying a style definition


You can apply an existing style definition to an application or to a view. If you
change a style definition after you have created views, you must explicitly
apply the changed style to each of the views.
" To apply a style definition to an application:
!

Choose a style definition at the application level. See Choosing a style


definition on page 390.

" To apply a style definition to an existing view:


!

Choose a style definition for a view. See Choosing a style definition on


page 390.

" To reapply an application style definition to a view:


1 Open the view.
2 Click the Reapply Auto Layout button.
Reapply Auto Layout
style button

Figure 8-16: Reapply Auto Layout style button

3 Save the view.

Note: Reapplying a style definition assumes that the view already has a style
defined.

396 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Enabling and disabling auto layout mode


After you import and, optionally, customize your application-wide auto
layout style definition, you enable auto layout mode on a per-view basis.
When you enable auto layout, the fields in your form immediately conform
to your auto layout style.
You can also disable auto layout mode, which allows you to work with fields
without auto layout constraints.
" To enable auto layout mode:
!

Click the auto layout button or choose Layout > Auto Layout >
Auto Layout Mode.

After you enable auto layout mode, you can:


!

Add auto layout-specific fields to your view. See Using auto layout to
arrange fields on a form view on page 387.

Arrange the fields in your view. See Working with views with auto layout
enabled on page 403.

Add a navigation area to your view. See Working with views with auto
layout enabled on page 403.

Change the properties of the fields in your view. See Understanding field
properties on page 240.

" To disable auto layout:


!

Click the auto layout button or choose Layout > Auto Layout >
Auto Layout Mode.

About auto layout properties


The auto layout properties are field properties you can change using the auto
layout bar. The Autolayout Bar is displayed when you turn on auto layout for
a view. If it is not displayed, choose View > Toolbars > Auto Layout to view
the bar.
Select a field and use the Autolayout Bar to specify values for these properties.
Except where noted, you can also specify these properties from the Field
PropertiesAdvanced tab. See Advanced properties on page 251.

Managing fields in a form view ! 397

Action Request System 6.3

Note: There are two additional field properties (New Column and New
Section) that you can change only by using the Field Properties dialog box.
See Creating new columns and new sections on page 400.
Property

Description

Column Type

Specify how wide the field will be. See About column types
on page 399.
!

!
!
!

Field Type

0 is applicable only to button-type fields. It indicates that


the button will share space with the field that precedes it.
See Using zero-column buttons on page 407.
1 indicates one field of this type will fill the row.
2 indicates two fields of this type will fill the row.
3 indicates three fields of this type will fill the row.

Displays the field type for the selected field. If the field is a
button or link, you can change its type by selecting a value
from the list.
Possible values are:
!
!

Navigation Area

Regularfields that are not navigation or action fields.


Actionfields (usually buttons) typically placed at the
bottom of the view.
Navigationfields that have navigation-type workflow
associated with them.

Toggles on and off a navigation area on the left side of the


view.
Note: This property is available only on the auto layout bar.

Level

Allows you to subordinate navigation fields to each other.


You can select from three levels. You can adjust the level of
indentation by editing the style definition.

Overlap

Lets you specify that two or more fields should occupy the
same space on the view and the same place in the field order.
This is useful if you want to hide some fields or display a
certain field based on workflow.

How fields behave in auto layout mode


When you first turn on auto layout mode for a view, existing fields are
assigned a column type and then arranged in rows and columns. When you
add fields, auto layout assigns them a column type and places them in the
view.

398 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

About column types


Column type is a field property that determines how much space the field will
occupy within a row. You specify column type using the auto layout bar. See
About auto layout properties on page 397. When you first enable auto
layout, existing fields are assigned the default column type. See About auto
layout style definitions on page 389. When you add new fields to a view with
auto layout enabled that has no existing fields, the new fields are assigned the
default column type with the following exceptions:
!

The Page Title field has a default column type of 1, which cannot be
changed. If you add a field after the Page Title field, it assumes the default
column type you set in the style definition for the view or application.

The Category Title field has a default column type of 1. If you add a field
after the Category Title field, it assumes the default column type you set in
the style definition for the view or application.

When you add fields to a view that has existing fields, new fields are assigned
the same column type as the nearest existing field.
See About auto layout properties on page 397 for more information about
default column type.

How auto layout arranges fields


As you add fields to your view, AR System determines how many rows are
required, based on the fields column type. Then, AR System places the fields
in columns from top to bottom and then in rows from left to right. For
example, if you add three fields of column type 3, AR System determines that
only one row is required and fills the columns as follows.
Column 1

Column 2

Column 3

Field 1

Field 2

Field 3

When you add Field 4 between Field 1 and Field 2, AR System determines
that two rows are required and fills the first column from top to bottom and
then fills the next column to the right as follows:
Column 1

Column 2

Field 1

Field 2

Field4

Field 3

Column 3

Managing fields in a form view ! 399

Action Request System 6.3

Similarly, when you add Field 5 between Field 1 and Field 4 in this scenario,
the fields are arranged as follows:
Column 1

Column 2

Column 3

Field 1

Field 4

Field 3

Field 5

Field 2

It is important to understand how fields behave when you:


!

Move fields in a view with auto layout enabled. See the following section,
Moving fields with auto layout enabled.

Use the new column and new section field properties to create new field
groupings. See Creating new columns and new sections on page 400.

Moving fields with auto layout enabled


When you move a field in a view, the auto layout feature arranges the other
fields in the same manner as when you add fields to the view. That is, AR
System determines how many rows are required and if the field being moved
displaces other fields, the displaced fields move down in the column until the
column occupies the required rows. Then, fields move to the top of the next
column to the right.
For example, assume you are moving Field 5 to the position occupied by
Field 2, as noted in the following example:
Column 1

Column 2

Column 3

Field 1

Field 3

Field 5

Field 2

Field 4

The result would be the following:


Column 1

Column 2

Column 3

Field 1

Field 2

Field 4

Field 5

Field 3

Creating new columns and new sections


You use the New Column and New Section field properties to begin a new
column or a new section, respectively.

400 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Using the
New Column
field property

When you apply the New Column property to a field, it moves to the top of
the next available column. The preceding fields become part of the previous
column and the trailing fields occupy remaining columns. For example,
assume you have fields arranged as follows:
Column 1

Column 2

Column 3

Field 1

Field 3

Field 5

Field 2

Field 4

Applying the New Column property to Field 4 would cause it to move to the
top of the next column, giving the following result:
Column 1

Column 2

Column 3

Field 1

Field 3

Field 4

Field 2

Field 5

In addition, any field to which you apply New Column property is marked
with three green lines that extends from one side of the field around the top
and down the other side, shown in the following figure:

New column field


property indicator

Figure 8-17: Auto layout new column indicator

Managing fields in a form view ! 401

Action Request System 6.3

Using the
New Section
field property

When you apply the New Section property to a field, it moves to the first (far
left) column in the next row. The fields following the new section field
become part of the new section. For example, assume you have fields
arranged as follows:
Column 1

Column 2

Column 3

Field 1

Field 5

Field 9

Field 2

Field 6

Field 10

Field 3

Field 7

Field 11

Field 4

Field 8

Field 12

Applying the New Section property to Field 7 would cause it to move to the
far left column in the next row, giving the following result:
Column 1

Column 2

Column 3

Field 1

Field 3

Field 5

Field 2

Field 4

Field 6

Column 4

Column 5

Column 6

Field 7

Field 9

Field 11

Field 8

Field 10

Field 12

In this example, the new section starts with Column 4 and fields are arranged
based on the rules described in How auto layout arranges fields on
page 399.

402 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

In addition, any field to which you apply the New Column property is
marked with a blue line over the top of the field as illustrated below.

New section field


property indicator

Figure 8-18: Auto layout new section indicator

" To set new column and new section properties:


1 Select a field and click Field Properties.
2 Click the Advanced tab.
3 Select the New Column and New Section check boxes.

Working with views with auto layout enabled


Auto layout provides standards and structure to the layout of your views.
You can, however, arrange the fields on your view, add fields to your view,
change field properties to suit your needs, and add other auto layout
elements to your view. You can also add form action fields and a navigation
area to your views.
Before you begin arranging fields, you should understand how fields behave
when you arrange them manually in auto layout mode.

Managing fields in a form view ! 403

Action Request System 6.3

In auto layout mode, you add fields to your view like you would in any view.
See Chapter 6, Creating fields.
Note: If you add a Search Bar form action field to a form with a column type
2 and create another field next to it, you might experience a problem with
the Search Bar form action field overlapping adjacent fields when viewing
the form on the web. To work around this problem, specify column type
1 for the Search Bar form action field.

In addition to all of the fields you can normally add to a view, you can add
auto layout-specific fields.
Note: If your view has a navigation area and you add a text field or a button
to your view by choosing Form > Create a new > Text or Form > Create a
new > Button, the added field or button will be placed at the top of the
navigation area.
" To add an auto layout-specific field to your view:
1 Open the view in which you want to work.
2 Choose Form > Create a New > Auto Layout > <field type>, where field type

is one of the following:


Field

Description

Application Title

Trim-text field that appears at the top of the view.

Page Title

Another level of trim-text field that appears


subordinate to the Application Title.

Category Title

Text that appears above a category if you use categories


in your page.

Navigation Field

A field in the navigation area. Use navigation fields as


links to other forms or views.
Note: To add a navigation field, you must first add a

navigation area. See To add a navigation area to your


view: on page 405.
Spacer

A hidden field with no label and no function other than


occupying space. Use spacers to make fields align and
flow to suit your needs.

Action Button

A button that you want to place at the bottom of the


field area.

404 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Auto layout bar

Title fields

Spacer field
Navigation area
Navigation fields
Action button
Navigation width
View width
Figure 8-19: Auto layout fields and tool bar

In auto layout mode, field label length is the same for the left-most column,
no matter what the column type. For other columns, however, the field label
length is calculated with respect to available space, column type, and so on.
The auto layout feature ignores vertical trim and trim boxes. In the case of
trim text (and variations because of font attributes), make sure that the
dimensions of the field are the same as that of other fields of that column
style. This is to allow flexibility while supporting trim text as part of layout.
When you add a search bar to a view in auto layout mode and view the form
on the web, you might encounter a browser limitation that causes other fields
to overlap with the search bar. To work around this problem, give the search
bar field a column type of 1.
" To arrange fields in your view:
!

Drag and drop them in their new positions.

As you drag fields, they adhere to the style definition and flow from the top
to the bottom of each column and then to the top of the next column. See
How fields behave in auto layout mode on page 398.
" To add a navigation area to your view:
!

Select the Navigation Area check box in the Auto Layout bar or by
choosing Layout > Auto Layout > Navigation.

Managing fields in a form view ! 405

Action Request System 6.3

Changing auto layout properties


You can change auto layout-specific properties for fields and the entire form
using the Auto Layout bar.

Auto Layout bar

Figure 8-20: Auto Layout bar

Tip: You can select multiple fields and change auto layout properties for all of
them at one time.
" To select a new column type for a field:
1 Open a form or view and turn on auto layout mode.
2 Select a field.
3 Select a new column type from the Auto Layout bar.

The field immediately reflects your selection.


" To change a field type:
1 Open a form or view and turn on auto layout mode.
2 Select a field.
3 Select a field type from the Field Type list on the Auto Layout bar.

The field immediately reflects your selection.


" To make fields overlap:
1 Open a form or view and turn on auto layout mode.
2 Select two or more fields.

The Overlap button on the Auto Layout bar is enabled.


3 Click Overlap.

The fields immediately reflect your action. The field you selected last will be
the field on top.

406 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

" To remove the overlap attribute from a field:


1 In the Find Field list, select the field from which you want to remove the

overlap attribute.
The Overlap button in the Auto Layout bar will be enabled.
2 Click Overlap.

The field you selected immediately reflects your action.

Using zero-column buttons


It is common to see views that have buttons associated with a field as an
action, several buttons in a row or several related fields grouped together to
save space. In auto layout mode, you arrange buttons this way using
zero-column buttons.
" To use zero-column buttons:
1 Open a form or view and turn on auto layout mode.
2 Add a button to a view just to the right of the field with which you want the

button to be associated.
3 Double-click the button.

The field properties dialog box is displayed for the button.


4 Click the Advanced tab.
5 In the Column type field, select 0.
6 In the Align drop down, select a value.

The button is associated with and shares the space of the previous field.
If the previous field is not a button and you select Left, the previous field is
shortened and the zero-column button is placed just to the left of the
previous field.

If the previous field is a button and you select Left, the zero-column button
is displayed in its entirety.

Managing fields in a form view ! 407

Action Request System 6.3

If you select Right, the previous field is shortened and the zero-column
button is aligned to the right of the space formerly occupied by only the
previous field.

Arranging fields on a form without auto layout


The following sections describe how to arrange fields on forms.
The font preferences that you, and your users, set affect the layout of the
form. Use the same font settings that you expect your users to use. See Form
Font preferences on page 71 for more information.
To change the position of a field in a form, you can do any of the following
steps:
!

Drag it to a different position.

Use the Layout menu and corresponding toolbar buttons.

Set the X and Y coordinates in the Display tab of the Field Properties
window.

The following sections describe how to move a field by dragging it into


position or by using the Layout menu. For information about aligning a field
by using the fields X and Y coordinates, see Display properties on
page 242.
Fields consist of two regions (as shown in the following figure): the label and
the data entry region (which might include a menu or edit icon). When
selected, fields contain resize handles.

Field label region

Handle for resizing

Data entry region

Figure 8-21: Field regions you can align to the grid

408 "Chapter 8Creating and managing form views

Menu, icon, or
expand box

Developing AR System Applications: Basic

When you use the toolbar buttons (shown in the following figure) or the
Layout menu to move groups of fields, you can move them based on the field
label or the data entry region. That is, you can align fields so that all of the
field labels line up or so all of the data entry regions line up. After you have
lined up the fields by the field label or data entry region, you can adjust each
manually by dragging the handles to the appropriate position.
Toolbar buttons available for aligning objects

Figure 8-22: Form windowLayout menu

The toolbar buttons and the Layout menu enable you to align groups of
fields:
!

When you align fields by using a grid, you must choose an align-to-grid
option before you start moving fields. You execute the selected movement,
such as Left, when you select and drag the appropriate field.

When you align fields to a specified field, the Align Fields menu items and
corresponding toolbar buttons become active as soon as you select two or
more fields to move. You execute the selected movement, such as Right,
by selecting this option from the Layout > Align Fields menu, or by
clicking the corresponding toolbar button.

Managing fields in a form view ! 409

Action Request System 6.3

The Layout menu options are listed in the following tables.


Align Fields
Aligns objects according to the position of an alignment field (see Using the
alignment field to align form fields on page 417). Pull to the right (or use the
toolbar) to select from the following options:
Note: The toolbar icons become active when you select multiple fields. However,

the icons are only shortcuts to the Align Fields menu functions. This means that
the icons will move the field according to the alignment field even if you have the
grid turned on.
LeftAligns the left edges of the fields.
RightAligns the right edges of the fields, including any menu, edit, or
diary icons.
Value LeftAligns the left edges of the data entry region (the part of the
field where you enter information) of the fields.
Value RightAligns the right edges of the data entry region (the part of
the field where you enter information) of the fields.
N/A

CenterCenters the selected fields horizontally relative to one another.


This option can be selected only from the menu; it does not have a
corresponding toolbar button.
TopAligns the top edges of the fields, enabling you to align a
horizontal group of fields.
BottomAligns the bottom edges of the fields, enabling you to align a
horizontal group of fields.

Size Fields
Defines how fields are sized when you want multiple fields to have the same field
label length, data entry length, or both. When you select multiple fields, one of the
fields (the alignment field) will have a darker outline. All other fields are sized based
on the dimensions of this field.
You can adjust the size of the selected fields by:
LabelTo make all selected field labels the same size. If a field label is
longer than the alignment field, it will remain the same size.
ValueTo make all selected field values the same size as the alignment
field.

410 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Align to Grid
Defines what portion of the alignment field is aligned to the grid when you select
and drag a field across the form (see Using the grid to align form fields on
page 413). Pull to the right to select from the following options:
NoneThe grid is ignored.
! LeftAligns the left edge of the field labels to the grid.
! Value LeftAligns the left edges of the data entry region of the fields to the grid.
! RightAligns the right edges of the fields, including any associated field icons,
to the grid.
! Value RightAligns the right edges of the data entry region of the fields to the
grid.
A check mark appears to the left of the enabled menu selection.
!

Expand
Proportionally increases or decreases the distance between all of the fields in the
form. The Expand Control Spacing dialog box appears so that you can specify a
percentage of the expansion horizontally, vertically, or both. Enter percentages
greater than 100 to move the fields farther apart. Enter percentages less than 100 to
move the fields closer together.

Bring to Front
Places the selected object in front of the objects covering it.

Send to Back
Places the selected object behind the objects it is covering.

Show Grid
Shows the grid. Select an option from the Align to Grid submenu to
cause grid alignment, which can also be performed without the grid
showing.

Managing fields in a form view ! 411

Action Request System 6.3

Grid Size
Specifies the distance between lines in the grid. The Set Grid Size dialog box appears
so that you can enter a width and height in pixels.

Select All
Selects all of the fields in the form window, enabling you to reposition all of the
fields in the form at one time.

Whether you choose to align a field to a grid, or to a specified field, you must
first select the field. When you select multiple fields, one of the fields will have
a darker outline and dark points marked on the corners and sides (see the
Button field in the following figure). This is called the alignment field. Other
fields in the group are aligned based on the position of this field.

Alignment field (with darker outline)


Other fields in the group
Figure 8-23: Form windowalignment field

412 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Using the grid to align form fields


You can use a grid for precise alignment of fields along a network of lines. If
you want to adjust the spacing between grid cells, see the procedure To
adjust grid size: on page 415. You can use the Layout menu or a toolbar icon
to display the grid, but it is not necessary to display the grid to use it for field
alignment. This is because the grid is not enabled by displaying it; it is
enabled by selecting an Align to Grid menu option other than None.
You can override the grid by specifying X and Y coordinates in the Field
Properties window. If one of the Align to Grid options is activated, setting X
and Y field coordinates overrides it. For information, see Arranging fields
on a form without auto layout on page 408.
You can also use the arrow keys to move a field by the amount shown in the
Keyboard Move Step Size field in Form preferences on page 77, thus
overriding the grid.
" To align fields to the grid:
1 If you have not already done so, use To move and space selected fields: on

page 416 to select the fields that you want to move, and set the alignment
field.
2 To display the grid, click the Show Grid toolbar button.

Managing fields in a form view ! 413

Action Request System 6.3

The grid appears, as shown.

Figure 8-24: Displaying a form grid

3 Choose Layout > Align to Grid, and choose the appropriate option.
Left

Fields align the left edges of their field label with the grid.

Value Left

Fields align the left edges of their data entry region with the grid.

Right

Fields align the right edges of any icons associated with the field
with the grid.

Value Right

Fields align the right edges of their data entry region with the grid.

A check mark appears to the left of the enabled grid option.


4 Drag the selected fields to where you want them positioned in the form.

414 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

The alignment field (and all other selected fields) is aligned to the grid
according to the selected option. For example, if you choose Layout > Align
to Grid > Left, the left edge of the Button field (and the Status and Short
Description fields) will align to the left edge of the grid, as shown in the
following figure.

Aligning Left aligns fields


on their left edges,
according to position of
the alignment field.

Figure 8-25: Aligning left

5 Choose File > Save Form to save changes to the form.


" To adjust grid size:

You can control the incremental movement of a field within a grid by


adjusting the size of the grid cells.
1 Open the form with which you want to work.
2 To display the grid, click the Show Grid toolbar button.
3 Choose Layout > Grid Size.
4 In the Width and Height fields, enter the appropriate pixel size (2 to 100) for

the grid.
The smaller the number of pixels, the smaller the grid and the more precisely
you can align your fields.
5 Click OK.
6 Choose File > Save Form to save changes to the form.

Managing fields in a form view ! 415

Action Request System 6.3

Moving and spacing form fields


The following sections describe how to select the fields that you want to
move, change the alignment field, and increase or decrease the amount of
space between all of the fields in a form.
" To move and space selected fields:
1 Open the form with which you want to work.
2 Select the fields that you want to align by using one of the following methods:
!

Use the mouse to lasso the appropriate fields.


If you select multiple fields, the topmost field will be the alignment field.
If there is more than one topmost field, the topmost field on the far left will
be the alignment field.
To lasso fields in a page field, hold down the Control key while you drag
the mouse.

Click the appropriate field to select or deselect it.


To work with multiple fields, hold down the Shift key as you click each
field. The last field that you select will become the alignment field.

3 If necessary, use one of the following methods to change the alignment field:
!

Press the Ctrl key, and click the appropriate field.

Extend the selection by pressing the Shift key and clicking on more fields;
the last field selected will become the alignment field.

Drag a group of fields; the field with which you drag becomes the
alignment field.

4 Move the selected fields by using one or more of the following methods:
!

Drag the fields into position.

Align the fields to the alignment field as described in Using the alignment
field to align form fields on page 417.

Align the fields to the grid as described in Using the grid to align form
fields on page 413.

Align the fields by using the X and Y coordinates in the Display tab of the
Field Properties window as described in Display properties on page 242.

416 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

5 If necessary, adjust the label size, or the data entry region, using one or more

of the following methods:


!

Select a field and drag the appropriate anchor to the appropriate place.

Use the Layout > Size Fields options to make field labels, values, or both,
the same size.

The Width and Height display properties reflect the new field width and
height. The Length (Char) display property indicates the approximate
number of characters that might fit into the data region.
6 Adjust the appropriate field properties.

For example, you could change the justification of the field label by adjusting
the Justify display property, described in Justify on page 243.
7 Choose File > Save Form to save changes to the form.
" To adjust the spacing between all form fields:
1 Open the form with which you want to work.
2 Choose Layout > Expand to open the Expand Control Spacing dialog box.

The horizontal and vertical percentages always appear as 100, even if you
previously increased or decreased the spacing between fields.
3 In the Horizontal Expansion and Vertical Expansion fields, enter the

percentages by which you want to increase or decrease the spacing between


all fields in the form.
Percentages less than 100 decrease the distance between fields, and
percentages greater than 100 increase the distance between fields.
4 Click OK.
5 Choose File > Save Form to save changes to the form.

Using the alignment field to align form fields


The following procedure describes how to use an alignment field as the
reference against which all other selected fields are aligned.
" To align multiple fields to an alignment field:
1 If you have not already done so, use the procedure To move and space

selected fields: on page 416 to select the fields that you want to move and to
set the alignment field.

Managing fields in a form view ! 417

Action Request System 6.3

2 Choose Layout > Align Fields, and choose the appropriate option.

Aligning Left aligns


fields on their left
edges, according to
position of the
alignment field.

Figure 8-26: Aligning multiple fields to an alignment field

The selected fields line up with the alignment field according to the selected
option. For example, if you choose Layout > Align Fields > Left, the Status
and Short Description fields line up with the left edge of the Button field, as
shown.
You can position the field label region manually, and then use Layout menu
options to adjust how the data entry regions align.
3 Choose File > Save Form to save changes to the form.

Using Set Multiple Field properties to align form fields


and labels
The following procedures describe how to set alignment properties for
multiple fields, and how to set multiple field alignment properties to match
a selected field.
" To set multiple field properties:
1 In the Server Information Window, open the form with which you want to

work.
2 Select Form > Multiple Field Properties.

418 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

The Set Multiple Field Properties dialog box appears with the field on the
form listed, including hidden fields.

Figure 8-27: Set Multiple Field Properties dialog box

3 Select the fields for which you want to set the properties.
4 Select the Clear Property Settings button to clear any unwanted settings in

the fields.
5 Set the properties for all the selected fields.

The options are:


Label Width

Defines the width of the label in pixels. If you enter fewer


characters than the label requires for full display, the setting
increases the number in this field to the minimum required
to accommodate the label.

Data Length

Defines the width of the fields data entry region in pixels. If


you enter more characters than can be displayed, the text
will scroll off the end of the field

Managing fields in a form view ! 419

Action Request System 6.3

Label Alignment

Defines the vertical position of the label in the space


available. The options are:
!
!
!

Label Justification

Defines where the label is positioned relative to the left and


right edges of the region available. The options are:
!
!
!

Label Location

Top (default for labels positioned at the left of the field)


Center
Bottom (default for labels positioned above the field)

Left (default)
Center
Right

Defines where the data field's label will appear in relation to


the field. The options are:
!
!

TopThe label is positioned above the field.


Left (default)The label is positioned to the left of the
field.

6 Click OK.
7 Save your form.

The changes will not be saved until you save the form. You can view the
settings for a field after you have saved the form by selecting the field in the
Fields in View pane and clicking the Like Selected Field button.
You can also set the properties for several fields to the same property
specifications as a selected field, as described in the following procedure.
" To set multiple field properties the same as a selected field:
1 In the Server Information Window, open the form with which you want to

work.
2 Select Form > Multiple Field Properties.

The Set Multiple Field Properties dialog box appears with the field on the
form listed, including hidden fields.
3 Select a field that has the required properties.
4 Click the Like Selected Field button.

The fields on the dialog box are filled with data relating to the selected field.
5 Select the fields to assume this data.
6 Click OK.

420 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Tips for aligning and resizing fields


Use the following tips for aligning and resizing fields in a form:
!

Use the grid. Setting the grid width and height to 10 should allow you
enough control to align the fields in your form precisely.

Keep the grid on for accurate alignment of your fields.

Align the field labels before you align the data entry regions, as shown in
the following figure. To help with alignment, set the Align to Grid option
to Left.

If you select multiple fields, the fields are grouped and cannot be modified
individually. After you align the field labels, click anywhere in the form.
Then select the field and resize its data region individually. After selecting
a field, the resize handles appear for the field, as shown in the following
figure. Select the resize handle for the data region and stretch it to the
appropriate alignment and size. For example, you could stretch data
regions so that the fields align. Then you could stretch the data region
again so that the menu boxes align.
Align here.

Stretch data region here to align


under Short Description field.

Align here.

Then, stretch data region to align the end of


the field and the menu boxes.

Figure 8-28: Aligning data regions

Setting the tab order for the fields in a form


The Set Tab Order dialog box determines which field is selected in what order
when the user presses the Tab key.
If you do not define the tab order for a form view, the default tab order is
based on the X and Y positions of the field in the form and moves from left
to right, then down (in a zigzag-like pattern). A field added to the top of a
form view would receive the cursor before a field added to the bottom of a
form view, regardless of the order in which they were added to the form.

Setting the tab order for the fields in a form ! 421

Action Request System 6.3

You can define any tab order and override the fields position default so that
users will go to specific fields in the order that you specify, despite their
location on the form. For example, you can define a tab order that includes
all required fields first, and then all optional fields. Also, because different
views of the same form can have different tab orders, you can define tab
orders so that different groups of users are first taken to the fields that are the
most significant to them.
You cannot use tab order control to move from a field in one form to a field
in a different form or view. You also cannot use tab order to move on to, off
of, or between pages.
" To set the tab order of form fields:
1 Open the form with which you want to work.
2 To change to a form view other than the one displayed, choose Form > Select

a View, and select the appropriate view from the Select View dialog box.
3 Choose Form > Current View > Set Tab Order.

The Set Tab Order dialog box appears, as shown in the following figure. A tab
order list with the fields in default tab order is displayed. The first field in the
tab order list will be first in the tab order, the second field will be second, and
so on.

Figure 8-29: Set Tab Order dialog box

422 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

4 Select the name of the field you want to move, and click the appropriate

button.
Moves the selected field to the top of the tab order list.
Moves the selected field one space up in the tab order list.
Moves the selected field one space down in the tab order list.
Moves the selected field to the bottom of the tab order list.
Restore
Default

Resets the tab order for this form view to the default settings (from
top-to-bottom, left-to-right).

5 Click OK when the fields are in the correct tab order.


6 Choose File > Save Form to save changes to the form.

Note: Fields that are on pages appear as nested under the page on the Set
Tab Order window. Shared fields on pages appear under each page on
which it is shared. This enables you to set the tab order differently on
different pages.

Including and excluding fields from form views


Use the Fields in View dialog box to specify which fields will appear in a form
view. This feature can be used to exclude fields used for internal workflow
that users do not need to see. Even if you remove a data field from a users
view, it is still available for workflow.
Note: Any field not in the current view does not affect the change flag, even
if the Disable Change Flag field property is not selected. You can associate
a SET-CHANGE-FLAG Run Process action with a field not in the view to set
the change flag as needed. For more information, see Disable Change
Flag on page 245 and Special Run Process and $PROCESS$ commands
on page 616.

Including and excluding fields from form views ! 423

Action Request System 6.3

" To add and remove fields in a form view:


1 Open a form in Remedy Administrator.
2 Choose Form > Manage Views.
3 Select a view and click the Display button.

The appropriate editing environment opens, depending on the view type


defined for the selected view.
4 Choose Form > Current View > Fields in View.

The Fields in View dialog box appears.

Figure 8-30: Fields In View dialog box

5 To add fields to the current form view, select the appropriate field from the

Fields Not in View (By Name) list, and click Add.


6 To remove fields from the current form view, select the appropriate field

from the Fields in View (By Label) list, and click Remove.
7 Use the Display Type list to change the appearance of the selected fields in the

Fields in the View (By Label) list.


The Display Type list applies only to fields that can be displayed in multiple
ways (such as selection fields, which can be radio buttons or a list).
8 Click OK to close the Fields in View dialog box and return to the form view

when finished.
9 Choose File > Save Form to save your changes.

424 "Chapter 8Creating and managing form views

Developing AR System Applications: Basic

Preference settings for view selection


You can use preference settings and selection criteria to define which view of
a form to display when opening a form in Remedy Administrator, Remedy
User, or the web client.
Use the Default Locale and Default View Type settings on the Form tab in the
Remedy Administrator Preferences dialog box to decide which view type and
locale version of a form view is displayed when an administrator opens a
form.
When opening a form, rules are applied in selecting which view to open
initially. The Choose Default View selection in the Remedy Administrator
Manage Views dialog box corresponds to the Label field for a view. When
multiple views match the selection in the Choose Default View list, then
criteria for view selection is applied. The process works as follows:
Step 1 Remedy Administrator attempts to select a view based on the client type (for

example, Windows or the web).


For views that match the default view selected in the Choose Default View list
in the Manage Views dialog box, Remedy Administrator filters out views that
do not match the client type specified for the default view type.
If a default view type is not selected as a preference, the Standard
(Recommended) view is used.
Step 2 From the list of remaining views, Remedy Administrator attempts to select a

view based on the default locale. Locale is selected as follows:


!

For default locale, the system first attempts an exact match following the
format: <language>_<country>. If a default locale is not selected, or
cannot be found in the list of views, then the first view that matches the
View type is selected.

If default view type and default locale are not set, then the first view that
matches the selection in the Choose Default View list in the Manage Views
dialog box is selected.

If a default view is not selected in the Manage Views dialog box, then the
first view in the list is selected.

User preference settings for default view, locale, and the client view type
(Standard or Web) control which view of a form is opened in the client.

Preference settings for view selection ! 425

Action Request System 6.3

Although a user can set view and locale preferences, an administrator should
set these options for the user because the administrator defines form views.
For information about the view selection process for the web client, see How
a view is selected on page 451.
For information on setting user preferences in the Remedy User Options
dialog box, see Remedy User Help.

426 "Chapter 8Creating and managing form views

Chapter

Working with AR System forms


and applications on the Web
This section provides the information and procedures you need to work with
AR System applications for the Web. It includes the following topics:
Overview (page 428)
! View options (page 430)
! Working with form action fields for the web (page 437)
! Browser settings for scripting and ActiveX controls (page 441)
! Configuring page properties (page 442)
! Managing resource files (page 442)
! Accessing forms and applications with URLs (page 444)
! Working with the Mid Tier Object List (page 455)
! Session timeouts (page 457)
! Creating help for web applications (page 458)
! Saving a web application to another location (page 459)
! Making your web-based applications accessible to users with disabilities
(page 459)
Before reading this section, you should be familiar with the information in
Chapter 4, Defining applications, Chapter 5, Creating AR System forms,
and Chapter 8, Creating and managing form views.
!

Working with AR System forms and applications on the Web ! 427

Action Request System 6.3

Overview
Accessing forms and applications on the Web has been greatly enhanced in
this release of AR System. You no longer need to create relative web views,
generate dynamic web views, or perform a separate deployment procedure to
make your applications available on the Web. Users can view any form or
application in a browser simply by entering URLs that you supply. The URL
syntax for opening forms and applications is also shorter and simpler.
For forms created in earlier versions of AR System using web (fields-fixed)
views, you can edit the header and footer areas of those views using the View
Properties dialog box.
In most respects, the appearance and functionality of forms and applications
on the Web is essentially the same as that in Remedy User. The following
figures show a form as seen first in Remedy User, then in a browser.

Figure 9-1: AR System form in Remedy User

428 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

In a browser, toolbar buttons along the top of the form provide the
equivalent functionality of menus and toolbars in the Standard (Windows)
view. You can hide the entire toolbar by clicking the down arrow icon just
above the first button, as shown in the following figure. You can also
configure the form to hide the toolbar when the form is viewed in a browser,
and control individual button access using Menu Access view properties.
For more information about hiding the toolbar by default, see Showing or
hiding the web toolbar on page 432.
The Advanced Search Bar (if enabled) appears as a pane at the bottom of the
form.

Click this arrow to


hide the toolbar.

Figure 9-2: The same AR System form viewed in a browser

For more information about behavioral differences between Remedy User


and the web client, see the Behavioral differences between Remedy User and the
web client white paper, available on the Remedy customer support web site.

Overview ! 429

Action Request System 6.3

Note: Web (Relative) views and dynamic web views are no longer supported
in this version of AR System. If you have existing relative web views, they
can be displayed only in pre-6.3 versions of the AR System mid tier. For
more information about using AR System with both the 6.3 and previous
mid tiers, see the Differences between mid tier versions 6.0 and 6.3 white
paper.

View options
When you create forms, you can create views by selecting either a standard
(Windows) view or a Web-Alternate (fixed) view. For most forms, you can
use the standard view, which can be displayed both in Remedy User and in a
browser.
Web-Legacy (relative) views are no longer supported. For backward
compatibility, you can still work with these views in Remedy Administrator,
but you must use a 6.0.x mid tier to display them.
Note: If you are creating a new view of the same form (for example, if you are
creating both a Standard view and a separate web view), use a different
label for the second view, so that the view name will be unique in the URL
for the form. For more information about creating views, see Chapter 8,
Creating and managing form views.
" To customize a standard or web view:
1 Open the form for which you want to customize a view.
2 Choose Form > Manage Views.

430 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

The Manage Views dialog box appears.

Figure 9-3: Manage Views dialog box

3 Select the view you want to customize.


4 Click Properties.

The View Properties dialog box appears.

Figure 9-4: View Properties dialog box

View options ! 431

Action Request System 6.3

Note: The Dynamic Web Views tab appears only in Standard views in AR
System 6.3.

From the Appearances tab of this dialog box, you can specify the visibility of
the details pane, results pane, and toolbar when forms are viewed in a
browser. You also can edit web header and footer content of any view. For
more information, see the following:
!

For information about selecting menu access, list color, advanced results,
list, dynamic views, aliases and labels, and defined searches, see Chapter 8,
Creating and managing form views.

For information about pane banner visibility on the web, see Showing or
hiding the web toolbar.

For information about editing web header and footer content, see Editing
web header and footer content on page 434.

Showing or hiding the web toolbar


You can specify whether the toolbar should be visible or hidden by default
when a form is viewed in a browser.
" To show or hide the web toolbar:
1 Open the form for which you want to specify toolbar visibility.
2 Choose Form > Manage Views.
3 Select a view.
4 Click Properties.

432 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

5 In the View Properties dialog box, click the Appearances tab.

Choose Visible or Hidden


for the web toolbar in
this view.

Figure 9-5: Appearances tab

6 In the Pane Banner Visibility region, choose either Visible or Hidden in the

Web Toolbar field.


7 Click OK.

View options ! 433

Action Request System 6.3

Editing web header and footer content


You can customize any view to add web-specific header and footer content.
If you have existing Web-Alternate (Fixed) web views, you can edit the
headers and footers from the Form Properties dialog box in Remedy
Administrator instead of modifying the markup above and below the
AR System fields.
To be sure that header and footer text appears properly in your form, follow
these guidelines:
!

Allow enough room at the top of your form for the header text, especially
if you will be using a banner graphic or if your header text will use a large
type size. You might need to move some fields down on the form.

Enclose all header or footer text within <div> tags. Then, use the desired
HTML tags and styles to format the text.

Use absolute positioning so that the header and footer content is not
hidden behind the fields in the form.

Use the following procedure to add new header or footer text or to edit
existing text.
" To add or edit web headers and footers:
1 Open the form for which you want to include web header or footer text.
2 Choose Form > Manage Views.
3 Select the view for which you want to add or edit headers or footers.
4 Click Properties.

434 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

5 In the View Properties dialog box, click the Appearances tab.

Click either of
these buttons
to edit web
header and
footer content.
Figure 9-6: Appearances tab

6 In the Web Header and Footer region, select either the Edit Web Header

Content or Edit Web Footer Content button.


A text box appears.

7 Add the content you want to include in the header or footer.

View options ! 435

Action Request System 6.3

Enclose all text within <div> tags, and specify the position for the header and
footer text, as shown in the following example:
<div style="position: absolute; top: 50px; left: 30px; width=640px;
height: 45px;">
<h1 style="color: #ffffff;background-color: 003366; font-size: 24pt;
font-style: italic; border-top: 2px solid #ffffff; border-bottom: 2px
solid #ffffff; padding-top: 6px; padding-bottom: 6px;">ABC Enterprise
Solutions</h1>
</div>

In this example, the header is positioned 50 pixels from the top of the form,
and 30 pixels from the left edge, with a height of 45 pixels. An <H1> tag is
used, with styles specified for the color, background color, font size and style,
border, and padding around the text.
Note: Make sure that the CSS z-index of the header and footer is higher than
that of the other elements on the page that overlap it. For example, if you
add content to the top of the page, make sure that its z-index is higher than
that of the FormContainer element (for instance, greater than 29999).

Header text

8 Click OK to return to the View Properties dialog box.


9 Click OK to close the View Properties dialog box.
10 Save the form.
11 Open the form in a browser to verify that the positioning and text are correct.

436 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic


http://<mid_tier_server>/arsys/forms/<ar_server>/<form_name>

Working with form action fields for the web


Although toolbar buttons can provide the functionality you need in web
applications, you can use form action fields to customize a view. Form action
fields are the same as any other fields, except that they have reserved field IDs
and predefined operations on the Web.
Note: Form action fields are not visible in some modes. For example, the
Modify All button is not visible in New Search mode.

The following table lists and describes the available form action fields. The
form action fields that are displayed are based on the selections made in the
Form Action Controls dialog box, shown in Figure 9-7 on page 440. The
form action fields marked with an asterisk (*) are required on most forms.
Form Action Field

Description

Submit *

Sends the data on the form to the database. If any


workflow is designed to execute on submit, it will be
executed.

Query *

Submits the search on the current form. Because the


results will be displayed in the results list field, you
must select the Results List check box to include a
results list field on the web. If any workflow is
designed to execute when a user performs a search
operation, the workflow will be executed.

Modify *

Submits your changes to the database. If any workflow


is designed to execute on modify, it will be executed.

Working with form action fields for the web ! 437

Action Request System 6.3

Form Action Field

Description

Search Bar

Displays the advanced search bar, so the user can


perform advanced searches.
When you create a Search Bar form action field, you
must resize it to a field width of at least 650 to ensure
that all of the buttons appear when the form is viewed
in a web browser. For information about changing
field width, see Display properties on page 242.
Note: With auto layout mode enabled, if you add a

Search Bar form action field to a form with a


column type 2 and create another field next to it,
you may experience a problem with the Search Bar
form action field overlapping adjacent fields when
viewing the form on the web. To work around this
problem, specify column type 1 for the Search Bar
form action field.
Form Help

Displays form-level help in a separate window.

Clear

Removes all the entries on the form that have not been
saved.

Home Page *

Opens the form configured to be your Home Page.

Set to Defaults

Sets the entries on the form to the defaults. If any


workflow is designed to execute after setting defaults,
it will be executed.

New Search *

Opens the form in Search mode so that the user can


begin a new search.

New Request *

Opens the form in New mode so that the user can


submit a new request.

Mode

Used mostly for workflow development or


troubleshooting.
Note: This form action field is not supported in

version 6.3.

438 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Form Action Field

Description

Show Status History

Shows the progress that has been made on an


AR System request: the time that the entry was last
changed to each of the states defined by the status
field, and the name of the user who made the change.
Users select the entry (request) from the results list
field. When the Show Status History button is clicked,
a search is made on the form, and the results are
displayed in a new browser window. Show Status
History is enabled only in Modify mode.

Results List

Adds a results list field to the form.


Note: If a form does not already have a results list, it

will be added automatically in the Standard view.


If you find that the number of search results is limited
and you receive an out of memory error message,
increase the Maximum Heap Size in your Virtual
Machine Settings of your servlet engine.
Also, be sure to tell your users that if they make any
changes to the results list, they must remember to save
their changes because they will not be prompted to do
so.
Note: The results list field is visible only in Modify,

Modify All, and Display Only modes. It is hidden in


New Search mode.
Modify All

Performs a Modify action on fields in selected


requests. This button is visible only in Modify mode.

You can set a preference for which form action fields are automatically
included. For more information, see Web View preferences on page 79.
Use the following procedure to add form action fields manually to a view.

Working with form action fields for the web ! 439

Action Request System 6.3

" To add form action fields manually to a view:


1 Open a form view.
2 Place the cursor where you want to insert the form action field.
3 Choose Form > Form Action Fields.

The Form Action Controls dialog box appears.

Figure 9-7: Form Action Controls dialog box

4 Select the actions that you want included the view, and clear the check boxes

for the actions that you do not want included in the view.
5 In the Add to Views field, select the views that should include the selected

form action fields.


6 Click OK to close the Form Action Controls dialog box and add your new

fields.
7 Save your changes.

440 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Browser settings for scripting and ActiveX controls


For the 6.3 mid tier to work properly, the ActiveX settings for the XMLHTTP
protocol between the browsers and mid tier must be correctly set.
Typically, if you simply use all the default scripting settings in MS IE and
Mozilla, you should not see any problems with the mid tier.
Otherwise, use the following ActiveX settings for your browser:
For IE browsers:
!

Under Security Settings, the Active Scripting and Allow Paste Operations
via Script must be enabled in order for the mid tier to work properly.

Options related to ActiveX controls (Download signed ActiveX Controls,


Download Unsigned ActiveX Controls, Initialize and Script ActiveX
controls Not Marked as Safe, and Run ActiveX Control and Plug-ins) do
not affect the mid tier.

The Scripting of Java Applets setting does not affect the mid tier.

To access these options in IE, choose Tools > Internet Options. Click the
Security tab, then click the Custom Level button.
In Mozilla browsers:
!

The Enable JavaScript for Navigator option must be enabled.

To access this option in Mozilla, choose Edit > Preferences > Advanced >
Scripts & Plug-ins.

Browser settings for scripting and ActiveX controls ! 441

Action Request System 6.3

Configuring page properties


The appearance of AR System fields in a browser is determined by a default
cascading style sheet (.css) file that is provided with the mid tier. You can add
your own .css file to override these default values. For detailed information
about how to customize style sheets, see the Developing AR System
Applications: Advanced guide.

Managing resource files


Resource files include files such as images or custom cascading style sheets.
You must add any resource files to the web application using the Support
Files tab in Application Properties.

Support Files tab


with resource files
and directories
listed

Figure 9-8: Application Properties windowSupport Files tab

If you create or open forms within the Application window, resources added
to form views are automatically added to the applications Support Files
properties. At the time the resource is added, the reference to that resource
matches its location in Support Files. However, AR System does not
maintain these references (or example, if you change the directory structure
for resources in Support Files).
The Resources Directory Structure level represents the directory for your
application in the mid tier. You can add support files directly under this level,
or to other directories that you create. You cannot delete or change the name
of the Resources Directory Structure level.
You can add or delete directories and files, or rename existing directories.
You can also save the directory structure to an external disk.

442 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Use the following procedures to specify support files for web applications.
" To create directories for support files:
1 Open the application object with which you want to work.
2 Click the Support Files tab.

The Resources Directory Structure appears, including the Resources


directory.
3 Select the directory under which you want to create a new directory.
4 Click the Create Dir button.

A new directory appears under the directory you selected in step 3.


5 Enter a new name for the directory, and press ENTER.
6 Add support files (such as images) to the new directory, as described in the

following procedure.
If you do not add support files to the directory you created, it will be removed
from the directory structure the next time you open the application object.
7 Save the application.
" To add files to support file directories:
1 Open the application with which you want to work.
2 Click the Support Files tab.

The Resources Directory Structure appears.


3 Select the directory under which you want to add support files.
4 Click the Add File(s) button.

The Open dialog box appears.


5 Select the file you want to add to the directory and click the Open button.

The file is added to the directory selected in step 3.


6 Repeat steps 3, 4, and 5 for every file that you want to add to the directory.

Note: If you have added support files for your application, you can access
them through a URL. For more information, see Accessing support files
on page 446.

Managing resource files ! 443

Action Request System 6.3

Accessing forms and applications with URLs


Users can access forms on the web through links on a Home Page or through
URLs that you supply. This section provides the following information about
providing URLs:
!

Opening forms and applications from a Home Page on page 444

Accessing the Remedy Configuration Tool on page 444

URLs for opening forms and applications on page 445

Accessing support files on page 446

Specifying parameters in URLs for direct access on page 447

How a view is selected on page 451

How locale is established on page 451

Creating URLs for login and logout on page 452

Working with the Mid Tier Object List on page 455

Opening forms and applications from a Home Page


The simplest way to enable user access to your applications is to use a Home
Page. The Home Page is a single point of access that includes all forms and
guides that have been configured as entry points, and to which the user has
access permissions. The AR System generates all the entry points from all the
servers in the AR Server Settings window in the Remedy Configuration Tool,
and displays them in the home pages application list field.
The Home Page appears automatically when web clients access the Home
Page URL (http://<mid_tier_server>/arsys/home). For more information
about configuring entry points and Home Pages, see the Developing
AR System Applications: Advanced guide.

Accessing the Remedy Configuration Tool


You can use the Remedy Configuration Tool to add or remove mid tier
servers, specify a default Home Page server, configure cache settings, and
specify logging information.
To access the Remedy Configuration Tool, enter:
http://<mid_tier_server>/<contextpath>/shared/config/config.jsp

The default context path is arsys.


444 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

When the login screen appears in your browser, enter the administrative
login password specified for your mid tier, and click Login. For more
information about the Configuration Tool, see the Configuring AR System
guide and the Remedy Configuration Tool Help.

URLs for opening forms and applications


If you do not use a Home Page form to display the entry points of your web
applications, you must supply URLs for your users so that they can access
applications and forms in a browser.
In AR System 6.3, names of applications, forms, and views referenced in
URLs use the actual database name of the object instead of the web aliases
required by previous releases.
As a form loads in the browser, the system appends a hexidecimal cache ID
to the URL, such as ?cacheID=acbec68. This number represents parameters
such as the user name, locale, view, application, and workflow logging. The
purpose of the cache ID is to make the URL unique in the browser cache and
to ensure that the correct view is displayed.
Note: The mid tier also provides an Object List that displays a list of forms
and applications available on the mid tier. This list appears if the system
cannot determine which form to load because of an incorrect or
incomplete URL, or if the application does not have a primary form. The
Object List must be enabled in the General Settings window of the Remedy
Configuration Tool. For more information, see Working with the Mid
Tier Object List on page 455 and the Configuring AR System guide.

The following sections provide the URL formats to use for opening forms
and applications in a browser. In the following examples, arsys is used as the
default context path.

Opening a form
!

To open a form, enter:


http://<mid_tier_server>/arsys/forms/<ar_server>/<form_name>

To open a specific view of a form, enter:


http://<mid_tier_server>/arsys/forms/<ar_server>/<form_name>/
<view_name>

The view name is optional.


Accessing forms and applications with URLs ! 445

Action Request System 6.3

Opening an applications primary form


To open an application and display its primary form, enter:
http://<mid_tier_server>/arsys/apps/<ar_server>/<app_name>

Opening any form in an application


To open any form in an application, enter:
http://<mid_tier_server>/<arsys>/apps/<ar_server>/<app_name>/
<form_name>/<view_name>

You can add URLs to form views to provide users access to web pages, HTML
documents, and images. You can also build URL links on web pages, view
fields, and text trim fields that open forms.
You can also use the $HOMEURL$ keyword in workflow to reference the
context path displayed in a browser. For more information, see Appendix C,
Operators, wildcards, keywords, and NULL values.

Accessing support files


If you have added support files for your application, you can access them
through a URL. If you have placed support files at the top level of the
Resources Directory Structure, enter:
http://<mid_tier_server>/arsys/apps/<ar_server><application_name>/
resources/<file_name>

Note: Be sure to lowercase the word resources at this level.

If you have placed support files under any subdirectories (including the
Resources directory that Remedy Administrator creates dynamically), those
must be added to the URL, as in the following examples. Notice that the
Resources subdirectory name is upper/lowercase.
!

To access a file under the Resources directory, enter:


http://<mid_tier_server>/arsys/apps/<ar_server>/
<application_name>/resources/Resources/<file_name>

If you have created an additional directory under Resources, enter:


http://<mid_tier_server>/arsys/apps/<ar_server>/
<application_name>/resources/Resources/<directory_name>/
<file_name>

Note: To access application support files, a valid AR System login is required.

446 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Specifying parameters in URLs for direct access


As in previous versions of AR System, you can use the ViewFormServlet to
open a specific form and pass parameters such as a user name or a
qualification.
At a minimum, you must supply the server name and form name. If more
than one view of a form is available, the system selects a view based on certain
criteria, as described in How a view is selected on page 451.
Note: Values in URLs are case-sensitive. For example, ViewFormServlet and
viewformservlet are not the same.

Supported parameters in AR System


A list of available views for the user is generated based on parameters
specified in the URL. At a minimum, you must specify values for form and
server. Include additional parameters as necessary, depending on the
number of views available for the form and the requirements of the user.
The following table lists supported parameters, their descriptions, and
possible values. All parameters and values are case sensitive.
Note: The formalias, appalias, viewalias, and locale parameters are no longer
supported.
Name

Description

Possible Values

form
(required)

Name of the AR System form to be


accessed.

URL-encoded string

view

URL-encoded string
View label for the preferred view. See
How a view is selected on page 451 for
information on how a list of possible views
is generated for the user.

app

Application (container) name. If specified URL-encoded string


and valid, the file for the view is called from
the application-specific directory.

server
(required)

Name of the AR System server to be


accessed.

mode

Mode in which the form will be opened. If Search, Submit


not specified, Search will be used.

URL-encoded string

Accessing forms and applications with URLs ! 447

Action Request System 6.3

Name

Description

Possible Values

eid

Request ID of a form entry. Provides direct URL-encoded string


access to a specific request on the form. If representing the
specified, the qual value is ignored.
request ID number

qual

Qualification criteria for a search


operation. If specified, the mode value is
ignored.

URL-encoded search
string (size restricted
by URL length)

username

User name used to log in to AR System.

URL-encoded string

pwd

Password used to log in to AR System.

URL-encoded string

auth

Authentication string for the user. For


more information, see the Configuring
AR System guide.

URL-encoded string

URL encoding
If a URL includes characters that cannot be printed or transmitted safely, the
URL must be encoded. Any unsafe or unprintable characters (for instance,
single or double quotation marks, equal signs, or ampersands) are replaced
with a percent sign (%), followed by the hexidecimal digits that correspond
to the characters value. For example, the string Assigned To would be
encoded as %22Assigned+To%22.
The following table lists some of the most commonly encoded characters.
Character

Encoding value

<space>

+ (plus sign) or %20

! (exclamation point)

%21

(double quotation mark)

%22

# (hash mark)

%23

$ (dollar sign)

%24

% (percent)

%25

& (ampersand)

%26

(single quotation mark)

%27

* (asterisk)

%2A

+ (plus sign)

%2B

448 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Character

Encoding value

, (comma)

%2C

- (hyphen)

%2D

. (period)

%2E

< (less than sign)

%3C

= (equal sign)

%3D

> (greater-than sign)

%3E

~(tilde)

%7E

/ (forward slash)

%2F

: (colon)

%3A

? (question mark)

%3F

URL encoder utility


The AR System mid tier provides a URL encoder utility that enables you to
convert non-alphanumeric characters to UTF-8 encoded values.

Accessing forms and applications with URLs ! 449

Action Request System 6.3

" To convert non-alphanumeric characters to encoded values:


1 Open the AR URL Encoder utility using the following URL:
http://<mid_tier_server>/<contextpath>/shared/ar_url_encoder.jsp

arsys is the default context path.


2 In the Original String field, enter the individual character or string for which

you want to find the correct encoding.


3 Click Convert.

The encoded values appear in the Encoded String field.

URLs with parameters for accessing forms and search


results
The following examples show the URL syntax for accessing forms and search
results. In these examples, arsys is used as the default context path.

Example 1: URL that bypasses the Login window and displays the
specified form
http://<mid_tier_server>/arsys/servlet/
ViewFormServlet?form=<form_name>&server=<server_name>&username=<user_
name>
&pwd=<password>

The system bypasses the Login screen, and displays the view of the form.
Warning: If you use the pwd parameter in a URL, passwords are exposed by
the browser in the locator and in bookmarks or favorites. For URLs that
include the pwd parameter, use https://.

Example 2: URL that displays search results in the specified form


http://<mid_tier_server>/arsys/servlet/
ViewFormServlet?form=<form_name>&server=<server_name>
&qual=%27Assigned+To%27%3D%22<first_name>+<last_name>%22
+AND+%27Status%27%3D%22Fixed%22

450 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

After the user logs in, the system displays the form with results of the search
Assigned To=Firstname Lastname AND Status=Fixed.

Support for legacy URLs


When a user enters a URL from a previous version of AR System, the system
will redirect the user to the proper form.

How a view is selected


Normally, when choosing a view for a user, the system offers a Web-Alternate
(Fixed) view in preference to a Standard view. An option in the
Configuration Tool allows you to reverse this default setting. For more
information, see the Configuring AR System guide.
The AR System tries to provide the user with the best possible view of a form.
The choice of view is based on the users application environment, language,
and preference settings.
1 The system selects the view category that has been requested by the user or by

way of workflow. If no view category is requested, or if the requested category


does not exist, the default category will be used.
2 The system selects a view that is appropriate for the client that the user is

running. If the client is on the Web, the system selects a view according to the
Prefer Standard/Windows View option in the Remedy Configuration Tool.
For more information, see the Configuring AR System guide.
3 The system selects a view that is appropriate for the users locale. If there is

not an exact match, a fallback mechanism finds the closest possible locale to
the one requested. The resulting view is then displayed for use.

How locale is established


URLs do not contain locale information in version 6.3. The system
determines the correct locale in one of two ways, depending on whether the
user is logged in:
!

If the user is not logged in, the system takes the preferred locale list from
the browser, and uses it in prioritized order to try to match the closest
locale. This how the W3C recommends choosing a locale for a web page.

If the user is logged in, the system takes the locale set in the users
preferences as the locale of choice. If no locale is set in the user preferences,
then the system uses the browser-supplied list as noted above.

Accessing forms and applications with URLs ! 451

Action Request System 6.3

Creating URLs for login and logout


You can use URLs to send users directly to a login or logout page. When you
send users directly to a login page, you must specify a URL to which the user
will go after logging in. You might also want users to access an alternate URL
after logging out.

Parameters for login and logout


The following table shows the URL parameters that apply to login and
logout. All parameters and values are case sensitive.

Parameter

login.jsp

LoginServlet

logout.jsp

LogoutServlet

goto

Required

Required

Not applicable

Optional

server

Required

Required

Not applicable

Not applicable

username

Not applicable

Required

Not applicable

Not applicable

pwd

Not applicable

Required

Not applicable

Not applicable

auth

Not applicable

Optional

Not applicable

Not applicable

The goto parameter redirects users to an alternate URL after login or logout.
The enc parameter specifies the type of character encoding, such as UTF-8 or
Shift_JIS, used in other parameters.
Specify login.jsp if you want users to log in manually. Specify logout.jsp, or
specify LogoutServlet without the goto parameter, to send users to the logout
page only. Specify LoginServlet or LogoutServlet and the goto parameter if you
want users to go directly to an alternate URL.
The following examples show how to use URLs for login and logout. In these
examples, <mid_tier_server> is the name of the web server, arsys is the
default context path, and <URL> is a valid URL. When creating login and
logout URLs, do not include quotation marks around parameter values.

Example 1: Login with default login page


http://<mid_tier_server>/arsys/shared/login.jsp?goto=
<URL>&server=<server_name>

The user logs in using the default login page, and then goes to the specified
URL.

452 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Example 2: Login with customized login page


http://<mid_tier_server>/arsys/apps/<ar_server>/<app>/
login.jsp?goto=<URL>&server=<server_name>

The user logs in using a login page customized for an application, and then
goes to the specified URL.

Example 3: User logged in automatically


http://<mid_tier_server>/arsys/servlet/LoginServlet?goto=
<URL>&server=<server_name>&username=<user_name>
&pwd=<password>

The user is logged in automatically and goes directly to the specified URL.

Example 4: Logout
http://<mid_tier_server>/arsys/servlet/LogoutServlet?goto=
<URL>

The user logs out and goes directly to the specified URL.

Creating login and logout buttons


You can create a button field that users can click to log in, or a button form
element that users can click to log in or log out.
" To create a logout button:

This procedure demonstrates how to associate a Run Process active link


action with a Logout button. For more information about the Run Process
action, see The Run Process active link, filter, or escalation action on
page 555.
1 In Remedy Administrator, open a form.
2 Choose Form > Create a New > Button.
3 Open the Field Properties window and change the name of the button to

Logout.
4 Choose File > Save Form to save your changes.

Accessing forms and applications with URLs ! 453

Action Request System 6.3

5 Create an active link with the following properties:


Execute On condition Button/menu item
Execute On field

Logout

If Action

Run Process

Command Line

PERFORM-ACTION-EXIT-APP

6 Choose File > Save Active Link to save your changes.

The following procedure demonstrates how to create a Login or Logout


submit button on a web page. arsys is used as the default context path.
" To create a login or logout form element button:
1 Open the web page in a text editor.
2 To create login and logout functionality, insert HTML code as shown in the

following examples.
!

For login functionality, modify the HTML code as follows:


<form name=loginForm method=post action=http://
<mid_tier_server>/arsys/shared/
login.jsp?goto=<URL>&server=<server_name>
<p><INPUT type=submit value=Login name=login></p>
</form>

where arsys represents the default context path, <URL> is the URL the user
will go to after logging in, and <server_name> is the name of the server to
which the user needs to log in.
!

For Logout functionality, modify the HTML code as follows:


<form name=logoutFormmethod=post action=http://
<mid_tier_server>/arsys/servlet/LogoutServlet?goto=<URL>>
<p><INPUT type=submit value=Logout name=logout></p>
</form>

where arsys represents the default context path, and <URL> is the URL the
user will go to after logging out.
3 Save your changes.

Note: For more information about customizing login and logout pages, see
the Action Request System 6.3 Release Notes.

454 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Working with the Mid Tier Object List


Another way to access forms and applications on the web is through the Mid
Tier Object List, which lists all forms and applications available through your
installed mid tier.

Enabling the Mid Tier Object List


To use the Mid Tier Object List, you must first enable it. To do so, complete
the following steps, which are summarized here and explained in greater
detail in the Configuring AR System guide.
" To enable the Mid Tier Object List:
1 In the AR Servers page of the Configuration Tool, verify that your Home

Page server is included in the server list. If it is not, add it.


2 In the General Settings page of the Remedy Configuration Tool

(http://<mid_tier_server>/shared/config/config.jsp), verify that you have


set a Home Page server.
3 In Remedy Administrator, import the Mid Tier Object List definition file to

your Home Page server. This file provides the default view and related
workflow in English. The default location is:
c:\Program Files\AR System\MidTier\samples\AR SystemMidTierObjectList.def

To import the file, choose Tools > Import Definitions > From Definition
File.
4 If you need additional localized views, import the appropriate .def files. To

do so, choose Tools > Import Definitions > From View Definition Files, and
select the .def files you need. If you do not need localized views, skip this step.
5 In the General Settings page of the Configuration Tool, check the Enable

Object List option box. (By default, this box is not checked.)

Displaying the Object List


Once enabled, the Object List appears automatically in your browser if the
system cannot determine which form to load because of an incomplete or
incorrect URL, or if your URL specifies an application that does not have a
primary form. (For more information about specifying a primary form in an
application, see Forms properties on page 147.)

Working with the Mid Tier Object List ! 455

Action Request System 6.3

You can also display the Object List using any of the following URLs.
!

http://<mid_tier_server>/arsys/forms

http://<mid_tier_server>/arsys/forms/<server_name>

http://<mid_tier_server>/arsys/apps

http://<mid_tier_server>/arsys/apps/<server_name>

http://<mid_tier_server>/arsys/apps/<server_name>/
<application_name>

456 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Searching for forms or applications in the Object List


By default, the Object List displays all available forms and applications for
your mid tier. You can restrict the display to specific forms, applications, and
servers using any of the following methods.
!

To find objects in a specific server, enter all or part of the server name in
the Server field and click Search.

To find an application, enter all or part of the application name in the


Application field, and click Search.

To find a form, enter all or part of the form name in the Name field and
click Search.

To restore the full list of forms and applications, clear the Server,
Application, and Name fields, and click Search.

You can also arrange items in the list by name, server, or type by clicking the
appropriate column headings.

Opening forms and applications from the Object List


Use any of the following methods to open forms and applications:
!

To open a form, select the form name and click Open New or Open
Search.

To open an application, select the application and click Open.

Note: The Show Hidden check box viewable by administrators only.

Session timeouts
When a user logs in to the mid tier, the length of the users session is
determined by the timeout setting in the Remedy Configuration Tool. When
the session exceeds this time, the session times out and the user must log in
again. The default session timeout is 90 minutes.
If a user is entering data in a form, that data may be lost if the session times
out before they submit (save) the data. To prevent possible data loss if a
timeout occurs, the user should log in from a new window, copy and paste
the data to the new window, and submit the data from the new window.
If users are experiencing frequent timeouts, you might want to increase the
session timeout setting in the Configuration Tool. For more information, see
the Configuring AR System guide.
Session timeouts ! 457

Action Request System 6.3

Creating help for web applications


If you created help for your applications in Remedy Administrator, users can
view that help in a browser window by clicking the Help link in the forms
toolbar.

Toolbar help link

Form help text


Field help text

You can also provide access to help on the web by using a Form Action field.
" To create help for a form on the web using a Form Action field:
1 Create help for the form and for each field as described in To create help text

for users of Remedy Administrator: on page 63.


Note: For field-level help, the Hide This Help Text in Web Views check box
at the bottom of the tab is ignored in version 6.3. Using previous versions,
you can select the check box if you do not want help text for a field to
appear in a form viewed on the web.
2 Create a Form Help field on the form.
a In the form window, choose Form > Form Action Fields.
b Select the Form Help check box, and click OK.

A Help button appears in the window.


c Set field properties for the Help button as described in Understanding

field properties on page 240.

458 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Saving a web application to another location


You might want to save your web application to another location on your
computer or file server. This enables you to verify the contents of your
application before making it available to users.
" To save an application to disk:
1 Open an existing application in Remedy Administrator.
2 Choose Application > Properties.
3 Choose File > Save Application To Disk.
4 Enter the full path name in the dialog box that appears.
5 Click OK.

Making your web-based applications accessible to


users with disabilities
You can configure your AR System web-based applications to work with
assistive technology like JAWS (Job Access with Speech). This makes them
accessible to people with disabilities, in accordance with Section 508 of the
Rehabilitation Act of 1973. Configuration includes setting user preferences
for accessibility and defining certain properties within your applications.
Note: You must make sure that all custom HTML and client script code is in
compliance with Section 508 standards. This includes HTML snippets in
view fields and any modifications you make to JSP pages.

Complete Section 508 standards can be found at http://www.section508.gov.

Saving a web application to another location ! 459

Action Request System 6.3

User preferences for accessibility


The AR System User Preference form contains the following web accessibility
preferences. To access these preferences, click the Web tab.

460 "Chapter 9Working with AR System forms and applications on the Web

Developing AR System Applications: Basic

Preference
Accessible Mode

Description
Generates the HTML page so it is optimized as follows:
DefaultNo optimization.
! Screen Reader/No Vision
Accessible Mode is enabled when it is set to a choice other
than Default.
!

Note: When adding image buttons to a form, you must

add a label for the button image in order for the


image's ALT tag to be readable by screen readers.
When the No Vision option is set in user preferences,
the screen reader will use the label text to read the ALT
tag.
Accessible Message

Controls the level of non-visual feedback for workflow.


There are three options:
!

No ActionNo messages are shown for accessibility.


Active link message actions of type Accessible are
ignored.
Message ActionDisplays accessibility messages
defined by an active link message action of type
Accessible.
All ActionsDisplays accessibility messages to reflect
visual changes on the page, as well as accessibility
messages defined by an active link message action of
type Accessible.
For All Actions, accessibility messages are displayed for
visual changes caused by change field actions. These
messages reflect the visual changes the user would have
experienced otherwise.
If a field is hidden, changes caused by these actions are
not reported.

For more information on active link message actions, see


The Message active link or filter action on page 517.

Making your web-based applications accessible to users with disabilities ! 461

Action Request System 6.3

Accessibility features
Many accessibility features are provided by the AR System when the
Accessible Mode user preference is enabled. In certain cases, you might need
to configure the system to meet accessibility requirements.
Accessibility feature AR System functionality

Administrator tasks

Text equivalent for


images

For images on buttons, the For images added to forms,


field label can be interpreted you must supply an
by a screen reader.
Alternative Text property.

Field accessibility

Table field row


and column
identification

Field labels and field states


(such as Read Only,
Disabled) can be
interpreted by a screen
reader.
AR System supplies
default text for menu and
expand box icons that
appear next to fields.
Table titles, column
headers, and row headers
can be interpreted by a
screen reader.

Note: If a table or results list

has only one column,


screen readers will not
recognize the table as a
data table, and will not
read it out.

462 "Chapter 9Working with AR System forms and applications on the Web

You must distinguish


Required fields. For
example, you can add an
asterisk (or other character)
to the field label.

Developing AR System Applications: Basic

Accessibility feature AR System functionality

Administrator tasks

Text equivalents for


screen and content
changes

Use the active link message


action of type Accessible to
provide messages that can be
read by screen readers.

When the user preference


for Accessible Message is All
Actions, a list of results from
change field and other
actions appears in a message
box. This text can be
interpreted by a screen
reader.
For more information, see
User preferences for
accessibility on page 460.

Keyboard shortcuts

For more information, see


The Change Field active
link action on page 502 and
User preferences for
accessibility on page 460.

The web client supports


keyboard shortcuts.
For more information, see
Keyboard shortcuts for
accessibility on page 463.

Keyboard shortcuts for accessibility


The following table lists keyboard shortcuts supported by AR System. The
term focus refers to keyboard focus, not to virtual cursor positions defined by
certain assistive technologies. Only form input fields and anchors can receive
keyboard focus.
General shortcut keys:
These are standard window editing and viewing shortcut
CTRL+X, +C, +V, +A keys.
DELETE

PAGE UP, PAGE


DOWN
HOME, END
ARROW keys
TAB

Tabs through all page elements that receive focus.

Page Field shortcut keys:


LEFT ARROW,
RIGHT ARROW

If the focus is on a tab selector (anchor link), sets focus to


the next or previous tab selector without displaying it.
Press ENTER to display.

ENTER

If the focus is on a tab selector, displays the page.

Making your web-based applications accessible to users with disabilities ! 463

Action Request System 6.3

Character Field Menu shortcut keys:


These keys only work when the Menu Access Option preference is set to Keyboard.
<UP, DOWN, or
ARROW>

Moves focus through the menu items. Press ENTER to


populate the field with the menu selection.

RIGHT ARROW

If the selected item is a submenu, opens and sets focus to


the submenu.

LEFT ARROW

Dismisses the submenu and sets focus to the upper level


menu. There is no action if the focus is at the top level.

<letter>

Enter a letter to select the first item in the menu that begins
with that letter. Press ENTER to populate the field with the
menu selection.

ENTER

If the selected item is a submenu, opens and sets focus to


the submenu. Otherwise, selects the item and dismisses the
menu.

ESC

Dismisses the menu (or menu level) without selection.

Form Action shortcut keys:


These keys only work when the corresponding form action button is visible and
enabled.
CTRL+ALT+F2

Switches to New Request mode.

CTRL+ALT+F3

Switches to New Search mode.

CTRL+ALT+ENTER

In New or Modify mode, saves the changes. In Search


mode, performs the search.

CTRL+ALT+E

Clears all field values.

CTRL+ALT+U

Sets default field values.

CTRL+ALT+H

Shows status history values.

CTRL+ALT+Q

Sets focus to the Advanced Search Bar input field.

464 "Chapter 9Working with AR System forms and applications on the Web

Chapter

10

Automating application
processes with workflow
This section describes how to use the three AR System workflow objects:
active links, filters, and escalations. With workflow you can define a set of
processes to enforce business rules such as tracking company benefits,
defects, assets, and so on.
Note: In this section, the term button refers to a button that you place in a
form to execute an active link; the term toolbar button refers to a button in
a toolbar, which, in the case of active links, is the toolbar in Remedy User.
A menu bar item refers to the items displayed from a top-level menu in
Remedy User. Do not confuse it with a menu attached to a field.

This section includes the following sections:


!
!
!
!
!
!
!
!
!
!

Workflow objects (page 466)


Using the workflow windows (page 470)
Shared workflow (page 474)
Specifying the basics (page 476)
Specifying active link, filter, and escalation actions (page 493)
Specifying escalation time criteria (page 570)
Workflow processing (page 572)
Filter processing in the AR System server (page 575)
Tracing active link, filter, or escalation activity (page 586)
Using buttons and menu bar items to execute active links (page 587)

Automating application processes with workflow ! 465

Action Request System 6.3

Workflow objects
Workflow objects automate your organizations business processes. You can
create active links, filters, and escalations to perform actions on one form or
several. When workflow is attached to multiple forms, it is considered shared
workflow. See Shared workflow on page 474 for more information.
Active links, filters, and escalations share many similarities, but also have
several differences that are described in this section. See the Concepts Guide
for background information on workflow.

Active links
An active link is an action or a series of actions that are conditionally
interpreted after being triggered when a user performs an operation, based
on the set of permissions assigned to that user. The interpretation occurs on
the AR System client in the current form window. For example, you might
define an active link that displays a list of all problems reported for the
current workstation whenever a user presses ENTER in the Workstation
field.
When an active link is executed from a form, you can trigger multiple active
links with a single user action. Because you can also specify the conditions
under which an active link executes, you can define an active link where a
single user action leads to different active link results. For example, you can
design an active link that checks the group membership of the name in the
Submitter field and, based on the group membership, attaches a different
menu to the Short Description field. This would enable you to provide one
set of descriptive options to someone in Human Resources and a different set
of options to someone in Shipping.
Active links can be grouped into execution groupings called active link guides
that allow procedural processing (discussed in the Developing AR System
Applications: Advanced guide).
Note: Active links cannot be triggered through the use of an API program.

466 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Filters
You can design filters to implement and enforce your organizations business
rules because filters test every request transaction to see if certain conditions
are met, and then respond to the conditions by taking specific actions. For
example, you might define a filter that notifies support staff members when
they are assigned responsibility for a new request.
Filters can act on virtually any condition that arises in a request. For example,
filters can restrict how users create or modify a request. Filters can also check
for conditions in requests that are submitted by a network management
system for a device that the system is monitoring. Then the filter can
automatically call a program to control that device.
Filters execute on the AR System server and run with administrator
permissions. This means that filters can access any field in the AR System
database, even if the field is not available to the user (no view or change
access).
Filters can be grouped into filter guides (discussed in the Developing
AR System Applications: Advanced guide).

Escalations
An escalation enables a condition to be checked on a regular basis and,
depending on if and how it is met, performs one or more actions. For
example, you might define an escalation that sets the priority to Urgent if the
request is not closed within 24 hours. Or you might choose to page a support
staff member if a Critical request has not been addressed in one hour.
Escalations execute on the AR System server and run with administrator
permissions. Escalations differ from filters in that escalations occur at a
specific point on a time interval rather than in response to a specific
operation. Additionally, escalations are scheduled to act on requests that
meet a certain qualification, while filters act on the current request
(transaction).
At the times specified within the escalation, AR System searches for requests
that match the escalation qualification, and performs the specified escalation
actions on requests that match.

Workflow objects ! 467

Action Request System 6.3

The following table compares the functionality of active links, filters, and
escalations.

Active Links
Where performed Client, current form
window

Filters

Escalations

Server

Server

Executed by

A user performing an action A specific operation

A specific time

Purpose

Help the user to do


something

Get someone to do
something

What they do

Start a series of actions that Test every AR System server


are conditionally
transaction to see if certain
interpreted
conditions are met and
respond by taking specific
actions

Enable a condition to be
regularly checked, and
depending on if and
how it is met, perform
actions

Runs as

User

Administrator

Administrator

Example

Display all problems


reported for the current
machine whenever a user
presses Enter in the
Machine Name field

Notify support staff


members when they are
assigned a new request

Page a support staff


member if a Critical
request has not been
addressed in one hour

Implement and enforce the


rules

468 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

General procedures
Although active links, filters, and escalations have different purposes and
properties, they share many similarities that are shown in the following table.
For Information About

See

Creating, copying, renaming, and deleting AR System objects

page 55

Assigning permissions (enables you to specify users and groups who page 121
can access an object)
Entering change history (a record of an objects owner, the user who page 61
last modified the object, and the date of modification)
Creating and modifying help text for objects

page 62

Creating a log file for tracing object activity (You can create a record page 586
of an objects operation, including what executed and whether it was
successful.)

Workflow objects ! 469

Action Request System 6.3

Using the workflow windows


You can open multiple windows for creating or modifying the active links,
filters, and escalations that you have permission to administer. The title bar
of each window tells you whether you are working in the Active Link, Filter,
or Escalation window. Use the Active Link window, shown in the following
figure, to create and modify active links.

Figure 10-1: Active Link window

470 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Use the Filter window, shown in the following figure, to create and modify
filters.

Figure 10-2: Filter window

Using the workflow windows ! 471

Action Request System 6.3

Use the Escalation window, shown in the following figure, to create and
modify escalations.

Figure 10-3: Escalation window

472 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Use the following tabs in each of the workflow windows to define active links,
filters, or escalations:
Basic

Defines the basic properties; what the user must do to


execute it (for active links only) or the conditions that cause
it to execute; enabling or disabling the workflow object; and
a qualification. For example:
!

!
!

If Action

Defines the actions that will execute when the qualification


is met. For example:
!

Else Action

An active link executes when the user presses Return in a


specified field or clicks a button on the form.
A filter executes when a user submits a request.
An escalation executes when a request more than eight
hours old has not been closed by support personnel.

An active link qualification looks for a specific name in the


Submitter field, and the If action allows access to a field.
A filter qualification looks for hardware in the Problem
Type field, and the If action automatically delegates the
request to a hardware support person.
An escalation qualification looks for New in the Status
field for any request more than two hours old, and the If
action assigns the request to the manager.

Defines the actions that will execute when the qualification


is not met. For example:
An active link qualification looks for a specific name in the
Submitter field, and the Else action denies access to a field.
! A filter qualification looks for hardware in the Problem
Type field, and the Else action automatically delegates the
request to a software support person.
! An escalation qualification looks for Active in the Status
field for any request more than two hours old, and the Else
action sends an email notification to a shared status log
account.
The Else action is optional.
!

Permissions (active Defines those access control groups that are allowed to
links only)
execute the active link.
Time Criteria
(escalations only)

Defines when the AR System server will check the escalation


conditions.

Using the workflow windows ! 473

Action Request System 6.3

Change History

Records the owner, the user who last modified it, and the
date of the modification. You can also enter a description of
your changes.

Help Text

Supplies help text. In most cases, this help text is a


description of what the workflow object does, and how it is
used.

Shared workflow
You can create workflow (active links, filters, and escalations) that can be
attached to one or multiple forms. For example, you could create an
employee information active link that would populate generic identification
and address fields anytime a user enters a name, and use this on multiple
forms.
Shared workflow lets you efficiently build, maintain, and troubleshoot
versions of forms and applications. Fewer workflow objects need to be stored
on the server because any changes you make only need to be made once for
all forms that use the objects.
Warning: Sharing active links and active link guides among forms in different
deployable applications requires caution. Role permissions are resolved
based on which application has ownership. The owner application
contains the form that is the primary or reference form in the active link
or active link guide. The non-owner application might have identical roles
mapped to different groups, but these mappings are ignored. If only
implicit groups have permission (no role permissions), there are no
conflicts. For more information, see Understanding deployable
application ownership on page 140.

The way you define shared active links, filters, or escalations is similar to the
way you define workflow for an individual form. The main difference is that
instead of attaching the workflow to one form, you attach it to multiple
forms. If you do not want the workflow to be shared, select only one form.
See Defining workflow basics on page 477 for instructions on creating
shared workflow.
Workflow actions interact with fields based on field ID (not the field name)
on each of the forms to which the field ID is attached.

474 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Because shared workflow uses any valid field ID, plan how you want to use
shared workflow before attaching it to multiple forms. Multiple forms that
share workflow can show different field names for fields with the same ID. To
make it easier to administer shared workflow, create fields with the same ID
and the same field name on each form to help you remember the purpose of
the field. Otherwise, the workflow might not fire, or the shared workflow
actions will still be triggered but might not use the expected field. In either
case, the action you expect to happenbecause you have connected the
workflow to a non-existing field or the wrong fieldwill have no effect
(depending upon the workflow).
Finally, if fields have matching IDs but are different data types, AR System
will convert them appropriately.
After you have created a form with which you want to share workflow, you
can:
!

Create a new workflow object and then attach it to forms.

Select an existing workflow object and then attach it to forms.

Warning: When you create a copy of a field to put on another form, the new
field retains all of the properties of the original field including the field ID.
Use caution when using different field names that share the same field ID
since shared workflow uses the field ID to trigger actions.

When exporting definitions, you can choose whether to maintain an


association between the selected workflow and all related forms. See the
Developing AR System Applications: Advanced guide for more information.
When you delete a form that uses non-shared workflow, the workflow is
deleted along with the form. However, if workflow is shared by multiple
forms, it will not be deleted until the last form that uses it is deleted.

Shared workflow ! 475

Action Request System 6.3

Sample uses of shared workflow


Possible ways to use shared workflow include:
!

Populating common fields used to store employee data.

Automatically assigning cases (based on tasks and applications).

Accessing common forms such as bulletin boards, reporting, preferences,


reminders, and so on.

Navigating, for example, in a configuration tool.

Displaying a message or warning dialog box that appears whenever a user


submits a form or enters invalid information.

Specifying the basics


The following sections describe how to set specifications and conditions in
the Basic tab of the Active Link window (Figure 10-1 on page 470), the Filter
window (Figure 10-2 on page 471), and the Escalation window (Figure 10-3
on page 472).
From the Basic tab, you can define the criteria that an operation must meet
before the corresponding actions take place. The basics include:

Basics

Active Links Filters

Escalations

The name

"
"
"

"
"
"

"
"

"
"

"

"

"
"

"

Whether it is enabled
The order in which it will execute in
relation to others
The form or forms to which it applies
How users will invoke it
The operations that will invoke it
The qualification that determines
whether If actions or Else actions are
executed

"

476 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Defining workflow basics


Use the following procedure to define workflow basics.
" To define workflow basics:
1 Create or open a workflow object with which you want to work.

See Creating server objects on page 55 for more information.


2 In the Name field, enter a name (or update the existing name if necessary).

Names must be unique on each AR System server. Names can be as many as


80 characters, including spaces. Names can include double-byte characters,
but avoid using numbers at the beginning of the name.
Be aware that clients prior to the 5.x version will have trouble recognizing
and properly executing client-side workflow when the name is longer than 30
characters.
3 Select or clear the Enable check box to enable or disable the workflow object.

You might want to disable it during development or when you are


diagnosing a problem.
4 In the Execution Order field for active links and filters, enter the execution

order.
The value that you enter in the Execution Order field determines the order it
will execute relative to others with the same triggering condition. Numbers
between 0 and 1000 are valid execution order values; the lower numbers are
processed first.
You can assign the same number more than once; however, you cannot
control the processing order when there is the same execution order. (The
default value is 0 for active links and 500 for filters.)
Although filters are processed in execution order, some filter actions are
queued up to be performed at a later time. For a detailed explanation on filter
phases, see Filter processing in the AR System server on page 575.
5 From the Form Name list, select the forms to which the workflow object

applies.

Specifying the basics ! 477

Action Request System 6.3

The workflow will be attached to all of the forms you select. The first form
you select becomes the reference form and appears checked at the top of the
list in bold text. (To change to a different reference form, right-click on any
of the selected forms and use the context menu.) The field names that are on
the reference form appear in the Basic (and Action) tabs. Shared workflow,
however, can use fields that are not on the reference form, if you enter their
field IDs. If you use other forms field names that differ from those on the
reference form, these names will not be listed or used in the Basic and Action
tabs used to define this workflow object.
Note: Use caution when sharing active links among forms in different
deployable applications. Role mappings for active links are determined by
the deployable application that owns the active link. The deployable
application that contains the active link's primary form owns that active
link. For more information, see Shared workflow on page 474.

When selecting forms from the list, you can:


!

Use the keyboard arrow key or type a letter to scroll through the list.

Use the spacebar to select or clear a form.

6 (For deployable applications only) Select the Restricted List check box

(default option) to restrict the workflow object only to the forms in the
application.
Clearing the Restricted List check box lets you access all the forms on the
server.
7 For active links and filters, in the Execute On region, select the operations

that will activate it.


Available operations for active links and filters are listed in the following
tables. You can select any combination of these execution conditions. If you
select multiple options, the active link or filter will execute when any one of
the selected operations occurs.

478 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

For active links, you can assign an execution condition later if you do not
select one now. If an active link is part of a guide, you need not select an
execution condition. If an action generates an error during the processing of
an active link, no further actions occur.
Condition

Description

Submit

Executes when a user submits a new request. The active link


will be executed before the request is sent to the server.

After Submit

Executes after a user submits a new request and after the


request is written to the database. If the submission fails, the
active link will not be executed.
If you use this condition for a set fields action on the current
entry, the set value will not be stored in the database.

Display

Executes after an existing request is loaded into a form, but


before the request appears in the Details Pane.

Un-Display

Executes when a request is removed from the Details pane


because a new request was selected in the Results pane or
because the window is closing. The workflow actions execute
before the request is removed from the form.

Modify

Executes when a user modifies an existing request. (The active


link will not execute during a Modify All operation.) The
active link will be executed before the request is sent to the
server.

After
Modify

Executes when a user modifies an existing request and after


the request is written to the database. (The active link will not
execute during a Modify All operation.) If the modification
fails, the active link will not be executed.

Set Default

Executes when the user chooses Edit > Set to Defaults from
the menu bar. It can happen after Window Open, and default
field values have been set in the form through user
preferences.

Specifying the basics ! 479

Action Request System 6.3

Condition

Description

Copy To New

Executes when a user chooses Edit > Copy to New in Remedy


User. The active links will be executed after the data has been
sent to the new window, so that the administrator has the
ability to use this data in the workflow. Application
developers will find this Copy To New condition particularly
useful for:
!
!

Search

Validating data when it is copied to a new submit form.


Disallowing the Copy To New function based on workflow.
If an error is returned, no copy is performed and the form
remains on the original window.

Executes when a user performs a search operation. If you


select this option, the active link executes before the search
operation so that, if the active link criteria has not been met,
the search operation will not be performed.
Note: The active link can access and assign values in the

Search window, including the Search Bar if the reserved


Search Bar field is present on the form.
Window Open

Executes when any of the following actions occur:


A form window opens in New, Search, Modify, or Modify
All operation mode.
! The mode of the Detail pane switches into one of the above
modes.
! The form is opened by using the Open Window action.
This is useful for establishing initial environments when users
open a new window or change modes. The active link will be
executed before any data is loaded into the window, except
when the form is opened in Dialog mode by the Open
Window action.
!

Note: When you open a form and the preference is set to Clear

All Fields On Search or On New, any active links with an


execution condition of Window Open are executed. Then,
all of the fields in the form are cleared, and finally the active
links with the Window Loaded condition are executed. To
make sure a table field is refreshed after the form is opened,
use the Window Loaded execution condition.
Window Close

Executes when a user closes a window.

480 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Condition

Description

Window Loaded

Executes after all the data values have been loaded into a
Submit or Search window (from defaults, from a copy to new,
or from an open window action).

Event

Executes when a window has changed its application state, for


example, when one window wants to send an event to one or
more windows; when one window has caused data to change
and another window references that data; or when one
window is closed and other windows need to be notified. This
capability allows one part of an application in a client
environment to notify other parts that an event has
occurred. Other parts of the application can then react by
performing actions such as refreshing table fields.
The Event condition provides a mechanism for a parent
window to be notified when a child window has been closed
in the context of a single client environment (for example, in
a web browser or in Remedy User), so that workflow can
refresh related data on the parent window. Events are
constrained to the client environment. Windows in two
separate client environments cannot send messages to each
other.
For more information, see Sending events between
windows on page 630.

Specifying the basics ! 481

Action Request System 6.3

Condition

Description

Return/Table Dbl- Executes when any of the following actions occur:


Clk
! A user presses Return (or selects an option button if the
field is a selection data field) in the field specified.
! In Remedy User, a user double-clicks a row in a table field,
or selects a row and presses Return, to drill-down to the
source form. This execution condition works only if the
user has been granted permissions to fields on the
supporting form, the column fields, and the table field.
This execution condition works independently of whether
the table drill-down option has been selected for the table
field.
!

On a web client, a user clicks a link in a table field. This


execution condition works only if the user has been granted
permissions to fields on the supporting form, the column
fields, and the table field.
For more information, see Table fields on page 223.

When a user performs this action in Remedy User, the active


link is executed, and the details of the record are displayed.
On the web client, the active link is executed, and the details
of the record are not displayed. If no active link is defined for
Table Dbl-Click on the web, then the details of the record are
displayed.
Menu/Row Choice Executes when a user selects a choice from a character menu
on a field specified in the Field list or when a user selects a row
in a table field.
Gain Focus

Executes when the specified field receives the focus. If you


choose this option, the Field list is enabled so that you can
specify the field that will cause the active link to execute.

Lose Focus

Executes as the focus is changed, for example, by clicking in


another field. If you choose this option, the Field list is
enabled so that you can specify the field that will cause the
active link to execute.
An existing page field loses focus when a new page of the set
appears at the front. Pages can gain focus whenever a user
clicks a tab, an active link sets focus to a page or a field on a
page, or another page is hidden.
Page focus is independent of data field focus.

482 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Condition

Description

Button/Menu Item Executes when a user selects the button, menu item, or
toolbar button associated with the active link.
The values in the Field menu are dynamically generated based
on the fields from the form that you select.
Interval

Executes repeatedly on open forms at a specified time interval


(15 seconds minimum, 7200 seconds maximum). All active
links at the same interval fire as a unit, and the execution
order applies across those active links. In workflow triggered
by the Interval condition, avoid the use of Message actions
and Open Window (of type Dialog) actions.

Submit

Executes when a request is submitted.

Modify

Executes when a request is modified.

Delete

Executes when a request is deleted.

Get Entry

Executes when a request is retrieved.

Merge

Executes when a request is merged into the database. You


cannot merge requests through Remedy User or the web. You
must merge requests by using Remedy Import, as described in
the Developing AR System Applications: Advanced guide.
Requests can also be merged by using command line interface
(see the Developing AR System Applications: Advanced guide)
and the Remedy DSO Administrators Guide.

To refine the selection criteria, enter a qualification statement in the Run If


field.
You can type the qualification or you can build it by using the qualification
bar and field list as described in the next section, Building qualifications.
When the qualification is met, the If actions execute; otherwise, the Else
actions execute.

Specifying the basics ! 483

Action Request System 6.3

Warning: Avoid unqualified Run If statements for escalations. Unlike filters


and active links, which are executed by specific operations (for example,
on submit of a request), the only execute condition for escalations is the
time criteria. An unqualified Run If statement for an escalation will
perform an unqualified query to the database and attempt to execute the
actions for every record found in the form. Server performance is
especially degraded for unqualified Run If statements in escalations that
are set to run at intervals. This is due to the server issuing a search to the
database every time the escalation is run, as well as the potential of
numerous searches occurring within short periods of time.

Building qualifications
In active links and filters, the qualification statement in the Run If field
determines whether the If actions or Else actions are executed. In escalations,
the qualification statement first identifies the requests to which an escalation
applies. If one or more matching requests is found in the database, escalation
If actions are executed for each matching entry. If no matching requests are
found in the database, escalation Else actions are executed.
As shown in the following figure, you can define qualification criteria by
using any of the following techniques:
!

Type information directly into the Run If field.

Add a field or keyword from the Run If list.

Add an operator from the qualification bar.

484 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Add operators by
selecting from the
qualification bar.

Use the Run If


menu button to
add a field name
or keyword to a
qualification.

Type directly into


the Run If field.

Figure 10-4: Building a qualification in a Filter window

Qualification statements can contain any valid concatenation of operators,


wildcards, and keywords, as shown in the following examples:
'Submitter' LIKE "Jackson%"
'Create Date' < $TIMETSTAMP$ - (60*60*24)

Appendix C, Operators, wildcards, keywords, and NULL values, describes


the meaning for each of these values within AR System.
When entering a qualification, make sure that it is acceptable to the database
on which AR System is running. Avoid creating comparisons with fields of
unlimited length, as the database might not support that capability. For more
information about fields of unlimited length, see Input Length on
page 256.

Specifying the basics ! 485

Action Request System 6.3

Note: When creating qualifications for systems running with an MS SQL


Server or a Sybase RDBMS and you enter the qualification in the text entry
dialog box, both databases remove hard returns that are at the end of
character strings. To resolve this problem, AR System adds a space before
any hard return that is at the end of a string. For additional information,
see the Database Reference Guide.

The following sections describe the formatting conventions for fields, values,
and status history when constructing qualification criteria.

Fields in qualifications
Quotation
Marks

Enclose field names or their internal IDs in single quotation marks, for
example, 'Short Description' or '7'. If the field name includes a single
quotation mark, specify two single quotation marks when entering the name.
For example, if the field name is Doug's Requests, enter it as 'Doug''s
Requests'. Single quotation marks are automatically added when you select
fields from the Run If list.
For currency fields, you must have one of the following enclosed within
single quotation marks:
!

The name or ID of the currency field, for example:


'Currency Field' = $NULL$

The name of the currency field, followed by a period, followed by a specific


portion of the currency field's value, such as the date or a functional
currency value, for example:
'Currency Field.VALUE' < 5000

Field values
and filters

For filters, you can specify whether the qualification is to reference field
values in the transaction only, in the database only, or in both:
!

To check the value for the transaction only, enter the field name as
'TR.<field>' (for example, 'TR.Submitter').

To check the value in the database only, enter the field name as 'DB.<field>'
(for example, 'DB.Submitter').

To check the value for the transaction first and then check the database if
a new value is not found in the transaction, enter the field name with no
prefix.

Only new or changed field values are part of a transaction.

486 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The TR and DB prefixes work only in filter Run If qualifications. For more
information, see Checking transaction versus database values on page 491.

Field ID 112
and dynamic
group fields

If referencing field ID 112 (for assignee group access) or dynamic group


fields, the value of the field is always in the format of group ID, role ID, or
user name (in single quotation marks). Each group ID, role ID, or user name
is followed by a semicolon. For example, if the name of field 112 is Assignee
Group and the group ID of Sales Staff is 50, you would enter the qualification
as follows:
'Assignee Group' = "50;"

For user Mary Manager, use single quotation marks:


'Assignee Group' = "'Mary Manager';"

To enter multiple groups, roles, and user names in your qualification,


enter a semicolon at the beginning of the list and include no spaces. For
example, the name of field 112 is Assignee Group. To create a qualification
that includes the Sales Staff group (ID 50), the Marketing Staff group (ID
51), the Managers role (ID -90), and user Mary Manager, enter the
qualification using the following specified format:
'Assignee Group' = ";50;51;-90;'Mary Manager';"

You can only use multiple groups for field ID 112 and for dynamic group
fields if your Configuration settings in the Server Information window are
enabled to allow multiple assignee groups. (For more information about
configuration settings, see the Configuring AR System guide.)

Values in qualifications
Some values must be enclosed in quotation marks in a qualification. The
following table outlines when to use quotation marks.
Value

Use
Notes
Quotation
Marks?

Nonnumeric
values
(such as time,
character, and
diary values)

Yes

Enter a date as shown in this example:


"04/01/04"

To search for all requests created after a certain date,


you could enter:
'Create-date' > "04/01/04"

Specifying the basics ! 487

Action Request System 6.3

Value

Use
Notes
Quotation
Marks?

Yes
Nonnumeric
values that
already include
quotation
marks

In addition to the surrounding double quotes,


include an additional double quotation mark. For
example, if you wanted to search for a string such as:
Robert "Bobby" Smith

you would enter:


"Robert ""Bobby"" Smith"

Integers (for
time values)

No

Integers without quotes are interpreted as a number


of seconds. To specify a number of hours, multiply 60
(= 1 minute) * 60 (= 1 hour). For example, to specify
10 hours, enter:
60 * 60 * 10

Keywords

No

Enter keywords with dollar signs ($) as shown in this


example:
'Submitter' = $USER$

Using no quotation marks is also enforced for using


keywords with calculations. Valid qualifications
include:

'Create-date' > $TIMESTAMP$


'Create-date' > ($TIMESTAMP$ - (60 * 60 * 24))
Use the keyword $NULL$ to find requests that have no
value in a field (for example, 'Assigned To' =
$NULL$).
For qualifications passed to an EXTERNAL()
!
!

operator, you can set a character field with a keyword,


rather than with the expanded value of the keyword.
Add an escape character (\) to the qualification, like
this:
Character Field = $\USER$.

The character field will be populated with $USER$


instead of with the users name. See Operator types
on page 668 for more information on EXTERNAL().
See Keywords on page 673 for available keywords.

488 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Status history in qualifications


Status history references must have the following information and format:
!

The name or ID of the Status History field (followed by a period).

The name or index of the status value that you want to match (followed by
a period).

The keyword USER (for the user who is changing the status) or TIME (for
the time that the status changed).

For example:
'Status History.Fixed.TIME' < "07/01/99"
This syntax is created automatically when you select the Status History
reference from the Run If list.
In a filter qualification, you can use a Status History reference if you are
checking values in the database; Status History is not meaningful if you are
trying to check the value of the current transaction. (For more information,
see Checking transaction versus database values on page 491.) You cannot
use Status History references in active link Run If qualifications, and you
cannot set the Status History value to a field in an active link set fields action.

Tips for improving system performance when creating


qualifications
When creating qualifications, you can dramatically improve system
performance by avoiding the following searches, which cause a full table scan
of the database:
!

The != Operator
Searches using the != operator check every record to see if the value is not
contained. If you have created indexes on a field, they will not be used.
Instead, design your qualifications to retrieve what you are looking for,
instead of what you are not looking for. For example, you could rewrite the
search qualification Status != "Closed" to 'Status' < "Closed" to improve the
use of an index.
The != operator does not match entries whose value for the field is NULL.
You must explicitly include a test for NULL to find NULL values. For
example, 'Status' != "Closed" will not search for cases where the Status field
is empty. You would have to use the following syntax:
'Status' != "Closed" OR 'Status' = $NULL$
Specifying the basics ! 489

Action Request System 6.3

Note: On Sybase databases, you cannot use the != operator against unlimited
character fields where the database input length equals 0.
!

Wildcards in Front of Search Terms


Searches that begin with a wildcard (for example, 'Submitter' LIKE
"%Jackson%") will not use the index but will scan the database for every
record containing the word Jackson that have any characters preceding the
"J."
Searches with trailing wildcards are valid and use indexes. For example,
'Submitter' LIKE "Jackson%" uses the index and finds all entries starting with
Jackson.

Poorly Written Arithmetic Operations


Searches that use the field in an arithmetic operation can cause a table
scan. For example, a qualification to find all requests greater than 24 hours
($TIMESTAMP$ - 'Create Date' > 60*60*24) will search the entire database for
records with $TIMESTAMP$ (the current date and time). Instead, rewrite
the search qualification to place the indexed field on the left side of the
equation, as in the following: 'Create Date' < $TIMESTAMP$ -60*60*24.

These performance issues apply to escalation Run If qualifications, Set Fields


and Push Fields qualifications, query-style menu qualifications, table field
criteria, and searches from Remedy User or web clients.
These issues do not apply to filter or active link Run If qualifications, which
check the current entry and do not perform a database search.
For escalations, it is critical to system performance that qualifications be
efficient, especially if run on frequent intervals. The qualification should use
indexed fields to narrow the number of requests before an unindexed field
causes an entry-by-entry search. For information about indexing, see
Defining indexes on page 210.

490 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Checking transaction versus database values


In filter Run If qualifications only (not Set Field or Push Field If
qualifications), the qualification can access values for the current record
from the current transaction or from the database. This makes it possible for
you to check state transitions. For example, you could define a filter that
watches for transactions where the status of a request is changed to Closed.
You can then check the database to verify that the current status of the
request is Fixed, and reject the operation if the status is anything other than
Fixed.
You can specify a field reference in the filter qualification in three ways:
!

Transaction OnlyReferences the value of the field in the current


transaction only. If the value is not changed in the transaction, it is
considered to be $NULL$. If the operation is a delete, it is considered to be
$NULL$. To specify a check of the transaction only, use the format
'TR.<field>' when you enter the field name in the Run If field.

Database OnlyReferences the value of the field in the database only. No


check is made of the value in the current transaction. If the operation is a
create operation, it is considered to be $NULL$. To specify a reference of
the database only, use the format 'DB.<field>' when you enter the field
name in the Run If field.

Transaction and DatabaseReferences the value of the field in the


current transaction and uses that value if changed. If not changed in the
current transaction, references the value of the field in the database. To
specify a reference of both the transaction and the database (in this order),
use the format '<field>' when you enter the field name in the Run If field.

Filter qualification examples


The following procedures show the steps that you follow to create three
different filter qualifications in the Run If field.
" To build a filter qualification for a current transaction:
!

Enter a qualification like the following example:


'TR.Status' = "Fixed" OR 'TR.Status' = "Closed"

This qualification causes the filter to execute when the status of the
transaction is set (or changed) to Fixed or Closed. Note the use of the TR.
syntax, which uses the value as set in the current transaction.

Specifying the basics ! 491

Action Request System 6.3

To enter the example qualification using the qualification bar buttons and
menus, complete the following steps:
1 Choose Fields > Status from the Run If list.

The name of the field appears in single quotation marks in the Run If field:
'Status'
2 To cause the filter to act on the current transaction only, type TR. after the
first quotation mark:
'TR.Status'
3 At the end of the qualification, click the equal sign (=) operator in the

qualification bar.
'TR.Status' =
4 Type Fixed enclosed in double quotation marks.

'TR.Status' = "Fixed"
5 Click the OR operator in the qualification bar.

'TR.Status' = "Fixed" OR
6 Repeat steps 1 through 3.

The Run If field now contains:


'TR.Status' = "Fixed" OR 'TR.Status' =
7 Type Closed (enclosed in double quotation marks) to complete your
qualification.
" To build a filter qualification on a time basis:
!

Enter a qualification like the following example:


'Status History.New.TIME' < $TIMESTAMP$ - (60 * 60 * 10)

This qualification causes the filter to act on requests that are older than 10
hours. The qualification searches for requests where the time that the request
was created is less than the current time minus 10 hours. This example uses
a status history reference as one of its values.
To enter the example qualification using the qualification bar buttons and
menus, complete the following steps:
1 Enter Fields > Status History > Time > New in the Run If field (where New is

the status value that you want to match and TIME is the keyword for the time
that the request was entered).
'Status History.New.TIME'
2 Click the less than (<) operator in the qualification bar.

'Status History.New.TIME' <

492 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

3 Choose Keywords > TIMESTAMP from the Run If list.

'Status History.New.TIME' < $TIMESTAMP$


4 Click the minus sign () operator in the qualification bar.
'Status History.New.TIME' < $TIMESTAMP$ 5 Enter an hour value. (See Values in qualifications on page 487 for

information about entering time values.)


" To build a filter qualification for a changed field value:
!

Enter a qualification like the following example:


'Status' != 'DB.Status'

This qualification causes the filter to test whether a value has changed in a
field. This example uses the Status field as one of its values.
To enter the example qualification using the qualification bar buttons and
menus, complete the following steps:
1 Choose Fields > Status from the Run If list.

The name of the field appears in single quotation marks in the Run If field:
'Status'
2 With the cursor positioned at the end of the qualification, click the not equal

sign (!=) operator in the qualification bar.


'Status' !=
3 Choose Fields > Status from the Run If list.
'Status' != 'Status'
4 To verify the value of the field in the database, move the cursor to the

beginning of the field name (after the single quotation mark) and enter the
characters DB.

Specifying active link, filter, and escalation actions


When defining an active link, filter, or escalation action, you must determine
when the action will execute and what the action will be. You determine what
action executes through the Run If qualification, the If Action tab, and the
Else Action tab of the Active Link, Filter, or Escalation window. You
determine what action is performed by defining any combination of the
available action types.
The following sections describe If actions and Else actions and how to create
and modify each type of active link action.

Specifying active link, filter, and escalation actions ! 493

Action Request System 6.3

If actions and Else actions


An Active Link, Filter, or Escalation window contains an If Action tab and an
Else Action tab. You use the same procedure in both action tabs to create
each action type. What differentiates If actions from Else actions is when they
are processed by AR System.
For each operation (in escalations, based on the defined time interval),
AR System reads the conditions specified in the Basic tab of the Active Link,
Filter, or Escalation window. If the condition is met, the qualification
statement specified in the Run If field is evaluated. Operations where the
qualification is met, will execute the If actions. Operations where the
qualification is not met, will execute the Else actions.
You must define at least one If action per active link, filter, or escalation, and
each can have as many as 25 If actions. Else actions are optional; thus, you can
define none or as many as 25 Else actions. The If and Else tabs numbers how
many actions are defined. For example, Figure 10-5 shows three If actions
and one Else action defined in this active link.

494 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Figure 10-5: Number of if and else actions shown

In escalations, because Else actions are executed when no requests are found,
Else actions cannot be used to modify a request (that is, Else actions are not
performed on every request in the form that does not match the search
criteria, but are performed once).
Because the escalation qualification determines whether the If actions or the
Else actions of the escalation are executed, it is not possible to run a
combination of the two. AR System executes either the If actions or the Else
actions.

Specifying active link, filter, and escalation actions ! 495

Action Request System 6.3

Creating and modifying actions


Use the following procedures to create, modify, delete, or reorder active link,
filter, and escalation actions.
" To create a workflow action:
1 Open an active link, filter, or escalation.

See Creating server objects on page 55 for more information.


2 Make sure that the basics and qualifications are specified correctly, according

to the instructions provided on Defining workflow basics on page 477.


3 Click the appropriate action tab:
!

If ActionExecutes when the qualification is met.

Else ActionExecutes when the qualification is not met.

4 From the New Action list, select the appropriate action type.

Figure 10-6: Active link actions

496 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The window displays the attribute choices for the selected action. See Types
of workflow actions on page 499 for an overview of the available action
types for active links, filters, and escalations.
5 Set the attributes for the selected action.

Note: To select a field name for a shared workflow object, remember that
only the field names from the reference form are shown. If you have used
different field names on other forms, you will not see the names listed in
the Action or Basic tabs that define the current workflow object. You can
enter different field IDs from new or other forms, provided you are sure
that they are (or will be) valid fields. A warning (that you can disable in the
Confirmation tab of the Preferences dialog box; see Confirmation
preferences on page 70) appears if you enter a field ID that does not exist
on the reference form.
6 Click Add Action.
7 To create additional actions, repeat steps 3 through 6 for each new action.

Note: You must select the New Action type each time you create a new
action, even if the action type that you want is currently displayed.
Otherwise, you will modify an existing action.
8 Save your changes.
" To modify a workflow action:
1 Open an active link, filter, or escalation.
2 Make sure that the basics and qualifications are specified correctly, according

to the instructions provided earlier in this section.


3 Click the If Action tab or the Else Action tab.
4 From the Current Actions list, select the action you want to modify.

See Types of workflow actions on page 499 for an overview of the available
action types.
5 Modify the appropriate attributes.
6 Click Modify Action.
7 To modify additional actions, repeat steps 4 through 6 for each action.
8 Save your changes.

Specifying active link, filter, and escalation actions ! 497

Action Request System 6.3

" To delete a workflow action:

You can delete all the If actions of a workflow object, provided you create at
least one If action before attempting to save it. However, Else actions are
optional, and you can delete all of them if needed.
1 Open an active link, filter, or escalation.
2 Click the If Action tab or the Else Action tab.
3 From the Current Actions list, select the action to be deleted.
4 Click Delete Action.

A confirmation message appears (if your preferences are set to display a


message, as described in Form preferences on page 77).
5 Click Yes.
6 To delete additional actions, repeat steps 3 through 5 for each action.
7 Save your changes.
" To change the order of workflow actions:
1 Open an active link, filter, or escalation.
2 Click the If Action tab or the Else Action tab.
3 From the Current Actions list, select the appropriate action.
4 Click the up or down Move arrow buttons to move the action up or down in

the action list.


5 To move additional actions, repeat steps 3 and 4 until the actions are in the

correct order.
6 Save your changes.

498 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Types of workflow actions


The table that follows presents the various ways workflow actions can be
defined.
Name

Description

Call Guide

Starts the specified guide.

Change Field

Changes certain characteristics


of a specified field. You can:
!

!
!
!

!
!

Book or
Page
Active
Links

Filters

"
"

"

Escalations
Adv**
page 502

Attach a new character menu


to the field.
Move the cursor to the field.
Hide or show the field.
Change the access to the
field.
Refresh table fields.
Change the color of the field
label.

Close Window Closes the current window.

"
"

page 508

Adv**

page 510

Commit
Changes

Sets the fields in the active


parent form with the data
entered into the dialog box. (If
changes are made on a form
without a dialog box, changes
are made to the database.)

DDE

Executes a DDE operation on a


Windows client.

"*

Direct SQL

Submits an SQL command to a


database, but does not return
data from a database.

"

"

Exit Guide

Terminates the current guide


or all the guides running.

"

"

"

page 512

Adv**

* Action is not supported by the web client.


**Adv = See the Developing AR System Applications: Advanced guide.

Specifying active link, filter, and escalation actions ! 499

Action Request System 6.3

Name

Description

Book or
Page
Active
Links

Filters

Escalations

Go To Guide
Label

Causes the guide to continue


after the specified label.

"

"

Adv**

Goto

Executes in an order other than


the normal sequence
determined by the execution
order.

"

"

page 514

Log to File

Records a request in the audit


trail log file.

Message

Displays an interactive error,


warning, note, prompt, or
accessibility message (active
link only) to the user.

Notify

Sends a notification (email


message or alert) to the
designated user or group.

OLE
Automation

Allows a Windows client to


contact OLE automation
servers to use their
functionality as part of your
applications overall solution.

Open Window Opens one of the following


windows:
!
!
!
!
!
!

"
"

"

"
"

page 516
page 517

"

page 520

"*

Adv**

"

page 526

Dialog
Search
Submit
Modify
Display
Report

Push Fields

Pushes data to a form.

Run Macro

Runs an AR System macro.

"
"*

"

* Action is not supported by the web client.


**Adv = See the Developing AR System Applications: Advanced guide.

500 "Chapter 10Automating application processes with workflow

"

page 544
page 553

Developing AR System Applications: Basic

Name

Description

Book or
Page
Active
Links

Filters

Escalations

Run Process

Runs an independent process


on a client or a server.

"

"

"

page 555

Set Fields

Sets field values in the current


request to static or keyword
value, or to values retrieved
from another data source.

"

"

"

page 559

Wait

Causes a guide to suspend


execution so that the user has
an opportunity to make a
necessary response.

"*

Adv**

* Action is not supported by the web client.


**Adv = See the Developing AR System Applications: Advanced guide.

For filters or escalations, if you are licensed for the Distributed Server
Option, you can also define a Distributed Server Option action. For more
information, see the Remedy DSO Administrators Guide.
The following sections discuss defining workflow actions. Because these
procedures are the same whether you create them in the If Action tab or the
Else Action tab, no distinction is made between the tabs beyond reminding
you to select the appropriate one.

The Call Guide active link or filter action


Use the Call Guide action to start a guide, which is an ordered list of active
links or filters. For more information, see the Developing AR System
Applications: Advanced guide.

Specifying active link, filter, and escalation actions ! 501

Action Request System 6.3

The Change Field active link action


Use the Change Field action to dynamically adjust selected characteristics of
fields in the current window. Based on conditions when the active link
executes, you can:
!

Change the accessibility or visibility of the field.

Change the font style of the field.

Change the color of the field label or text.

Change the field label.

Move the keyboard focus (cursor) within the window to the field.

Refresh a table field.

Specify a different menu for a character field.

Define field attributes dynamically (Advanced).

" To define the Change Field active link action:


1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Change Field.

502 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The fields required to define the Change Field action appear. The following
figure shows these fields and an example of how a Change Field active link
action might look after you complete the remaining steps in this procedure.

Figure 10-7: Change Field active link action

3 From the Field Name list, select the name of the field for which you want to

change characteristics.
If you want to use a field other than those that appear in the Field Name
menu, enter the appropriate field ID in single quotation marks, for example,
'640'.
To use a dynamic field name, see step 12 on page 505.

Specifying active link, filter, and escalation actions ! 503

Action Request System 6.3

4 Select the appropriate option from the Field Access list.


!

To change the current access settings for a data field, the choices are:

Unchanged

Leaves the access setting as is. (Default)

Read Only

Enables the user to read and access the contents of the field
(to copy it, for example), but not to enter data.

Read/Write

Enables the user to read the contents of the field and enter
data as required.

Disabled

Enables the user to read the field value but not to access the
value or to enter data into the field.

To change the current access settings for a button field, page field, trim
field, or menu item, the choices are:

Unchanged

Leaves the access setting as is. (Default)

Enabled

Enables the user to use the field.

Disabled

Prevents the user from using the field.

5 To change the visibility of a field, select the appropriate option from the

Visibility list:
Unchanged

Leaves the visibility as is. (Default)

Visible

Makes hidden fields visible.

Hidden

Hides visible fields.

This setting does not change the field definition for the view, it only changes
the appearance in the current screen. The field must be present in the form
view to be made visible. If it is not present on the current view, changing
visibility has no effect.
6 To change the font of the field label, select the appropriate option from the

Field Font list:


Unchanged

Leaves the font as is. (Default)

<font style>

Changes the font to the specified style, such as Edit Field,


Required Field, or Header Text (I). For more information on
fonts, see Form Font preferences on page 71.

7 To move the focus (cursor) to the field, select the Set Focus to Field check

box.

504 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

8 To refresh the list in a table field, select the Refresh Table Field check box.
9 To change the menu attached to a field, select the Attach Menu to Field check

box, and then select a menu from the list.


You must have a menu assigned to the field before you can change to a
different menu.
The $NULL$ selection allocates space for a menu icon next to the field, but
hides this icon in the user client. When you attach a different menu using the
Change Field action, the menu icon displays without affecting form layout.
For more information, see Name on page 270, under the section Defining
character field attributes, which starts on page 268.
10 To change the color of the field label or text, select the Change Label Color

check box, clear the Default Label Color check box, and select a color from
the color palette to specify a color.
To reset the color to its default setting, select the Default Label Color check
box.
11 To change the field label, select the Change Field Label check box and enter

a field label in the Field Label field.


You can enter a specific value, or select a field reference from the list. If you
leave the Field Label field empty, the field label will appear blank.
Note: Changing field labels can change the way fields display in Remedy User
and on the web. For example, long labels might become truncated, or the
field might change position on the form. Leave enough room around the
field to handle the changed label size.
12 To supply a dynamic field name or keyword, select the Advanced check box.

For example, at runtime, you could select the value of a field ID and change
its attribute. For more information, see Defining advanced change field
action functions on page 506.
13 Click Add Action (or click Modify Action).

The Change Field action appears in the Current Actions list.

Specifying active link, filter, and escalation actions ! 505

Action Request System 6.3

Defining advanced change field action functions


You can define advanced Change Field action functions that provide
enhanced functionality beyond changing attributes of a hard-coded field.
Based on values that workflow or users enter into certain fields, you can
dynamically select fields whose attributes you want to change.
For example, the Change Field form (as shown in Figure 10-8) contains a
field (Dynamic Change Field) that can be hidden or display-only. The field ID
value you enter or that is set by workflow determines at runtime the field
whose attributes you want to change, for example, changing the label color
to red. When you click the button that triggers the active link, the Change
Field workflow picks up the field ID and changes the fields attributes.
Administrators might prefer to hide this functionality from users altogether
and use the Window Loaded execution condition instead.
In this example, if you opened the Change Field form in Remedy User and
entered the field ID for the Short Description field (8) and clicked Button, the
Short Description field label would change from black to red.

Figure 10-8: Using dynamic workflow to change field attributes

Important: For forms viewed in a browser, do not use a dynamic field ID in


the change field action that makes a field visible; otherwise, performance
will be degraded significantly.

506 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

" To define advanced Change Field action functions:


1 Select Advanced in the Change Field action.

The Field Name field changes to display a list that allows you to enter a field
reference or a keyword. The field reference is from the reference form (for
example, Change Field) that you chose on the Basic tab and is typically
hidden.

Figure 10-9: Advanced functionality of Change Field active link action

2 In the Field Name field, enter a field (or choose a field or keyword from the

attached menu list) that will dynamically select which field to use.
The attributes of the field ID that a user (or workflow) enters into that field
will be changed when the Change Field action executes.
The field you choose must be in its variable format. For example, if you
choose the field labeled Dynamic Change Field from the Field Name field list,
it would appear as $Dynamic Change Field$, as shown in Figure 10-9.

Specifying active link, filter, and escalation actions ! 507

Action Request System 6.3

3 Specify the field attributes that you are changing with this action.

In this example, the field label is being changed to red when the active link
workflow is executed.
4 Click Add Action (or click Modify Action).

The Change Field action appears in the Current Actions list.

The Close Window active link action


Use the Close Window action to close one or more open windows. This
action closes the windows without first saving updated values or pushing
them to the parent window.
If you are using a dialog box, first call the Commit Changes active link action
(page 510) to write the data from the dialog box to the parent form. Then,
call the Close Window action. You specify the values for the parent form
fields in the Open Window active link action (page 526) with the Field
Mapping Mode set to On Close. The Close Window action then returns the
focus to the parent form. For more information, see Using a display-only
form as a dialog box on page 170.

508 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

" To define the Close Window active link action:


1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Close Window.

Figure 10-10: Close Window active link action

3 Select or clear the Close All Windows check box. If this check box is:
!

Selected, all open windows will exit when the active link executes.

Cleared, only the current window the active link is running from will exit
when the active link executes.

4 Click Add Action (or click Modify Action).

The Close Window action appears in the Current Actions list.

Specifying active link, filter, and escalation actions ! 509

Action Request System 6.3

The Commit Changes active link action


One major use of the Commit Changes action is to write the data entered in
a dialog box to the parent form. The data is written based on the mapping
you created for the On Close mode in the Field Mapping region of the Open
Window active link action. For more information about the Open Window
active link action, see page 526.
When implementing a Display-Only form as a dialog box, consider adding
the following types of buttons to it:
!

OKUses the Commit Changes and the Close Window active link
actions.

CancelUses the Close Window active link action.

ApplyUses the Commit Changes active link action.

These buttons are useful in creating custom property sheets (made up of


tabbed dialog boxes) that look like the Preferences dialog box (File >
Preferences) in Remedy Administrator. For more information, see Using a
display-only form as a dialog box on page 170.
If the form is not a dialog box, another important use of the Commit Changes
action is to apply the changes in a form and perform the major form action
(for example, Submit, Search, or Modify).
You can also use the Commit Changes action to save the changes in a request,
for example, when filling out the information guide and applying the
changes. For more information, see the Developing AR System Applications:
Advanced guide.

510 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

" To define the Commit Changes active link action:


1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Commit Changes.

Figure 10-11: Commit Changes active link action

3 Click Add Action (or click Modify Action).

The Commit Changes action appears in the Current Actions list.

The DDE active link action


The DDE active link action allows data to be exchanged between a client and
server using DDE. For more information, see the Developing AR System
Applications: Advanced guide.

Specifying active link, filter, and escalation actions ! 511

Action Request System 6.3

The Direct SQL active link, filter, or escalation action


Use the Direct SQL action to submit any legal SQL command to the database.
The Direct SQL action has a different result than the SQL command you use
to set a field value in the Set Fields action. In the Set Fields action, you use
SQL to query the database for information and then use the returned value
to set a field. With the Direct SQL action, the SQL command is not expected
to return data. For example, you can define a Direct SQL action to perform
inserts or updates to a database.
You must know SQL syntax and concepts to create a Direct SQL action. For
the most effective use of direct SQL commands, you must also have a general
understanding of relational databases and a specific understanding of the
relational database underlying your AR System.
Warning: Because AR System passes direct SQL commands to the database
without checking the syntax, all commands are submitted to the database.
You must make sure that all submitted commands achieve the desired
result. Your SQL commands should comply with ANSI SQL standards, so
that single quotes are reserved for strings and double quotes are reserved
for use with database object names only.

SQL commands can be generic or specific to the DBMS. What can be


accomplished with Direct SQL commands depends on which DBMS you are
using. If an SQL command is specific to one DBMS, you might not be able to
move the definition to another environment. Remedy does not support or
recommend modifying data in AR System tables, which include data and
definitions. It can result in data corruption.
" To define the Direct SQL active link, filter, or escalation action:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Direct SQL.

512 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The fields required to define the Direct SQL action appear. The following
figure shows these fields and an example of how a Direct SQL active link
action might look after you complete the remaining steps in this procedure.

Figure 10-12: Direct SQL action

3 From the Server Name list, select AR System server where you want to run

the SQL command.


4 In the SQL Command field, enter the command that you want to submit to

the database.
You must enter the entire SQL command in this field. The previous figure
illustrates how you can open a dialog box to enter a lengthy direct SQL
command that will select all entries in the specified form and sort them in
ascending order.
5 Click Add Action (or click Modify Action).

The Direct SQL action appears in the Current Actions list.


For more information, see Performing the SQL operation on page 641.

Specifying active link, filter, and escalation actions ! 513

Action Request System 6.3

The Exit Guide active link or filter action


Use the Exit Guide action to terminate the current guide and, optionally, all
of its calling guides. For more information, see the Developing AR System
Applications: Advanced guide.

The Go To Guide Label active link or filter action


Use the Go To Guide Label action to redirect the flow of execution within a
guide to a specific active link or filter. For more information, see the
Developing AR System Applications: Advanced guide.

The Goto active link or filter action


Use the Goto action to execute an active link or filter in an order other than
the normal sequence determined by the active link or filter execution order.
When a Goto action executes, the first item with an execution order greater
than or equal to the number that you specify will execute next. You can
specify a static or variable execution order value.
This action can be useful when you want to execute a sequence multiple
times. For each time that you want to execute an active link or filter, a Goto
action returns you to the active link or filter with which you want to begin.
For more information on using the Goto action in a guide, see the Developing
AR System Applications: Advanced guide.
" To define the Goto active link or filter action:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Goto.

514 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The fields required to define the Goto action appear. The following figure
shows these fields and an example of how a Goto action might look after you
complete the remaining steps in this procedure.

Figure 10-13: Goto active link action

3 Specify the appropriate execution order:


!

To specify a static execution order value, select the Execution Order


option, and type the appropriate execution order in the Goto Execution
Order field.
You can specify an execution order of as many as 4 digits. If you specify an
execution order of 0, the first active link that meets the execution
conditions will execute. If you specify an execution order that is greater
than or equal to 1001, you jump to the end of the processing, and no more
active links or filters execute for this condition.

To specify a variable execution order value, select the Execution Order


From Field Value option button. Then, from the Field With Execution
Order list, select the field where you want the active link or filter to look
for the appropriate execution order (only integer fields are listed).

4 Click Add Action (or click Modify Action).

The Goto action appears in the Current Actions list.


Specifying active link, filter, and escalation actions ! 515

Action Request System 6.3

The Log to File filter or escalation action


Use the Log to File action to append all operations meeting the filter or
escalation conditions to a text file on the AR System server. Each log entry
includes:
!

A date and time stamp.

The name of the user whose action triggered the filter.

The name of the form.

The request ID number.

The fields included in the transaction.

Escalations support Log to File If actions, but do not support Log to File Else
actions.
Note: If a failure occurs when writing to the log file that you specify,
AR System records a warning message in the arerror.log file. This warning
message appears only once, not for every time logging fails. The next time
the system successfully writes to the log file that you specified, a message
is also written to the arerror.log file.
" To define the Log to File filter or escalation action:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Log to File.

516 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The File Name field appears.

Figure 10-14: Log to File filter action

3 In the File Name field, enter the full directory path of the file to which you

want to log in.


4 Click Add Action (or click Modify Action).

The Log to File action appears in the Current Actions list.

The Message active link or filter action


Use the Message action to display an interactive error, warning, note, or
message for any operation that meets the active link or filter conditions.
" To define the Message active link or filter action:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Message.

Specifying active link, filter, and escalation actions ! 517

Action Request System 6.3

The fields required to define the Message active link or filter action appear,
as shown in the following figure.

Figure 10-15: Message active link action

3 In the Text field, enter the text of the message.

You can enter an unlimited number of characters for active links and a
maximum of 255 characters for filters. You can use the Text field list to insert
fields from the current form or keywords (see Keywords on page 673). The
field or keyword will be expanded when the message is sent.
Click the text edit button to open a Text dialog box for easier data entry and
to include hard returns in the message.

518 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

4 From the Type list, select the appropriate message type.

The message type is displayed as a label with the message. The available
message types are:
Note

Displays a note and continues the operation. The message is labeled


ARNOTE.

Warning

Displays a warning and continues the operation. The message is


labeled ARWARN.

Error

Displays an error and terminates the operation. No actions are


performed after an error message. For example, you can use an
error message to disallow requests with no value in a specific field,
even if the field is not normally a required field. The message is
labeled ARERR.

Prompt

Active links only. Displays a message in the Prompt Bar and


continues.

Accessible

Active links only. In web clients, displays a message that can be


interpreted by a screen reader for a visually impaired user. The
message only appears when both of the following user preferences
are set:
!
!

Accessible ModeScreen Reader/No Vision.


Accessible MessageMessage Action or All Actions.

Note: The All Actions setting also displays accessibility messages for

visual changes caused by change field and set field active link
actions.
For more information on accessibility, see Making your webbased applications accessible to users with disabilities on
page 459.
5 For active links only, select the Show Message in Prompt Bar check box if you

want the message to appear in the Prompt Bar and the operation to be
continued.
If the Prompt Bar is hidden, one of the following events occurs:
!

When a guide is running, the Prompt Bar becomes visible for the duration
of the guide when a Wait or a Message action causes anything to happen
in the Prompt Bar.

When no guide is running and you define an error, warning, or note, the
message appears in a dialog box.

When using this action on the web, all messages appear in a dialog box,
except for prompt messages, which appear in the browsers status bar.

Specifying active link, filter, and escalation actions ! 519

Action Request System 6.3

Warning: A message of note, warning, or error that is sent to the Prompt Bar
can be overwritten by other prompt messages, and by the field help when
the field focus changes. For this reason, select the Show Message in
Prompt Bar check box only if you are including the message in a guide or
for special applications.
6 In the Number field, enter a message number.

The message number will be displayed with the message. The number that
you specify must be greater than or equal to 10000. (Numbers less than 10000
are reserved for AR System messages.) Message numbers are not displayed
with Prompt messages.
You should select unique numbers for different messages. These messages
can be added to the Error Messages form to provide a complete list of
AR System messages and your specific messages, or to the Message Catalog
form to allow for localization of the Message text.
7 Click Add Action (or click Modify Action).

The Message action appears in the Current Actions list.

The Notify filter or escalation action


Use the Notify action to send specified users or groups an email, an alert, or
a notice using another mechanism. For example, you could create a filter that
notifies support staff that they have been assigned a new request. Alerts are
stored in the database, and users can view them in Remedy User or in a
browser in an alert list.
For more information about the alert system and alerts on the web, see the
Developing AR System Applications: Advanced guide.
" To define the Notify filter or escalation action:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Notify.

520 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The fields required to define the Notify filter or escalation action appear. The
following figure shows these fields and an example of how a Notify action
might look after you complete the remaining steps in this procedure.

Figure 10-16: Notify filter or escalation action

3 In the Text field, enter the text of the message.

For Email notifications, the limit to the amount of text you can include is
32 KB. If the notification mechanism is Alert, enter no more than 255
characters in the Text fieldthe maximum amount of text that can be
retrieved in the alert list.
You can use the Text list to insert fields from the current form or keywords
into the text (see Keywords on page 673). The field or keyword will be
expanded when the notification is sent, to a maximum of 32 KB. Click the
text edit button to open a Text dialog box for easier data entry and to include
hard returns in the message.

Specifying active link, filter, and escalation actions ! 521

Action Request System 6.3

4 In the User Name field, enter the name of the users or groups to notify.

You can enter a maximum of 255 characters. Use the User Name list to insert
fields or keywords. Click the text edit button to open a Text dialog box for
easier data entry.
To specify one or more recipients, enter any of the following choices
separated by hard returns (the server evaluates each line separately):
!

AR System user logins

AR System groups
This option enables you to send notifications to all members of a group
simultaneously. When you include a group in a notification, you are not
notifying the group itself but rather the individuals in the group. The
group name expands the notification to each individual. Do not put the
group name in dollar signs ($) or in quotation marks.
Do not use group notifications as an email system for broadcast items
because the server processes a notification for each member. An email alias
is more efficient.

Direct email addresses


Use this option if you notify by email. Include the email domain name if
you are entering a users name (for example, Joe.User@acme.com) or a
keyword (for example, $USER$@acme.com).

A field reference
You can enter a field name or ID within dollar signs ($) to indicate that the
name of the user (or group) to notify is in a field in the request. For
example, to send a message to the user who created the request, you would
enter $Submitter$. A field is processed in the same way as a user name. A
field can contain one or more people of any of the first three categories.
Separated by hard returns, the field cannot contain another field
reference.
Do not include the domain name as part of the notification if you are
using a field reference (for example, enter only $Submitter$) because the
email address is being read from the Email Address field of the users entry
in the User form. For more information about users and the User form,
see Configuring AR System guide.

522 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Note: AR System resolves the contents of the User Name field by first
checking for a matching request in the User form. If found, the
notification is sent to that user. If not found, the server checks for a
matching request in the Group form. If the name corresponds to a group
name, the notification is sent to all members of that group. If no User or
Group definition is found, the contents of the User Name field are used as
is and treated as a guest user of the system.
5 Use the Priority field when the notification is sent as an alert.

Enter a value that can range from 010. The priority is entered into the
Priority field of the Alert Events form. The user can then sort the alert list by
the priority value.
6 From the Mechanism field, select a notification mechanism for the message.
Mechanism

Description

Alert

The specified users are notified with entries in the Alert Events
form. Users can view their list of alerts and open the originating
requests in Remedy User or on the web. For more information
about the alert system and alerts on the web, see the Developing
AR System Applications: Advanced guide.
For more information about Remedy Alert, see Remedy User
Help and Remedy Alert Help.

Email

The specified users are notified by email. If the contents of the


User Name field do not match an existing User or Group
definition, the system interprets the field contents as a literal
address and sends the notification to that address by SMTP,
IMAP, MAPI, or POP mail protocols. This address can be an
email address representing users who are not using AR System,
an alias for a group, or an email address representing a program.
If you choose the Email option, the Add Shortcut check box, and
Messages and Templates tabs appear. Select the Add Shortcut
check box to include the originating request as an ARTask
attachment in the email that is sent.
The Message and Template tabs are optional, and can be used to
override default parameters relating to the email system. For
more information, see the Remedy Email Engine Guide.

Specifying active link, filter, and escalation actions ! 523

Action Request System 6.3

Mechanism

Description

User Default

The specified users are notified using the default method


specified in their User form record. If the User record does not
contain a default mechanism, the user is notified through
Remedy Alert. If this mechanism fails, the notification is not
delivered.
If you choose the User Option option, the Add Shortcut check
box appears. Select this check box to include the originating
request as an ARTask attachment if their default mechanism is
email.

Cross-Reference The specified users are notified using the mechanism specified by
an integer or selection field in the form. Users are notified based
on the field value in the current request. If you choose this
option, use the Reference Field menu to select the field to use.
The meanings of each numeric value are shown below (the first
item in a selection field has a value of 0):

Other

Do not notify

Alert

Email

User Default

The specified users are notified using the mechanism specified in


the Other Code field. If you choose this option, enter a numeric
value between 4 and 98 in the Other Code field to indicate the
mechanism to use. This writes the message to the file
<ar_install_dir>\arserver\db\notification<nn>.arn, where nn
is the number that you entered.
Writing notifications to a file enables you to create your own
delivery daemon (UNIX) or service (Windows). For example,
you could set up your system to page users when they receive a
notification. (Specifying 0 through 3 uses the mechanisms in the
Cross Reference description above.)

If the mechanism is Email, User Default, Cross Reference, or Other, the


Subject Line field becomes enabled so that you can enter text that will appear
in the subject line of the notification.

524 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

7 If applicable, type subject text for the notification in the Subject Line field.

You can enter a maximum of 255 characters. You can use the Subject Line
field menu list to add fields or keywords to the text (see Keywords on
page 673). The field or keyword will be expanded when the notification is
sent. If you enter a field name in the Subject Line field, the notification will
contain the value of the field in the database. You can click the text edit
button to open a Text dialog box for easier data entry.
For UNIX systems, you can include extra header lines in your email message
by inserting hard returns followed by formatted mail headers in the Subject
Line field. The resulting notification will contain a Subject Line and your
header lines. However, the total of all data in the Subject Line field must be
255 or fewer characters.
8 Except for the Alert mechanism, use the Include Fields list to select which

fields have content you want sent in the notification (in addition to the
notification text).
The options are:
None

None of the fields is included with the notification.

All

All of the fields in the request are included with the notification.

Selected

Selected fields from the fields list are included with the notification.

Changed

Only fields that have changed in the current transaction are


included with the notification.

To be able to send the field contents, make sure that users being notified have
permissions to view the contents.
The field data will be ignored when the notification is delivered if one of the
following is true:
!

The mechanism is User Default, and the User record specifies that Remedy
Alert is the default mechanism.

The mechanism is Other, and the Other Code is 1 (Alert).

The order of fields included in an email notification is strictly based upon


their arrangement in the form view. Using their X and Y coordinates, the
order of fields begins top left to right, then down (in a zigzag-like pattern).
Fields excluded from the forms default view are randomly included at the
bottom of the list. If a form includes page fields, the pages are ignored. The
order of fields included in the notification is still based on their actual X and
Y coordinates in the form.

Specifying active link, filter, and escalation actions ! 525

Action Request System 6.3

To guarantee the order of fields in a notification, you can create a special view
named ARNotification. (Make sure that you exclude any page fields from this
view.) Otherwise, notifications will default to the default view. If there is no
default view, the first view listed is used.
9 Click Add Action (or click Modify Action).

The Notify action appears in the Current Actions list.

The OLE Automation active link action


Use the OLE Automation action to share functionality between applications
that support OLE. For more information, see the Developing AR System
Applications: Advanced guide.

The Open Window active link action


Use the Open Window action to open different types of windows in
AR System, for example, a modal dialog box from a parent form or a submit
window.
Window types include the following categories:
!

Dialog boxes (see To define the Open Window active link action for
dialog boxes: on page 527)The Open Window action defines what data
is transferred from the parent form to the dialog box when the dialog box
opens, and what data is transferred from the dialog box back to the parent
form when the dialog box closes.
!

Data transfer from the parent form to the dialog box is automatic and
based on the field mapping you create for the On Open mode in the
Field Mapping region.

Data transfer from the dialog box back to the parent form is not
automatic. You must create a Commit Changes active link action (see
page 510) that executes before or when the dialog box closes to cause
data transfer. Data transfer is based on the field mapping you create for
the On Close mode in the Field Mapping region.

For more information, see Using a display-only form as a dialog box on


page 170 and Setting view properties on page 373.
!

Search or Submit (see To define the Open Window active link action for
Search or Submit windows: on page 530)The Open Window action
opens the form in Search or Submit mode and then populates the form
with the input field/value data you have specified.

526 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic


!

Modify or Display (see To define the Open Window active link action for
Modify or Display windows: on page 532)The Open Window action
opens the form in Modify or Display mode. You specify search criteria to
define the set of entries to be displayed when the window opens.

Report (see To define the Open Window active link action for Report
windows: on page 536)The Open Window action opens the form in
Report mode. You specify search criteria to define the set of entries to be
displayed when the window opens.

" To define the Open Window active link action for dialog boxes:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Open Window.
3 From the Window Type list, select Dialog.

The fields required to define the Open Window action for dialog boxes
appear. The following figure shows these fields and an example of how an
Open Window active link action might look after you complete the
remaining steps in this procedure.

Specifying active link, filter, and escalation actions ! 527

Action Request System 6.3

Figure 10-17: Open Window active link action (dialog boxes)

4 Select the Server Name, Form Name, and Form View for the form that you

want to open as a dialog box.


For a group of users, you can create an alternate view of an existing view that
can dynamically open at run time. The alternate view must start with the
same prefix as an existing view. For example, if an existing view has the label
Inventory, an alternate view could have the label Inventory_Large Font. Select
Inventory in the Form View field of the active link, and instruct users to
specify _Large Font in the Open Window View Extension field in user
preferences.
If no form view is entered in the Form View field of the active link, the default
view will be used. For information, see Setting view properties on page 373.

528 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

5 Select the appropriate option from the Mode list:


On Open

Maps where data from the parent form will transfer to the dialog
box when the dialog box opens. The Field Name column lists the
fields in the dialog form.

On Close

Maps where data from the dialog box will transfer to the parent
form when the dialog box closes. The Field Name column lists the
fields in the parent form.

For each field for which you want to create a mapping, right-click in the
Value column to display a list from which you can select field values,
keywords, or functions. You can also enter default text or numbers.
You can map as many or as few fields between the dialog box and the parent
form as you want.
Note: You are responsible for your own data conversion in these mappings;
Remedy Administrator does not automatically validate them. You can
map fields of different types, and conversion still occurs.
6 Select or clear the Show Close Button in Dialog check box. If the check box is:
!

Selected, a close box appears in the upper-right corner of the dialog box in
Remedy User. (For forms viewed on the web, the Show Close Button in
Dialog check box is ignored because web browsers always contain an X
[close] button in the top right corner.)

Cleared, a close box will not appear, and you must create a Close Dialog
action to close the dialog box and return the focus to the parent form.

Note: When developing a dialog box, create buttons that predictably exit the
dialog box and accomplish the actions that you want to occur.

For example, if you want to save the changes made in the dialog box and
then close the dialog box, you should create an OK button on the dialog
box. Then create an active link that executes when the OK button is clicked
and that commits the changes and closes the dialog box. You could also
create a Cancel button that closes the dialog box without saving the
changes. If you do not create these buttons, the only way that the user can
exit the dialog box is by clicking the x icon in the top right corner of the
dialog box. Clicking the x icon results in unsaved changes and can result
in other workflow actions that do not occur.

Specifying active link, filter, and escalation actions ! 529

Action Request System 6.3

7 (For deployable applications only) Select the Restricted List check box

(default option) to restrict the Open Window action only to the forms in the
application.
Clearing the Restricted List checkbox lets you access all the forms on the
server.
8 For additional Open Window options, click Advanced.

These options let you dynamically define which server, form, and view will
open the window. For more information, see Using advanced Open
Window action functions on page 541, which follows.
9 Click Add Action (or click Modify Action).

The Open Window action appears in the Current Actions list.


" To define the Open Window active link action for Search or Submit

windows:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Open Window.
3 From the Window Type list, select Search or Submit.

530 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The fields required to define the Open Window action for a search or submit
window appear. The following figure shows these fields and an example of
how an Open Window active link action might look after you complete the
remaining steps in this procedure.

Figure 10-18: Open Window active link action (search or submit windows)

4 From the Target Location list, select one of the following options:
!

NewOpens form in a new window.

CurrentOpens form in current window. (For web clients only)

5 Select the Server Name, Form Name, and Form View for the form that you

want to open as a search or submit window.

Specifying active link, filter, and escalation actions ! 531

Action Request System 6.3

For a group of users, you can create an alternate view of an existing view that
can dynamically open at run time. The alternate view must start with the
same prefix as an existing view. For example, if an existing view has the label
Inventory, an alternate view could have the label Inventory_Large Font. Select
Inventory in the Form View field of the active link, and instruct users to
specify _Large Font in the Open Window View Extension field in user
preferences.
If no form view is entered in the Form View field of the active link, the default
view will be used. For information, see Setting view properties on page 373.
6 To set the fields to their default values when the window is opened, select the

Set Fields to Default Values check box.


7 (For deployable applications only) Select the Restricted List check box

(default option) to restrict the Open Window action only to the forms in the
application.
Clearing the Restricted List checkbox lets you access all the forms on the
server.
8 For additional Open Window options, click Advanced.

These options let you dynamically define which server, form, and view will
open the window. For more information, see Using advanced Open
Window action functions on page 541.
9 Click Add Action (or click Modify Action).

The Open Window action appears in the Current Actions list.


" To define the Open Window active link action for Modify or Display

windows:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Open Window.
3 From the Window Type list, select Modify or Display.

532 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The fields required to define the Open Window action for a modify or display
window appear. The following figure shows these fields and an example of
how an Open Window active link action might look after you complete the
remaining steps in this procedure.

Figure 10-19: Open Window active link action (modify or display windows)

4 Choose a Display Type:


!

List OnlyDisplays a list of results. An individual entry will be opened


when a user clicks on an item from the list.
In forms viewed on the web, the results are shown in a split display.

Detail OnlyDisplays the Detail window with Next and Previous


buttons.
In forms viewed on the web, the first matching entry is displayed. No
toolbar buttons are available to move between entries, but you can add
Next and Previous buttons and support them with workflow.

Split WindowDisplays a split window, the top half with a list of entries,
and the bottom half with an entry displayed.
Specifying active link, filter, and escalation actions ! 533

Action Request System 6.3


!

ClearUses the display type specified by the Show Result List Only user
preference.
In forms viewed on the web, the results are shown in a split display.

5 From the Target Location list, select one of the following locations where you

want the window to appear:


!

NewOpens form in a new window.

CurrentOpens form in current window. (For web clients only)

You can enter a window name or HTML frame name. If a window with that
name does not exist, a new window opens with the name you specify.
You can also use a field reference that dynamically defines the target at
runtime. You must supply a correct field reference that contains a valid value
for the target. Valid values for the Target identifier are:
!

to-screen:

to-print:

to-file:

Include a space after the colon. For example, to create a screen target based
on a field reference, the value in the field you select would contain
to-screen: .
6 Select the Server Name, Form Name, and View Name for the form that you

want to open as a modify or display window.


For a group of users, you can create an alternate view of an existing view that
can dynamically open at run time. The alternate view must start with the
same prefix as an existing view. For example, if an existing view has the label
Inventory, an alternate view could have the label Inventory_Large Font. Select
Inventory in the Form View field of the active link, and instruct users to
specify _Large Font in the Open Window View Extension field in user
preferences.
If no form view is entered in the Form View field of the active link, the default
view will be used. For information, see Setting view properties on page 373.
7 In the Qualification tab, complete the following steps:
a Define a qualification that will find the entries you want returned when

the window opens. You can type the qualification, or you can build it by
using the qualification bar and list, as described in Building
qualifications on page 484.

534 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

b From the If No Requests Match box, select a handling option to control

how Remedy User or the web client responds when no matches are found
in the selected form:
!

Do Not Show Any MessageNo message appears regardless of results


returned.

Show Default MessageStandard system-generated message appears


if no requests match.

Show MessageThe message that you define in the Message tab


appears.

c Optionally, select Suppress Empty List to specify that, if no results are

returned from the search, an empty list will not appear.


8 To display a note, warning, and error:
a Click the Message tab.
b In the Text field, enter the text of the message.
c From the Type list, select the appropriate message type.
d In the Number field, enter a message number.

For more information on these parameters, see The Message active link or
filter action on page 517.
9 In the Sort Info tab, set the options for sorting the requests:
a From the drop-down lists, select up to five fields that you want to sort by.

All the fields on the form that you can sort by are displayed in the list.
b For each field you choose, select whether the field is to be sorted in

ascending or descending order.


c In the Polling Interval field, specify how often (in minutes) you want the

search to be reissued.
This option enables you to automatically reissue the search on the new
window in Remedy User. This feature is not supported for web clients.
10 (For deployable applications only) Select the Restricted List check box

(default option) to restrict the Open Window action only to the forms in the
application.
Clearing the Restricted List checkbox lets you access all the forms on the
server.

Specifying active link, filter, and escalation actions ! 535

Action Request System 6.3

11 For additional Open Window options, click Advanced.

These options let you dynamically define which server, form, and view will
open the window. For more information, see Using advanced Open
Window action functions on page 541.
12 Click Add Action (or click Modify Action).

The Open Window action appears in the Current Actions list.


" To define the Open Window active link action for Report windows:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Open Window.
3 From the Window Type list, select Report.

The fields required to define the Open Window action for a report window
appear. The Report Information tab is enabled, as shown in the following
figure.

Figure 10-20: Open Window active link action (report windows)

536 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

4 From the Target Location list, select one of the following locations where you

want the window to appear:


!

NewOpens report in a new window.

CurrentOpens report in current window. (For web clients only)

You can also enter a window name or HTML frame name. If a window with
that name does not exist, a new window opens with the name you specify.
You can also use a field reference that dynamically defines the target at
runtime. You must supply a correct field reference that contains a valid value
for the target. Valid values for the Target identifier are:
!

to-screen:

to-print:

to-file:

Include a space after the colon. For example, to create a screen target based
on a field reference, the value in the field you select would contain
to-screen: .
5 Select the Server Name, Form Name, and View Name for the form on which

you want to run a report.


For a group of users, you can create an alternate view of an existing view that
can dynamically open at run time. The alternate view must start with the
same prefix as an existing view. For example, if an existing view has the label
Inventory, an alternate view could have the label Inventory_Large Font. Select
Inventory in the Form View field of the active link, and instruct users to
specify _Large Font in the Open Window View Extension field in user
preferences.
If no form view is entered in the Form View field of the active link, the default
view will be used. For information, see Setting view properties on page 373.
6 In the Qualification tab, perform the following steps:
a Define a qualification that will find the entries you want included in the

report. You can type the qualification, or you can build it by using the
qualification bar and list, as described in Building qualifications on
page 484.

Specifying active link, filter, and escalation actions ! 537

Action Request System 6.3

b For AR System reports only, from the If No Requests Match box, select a

handling option to control how Remedy User or the web client responds
when no matches are found in the selected form:
!

Do Not Show Any MessageNo message appears regardless of results


returned.

Show Default MessageStandard system-generated message appears


if no requests match.

Show MessageThe message that you define in the Message tab


appears.

For Crystal reports, only the Do Not Show Any Message option is
recognized.
c Do not select Suppress Empty List.

This option is not relevant for reports.


7 For AR System reports, set the options for sorting the requests in the Sort

Info tab. (The settings in this tab are ignored for all other report types.)
a From the drop-down lists, select up to five fields that you want to sort by.

All the fields on the form that you can sort by are displayed in the list.
b For each field you choose, select whether the field is to be sorted in

ascending or descending order.


c In the Polling Interval field, specify how often (in minutes) you want the

search to be reissued.
This option enables you to automatically reissue the search on the new
window in Remedy User. This feature is not supported for web clients.
8 Click the Report Information tab (see Figure 10-20 on page 536), and

perform the following steps.


a From the Report Type list, select AR System or Crystal.

Other report options might appear, depending on which report engine


software you have installed on your system.
You can also use a field reference that dynamically defines the report type
at runtime. The field reference must contain a valid value, which includes:
!

The Report Type identifier (21=).

The corresponding numeric report type (1 for AR System and 2 for


Crystal).

For example, to create an AR System report based on a field reference, the


value in the field you select would contain 21=1.

538 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

b From the Location list, select where the report resides:


!

EmbeddedReport resides on the server in a support file.

LocalReport resides on local disk.

Reporting FormReport resides on the reporting server in the Report


form. The Reporting Form location is only available when using
centralized user preferences and when the report server is defined in the
Remedy User Preference form. The Report form has a unique index,
which guarantees that the report name is unique.

c In the Name field, enter the full path name for your report (for example,

C:\temp\report2.rpt).
If the report is located on a network, map a drive to that location and
include the drive letter in the path name (for example,
V:\shared\report2.rpt).
!

For embedded reports, the path name must be for a location on, or
accessible to, the Remedy Administrator client machine. This allows
AR System to store the report with the Open Window action when you
save the active link.

For local reports, the path name must be for a location on, or accessible
to, the user client machine. This allows AR System to run the report
from the client machine when the Open Window action executes.

For Reporting Form reports, enter the name of the report as entered in
the Name field of the appropriate entry in the Report form.

d To save an embedded report to another area on the network, enter the

report name and click the Save To Disk button.


This step is crucial if you want to modify the active link on another
machine where the embedded report does not reside locally. Click the Save
to Disk button first before you attempt to save the Open Window active
link. Otherwise, you will lose the embedded report.
Note: Embedded reports are saved with the active link (that is, the report is
appended to the active link definition). If you make changes to the report
after creating the active link, save the active link to use the updated report.
e For web clients only, select a field reference in the Entry IDs field list that

will pass the ID numbers of the entries selected for the report in the Query
List View.
If there is more than one entry ID, separate them with commas.

Specifying active link, filter, and escalation actions ! 539

Action Request System 6.3

These IDs will take precedence over any search entered in the
Qualification tab. However, if the Entry IDs field is blank, the qualification
criteria will be used to create entries for the report.
f From the Target drop-down list, select where you want your report to

appear:
!

Screen

Printer

File

For web reports, you must choose Screen.


You can also use a field reference that dynamically defines the target at
runtime. You must supply a correct field reference that contains a valid
value for the target. Valid values for the Target identifier are the following:
!

to-screen:

to-print:

to-file:

Include a space after the colon. For example, to create a screen target based
on a field reference, the value in the field you select would contain
to-screen: .
g For web clients, if your third-party report engine supports query override,

enter Yes or No in the Query Override field to indicate whether you want
the query in the results list or table field to override the query stored in the
report.
If you are using AR System or Crystal Reports report engines, you can
leave this field blank.
h For web clients, select Run from the Operation list to run a report by using

the Start command in the ReportType entry for the selected report type.
Note: In pre-6.3 mid tier, you used Create and Edit operations for Open
Window active link actions with a Window Type of Report to create and
modify AR System reports. In the 6.3 mid tier, Create and Edit operations
are not supported. To create and edit reports from an Open Window
active link, use the Submit Window Type, and select the ReportCreator
form.

If any of these commands is empty in the ReportType entry, the


corresponding operation will produce a runtime error.

540 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

9 (For deployable applications only) Select the Restricted List check box

(default option) to restrict the Open Window action only to the forms in the
application.
Clearing the Restricted List check box lets you access all the forms on the
server.
10 For additional Open Window options, click Advanced.

The Advanced options let you dynamically define which server, form, and
view will open at runtime. If the Advanced check box is selected, all of the
fields on the Report Properties tab and in the Server Name, Form Name, and
Form View fields can have field references. For more information, see Using
advanced Open Window action functions on this page.
11 Click Add Action (or click Modify Action).

The Open Window action appears in the Current Actions list.

Using advanced Open Window action functions


You can define advanced Open Window action functions that provide
enhanced functionality beyond opening a window from a specific
hard-coded server, form, and view defined in the workflow action. You can
dynamically change which server, form, and view the window opens against
based on certain field values that are set by workflow, a data-dictionary
menu, or user entry.
For example, the Report Window form (as shown in Figure 10-21) contains
three fields (server, form, and view) that can be hidden or display-only. The
values you enter into these fields (for example, from a Set Fields action)
determine at runtime which source server, form, and view are used as sources
in the Open Window action.

Specifying active link, filter, and escalation actions ! 541

Action Request System 6.3

When you click the button that triggers the active link, field values in the
Report Window form on the source server (polycarp) open the form and its
view on the destination server (cordova). Administrators might prefer to
hide this functionality from users altogether and use the Window Loaded
execution condition instead.

Figure 10-21: Using dynamic workflow to open windows

In this example, if you opened form Report Window in Remedy User and
entered cordova as the server and Target as the form, then clicked Button, the
advanced Open Window action is triggered. The server and form (and view
if specified) have become dynamically defined in the Open Window
workflow and the Target form opens in Submit (New) mode.

542 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

" To use advanced Open Window action functions:


1 Click Advanced.

The window changes in the following ways:


!

The Server Name, Form Name, and Form View fields have boxes that
allow you to enter field references or keywords for the server, form, and
view names. These fields come from the reference form (for example,
Report Window) that you chose on the Basic tab and are typically hidden.

The Sample Server Name and Sample Form Name fields appear (as shown
in Figure 10-22). Default values listed are the current server and form. You
use these sample fields to complete the Custom or Matching IDs field
mapping section of the Open Window action. The sample form must
contain fields that exist on any dynamic source forms that are used at
runtime. But the sample server and form are not actually used at runtime;
the fields you pick are only used to build the workflow.

Figure 10-22: Advanced functionality of Open WindowDialog active link action

Specifying active link, filter, and escalation actions ! 543

Action Request System 6.3

2 In the Server Name, Form Name, and Form View fields, enter a field or

keyword that will dynamically select which server, form, and view to use.
You must enter values into the Server Name and Form Name fields. (The
Form View setting is optional.) The server, form, and view you choose will
appear in their variable format. For example, if you choose server from the
Server Name field list, it appears as $server$, as shown in Figure 10-22.
The server and form a user (or workflow) enters into those fields will be used
to populate the form when the Open Window action executes.
3 From the Sample Server Name and Sample Form Name lists, select the

reference server and form that will function as the sample form that will be
opened with the Open Window action.
The value menu is populated with fields from the sample form. Select field
values that correspond to fields available on any dynamically selected form at
runtime.
The sample server and form are used as a temporary reference to create and
save the Open Window workflow. You can even delete the sample form after
saving the action.
4 Depending on the window type you selected, edit the field mappings or

qualifications accordingly.
For example, if you selected Submit window type, enter mappings for fields
and their values (entering the keyword $USER$ as the value for the Submitter
field). These values will then appear when the sample window is opened
(the login users name appears when the Submit window opens).
5 Click Add Action (or click Modify Action).

The Open Window action appears in the Current Actions list.

The Push Fields active link, filter, or escalation action


Use the Push Fields action to transfer values from selected fields in the
current request to another request. This enables you to automate updates to
the database.
You can push values from tables, hidden fields, fields not in the active view,
or fields in no views at all. However, you cannot push values to non-data
fields like table fields, column fields, page holders, and view fields.
(To move data to the current request from a variety of data sources, see The
Set Fields active link, filter, or escalation action on page 559.)

544 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

" To define the Push Fields active link, filter, or escalation action:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Push Fields.

The fields required to define the Push Fields active link, filter, or escalation
action appear. The following figure shows these fields and an example of how
a Push Fields active link action might look after you complete the remaining
steps in this procedure.

Figure 10-23: Push Fields active link action

3 From the Server Name list, select the server source that contains the form and

field to which you want to push data.


!

For active links, you can select a server to which you are logged in from the
field list, or you can type in the name of any server on the network.

For filters or escalations, you can select only the current server.

Specifying active link, filter, and escalation actions ! 545

Action Request System 6.3

4 From the Push Value To list, select the form that contains the fields to which

you want to push data.


Each Push Fields action can only push data from the current form to one
other form. To push data from the current form to more than one form, you
must create a separate Push Fields action for each form.
5 Enter a qualification in the Push Field If field to specify the request where you

are going to push the data.


You can type the qualification, or you can build it by using the qualification
bar and list, as described in Building qualifications on page 484.
Warning: Typically, you should optimize the Push Field If qualification for
best system performance. In most circumstances, the Push Field If
statement will run a query to retrieve the list of requests in which you will
push data values.
However, there is one major exception to this rule. When you use the Push
Fields action to always create a requestby entering no qualification in
the Push Field If field, selecting Create a New Request from the If No
Requests Match list, then selecting Take No Action from the If Any
Requests Match listthe AR System server will not scan the entire
database and will force a submission.

The following options are available from the Push Field If list:
Current Form

References fields in the current form. These fields are


delimited with dollar signs ($).
If you want to use a field other than that which appears
on the menu, enter the appropriate '$<field_ID>$'.

<form_name>

References fields in the form to which you are pushing


data (Push Value To). These fields are delimited with
single quotation marks.
If you want to use a field other than that which appears
on the menu, enter the appropriate '<field_ID>'.

Keywords

Lists keywords you can use to build the qualification.

546 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

6 From the If No Requests Match list, select a handling option to control how

the system responds when no matches are found in the selected form.
Display No Match Error

Returns an error message and stops processing.

Take No Action

Skips this action and proceeds to the next action.

Create a New Request

Uses the data you want to push into the database to


create a new request.

7 From the If Any Requests Match, select a handling option to control how

Remedy User responds when multiple matches are found in the selected
form.
Display Any Match Error Returns an error message and stops processing.
Modify First Matching
Request

Pushes data to the first request that meets the


qualification.

Modify All Matching


Requests

Pushes data to every request that meets the


qualification.

Take No Action

Skips this action and proceeds to the next action.

8 To define how field values are mapped from the source form to the target

form, select one of the following options:


Custom

Enables you to define, on a field-by-field basis, which fields


from the source form are mapped to the target form. (This is
the default.)

Matching Ids

All matching field IDs (except for table columns, page holders,
and system-generated core fieldsStatus History, Modified
Date, Last Modified By, Create Date, and Entry ID) will be
automatically pushed from the source form to the target form.
This option is convenient for quickly creating mappings for two
forms with many matching field IDs.
The rest of the Fields box becomes disabled and you cannot
choose any field mappings.

If you are using a pre-5.0 AR System server, the Matching IDs option is
disabled.

Specifying active link, filter, and escalation actions ! 547

Action Request System 6.3

9 From the Name list, select the field to which you want to push data with this

action. (This option is available only if you selected Custom in step 8.)
If you want to use a field source other than that which appears in the Name
field, enter the appropriate '<field ID>'.
10 In the Value field, enter the value you want to push to the other form when

the action executes. (This option is available only if you selected Custom in
step 8.)
You can type the field name or you can use the Value list to insert field values
from the from form, keywords, functions, or a combination of these. For a
list of available functions, see Assigning values using function results on
page 645. For more information on values, see The Set Fields active link,
filter, or escalation action on page 559.
After you enter both a name and a value, the field is automatically added to
the Field Name list.
11 Repeat step 9 and step 10 for as many fields as needed.
12 To delete fields from the Field Name list, select the appropriate fields, and

then press the DELETE key.


13 (For deployable applications only) Select the Restricted List check box

(default option) to restrict the Push Fields action only to the forms in the
application.
Clearing the Restricted List checkbox lets you access all the forms on the
server.
14 For additional Push Fields options, click Advanced.

The Advanced options let you dynamically define which server and form you
will push data to at runtime. For more information, see Defining advanced
Push Fields action functions on page 548.
15 Click Add Action (or click Modify Action).

The Push Fields action appears in the Current Actions list.

Defining advanced Push Fields action functions


You can define advanced Push Fields action functions that provide enhanced
functionality beyond pushing data to requests on a specific hard-coded
server and form defined in the workflow action. Based on values that
workflow or users enter into certain fields, you can dynamically select which
server and form you will push the data to.

548 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

For example, the Push Source form (as shown in Figure 10-24) contains two
fields (server and form) that can be hidden or display-only. The values
entered into these fields determine at runtime which server and form are
used as sources in the Push Fields action. When you click the button that
triggers the active link, a field value from the Push Source form on the source
server (polycarp) is pushed into the Short Description field on the Push
Target form on the destination server (cordova). Administrators might
prefer to hide this functionality from users altogether and use the Window
Loaded execution condition instead.
In this example, you define the values in a record using the dynamic Push
Fields active link action. If you opened the Push Source form in Remedy User
and entered cordova as the server, Push Target as the form, and Test Push Data
in the Short Description field, clicking Button then executes the advanced
Push Fields action. The server and form have become dynamically defined in
the Push Fields workflow, and the value in the Short Description field is
pushed to the Push Target form.

Figure 10-24: Using dynamic workflow to push data to another form

Specifying active link, filter, and escalation actions ! 549

Action Request System 6.3

Note: On the web, Dynamic Push Fields actions cause the browser to
perform extra HTTP fetches and cause the AR System server to perform
extra queries to determine the data types for remote fields. So that the mid
tier can fetch these data types ahead of time and avoid performance
degradation, avoid using field references to store the server or form
names.
" To define advanced Push Fields action functions:
1 Select Advanced in the Push Fields action.

The window changes in the following ways:


!

The Server Name (active links only) and Push Value To fields have boxes
that allow you to enter field references or keywords for the server and field
names. Field references are from the reference form (for example, Push
Source) that you chose on the Basic tab and are typically hidden.

550 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic


!

The Sample Server Name (active links only) and Sample Form Name
fields you select appear (as shown for an active link in Figure 10-25). You
use these sample fields to complete the Custom or Matching IDs field
mapping section of the Push Fields action. The sample form must
contain field IDs that exist on any dynamic destination forms that are used
at runtime. But the sample server and form are not actually used at
runtime; the fields you pick are only used to build the workflow.

Figure 10-25: Advanced functionality of Push Fields active link action

Note: If fields with same IDs on the sample and dynamic forms have different
data types, the general conversion rules apply.
2 In the Server Name (active links only) and Push Value To fields, enter a field

(or choose a field or keyword from the list) that will dynamically select which
server and form to use.

Specifying active link, filter, and escalation actions ! 551

Action Request System 6.3

The server and form a user (or workflow) enters into those fields will be used
as the target server and form to populate the form when the Push Fields
action executes.
!

For active links, use the menu list to enter values into the Server Name and
Push Value To fields.

For filters and escalations, use the menu list to enter a value only into the
Push Value To field. You cannot choose a different server. Filter execution
does not allow the use of the form on a different server.

The server and form you choose must be in their variable format. For
example, if you choose the field labeled server from the Server Name field
list, it appears as $server$, as shown in Figure 10-25.
3 From the Sample Server Name (active links only) and Sample Form Name

lists, select a reference server and form.


The value menu is populated with fields from the reference form. Select field
names with IDs that correspond to field IDs available on any dynamically
selected form at runtime.
The sample server and form are used as a temporary reference to create and
save the Push Fields workflow. You can even delete the sample form after
saving the action. What is important is being able to map the custom IDs
between the forms in step (5), in this case between the two Short Description
fields.
4 Enter a qualification in the Push Field If field to specify the request that

contains the values that you want to retrieve.


The fields from the sample form can be used in the qualification. The fields
and field IDs on the sample form and the corresponding dynamic form
should be the same types because conversion rules do not apply in this case.
5 Map the field and value that you are setting with this action.

In this example, the value of whatever is in $Short Description$ from the


source form is pushed to the Short Description field on the dynamicallyidentified target form. To share this dynamic workflow among several forms,
make sure that your forms have corresponding (or matching) field IDs. (For
more information, see Shared workflow on page 474.)
6 Click Add Action (or click Modify Action).

The Push Fields action appears in the Current Actions list.

552 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The Run Macro active link action


You can use the Run Macro action to specify a macro to run whenever the
active link is executed in Remedy User. (The Run Macro active link action is
not available for the web client.) The macro can perform any operation or
series of operations. If the macro contains parameters, you can specify values
for those parameters, including a value from a field in the current request.
For example, you might designate the value entered in the Customer Name
field of the current request for use as the parameter value in a macro that
queries the database for information about a specified customer. Or you
might create a macro that generates a report and attach it to a button.
To use a macro in an active link, you must first create the macro by using
Remedy User. (For information about creating a macro, see Remedy User
Help.) The macro that you specify is copied into the active link. Changes that
you make to this macro after the active link is created will not affect the
operation of the active link. If you want macro changes to apply to the active
link, you must modify the active link and specify the macro again.
Most operations that can be performed from a macro can be performed from
other actions. You should use the Run Macro action type only for backwardcompatibility with clients prior to the 5.0 release. AR System provides a
conversion option for you to convert most pre5.0 macros to workflow
functionality. For more information, see Converting existing macros to
active links on page 662.
Note: You can use the $VERSION$ keyword to include or exclude older
Windows user tool clients in workflow. For UNIX user tool clients, use the
$OS$ keyword. For more information, see $VERSION$ on page 678.

Two Run Macro actions cannot be converted:


!

When you use the query bar inside the macro and:
!

Field names and field labels on the current form are different.

You use field IDs not on the current form as a parameter inside the
query.

Any action involving logging in.

Specifying active link, filter, and escalation actions ! 553

Action Request System 6.3

" To define the Run Macro active link action:


1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Run Macro.

The fields required to define the Run Macro action appear. Figure 10-26
shows these fields and an example of how a Run Macro active link action
might look after you complete the remaining steps in this procedure.

The menu button is used to select


fields or keywords. This button
appears when you click on a
macro parameter name.

Figure 10-26: Run Macro active link action

3 From the Macro Name list, select the appropriate macro.

If the macro contains parameters, a list of parameters appears.


4 If parameters are listed, optionally enter any of the following as parameter

values:
!

A static value

A keyword

A reference to any field in the current form

554 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Field references and keywords must be enclosed within dollar signs. For
example, if you want the contents of the Customer Name field to be used
for a particular parameter in the macro, enter $Customer Name$.
You can enter a field reference or keyword by clicking the parameter
name. A menu button appears so that you can select fields from the
current form (as in the previous figure) or keywords. If you specify a field
as a parameter, the macro uses the value that it finds in the field in the
window from which the active link was executed.
The macros will not prompt for values when executed from active links. You
must specify values here for the parameters.
If you want to prompt, use a dialog box to prompt for values (as described in
Using a display-only form as a dialog box on page 170). The values will
assign the fields loaded from the dialog box to the macro parameters.
5 To save the macro to another area on the network, click the Save To Disk

button.
6 Click Add Action (or click Modify Action).

The Run Macro action appears in the Current Actions list.

The Run Process active link, filter, or escalation action


Use the Run Process action to execute a command to run an independent
process on a client or an AR System server. The system will execute the
command specified in the Command Line field. For example, you can
specify a program that sends a fax or that makes a log entry in a specific
format. The command line can include parameters.
The Run Process action only executes an independent process; it does not
return a value. To insert the result of a process into a field, set the field by
using the value resulting from a process (see Assigning values from process
results on page 656).
For more information, see Special Run Process and $PROCESS$
commands on page 616.

Specifying active link, filter, and escalation actions ! 555

Action Request System 6.3

Warning: If the process executed with the Run Process command runs on the
client, it will use the permissions of the user who started Remedy User or
the web client. If the process executed with the Run Process command
runs on the server, it will use the permissions of the user who started the
AR System server. Running a process using a filter can have security
implications for your system.

For active links that run processes on the server, AR System provides a
security feature that allows you to define the only directory from which
active link processes can execute on the server. For more information, see
permission and configuration information in the Configuring AR System
guide.
To avoid degrading performance on web clients, always specify the action in
the run process command, instead of indirectly through a field. For example,
a command like the following is acceptable:
PERFORM-ACTION-ADD-ATTACHMENT 536870912

But the following command would cause performance on the client to


degrade:
$536870914$ 536870912

" To define the Run Process active link, filter, or escalation action:
1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Run Process.

556 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The Command Line field appears. The following figure shows this field and
an example of how the Run Process active link action might look after you
complete the remaining steps in this procedure.

Field contents can be used


as parameters.
Enclose field names with $
signs or use the list.

Figure 10-27: Run Process active link action

3 In the Command Line field, enter the command that you want to execute.

You can type the command, or you can build the command by using the
Command Line list to insert field values from the current request or
keywords (see Keywords on page 673). The field or keyword will be
expanded when the process is run. Both fields and keywords must be
enclosed in dollar signs. If an expanded value contains spaces, you must
manually insert double quotation marks around the parameter so that the
operating system interprets it as a single value.
You can enter a maximum of 255 characters for your command definition.
When run on the client, the fully expanded command line cannot exceed
4096 bytes.
Click the text edit button to open a text dialog box for easier data entry.
In active links, the syntax identifies where the process that you want to run is
located. To run a process:
!

On the same machine as the client, enter:


<process_to_run>

On the current AR System server, enter:


@@:<process_to_run>

On any specific AR System server, enter:


@Server_B:<process_to_run>

Specifying active link, filter, and escalation actions ! 557

Action Request System 6.3

For active links, when you run a process on the client, be aware that the
process you are specifying might not be available on all hardware platforms
and operating systems that your clients might be using. If your users run the
client tools on more than one type of platform or operating system, you can
build a qualification for the active link by using the $HARDWARE$ and $OS$
keywords to verify that the client is running on an appropriate platform or
operating system at the time the active link executes. See Building
qualifications on page 484 for more information.
4 Click Add Action (or click Modify Action).

The Run Process action appears in the Current Actions list.

Command line syntax guidelines


The following guidelines for command line syntax are recommended:
!

Adjust your command syntax appropriately for the platform on which


your server is running, and include the explicit path to the command; for
example, /home/jim/bin/<command>. In the Windows environment,
specify the drive; for example, d:\home\jim\bin\<command.bat>.

In the UNIX environment, the process runs under a Bourne shell.

On a Windows server, you can run only a process that runs in a console
(such as a .bat script or an executable like runmacro.exe).

Use double quotation marks around substituted fields when the values
might contain spaces or other special characters; for example,
/bin/cmd "$<field>$".

Substituted field values that contain hard returns or other special


characters can have unexpected results.

The AR System server does not interpret environmental variables for the
Run Process action. To use environmental variables, you must include the
path to the command-line executable in the command-line statement, as
in the following Windows example (cmd.exe), "C:\Program
Files\I386\cmd.exe %windir%\system32\mplay32.exe
%windir%\Media\chimes.wav". For UNIX, you would include a reference
to /bin/sh in the path.

558 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The Set Fields active link, filter, or escalation action


Use the Set Fields action to move data to the current request from any of the
following data sources:
!

Field in the same form

Field in another form on the same server or a different server

SQL command

Filter API plug-in service

Function

Result of an independent system process

DDE operation (active link only)

OLE operation

Result of a mathematical calculation

Web service

To move data from the current request to another request, see The Push
Fields active link, filter, or escalation action on page 544.
For active links, Set Fields actions that execute on After Submit or After
Modify update the specified fields on the screen. However, they do not write
the values to the database, nor do they update the change flag (Save button).
You can use the Set Fields action to load specific values into selected fields
each time certain conditions are met. This enables you to automate field
updates for a request. For example, you can define a filter that will
automatically set the State field to Assigned every time the Assigned To field
is set to a support staff name.
You can use the Set Fields action to load values into hidden fields, into fields
not in the active view, or into fields in no views at all. However, you cannot
use the Sets Fields action for column fields and page holders.
When you use a set fields action with attachments, note that the order of the
attachments might change.
Values loaded into diary fields with the Set Fields action are handled as
follows:
!

Filters and escalations add the new text to the old text.

Active links replace the new text.


Specifying active link, filter, and escalation actions ! 559

Action Request System 6.3

This difference of functionality is an important consideration whether you


might use an active link in one situation, but a filter in another.
Also, if you set multiple fields in one action, the order of the set fields might
execute differently on Remedy User and web clients and might give you
different results. If you have dependent fields, you should always break up the
set fields into multiple Set Field actions so that field dependencies are
executed correctly. This will guarantee that Remedy User and web clients
work the same.
The fields required to define the Set Fields active link, filter, or escalation
appear in the following figure. The figure also shows an example of how a Set
Fields active link action might look after you create it.

Figure 10-28: Set Fields active link action

560 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

" To define a Set Fields active link, filter, or escalation action:


1 Click the If Action tab or the Else Action tab.
2 From the New Action list, select Set Fields.
3 From the Server Name list, select the server source that contains the value

that you want to load. The options are:


CURRENT SCREEN
(active links)

The field references in the Value column will be to the


current request. This means the system will copy fields
to each other on the current screen.

CURRENT
TRANSACTION (filters
and escalations)

The field references in the Value column will be to the


current request. This means the system will copy fields
to each other within the current transaction and not
from the database.

<server_name>

Sets the field in the current request with a value from


the database, as follows:
!

For active links, from another request in this form, or


from another form on another server.
For filters and escalations, from another request in
this form, or from another form on this server.

4 From the Read Value for Field From list, select the form or source that

contains the value that you want to load:


CURRENT SCREEN
(active links)

The field references in the Value column will be to the


current request.
If you enter a server name and form different than the
CURRENT SCREEN, but you do not reference a field
from another form, there is no need to retrieve a value
from the database, and the server name and form will
revert to CURRENT SCREEN.

CURRENT
TRANSACTION (filters
and escalations)

The field references in the Value column will be set


with a value that is not from the database. This could
be a value from the current request, a keyword, a filter
API plug-in service, an SQL command, or a static
value.
If you enter a form different than the CURRENT
TRANSACTION but you set the field by using a static
value or a keyword, or if you do not set the field from
another form, there is no need to retrieve a value from
the database, and the form reverts to CURRENT
TRANSACTION.

Specifying active link, filter, and escalation actions ! 561

Action Request System 6.3

SQL (active links, filters,


and escalations)

The SQL Command fields appear, and you can enter a


command for the system to perform.

FILTER API (filters and


escalations)

The Filter API Input fields appear, and you can enter
information for the filter API you want to use.

WEB SERVICE (filters and The Web Service fields appear, and you can load a
escalations)
WSDL.
<form_name>

The Set Field If fields appear, and you can enter a


qualification to specify the request that contains the
values you want to retrieve.

5 Perform one of the following tasks to complete the Set Fields action:
!

If you selected CURRENT SCREEN or CURRENT TRANSACTION,


complete steps 8 and 9.

If you selected SQL in the Read Value for Field From list, see Assigning
values by submitting SQL commands on page 636.

If you selected FILTER API in the Read Value for Field From list, see
Assigning values by issuing requests to a Filter API Plug-In service on
page 642.

If you selected WEB SERVICE in the Read Value for Field From list, see
the Developing AR System Applications: Advanced guide for complete
instructions.

If you selected <form_name> in the Read Value for Field From list,
complete steps 613.

6 Enter a qualification in the Set Field If field to specify the request that

contains the values that you want to retrieve.


You can type the qualification or you can build it by using the qualification
bar and list, as described in Building qualifications on page 484. The
following options are available from the Set Field If menu button:
Current Form

References fields in the current screen (active links) or


current form (filters or escalations). These fields are
delimited with dollar signs ($).
If you want to use a field other than that which appears on
the menu, enter the appropriate '$<field_ID>$'.

562 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

<form_name>

References fields in the form from which you are drawing


data (Read Value for Field From). These fields are delimited
with single quotation marks.
If you want to use a field other than that which appears on
the menu, enter the appropriate '<field_ID>'.

Keywords

Lists keywords you can use to build the qualification.

Warning: You should optimize the Set Field If qualification for best system
performance. The Set Field If statement always runs a query to retrieve a
list of the requests to get data values from.
7 From the If No Requests Match list, select a handling option to control how

the system responds when no matches are found in the selected form.
Display
No Match Error

Returns an error message and stops processing.

Set Fields to
$NULL$

Assigns a NULL value to all of the fields that you are setting
(except for fields with static values and keywords).

8 From the If Multiple Requests Match list, select a handling option to control

how the system responds when multiple matches are found in the selected
form.
Display Multiple
Match Error

Returns an error message and stops processing.

Use First Matching


Request

Inserts the value of the first request that meets the


qualification.

Set Fields to
$NULL$

Assigns a NULL value to all of the fields that you are setting
(except for fields with static values and keywords).

Specifying active link, filter, and escalation actions ! 563

Action Request System 6.3

Display a List (active Displays a selection list so the user can select the appropriate
links only)
request. The selection list uses the forms result list
specification.
Use First Matching
Request Based On
Locale

Returns localized information to determine the match.


The contents of the Locale field (special field ID 160) are used
along with the current user's locale to select the best match.
If there are several matches with the same locale, then the first
match is returned.
If there is no localized server or no Locale field in the form,
this option becomes the same as Use First Matching Request
option. For more information on using the Locale field with
localizing search menus, see the Developing AR System
Applications: Advanced guide.

9 Define how field values are mapped from the source form to the target form

by selecting one of the following options:


Custom

Lets you define, on a field-by-field basis, which fields from the


source form are mapped to the target form. (This is the default.)
This option is activated only when you select a source form that
is not CURRENT SCREEN. (Setting Matching Ids fields to the
current form from the current form does not make sense and is
not a valid operation.)

Matching Ids

All matching field IDs (except for table columns, page holders,
and core fields such as Modified Date and Entry ID) will be
automatically set in the target form from the source form. This
option is convenient for quickly creating mappings for two
forms with many matching field IDs.
The rest of the Fields box becomes disabled, and you cannot
choose any field mappings.
If you are using a pre-5.0 AR System server, the Matching Ids
option will be disabled.

10 If you selected Custom in the previous step, perform the following steps:
a From the Name list, select the field that you are setting with this action.

If you want to use a field source other than that which appears in the Name
field, enter the appropriate '<field ID>'.
b In the Value field, enter the value that you want to load when the action

executes.
564 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

You can type the field name or you can use the Value list to insert field
values from the from form, keywords, functions, $PROCESS$, or $DDE$
(for active links only). You can set the field values to any of the following
options:
!

A value from another field in the same form or from another form.

A static value. Enclose text values that include special characters (such
as parentheses, single quotation marks, or arithmetic operators) in
double quotation marks.

A keyword value (see Keywords on page 673).

The value resulting from issuing an SQL command to the database (see
Assigning values by submitting SQL commands on page 636).

The value returned from issuing a filter API plug-in service (see
Assigning values by issuing requests to a Filter API Plug-In service on
page 642).

The value resulting from a function (see Assigning values using


function results on page 645).

The value resulting from a specified process (see Assigning values from
process results on page 656).

The value resulting from an arithmetic operation (see Assigning values


by using arithmetic operators on page 658).

The value resulting from a DDE request operation on a Windows client


(see the Developing AR System Applications: Advanced guide).

A combination of the previous items in this list. For example, you can
combine a static text entry with a keyword, "Entry entered by " + $USER$.

Note: Because filters and escalations execute with administrator permissions,


field values set through a filter or escalation are updated even if the user
does not have permission to change the field. However, active links
execute with the permissions of the user, so field values set through an
active link are updated in the database only if the user has permission to
change the field.

After you select a name and a value, the field is automatically added to the
Field Name list.
a Repeat these steps for as many fields as needed.
b To delete fields from the Field Name list, select the appropriate fields, and

then press the Delete key.

Specifying active link, filter, and escalation actions ! 565

Action Request System 6.3

11 (For deployable applications only) Select the Restricted List check box

(default option) to restrict the Set Fields action only to the forms in the
application.
Clearing the Restricted List checkbox lets you access all the forms on the
server.
12 For additional Set Fields options, click Advanced.

The Advanced options let you dynamically specify which server and form will
be used to read the data from at runtime. For more information, see
Defining advanced Set Fields action functions on page 566.
13 Click Add Action (or click Modify Action).

The Set Fields action appears in the Current Actions list.

Defining advanced Set Fields action functions


You can define advanced Set Fields action functions that provide enhanced
functionality beyond setting data in requests from a hard-coded server and
form defined in the workflow action. Based on values that workflow or users
enter into certain fields, you can dynamically select which server and form
you are reading the data from.

566 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

For example, the Target form (as shown in Figure 10-29) contains two fields
(server and form) that can be hidden or display-only. The values you enter
into these fields (they could also be set by workflow) determine at runtime
which source server and form are used as sources in the Set Fields action.
When you click the button that triggers the active link, a field value from the
Source form on the source server (cordova) is set into the Short Description
field on the Target form on the destination server (polycarp). Administrators
might prefer to hide this functionality from users altogether and use the
Window Loaded execution condition instead.

Figure 10-29: Using dynamic workflow to set fields

In this example, a simple record was created in the Source form on the server
cordova. The Short Description field on Source contains the value, Test Data.
If you opened form Target in Remedy User and entered cordova as the server
and Source as the form, clicking Button would execute the advanced Set
Fields action. The server and form have become dynamically defined in the
Set Fields workflow and the Short Description field is set with the Test Data
value.

Specifying active link, filter, and escalation actions ! 567

Action Request System 6.3

" To define advanced Set Fields action functions:


1 Select Advanced in the Set Fields action.

The window changes in the following ways:


!

The Server Name (active links only) and Read Value for Field From fields
have boxes that allow you to enter field references or keywords for the
server and form names. These fields come from the base form (for
example, Target) that you chose on the Basic tab and are typically hidden.

The Sample Server Name (active links only) and Sample Form Name
fields appear (as shown for an active link in Figure 10-30). Default values
listed are the current server and form. You use these sample fields to
complete the Custom or Matching IDs field mapping section of the Set
Fields action. The sample form must contain field IDs that exist on any
dynamic source forms that are used at runtime. But the sample server and
form are not actually used at runtime; the fields you pick are only used to
build the workflow.

Figure 10-30: Advanced functionality of Set Fields active link action

568 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Note: If fields with same IDs on the sample and dynamic forms have different
data types, the general conversion rules apply.
2 In the Server Name (active links only) and Read Value for Field From fields,

enter a field or keyword that will dynamically specify which server and form
are used.
The server and form that a user (or workflow) enters into those fields will be
used as the source server and form from which to retrieve values when the Set
Fields action executes:
!

For active links, use the menu list to enter values into the Server Name and
Read Value for Field From fields.

For filters and escalations, use the menu list to enter a value into the Read
Value for Field From field. You cannot choose a different server. Filter
execution does not allow the use of a form on a different server.

The server and form you choose must be in their variable format. For
example, if you choose the field labeled form from the Read Value for Field
From field list, it appears as $form$, as shown in Figure 10-30.
3 From the Sample Server Name (active links only) and Sample Form Name

lists, select a reference server and form.


The value menu is populated with fields from the sample form. Select field
names that correspond to field IDs available on any dynamically selected
form at runtime.
The sample server and form are used as a temporary reference to create and
save the Set Fields workflow. You can even delete the sample form after
saving the action.
4 Enter a qualification in the Set Field If field to specify the request that

contains the values that you want to retrieve.


The fields from the sample form can be used in the qualification. The fields
and field IDs on the sample form and the corresponding dynamic form
should be the same types because conversion rules do not apply in this case.
5 Map the field and value that you are setting with this action.

In this example, the Short Description field on the target form is being set
with the value of whatever is in $Short Description$ from the dynamicallyidentified source form. To share this dynamic workflow among several
forms, make sure that your forms have corresponding (or matching) field
IDs. (For more information, see Shared workflow on page 474.)
6 Click Add Action (or click Modify Action).

Specifying active link, filter, and escalation actions ! 569

Action Request System 6.3

The Wait active link action


Use the Wait action to suspend a guide in Remedy User so that the user has
an opportunity to interact with a field. For more information about guides,
see the Developing AR System Applications: Advanced guide.

Specifying escalation time criteria


Use the Time Criteria tab in the Escalation window to define an escalation to
execute at a specific time or time interval.
Note: Escalations that check the server too frequently can cause performance
problems. With the 5.x release of AR System, all servers include a
dedicated escalation queue, which is automatically created by the system
for you. See the Optimizing and Troubleshooting AR System guide for more
information.
" To define escalation time criteria:
1 Click the Time Criteria tab.
2 Under Execution, select an execution option to control when the server

checks the escalation conditions.


Interval

Checks escalation at a regular interval (for example, every 30


minutes, every six hours, every seven days, or any combination of
days, hours, and minutes). The interval begins when you create,
modify, or enable the escalation, and the interval begins when the
server is restarted.

Time

Checks escalation at a specified time (for example, every day at 4:00


p.m. or 1600 hours). This option enables you to check escalations at
irregular intervals, for example, the 15th and 31st of every month or
weekdays at 10:00 a.m. and 2:00 p.m.

" To define an execution interval:


1 From the Execution section, select Interval.
2 In the Days, Hours, and Minutes fields, enter a time interval.

The server checks the escalation immediately, and then every interval of time
thereafter. For example, if you set the interval to 1 hour and 30 minutes, the
server will check the escalation as soon as you save it, then every 90 minutes
thereafter.
When the server is restarted, intervals start at that time.
570 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

" To define an execution time:


1 From the Execution section, select Time.

You can select any combination from the Day of Month, Weekdays, Hour of
Day, and Minute regions.

Figure 10-31: Time criteria in escalation window

For a valid time escalation setting, you must select from the following
categories:
!

Day of Month, Weekdays, or both

Hour of Day

For example, if you select 15 and 31 from the Day of Month calendar and
Fridays from the Weekdays list, the server checks the escalations on the 15th
and 31st and all Fridays during the month. If a Friday occurs on a 15th or
31st, the server checks the escalation only once.
To run an escalation every weekday, simply select all the days (except
Saturday and Sunday), and do not select a day in the Day of Month region.

Specifying escalation time criteria ! 571

Action Request System 6.3

2 In the Day of Month region, select the appropriate days of the month.
All

Selects every day of the month.

None

Clears every day of the month.

Note: Selecting 31 from the Day of Month calendar creates an escalation on


the last day of the month for all months.
3 In the Weekdays region, select the appropriate days of the week.
4 In the Hour of Day region, select the appropriate hours of the day.
5 To specify minutes past the hour, select the appropriate number of minutes

from the Minute list. (The default value is zero.)


It is best not to have multiple escalations set to run at the same time, so the
server load is balanced. For example, you can order escalations so that the
server checks one escalation on the hour, another at 15 minutes past the
hour, another at 30 minutes past the hour, and so on.
Note: There might be irregularities the first time escalations execute after
Daylight Saving Time (DST) transitions. For example, an escalation is
scheduled to run at 12:00 noon every Monday. On the first Monday after
clocks are set ahead, the escalation runs at 1:00 p.m. instead of at noon. On
the first Monday after the clocks are set back, it runs at 11:00 a.m. and
again at noon.

Workflow processing
When you create workflow, you should be aware that how workflow is
processed on the client-side (active links) or the server-side (filters) can
create unexpected interactions in your application. Pay special attention to
the following features in the processing of active links and filters:
!

Execution order (for both active links and filters)

Execute on conditions (for both active links and filters)

Phases in which filter actions are processed by the AR System server


(Not applicable to active links)

572 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Active link processing


Active link conditions have an order and relationship to one another as well
as to the client and server, as shown in the following figure.

Window Open

Set Defaults

Window Loaded
Display

User interaction
with form

User interaction
with request

Return
Menu/Row Choice
Button/Menu Item
Gain Focus
Lose Focus

Search
Submit
Modify

After Submit
After Modify

Un-Display

Interval

Event

Client requests
work from server

Results returned
from server

These execution conditions


are under specific user control
Time-based condition not dependent
on specific client-server interactions
An event can occur at any time

Window Close

Figure 10-32: Active link processing

Workflow processing ! 573

Action Request System 6.3

Note: The Interval and Execute active link conditions are not included in
Figure 10-32. Interval conditions are time-based and thus not dependent
on specific client-server interactions; events can be sent during any
change of application state.

How data is loaded into a form and available to be acted on often depends on
the window mode and how the user interacts with fields on the form. The
order in which active links are processed can help you determine which one
to specify. An example of an active link process using Window Open follows:
1 Use the Window Open condition to set field values when the values are

required for workflow processing before the request is actually displayed.


These values are used only as temporary data for validation purposes in
workflow. But when the window opens, the actual values displayed in these
fields will not be this temporary data, but the values specified by the user
preference settings.
2 Use the Display condition for any values you want the user to see when the

request is displayed.
3 Use the Window Open condition to prevent the window from opening and

generating an error message when the user does not have appropriate
permissions.
The way your active link executes can be affected by how users have set their
preferences on the web or their Remedy User Behavior options. Use caution
when using Set Fields or Push Fields actions triggered by Window Open that
rely on specific initial field values. For example, if your active link relies on
default field values appearing, it will not work if users set the option to clear
all fields on Window Open.
More than one active link (or filter) can execute on the same execution
condition, and the output of one can affect another. See the Concepts Guide
for more information.

574 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Filter processing in the AR System server


The AR System server processes filters in an execution order you specify. As
the AR System server considers actions in each filter, it categorizes those
actions into one of three phases. (See Filter phases on page 576.) In general,
actions are carried out such that database operations are deferred until after
all actions that modify the database have been performed. At that point, a
single database transaction is opened and all the database operations are
performed. This keeps transaction time and table and row locks in the
database to a minimum.
Some complex applications, however, require database operations to be
performed immediately. For example, an application might be used as a
subsystem of another application, where the results of the subsystems work
are needed immediately by the calling application. For more information, see
Overriding filter processing phasing on page 583.
Tip: You can combine the Filter, SQL, and API logs to see how AR System
interacts with the database and how the different phases interact with each
other, especially if you are creating complicated workflow. For more
information on combining log files, see the Optimizing and
Troubleshooting AR System guide.

Filter execution order


Execution order determines the order in which filters are fired. When you
create a filter, you assign it an execution order value. If one filter has a lower
execution order than another, the actions for the first filter will be executed
or queued before the actions for the second one.

Filter processing in the AR System server ! 575

Action Request System 6.3

Filter phases
Actions within filters are carried out in one of three phases. All phase 1
actions are carried out immediately. Phase 2 and phase 3 actions are queued
to be carried out later. See Filter processing example on page 578.
Using a phased approach to filter processing helps to make sure the following
occur:
!

Notifications are sent and that processes are run only after the database
operations are successful. If any database operation fails, all subsequent
actions are suppressed, and database changes are rolled back. So, the
system defers to a final phase the operations that should not run until
database transactions have been committed and there is no chance that a
rollback will occur.
For example, you might create a filter to notify Shipping that a purchase
order is ready to be fulfilled. If, during the filter processing, an error
occurs, the chain of events will be rolled back, and the transaction will not
be committed to the database. Without phases in filter processing,
Shipping would be notified, and the equipment would be sent, but no
record of the task would be committed to the database.

All data values are complete and available to the notification that is sent as
well as to Push Fields operations that create related records.

Obtaining a write lock (which is an exclusive lock) for a Push Fields


operation is delayed until the point at which a write is performed to the
main data table. This shortens the duration of the exclusive portion of the
transaction, and improves throughput.

Phase 1 actions
Phase 1 actions are always performed as soon as they can be and include the
following:
!

Call Guide

Exit Guide

GoTo

Go To Guide Label

Log to File

Message

Set Fields

576 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Phase 2 actions
Phase 2 actions are queued when they are encountered and performed after
all phase 1 actions from all filters fired. If a phase 2 action triggers more phase
1 actions, then those phase 1 actions are performed before the next phase 2
action. If a phase 2 action triggers more phase 2 actions, then they are added
to the end of the phase 2 queue.
Phase 2 actions include the following:
!

Push Fields

Direct SQL

Phase 3 actions
Phase 3 actions do not include any database interaction. All phase 3 actions
encountered are queued and performed after all phase 1 and phase 2 actions.
Phase 3 actions include the following:
!

Notify

Run Process

DSO

Phase 3 actions can fail and not affect the operations success.

Filter processing in the AR System server ! 577

Action Request System 6.3

How AR System processes filters


The following diagram illustrates how AR System processes filters.

Phase 1

Execute action

Is it phase 1, Phase 2
phase 2, or
phase 3?

Look at action

Filter fires

Phase 3

Yes
Is there
another
action?

Put action on
phase 2 queue

No

Put action on
phase 3 queue

Yes
Any
phase 2
actions?

Look at
phase 2 queue

Yes

Execute action

Does this
action fire
a filter?

No

Is there
another action
in the queue?

Yes

No

No
Any
phase 3
actions?

Look at
phase 3 queue

Yes
Execute action

Is there
another
action in the
queue?

No

Finished
processing

Yes

Figure 10-33: Filter processing

Filter processing example


Suppose we have form A, form B, and form C.
Form A has two filters, F1 and F2, that fire when form A is modified.
Filter F1 on form A has the following attributes:
!

Execution order 1

Set Fields action (A1)

Push Fields action (A2) to form B

Notify action (A3)

Another Set Fields action (A4)

Another Push Fields action (A5) to form C

578 "Chapter 10Automating application processes with workflow

No

Developing AR System Applications: Basic

Filter F2 on form A has the following attributes:


!

Execution order 2

Set Fields action (A6)

Notify action (A7)

Form B has a filter, F3, that fires when form B is modified. Filter F3 has the
following attributes:
!

Push Fields action (B1) to form C

Set Fields action (B2)

Notify action (B3)

Form C has no filters.

Filter processing in the AR System server ! 579

Action Request System 6.3

The following figure and steps illustrate the filter processing in the example.
Filter F1 fires
(form A)
Filter F3 fires
(form B)
A1

Begin processing
phase 1 actions

A2

to P2 queue

A3

to P3 queue

B1

Process P1 actions
for this form

B2

A4
A5

to P2 queue

B3
to P2 queue

Filter F2 fires
(form A)

to P3 queue

A5

Resume processing
P2 queue

B1

Last phase 2 action

A3

Begin processing
phase 3 actions

A7
A6
A7
A2

Last phase 1 action


for this form

B3

to P3 queue
Begin processing
phase 2 actions

triggers filter F3

Key
Phase 1 (P1) action
Phase 2 (P2) action
Phase 3 (P3) action
action executed

Figure 10-34: Filter processing example

580 "Chapter 10Automating application processes with workflow

Processing
Complete

Developing AR System Applications: Basic

Step 1 The server acts on the filters by execution order, and for each filter it

examines all of the actions to be performed. For filter F1, the server performs
action A1 immediately because it is a phase 1 action. It puts action A2 on the
phase 2 queue. It puts action A3 on the phase 3 queue. It then performs
action A4 because it is a phase 1 action. Finally, it puts action A5 on the phase
2 queue.
Step 2 The server then moves on to the second filter, F2. It performs A6 immediately

because it is a phase 1 action. It puts action A7 at the end of the phase 3 queue.
Step 3 Having performed all available phase 1 actions (A1, A4, and A6) the server

performs the first action on the phase 2 queue, A2.


Step 4 A2 modifies an entry on form B. Form Bs filter, F3, fires when the form is

modified. The server examines all of the actions to be performed by filter F3.
The server puts action B1 at the end of the phase 2 queue. It performs action
B2 immediately because it is a phase 1 action. It puts action B3 at the end of
the phase 3 queue.
Step 5 After performing B2, the server has no more phase 1 actions, so it performs

the next actions on the phase 2 queue, A5 and B1. Those actions do not cause
any filters to fire.
Step 6 After performing all actions on the phase 2 queue the database transaction is

committed. At this point, the operation will succeed.


The database transaction means the operation fails if any phase 1 or phase 2
action fails, because the DB transaction is rolled back. It also means that if all
phase 1 and phase 2 actions succeed, the operation succeeds even if a phase 3
action fails. So, in the example if one of the notifications could not be sent for
some reason, the modify operation would still have succeeded.
Step 7 The server then performs the actions on the phase 3 queueA3, A7, and B3.

Filter processing in the AR System server ! 581

Action Request System 6.3

The following table summarizes the phase to which each action belongs and
in what order each action was carried out.
Phase

Actions (in order of execution)

Phase 1

A1
A4
A6

Phase 2

A2 (fires filter F3)

Phase 1

B2 (from filter F3)

Phase 2

A5
B1

Phase 3

A3
A7
B3

If you receive an error anytime while the actions are running, all processing
stops, the database will roll back the changes, and you will receive an error
message.

Filter phasing exceptions


There are exceptions to the phasing process:
!

For get and delete actions, phase 1 and phase 3 actions occur together.

For get operations, there is generally no database change, so the actions


need not be phased. (Note that there might be database changes as the
result of Push Fields actions that the get operation triggers.)

For delete operations, you cannot defer actions because the delete action
removes the current record, so the record would be unavailable for the
actions later. The subsequent actions need to run when the data is still
present.

582 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

The following tables further describe when certain operations are processed.
Filter phasing for Create and Merge operations
1) Filters run (including Phase 1 actions).
2) Create operation. (An entry ID is created.)

Database transaction occurs.

3) Phase 2 actions occur.


4) Phase 3 actions occur.
Filter phasing for Set operations
1) Filters run (including Phase 1 actions).
2) Phase 2 actions occur.

Database transaction occurs.

3) Entry is modified in the database.


4) Phase 3 actions occur.
Filter phasing for Get operations
1) Data is retrieved from the database.
2) Filters run (including all Phase 1 and 3
actions).
3) Phase 2 actions occur.

Database transaction occurs.

Filter phasing for Delete operations


1) Filters run (including all Phase 1 and 3
actions).
2) Phase 2 actions occur.

Database transaction occurs.

3) Entry is deleted from the database.

Overriding filter processing phasing


Sometimes, processing filter actions in phases is limiting or inefficient. For
example, an application might be used as a subsystem of another application,
where the results of the subsystems work are needed immediately by the
calling application.
You can override phasing for Direct SQL, Notify, Run Process, and
Distributed Server Option actions. If you override Push Fields actions, the
actions take the intermediate values, but the database transaction is deferred.

Filter processing in the AR System server ! 583

Action Request System 6.3

Warning: Be very careful about how you use this feature. Improper use can
produce inconsistent, confusing, and potentially inaccurate results. It is
recommended that you avoid using this capability unless it is critical to
your functionality.

Remember, if you override the phases for a filter, Request IDs and create
dates are not available during a Create operation. Also, a modified date is not
available during a Create or Modify operation ($TIMESTAMP$ might be a
suitable workaround in these situations). Furthermore, if there is a failure in
the server, users might receive notifications for a request that does not really
exist.
Finally, the data values used during a given operation are the data values at
the point at which the action is performed. This data value might not be the
final value for some of the fields. The operation can be performed with
intermediate values instead of the final values that you might expect.
As an alternative, display-only fields are available, and they retain their values
throughout the transaction. If you need to have an intermediate value at a
later stage, storing it in a display-only field for later access is often the best
answer. You get all the advantages offered by filter-action phases with respect
to the transaction in progress and still retain the intermediate values.
The following sections discuss two methods for overriding filter processing
phasing:
!

Using special override naming convention

Releasing pending operations

Using special override naming convention


To override the phases for a specific filter, you can make a filter run in-line
(sequentially) by using a special naming convention in the filter name. When
you create or modify the filter, its name must end in a back quote character
[] followed by an exclamation point [!]. For example, a filter named
SendNotification that has a Notify action will perform the action in Phase 3.
However, a filter named SendNotification! that has a Notify action runs the
notification during Phase 1.

584 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Releasing pending operations


You can use the Application-Release-Pending run process command in a filter
or escalation to open a database transaction to perform operations as various
filter actions are performed instead of deferring the operations.
When you use the Application-Release-Pending command, any database
operations pending when the command is issued are sent to the database. For
example, assume you had a form A that had push field actions that pushed
values into other forms, B and C. When form A pushes field values to B and
C, it causes some database operations to be placed in a pending state. If, after
the push field actions, a Application-Release-Pending command was executed
from form A, the pending database operations representing changes to B and
C would be sent to the database immediately. Any subsequent processing
would then be able to use the changes to forms B and C.
Note: Because the Application-Release-Pending command is a run process
command, it is a phase 3 operation. If you want AR System to process this
command at some earlier point, you should name the filter that contains
the command according to the naming convention for overriding filter
phasing. See Using special override naming convention on page 584.

See Table of Run Process and $PROCESS$ commands on page 618 for
more information about the Application-Release-Pending command.

Filter processing in the AR System server ! 585

Action Request System 6.3

Error handling
The server reacts to error conditions in various ways, depending on what
operation you are running. In general, errors are handled according to where
you are within filter processing with regard to the database transaction:
!

If an error is encountered during filter processing, all processing


immediately stops, no further filters or actions will run, and an error is
returned back to the caller.

If the error occurs during a Phase 1 or 2 action but before the database
transaction is completed, the operation is cancelled, the database
transaction is rolled back, and no change is made to the database.

If an error occurs during Phase 3 actions, processing continues, and


changes are not rolled back. However, if you override filter processing so
that your Phase 3 actions will be processed before the database transaction,
errors will be handled according to the before-transaction-commit
rules. The error handling itself does not change, but using the override
causes actions that are normally deferred to take place before the database
transaction; therefore, any errors encountered will be handled as an error
before the transaction is complete and will terminate the transaction and
roll back.

To summarize, overriding phasing for a filter moves Phase 3 actions into


Phase 1 actions. Such actions take on the behavior of other Phase 1 actions
(that is, if an error occurs while processing the action, all subsequent filter
processing is halted, and any database changes are rolled back).

Tracing active link, filter, or escalation activity


You can create a log file of active link, filter, or escalation activity. This option
logs information about active link, filter, or escalation activity for each
operation, including what executed and whether execution was successful.
Active links are executed on the client, so logging is activated in Remedy
User. For information about activating active link logging, see Remedy User
Help.
Filters and escalations are executed on the server. For more information
about filter and escalation logs in Remedy Administrator, see the Optimizing
and Troubleshooting AR System guide.

586 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Note: Errors encountered during the execution of escalations are reported to


the arerror.log. If you have an escalation that fails consistently, a message
will be written to the log every time the escalation is run and fails.

Using buttons and menu bar items to execute active


links
You can set an active link to execute when a user clicks a button in a form or
chooses a menu item from a top-level menu. (The active link can be a button
or a menu item, but not both.) If an active link is executed when a user
chooses a menu item, you can also execute the same active link through a
corresponding toolbar button.
Menu items for executing active links

Toolbar buttons
for executing
active links

Buttons in form
for executing
active links

Figure 10-35: Form with active link buttons and menu bar items

Using buttons and menu bar items to execute active links ! 587

Action Request System 6.3

Buttons and menu items are fields in AR System; you can use them in
workflow as in any other field. For example, an active link can show, hide,
enable, or disable buttons and menu items. Because these fields do not have
data behind them and they are used to control workflow, they are called
control fields.
You can associate more than one active link with a button or menu item
(Figure 10-36 on page 588). A good use of this capability is to define active
links that execute based on current conditions, such as the platform on which
the tool is running. For example, you can define an active link to execute only
if the tool is running on a PC.
You could then associate another active link with the same field, this time
defining the active link so that it executes only if the web client is running.
Users on either platform can then perform the same action to execute the
appropriate active link for their platform.

Active Link 1

Active Link 2
Linked to

Control Field

Displayed as

Button

or

Menu Item

Toolbar Button
(optional)

Figure 10-36: Active links as buttons or menu items

588 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

You can create an active link and then add its button or menu item, or you
can add the button and menu item first and then create the active link.
To add a button to a form, see Trim fields on page 236.

Active links as menu items


In each form, you can add menus and menu items to the Remedy User menu
bar. Each menu can have menu items, submenus, and menu separators. Only
menu items can be connected to active links.
" To add a new menu or menu item:
1 Open the form with which you want to work.
2 Choose Form > Edit Menu Bar.

The Edit Menu Bar dialog box appears, as shown in the following figure.

Figure 10-37: Edit menu bar dialog box

3 To add a menu, menu item, or separator entry, click Add Menu, Add Menu

Item, or Add Separator.


This new entry appears in the Menu Bar Layout list. The exact location of the
new entry is determined by the selection when you clicked the button.
!

Adding a separator produces a separator at the same level as the current


selection.

Using buttons and menu bar items to execute active links ! 589

Action Request System 6.3


!

Adding an entry when you have a menu selected produces a subordinate


entry, unless the menu item is closed, as indicated by a plus symbol (+).

Adding an entry when you have a closed menu (+), or a menu item selected
produces a new entry at the same level as the selection.

The new entry becomes active. Non-separator entries contain the default text
New Menu, which you can replace with an appropriate label. The maximum
length is 80 characters.
4 To add more menus, menu items, or separators, repeat step 3.
5 To designate one character of the menu or the menu item as an accelerator

key, enter a single ampersand (&) before the character in each menu or menu
item. For example, if you want to create a menu labelled AR &System, the letter
S is underlined in the menu to indicate that it is an accelerator key for that
item.
When creating accelerator keys, make sure that you do not choose a letter
that is used by other menus on the menu bar. Do not duplicate the choices
for menu items in your menu.
To use the accelerator keys with a toolbar menu, users need to press
Alt+<underlined_menu_letter>+<underlined_menu_item_letter>.
You can also perform the following actions:
!

To modify a menu or a menu item, select the appropriate entry in the


Menu Bar Layout list, and then edit the text in the Label field.

To expand or contract all menu hierarchies, click Open All or click


Close All.
These buttons control your view of the menu definition, not how the
menu appears in Remedy User.

To delete a menu, menu item, or separator, select the appropriate entry in


the Menu Bar Layout list, and then click Delete.
Child menu entries are deleted when you delete the parent menu entry.

To change the order of the menu items, see Changing the order of menu
items and toolbar buttons on page 593.

6 In the Menu Item Help field, enter text that explains the function of the

menu item.
You must select a menu item to enable the Menu Item Help field. The text
appears on the status bar in Remedy User.

590 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

7 Select or clear the Hide and Enable check boxes to specify the initial state of

the selected menu entry.


Hide

If the check box is:


!
!

Enable

SelectedThe menu entry cannot be seen in the users view.


Cleared (the default)The menu entry can be seen in the users
view.

If the check box is:


!
!

Selected (the default)The menu entry is active.


ClearedThe menu entry is inactive.

Workflow can change either setting to either state.


8 To add a toolbar button for a menu item:
a Select the Has Toolbar Item check box, and then click Change Bitmap.

The Choose an image file dialog box appears.


b Select a .bmp file for the toolbar button.

The only image size supported is 16 pixels wide by 16 pixels high.


c Click OK.
9 Click Save to Disk to save the image to another area on the network.
10 In the Tooltip field, enter tool tip text.

This text appears in Remedy User when the user holds the cursor over the
toolbar button.
11 To add a toolbar button to a separator, select the appropriate separator from

the Menu Bar Layout list, and select the Has Toolbar Item check box.
The toolbar separator in Remedy User is platform-dependent, but it is
usually a line or extra space.

Using buttons and menu bar items to execute active links ! 591

Action Request System 6.3

12 To control how the toolbar will appear in Remedy User, click Toolbar Layout

to open the Toolbar Layout dialog box.

Figure 10-38: Toolbar layout dialog box

13 To change the position of a toolbar button relative to the other buttons, select

the button in the Toolbar Layout list, and then click the up and down Move
arrows.
If you do not perform this step, the toolbar buttons will appear in no
particular order.
14 Click OK.
15 To set the remaining menu entry properties, click the Database, Permissions,

Change History, Help Text, and Active Link(s) tabs.


The procedures for these tabs are the same as for buttons and are discussed
in the following sections:
!

Database properties on page 253

Permissions properties on page 259

Change History properties on page 263

Help Text properties on page 262

Adding an active link to a button on page 322

592 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

Changing the order of menu items and toolbar buttons


After you have created menus and toolbar buttons, you can change the order
in which they appear in Remedy User by using the following procedures.
" To change the order of menu items:
1 Choose Form > Edit Menu Bar.
2 Click the Menu Bar Layout tab.
3 Select the appropriate top-level menu, submenu, menu item, or

menu separator.
4 To change the order of the menu items in the Menu Bar Layout list, right-

click the item that you want to move, drag it up or down in the menu
hierarchy, and then release the mouse button. A menu appears with the
following options:
!

Move After

Move Before

Move As Child

Copy After

Copy Before

Copy As Child

Cancel

Note: Different context menu options appear if you simply select the item
without dragging it up or down in the menu hierarchy.

You then can place the item in the menu hierarchy on the same level or on a
different level.
5 Repeat steps 3 and 4 until the items are in the correct order.
6 Save your changes.
" To change the order of toolbar buttons or separators:
1 Choose Form > Edit Menu Bar.
2 Click the Toolbar Layout button.
3 Select the appropriate toolbar button or separator.
4 Click the up and down Move arrows to move the toolbar button or separator.
5 Repeat steps 3 and 4 until the items are in the correct order.
6 Click OK in the Toolbar Layout dialog box.
Using buttons and menu bar items to execute active links ! 593

Action Request System 6.3

7 Click OK in the Edit Menu Bar dialog box.


8 Save your changes.

Associating active links with buttons and menu items


The Active Links tab of the Button Properties window (Figure 10-39 on
page 595) enables you to choose which active links will be executed with the
button or menu item.
For active links that execute when the user selects a button or menu item, the
user must belong to a group with permission for the active link and for the
button or menu item.
!

If a user has access to all active links associated with a button or menu
item, but not to the button or menu item itself, the button or menu item
will not be displayed in the form.

If the user has access to the button or menu item, but not to any of its
active links, choosing the button or menu item will not execute the active
link.

For more information about setting button permissions, see Permissions


properties on page 259.
Note: You can change how an active link is displayed in a form view by using
the Fields In View dialog box, described in Including and excluding fields
from form views on page 423.
" To associate active links with buttons and menu items:
1 Open the form with which you want to work.
2 Complete one of the following actions:
!

For a button, open the button properties.

For a menu item, choose Form > Edit Menu Bar, and then select the menu
item.

594 "Chapter 10Automating application processes with workflow

Developing AR System Applications: Basic

3 Click the Active Links tab.

Figure 10-39: Button Properties windowActive Link(s) tab

4 From the list below Active Links on Current Form, select a display option.
All Active Links

Displays all of the active links in the specified form.

Available Active
Links

Displays only those active links in the specified form that are
not assigned to a button or menu item. (Default)

The active links appear with their execution order number in parentheses,
followed by the active link name, followed by (if applicable) the field name of
the button or menu item to which the active link is connected.
5 To add an active link to a button or menu item, select the active link from the

Active Links on Current Form list, and then click Add.


If the active link is already associated with another button or menu item, you
can break the previous connection and add the new one.
6 To remove an active link from a button or menu item, select the appropriate

active link from the Selected Active Links list, and then click Remove.

Using buttons and menu bar items to execute active links ! 595

Action Request System 6.3

Deleting buttons and menu items


Buttons and menu items that are deleted from a form are deleted from the
database.
" To delete a button:
1 Open the form.
2 Select the button, and then choose Edit > Delete.
3 Save the form.
" To delete a menu item:
1 Open the form.
2 Choose Form > Edit Menu Bar.
3 Select the item, and click Delete.
4 Click OK to save your changes and close the dialog box.
5 Save the form.
" To delete a toolbar button:
1 Open the form.
2 Choose Form > Edit Menu Bar.
3 Select the menu item from which you want to delete a toolbar button.
4 Clear the Has Toolbar Item check box.
5 Click OK to save your changes and close the dialog box.
6 Save the form.

596 "Chapter 10Automating application processes with workflow

Appendix

Core and reserved fields

This section describes the AR System core and reserved fields and their uses.
It includes the following sections:
!
!
!

Understanding core and reserved fields (page 598)


Core fields (page 598)
Reserved fields (page 602)

Core and reserved fields ! 597

Action Request System 6.3

Understanding core and reserved fields


Core and reserved fields are key elements that enable you to create AR System
business solutions. Customization is vital, but the forms created for resolving
action requests should have a set of common concepts and information
needs.
AR System core fields are a set of fields that every regular form must have.
You can include these fields in other forms; if present, the fields follow the
same rules and have the same meanings. The commonality gained by such a
convention is useful for conceptual consistency, sharing definitions, and
exchanging and merging databases.
Additional limits are placed on the core fields, including the fact that some
fields are required, others are maintained by the system, and others have
fixed or maximum sizes.
AR System reserved fields are special-purpose data fields. Some of these
fields are used in the User or Group forms. Others are used for assignee group
access, the Distributed Server Option, web applications, or localization. You
can use the reserved fields in your forms. When these fields are used in your
forms, they retain the special meaning and use as defined in this section.

Core fields
Core fields generally appear on every regular form to ensure that all forms
share a common set of concepts. AR System automatically includes core
fields on all regular forms. Because display-only forms and joins do not
directly store data in the database, core fields are not required for these types
of forms. Core fields are also not required for view and vendor forms because
they map to external data sources, which might not have these fields.
Core fields help provide consistency when merging and sharing data. Core
fields significantly aid in the construction of solutions based on AR System.
You cannot delete core fields from regular forms although you can modify
their appearance by altering labels, adding or changing menus, altering the
display type, altering their location, or hiding them from view.

598 "Appendix ACore and reserved fields

Developing AR System Applications: Basic

The following table lists the AR System core fields.


ID

Field Name

Description

Request ID

A unique identification value for each request in the


system. Groups that have neither Change nor View
access to the Request ID field will not have access to any
other form information, regardless of the permission
settings of the other fields.
Data Type: Character
Length: 515
For join forms, there is no limit to the number of layers
of joins that AR System supports, so the Request ID field
of a join form will contain more than 15 characters. See
Joining three or more forms on page 185 for more
information.
Note: Do not change the QBE Match setting to Equal for

the Request ID field. Because AR System adds a prefix


and a series of zeros to Request IDs before it begins a
search, users will not be able to run valid QBE searches
against Request ID numbers if you set the QBE Match
setting to Equal or Leading.
2

Submitter

The name of the AR System user who was logged in and


submitted the request. This field is tied to the Submitter
group when defining row-level security. For more
information, see Controlling access by using implicit
groupsRow-level security on page 103.
Submitter is a required field.
Data Type: Character
Length: 30

Create Date

The date and time at which the request was created in the
system. The AR System server sets this field, and it
cannot be modified.
Data Type: Timestamp

Core fields ! 599

Action Request System 6.3

ID

Field Name

Description

Assigned To

The user who has been assigned responsibility for the


request. This field is tied to the Assignee group when
defining row-level security. For more information, see
Controlling access by using implicit groupsRowlevel security on page 103.
Data Type: Character
Length: 30

Last Modified
By

The name of the user who last altered the request.


AR System sets this field to the login name of the user
who last changed the request. It cannot be modified.
Data Type: Character
Length: 30

Modified Date

The date the field was last modified. The AR System


server sets this field to the time the last change to this
request was made. It cannot be modified.
Data Type: Timestamp

Status

Indicates the current state of the request. Users have


control over this field. It must have a value at all times;
there must be a default value in the event that the user
does not specify a value when the request is created. The
actual names and values of the status field can be
customized.
Status is a required field.
Data Type: Selection

Short
Description

A brief description of the request. A size limit forces the


submitter to be concise.
Short Description is a required field.
Data Type: Character
Maximum Length: 254

15

Status History

The user who last made a change, and the time the
change was made to each of the states identified by the
Status field. AR System sets and maintains this field, and
it cannot be modified.
Data Type: Character

600 "Appendix ACore and reserved fields

Developing AR System Applications: Basic

Core field characteristics


The following core fields have special characteristics that you should consider
when defining a new form.

Request ID field
AR System uses the Request ID field (Field ID 1) to provide a unique
identification value for each request entering the system. It is created and
maintained by the system; however, it is possible to attach a string to the
value for descriptive purposes.
To improve the usability of the Request ID field, you can add a prefix to the
field to make it more descriptive to your users. For example, in a distributed
server environment where you are transferring tickets from Los Angeles to
Chicago, you could have the system add the prefix LA to tickets generated
from the server in Los Angeles, and CHI for tickets from Chicago. For more
information on changing the Request ID field length, see the Database
Reference Guide.
The Request ID field is fundamental to access control in AR System. Without
access to this field, users have no access to the request, even if they belong to
groups with access to other fields on the form. Groups that have neither
Change nor View access to the Request ID field will not have access to any
other form information, regardless of the permission settings of the other
fields. For more information, see Using the Request ID field with implicit
groups on page 104.

Submitter field
The Submitter field (Field ID 2) defines which user created a request. Users
who create a request are automatically assigned membership to the
Submitter group. For more information on the role of the Submitter group
in AR System, including the ability to change the contents of this field, see
Reserved groups in AR System on page 84.

Short Description field


The Short Description field (Field ID 8) provides a common place for users
to summarize a request. By default, the Short Description field contents
appear in the results pane of a form whenever a search is performed.

Core fields ! 601

Action Request System 6.3

You might want to include a menu of possible problem and request types for
the Short Description field to make request submissions easier and reporting
more efficient. For more information, see Chapter 7, Defining menus.

Status field
The Status field (Field ID 7) enables you to track the different states a request
moves through in its life cycle. The meaning of each individual state helps
define the workflow process and you can define any number of states. In
addition to keeping track of each state of a request, AR System keeps
additional information with the Status field called status history. Status
history includes the user name of the person who last changed the state of the
request and the date and time that the change occurred.
Define states carefully. The Status field is the key field that represents the
problem resolution process. The states must capture the important steps in
the process, although not all states might be used during the life cycle of a
single request. A good process is often represented by four or five states.
It is difficult to modify the Status field choices after users have begun to use
the form, because the data for a selection field is stored in the database as an
integer that relates to the order of the choices. See the note in Creating
selection fields on page 274 for more information.

Assigned To field
The Assigned To field (Field ID 4) enables ownership of each request to be
tracked. If requests are designed to pass ownership from one user to another,
create workflow that uses the Assigned To field. Users who are assigned
ownership to a request are automatically assigned membership in the
Assignee group. For more information about the role of the Assignee group
in AR System, see Reserved groups in AR System on page 84.

Reserved fields
AR System contains fields that are reserved for system use. If you create fields
with these IDs, certain actions will automatically take place. This section lists
the ranges of reserved fields and a description of the fields.

602 "Appendix ACore and reserved fields

Developing AR System Applications: Basic

Reserved field ranges


AR System has special ranges of field IDs. Numbers 199 are reserved for core
fields. Numbers 100536870911 are reserved for registered fields. The
following table displays reserved field ranges that forms and applications use
in AR System.
ID Range

Type of Fields, Forms, or Applications That Use the


Field IDs

199

Core fields

101149

Access control fields

150159

AR System Message Catalog

200399

Distributed Server Option forms

600650

Business Time forms

700750

Alert forms

800810

Server Events form

900999

Server Statistics form

10001100

Form Action fields

11011399

Application Statistics forms

1500-1525

Currency forms

17001799

Roles form

20002299

Application States

1000014999

Approval Server Option

1500015999

Enterprise Integration Engine

1700017399

Reporting forms

2000039999

Preference forms

4000040499

Flashboards

6000060999

Dynamic group fields

10000001999999

Global fields

30000003999999

Window-scoped global fields

Reserved fields ! 603

Action Request System 6.3

Reserved IDs used as placeholders in definitions


Many workflow definitions reference field IDs. In several places, a special
reserved ID is used to request a special operation. These fields are described
in the following table.
ID

Field Name

Description

97

Set to Defaults

Used in Open Windows action to indicate that fields


on the opened form should be set to their default
settings.
Data Type: Not applicable

98

Like ID

Used in Push Fields and Set Fields actions to indicate


mapping of like IDs.
Data Type: Character

99

Weight

Number between 1 and100 indicating the quality of a


match. The closer to 100, the better the match.
Data Type: Integer

1576

AppSubset

Used to display a subset of entry points. This field is


hidden on the default Home Page form installed with
the AR System. Create this field as necessary on your
own Home Page form.
Data Type: Character

Reserved fields in access control


The User, Group, and Roles forms contain the reserved fields shown in the
following table. These fields are involved in access control.

604 "Appendix ACore and reserved fields

Developing AR System Applications: Basic

The table lists the form on which the field is defined, but you can add these
fields to any form by creating the field and specifying its reserved ID. See
Chapter 3, Defining access control, for more information about access
control.
ID

Field Name

Form

Description

101

Login Name

User

The name the user enters in the User


Name field of the Login dialog box when
logging in to the system.
Data Type: Character
Length: 30

102

Password

User

The password that the user enters when


logging in to the system.
When a user enters information into this
field, the text appears as asterisks (*).
If you used AR System version prior to 6.0
to create workflow involving a Password
field (ID 102), the workflow might not
function in AR System versions 6.0 and
later. Version 6.0 included enhanced
encryption and tighter security controls.
To work around this issue, use the

Application-Confirm-Password
$PROCESS$ command. For more
information on this command, see page
page 619.
Data Type: Character
Length: 30
103

Email Address

User

The email address of the user.


Data Type: Character
Maximum Length: 255

104

Group List

User

The list of access control groups to which


the user belongs. Group names are
separated by spaces. Although you make
entries to the Group list by using the alias
(name for a group), the group IDs are
stored as integer values separated by
semicolons.

Reserved fields ! 605

Action Request System 6.3

ID

Field Name

Form

Description
Data Type: Character
Maximum Length: 4000

105

Group Name

Group

The alias by which the access control


group is known. This is the name used in
the Group list field of the User form and in
the Group Permissions list of each form
field.
Data Type: Character
Length: 30

106

Group ID

Group

The ID of the group named in the Group


name field. This ID should be greater than
10 for groups that you create.
Data Type: Integer
Range: 0100 (can be expanded)

107

Group Type

Group

The maximum permission type intended


for the group named in the Group name
field.
Data Type: Selection (None, View,
Change)

108

Default
Notification
Mechanism

User

The notification method used if the user


specifies the default mechanism.
Data Type: Selection (None, Alert, Email)

109

License Type

User

The type of license that the user has.


Data Type: Selection (Read, Fixed,
Floating)

112

Assignee Group Any

The groups or users assigned


responsibility for the request. This field is
tied to the Assignee Group group when
defining row-level security. For more
information, see Controlling access by
using implicit groupsRow-level
security on page 103.
Data Type: Character
Maximum Length: 255

606 "Appendix ACore and reserved fields

Developing AR System Applications: Basic

ID

Field Name

Form

Description

115

Write License
Pool

User

The license pool from which floating write


licenses are taken.
Data Type: Character
Maximum Length: 30

117

Authentication
Login Name

User

This field is used for external


authentication under certain conditions.
For more information, see the Configuring
AR System guide.
Data Type: Character
Maximum Length: 30

118

Authentication
String

User

This field is used for external


authentication under certain conditions.
For more information, see the Configuring
AR System guide.
Data Type: Character
Maximum Length: 255

119

Computed
Group List

User

After a search, displays the computed


groups the user is associated with.
Data Type: Character
Maximum Length: 255

120

Group Category Group

The group category, such as Regular,


Dynamic, or Computed.
Data Type: Selection

121

Computed
Group
Definition

Group

Boolean statement that defines a


computed group. For more information,
see Creating and managing groups on
page 113.
Data Type: Character

122

Application
License

User

For users of licensed applications, the


name of the application and the type of
license. For more information, see the
Developing AR System Applications:
Advanced guide.
Data Type: Character

Reserved fields ! 607

Action Request System 6.3

ID

Field Name

Form

Description

179

Unique
Identifier

User and This field is used internally by applications


Group
installed on top of AR System. It replaces
field ID 490000000 (Instance ID) in
version 6.x. See your product
documentation for more information.
Data Type: Character
Maximum Length: 38

1700

Application
Name

Roles

Name of the application for which the role


is defined.
Data Type: Character
Maximum Length: 250

1701

Role Name

Roles

Name by which the role is known.


Data Type: Character
Maximum Length: 255

1702

Role ID

Roles

Integer ID that is the recognized identity of


the role. The ID must be a negative
number, such as -10001.
Data Type: Integer

2001

Test

Roles

The regular or computed group to which


you want to map the role for the Test
application state.
Data Type: Character
Maximum Length: 255

2002

Production

Roles

The regular or computed group to which


you want to map the role for the
Production application state.
Data Type: Character
Maximum Length: 255

60000
60999

Dynamic groups Any

The roles, groups, or users assigned


responsibility for the request. This field is
tied to a dynamic group when defining
row-level security. For more information,
see Dynamic group access on page 104.
Data Type: Character
Maximum Length: 255

608 "Appendix ACore and reserved fields

Developing AR System Applications: Basic

ID

Field Name

4900000 Instance ID
00

Form

Description

User and Replaced by field ID 179 (Unique


Group
Identifier) in version 6.x. This field is used
internally by applications installed on top
of AR System. See your product
documentation for more information.
Data Type: Character
Maximum Length: 38

4900001 Object ID
00

User and This field is used internally by applications


Group
installed on top of AR System. See your
product documentation for more
information.
Data Type: Character
Maximum Length: 38

Localization reserved field


The following reserved field is used for localization.
ID

Field Name

Description

160

Locale

Add this field to a form to localize search menus. The


system uses this field to search for requests matching
the users locale. For more information, see the
Developing AR System Applications: Advanced guide.
Data Type: Character
Length: 255

Reserved fields ! 609

Action Request System 6.3

DSO reserved fields


The Distributed Server Option can add one or more of the reserved fields
shown in the following table.
ID

Field Name

Description

300

To Mapping

The name of the mapping to use when transferring


the request.
Data Type: Character
Length: 254

301

Transfer Status

The status of a distributed server transfer operation.


Data Type: Selection (Success, Retry, Failure,
Timeout, Canceled)

302

Update Status

The status of a distributed server update operation.


Data Type: Selection (Success, Waiting, Retry,
Failure, Timeout, Canceled)

303

Master Flag

A flag indicating whether the request is the master.


Data Type: Selection (No, Yes)

304

Current Form

The form in which the master copy of the request


resides.
Data Type: Character
Length: 254

305

Current Server

The server on which the form with the master copy


of the request resides.
Data Type: Character
Maximum Length: 64

306

From Mapping

The name of the mapping used to transfer this


request.
Data Type: Character
Length: 254

307

From Entry ID

The ID of the request from which this copy was


transferred.
Data Type: Character
Length: 15

610 "Appendix ACore and reserved fields

Developing AR System Applications: Basic

ID

Field Name

308

To Entry ID

Description
The ID of the transferred request.
Data Type: Character
Length: 15

309

Mapping History

Transfer history informationthe date and time of


transfer, source request ID, source form, source
server, and the name of the specific mapping used
(created at transfer time).
Data Type: Character
Length: Unlimited

310

From Form

The form from which this request was transferred.


Data Type: Character
Length: 254

311

From Server

The server from which this request was transferred.


Data Type: Character
Length: 64

312

To Form

The form to which the request should be transferred.


Data Type: Character
Length: 254

313

To Server

The server to which the request should be


transferred.
Data Type: Character
Length: 64

314

When to Update

The frequency with which to update the original


request if a transferred copy is updated.
Data Type: Selection (Immediately, Hourly, Daily,
On Return, No Update)

315

Transfer Mode

The type of transfer to perform.


Data Type: Selection (Data Only, Data+Ownership,
Independent Copy, Copy+Delete)

316

Duplicate Entry ID
Action

The action to take if you transfer a request and a


request with the same ID already exists in the form
listed in the To Form field.
Data Type: Selection (Error, Overwrite, Create New)

Reserved fields ! 611

Action Request System 6.3

ID

Field Name

Description

317

Max Time to Retry

The maximum time (in seconds) that the system


should retry a distributed operation before canceling
the operation.
Data Type: Integer

318

From Pool

DSO pool that was used to transfer the entry.


Data Type: Character
Length: 254

319

Pattern Match

Flag indicating whether to enforce field pattern


matching when the entry is transferred or merged.
Date Type: Selection (No, Yes)

320

Required Fields

Flag indicating whether to enforce required fields. If


a required field is empty, this enables you to transfer
an entry with a NULL value.
Date Type: Selection (No, Yes)

Form action reserved fields


The following fields are used in web applications to help users perform
actions. For more information about form action fields, see Working with
form action fields for the web on page 437.
ID

Field Name

Description

706

Alert List

Displays the alert list.


Data Type: Table

1001

Submit

Performs a save operation in New mode to create a


record.
Data Type: Button

1002

Search

Performs a search operation.


Data Type: Button

1003

Modify

Performs a save operation in Modify mode to save a


record.
Data Type: Button

612 "Appendix ACore and reserved fields

Developing AR System Applications: Basic

ID

Field Name

Description

1004

Modify All

Performs a save operation in Modify mode to save all


selected records.
Data Type: Button

1005

Query Bar

Contains the contents of the Advanced Search Bar.


Data Type: Character
Length: Unlimited

1006

Clear

Clears all data in fields on the screen.


Data Type: Button

1007

Set to Default

Sets the form to the default settings.


Data Type: Button

1008

Help

Opens help for the form.


Data Type: Button

1009

New Search

Changes the form to search mode.


Data Type: Button

1010

New Request

Changes the form to create mode.


Data Type: Button

1011

Show Status
History

Displays the progress that has been made on an


AR System request.
Data Type: Button

1012

Home

Displays the form you have configured as your Home


Page.
Data Type: Button

1020

Results List

Displays results of a search.


Data Type: Button

Reserved fields ! 613

Action Request System 6.3

614 "Appendix ACore and reserved fields

Appendix

Workflow extras

In addition to the topics discussed in Chapter 10, Automating application


processes with workflow, this section describes more workflow capabilities
you can use in AR System. The section includes the following topics:
!
!
!
!
!

Special Run Process and $PROCESS$ commands (page 616)


Sending events between windows (page 630)
Additional ways to use the Set Fields workflow action (page 636)
Using workflow to walk a table field (page 659)
Converting existing macros to active links (page 662)

Workflow extras ! 615

Action Request System 6.3

Special Run Process and $PROCESS$ commands


Through the Run Process workflow action or by using $PROCESS$ in a Set
Fields and Push Fields workflow action, you can run separate processes in
AR System. In general, these actions are used to perform operations in
support of your application.
Table of Run Process and $PROCESS$ commands on page 618 lists the
available Run Process and $PROCESS$ special commands. For examples, see
the following section, Run Process and $PROCESS$ syntax, and Sending
events between windows on page 630.
These commands look and act like a process from the perspective of the
workflow definition, but they do not actually cause the system to run a
process. Instead, the server traps these special process names and performs
the operations directly.
Some commands are available only in the Run Process action, and others are
available only for $PROCESS$ in Set Fields and Push Fields actions. Some are
available in all workflow, and others are available in active links only. Any
action that is identified as being available in filters can be run only from an
active link using the Run Process on the server syntax to direct the
command to be run on the server. The commands are really available on the
server, not to filters. For more information, see Assigning values from
process results on page 656.

Run Process and $PROCESS$ syntax


When using these commands, remember that they are case-sensitive. You
must specify the commands exactly as they are listed, including
capitalization. If incorrect capitalization is used, AR System will attempt to
run an external process with the given name.
All of the commands in this section also follow the characteristics of a process
run from the command line. This means that each parameter needs to be
gathered as a single argument on the command line:
!

If a parameter includes a space or a special character, you must put


quotation marks around the value. Also surround any keywords with
quotation marks in case the substituted value contains spaces or special
characters.

616 "Appendix BWorkflow extras

Developing AR System Applications: Basic


!

If a value contains one or more quotation marks, you must double the
quotation marks and put quotation marks around the entire value.
Quotation marks are a special character.

For example, you enter the following values as shown:


Value

Syntax

AR System

AR System

AR System User

AR System User

$SCHEMA$

$SCHEMA$

Syntax exceptionSpecial commands with qualifications


Any arguments before the final argument follow the rules described in the
previous section.
These rules do not apply for the final argument of certain commands where
the final argument is a qualification or a substitution string. These
commands include the Application-Parse-xxx, Application-Format-xxx, and
Application-Query-Delete-Entry commands. For the final argument, no
formatting is enforced.
For example, if you run the Application-Query-Delete-Entry command for the
form ABC DEF and the qualification is 'User Name' = "Fred", you would
specify:
Application-Query-Delete-Entry "ABC DEF" 'User Name' = "Fred"
The form name parameter is quoted to keep it as a single argument.
However, for the final argument (the qualification), there are no
surrounding quotation marks, and there are no double quotation marks.

Special Run Process and $PROCESS$ commands ! 617

Action Request System 6.3

Table of Run Process and $PROCESS$ commands


The following table lists all the available Run Process and $PROCESS$ special
commands in alphabetical order with columns that detail where the
command can be run and its description.
AL1 F/E2 Command and Description

"

Application-Bus-Time-Add <start_time> [<offset> [<offset_units>


[<holiday_schedule_name> [<workday_schedule_name>]]]]

RP3 $4

"

Returns a new time that is the requested offset into the future, taking
business hours into account.
Offset defaults to 1 hour. Offset unit values are:
1Seconds
! 2Minutes
! 3Hours
! 4Days
For more information, see the Developing AR System Applications:
Advanced guide.
!

"

Application-Bus-Time-Diff <start_time> <end_time>


[<holiday_schedule_name> [<workday_schedule_name>]]

"

Returns an integer that represents the number of seconds between the


start and stop time, taking business hours into account.
For more information, see the Developing AR System Applications:
Advanced guide.

"

Application-Bus-Time-Subtract <start_time> [<offset> [<offset_units>


[<holiday_schedule_name> [<workday_schedule_name>]]]]
Returns a new time that is the requested offset into the past, taking
business hours into account.
Offset defaults to 1 hour. Offset unit values are:
1Seconds
! 2Minutes
! 3Hours
! 4Days
For more information, see the Developing AR System Applications:
Advanced guide.
!

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

618 "Appendix BWorkflow extras

"

Web5

Developing AR System Applications: Basic

AL1 F/E2 Command and Description

"

Application-Confirm-Group <group_ID>
Validates if the current user is a member of the specified group. Returns
one of the following integers:
!
!

"

RP3 $4

Web5

"

1Indicates that the user is a member of the group.


0Indicates that the user is not a member of the group, or that the
group ID specified does not correspond to a valid group.

Application-Confirm-Password <password>
Validates if the password is the password for the current user. For
<password>, you can use a reference to field 102, which is the password
field. Returns ARERR 4549 or no error:

"

No errorIndicates success of the password confirmation, with a


returned value of NULL.
! ARERR 4549Indicates failure of the password confirmation.
If you used AR System version prior to 6.0 to create workflow involving a
Password field (ID 102), the workflow might not function in AR System
versions 6.0 and later. Version 6.0 included enhanced encryption and
tighter security controls. To work around this issue, use the ApplicationConfirm-Password $PROCESS$ command. For more information about
the Password field, see Reserved fields in access control on page 604.
!

"

Application-Copy-Field-Value <target_field_ID> <source_field_ID>


Copies a field on the current form to another field on the current form.
Returns one of the following integers:
!
!

" "

"

1Indicates that the assignment occurred.


0Indicates that the assignment failed.

Application-Delete-Entry <form_name> <entry_ID>


Deletes the specified entry.

" "

For example, to delete the entry on the current form with the entry ID
found in the core field 1 (Request ID), enter:
Application-Delete-Entry "$SCHEMA$"
1

$1$

AL = Active Links F/E = Filters and Escalations RP = Run Process $ = $PROCESS$ 5Web = Supported by web clients

Special Run Process and $PROCESS$ commands ! 619

Action Request System 6.3

AL1 F/E2 Command and Description

"

Application-Event <event_number>
Initiates a server event. Event numbers are:
!
!

RP3 $4

"

1Read the configuration file into ARServer memory.


2Read the group information and definitions from database into

ARServer memory.
3Read the license file into ARServer memory.
! 6Read the user information and definitions from database into
ARServer memory.
For more information about server events and the Server Events form, see
the Developing AR System Applications: Advanced guide.
!

"

Application-Format-Qual <form> <VUI> <internal_qualifier>


Converts an internal representation of a qualifier into a qualification
string from the indicated VUI.

"

See Syntax exceptionSpecial commands with qualifications on


page 617.

"

Application-Format-Qual-Filter <form> <internal_qualifier>


Converts an internal representation of a qualifier from a filter Run If into
a qualification string.

"

See Syntax exceptionSpecial commands with qualifications on


page 617.

"

Application-Format-Qual-ID <form> <internal_qualifier>


Converts an internal representation of a qualifier into a qualification
string using ID format.

"

See Syntax exceptionSpecial commands with qualifications on


page 617.

"

Application-Format-Qual-L <form> <internal_qualifier>


Converts an internal representation of a qualifier into a qualification
string using labels.

"

See Syntax exceptionSpecial commands with qualifications on


page 617.

"

Application-Format-Qual-SField <form1> <form2> <internal_qualifier>


Converts an internal representation of a qualifier from a Set Fields or
Push Fields filter action into a qualification string.
See Syntax exceptionSpecial commands with qualifications on
page 617.

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

620 "Appendix BWorkflow extras

"

Web5

Developing AR System Applications: Basic

AL1 F/E2 Command and Description

"

RP3 $4

Application-Format-Val-SField <form1> <field> <form2>


<internal_assignment>

Web5

"

Converts an internal representation of a Set Fields or Push Fields


assignment into an assignment statement.
See Syntax exceptionSpecial commands with qualifications on
page 617.

"

Application-Generate-GUID [<GUID prefix>]

"

Application-Get-Form-Alias <form> [<VUI>]

"

Application-Get-Form-Name <form_alias> [<VUI>]

"

Application-Map-Ids-To-Names <form> <string>

"

Application-Map-Ids-To-Names-L <form> <VUI> <string>

"

Application-Map-Names-To-Ids <form> <string>

"

Application-Map-Names-To-Ids-L <form> <VUI> <qualification_string>

Generates a globally unique identifier (GUID). The prefix can be a


maximum of two characters. If you do not include the GUID prefix, it
defaults to ID.
Retrieves the appropriate form alias for the specified form and VUI. If you
do not include a VUI, the default VUI is used.
Retrieves the form name for the specified form alias and VUI. If you do
not include a VUI, the default VUI is used.
Maps the IDs of the fields or keywords in the string to a name
representation.
For the indicated VUI, maps the IDs of the fields or keywords in the string
to a name representation using labels. If the field label is blank, the
database name will be used.
Maps the names of the fields or keywords in the string to an internal ID
representation.
For the indicated VUI, maps the labels of the fields or keywords in the
string to an internal ID representation.

"
"
"
"
"
"
"

For example, to map the IDs in the given string to names using labels
where appropriate, enter:
Application-Map-Ids-To-Names-L "My Form" "" $536870913$

An empty string for the VUI denotes the default VUI for the form.
1

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

Special Run Process and $PROCESS$ commands ! 621

Action Request System 6.3

AL1 F/E2 Command and Description

"

Application-Parse-Qual <form> <qualification_string>


Converts a qualification string into an internal representation.

RP3 $4

"

For example, to parse the qualification string into its internal


representation, enter:
Application-Parse-Qual "My Form" Integer Field = 99

The qualification string does not need double quotation marks around it
because all data after the form name is treated as the qualification string.

"

Application-Parse-Qual-Filter <form> <qualification_string>


Converts a Run If filter qualification string into an internal
representation.

"

See Syntax exceptionSpecial commands with qualifications on


page 617.

"

Application-Parse-Qual-L <form> <VUI> <qualification_string>


For the indicated VUI, converts a qualification string with labels into an
internal representation.

"

See Syntax exceptionSpecial commands with qualifications on


page 617.

"

Application-Parse-Qual-SField <form1> <form2>


<qualification_string>

"

Converts a Set Fields or Push Fields filter qualification string into an


internal representation.
See Syntax exceptionSpecial commands with qualifications on
page 617.

"

Application-Parse-Val-SField <form1> <field> <form2>


<assignment_statement>

"

Converts a Set Fields or Push Fields filter assignment statement into an


internal representation.
See Syntax exceptionSpecial commands with qualifications on
page 617.

"

Application-Query-Delete-Entry <form> <qualification_string>


Deletes all entries matching the specified qualification.
See Syntax exceptionSpecial commands with qualifications on
page 617.

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

622 "Appendix BWorkflow extras

" "

Web5

Developing AR System Applications: Basic

AL1 F/E2 Command and Description

"

RP3 $4

Application-Release-Pending
Causes database operations caused by the current workflow to be sent to
the database immediately.

Web5

"

Note: Use this advanced feature with caution. The command allows

workflow to see the results of previous workflow by causing the


previous workflows actions to be entered into the database. Using this
command, for example, would cause the results of a Push Fields phase
2 action to be made visible to a Set Fields phase 1 action. However, if
there is a failure after the application command is performed, the entire
transaction including the Push Fields operation is rolled back,
maintaining transactional integrity.

"
1

GET-CHANGE-FLAG
Gets the change flag status of the current window. 1 means that changes
were made, and 0 means that no changes were made.

" "

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

Special Run Process and $PROCESS$ commands ! 623

Action Request System 6.3

AL1 F/E2 Command and Description

RP3 $4

Web5

"

"

"

PERFORM-ACTION-ACTIVE-LINK
Executes all active links associated with the specified Execute On
condition (and field ID, as appropriate). The active links fire as if the
Execute On condition indicated occurred. For example,
PERFORM-ACTION-ACTIVE-LINK 8 specifies to run all On Modify active
links as if a modify operation was performed. The active links fire, but no
modify is actually performed.
The options for this command are as follows:
!
!

!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Button: PERFORM-ACTION-ACTIVE-LINK 1 <field_ID>


Return/Table Dbl-Clk: PERFORM-ACTION-ACTIVE-LINK 2

<field_ID>
Submit: PERFORM-ACTION-ACTIVE-LINK 4
Modify: PERFORM-ACTION-ACTIVE-LINK 8
Display: PERFORM-ACTION-ACTIVE-LINK 16
Menu Choice: PERFORM-ACTION-ACTIVE-LINK 128 <field_ID>
Lose Focus: PERFORM-ACTION-ACTIVE-LINK 256 <field_ID>
Set Default: PERFORM-ACTION-ACTIVE-LINK 512
Search: PERFORM-ACTION-ACTIVE-LINK 1024
After Modify: PERFORM-ACTION-ACTIVE-LINK 2048
After Submit: PERFORM-ACTION-ACTIVE-LINK 4096
Gain Focus: PERFORM-ACTION-ACTIVE-LINK 8192 <field_ID>
Window Open: PERFORM-ACTION-ACTIVE-LINK 16384
Un-Display: PERFORM-ACTION-ACTIVE-LINK 65536
Window Close: PERFORM-ACTION-ACTIVE-LINK 32768
Copy To New: PERFORM-ACTION-ACTIVE-LINK 131072
Window Loaded: PERFORM-ACTION-ACTIVE-LINK 262144

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

624 "Appendix BWorkflow extras

Developing AR System Applications: Basic

AL1 F/E2 Command and Description

RP3 $4

" "

" " "

PERFORM-ACTION-ADD-ATTACHMENT <field_ID> [<file_name>]


Adds an attachment to an attachment field, and returns a value of 0
(Successful). If the attachment is not added, you will receive one of the
following codes:

Web5

1: Cancelled
2: Failed
For filters and escalations, the field ID must be an attachment field, and
the file name is required.
!
!

For active links:


!

The file name is optional. If omitted, a Browse dialog box is displayed


to allow you to select a file name. (For forms views on the web, a Browse
dialog box is always displayed.)
The field ID can be an attachment field or an attachment pool. If the
field ID specified is an attachment field, the attachment is added to the
specified field. If the field has a value, the existing value is overwritten.
If the field ID is an attachment pool, the attachment is added to the first
available field within the pool that has no attachment. If there is no
attachment meeting this criteria within the pool, no action is taken.

"

PERFORM-ACTION-APPLY

" "

PERFORM-ACTION-DELETE-ATTACHMENT <field_ID>

Performs the Apply or Save operation on the current window. For Search
windows, the search is performed.
Deletes an attachment from an attachment field, and returns a value of 0
(Successful). If the attachment is not deleted, you will receive one of the
following codes:
!
!

"

"

" " "

1: Cancelled
2: Failed

"

PERFORM-ACTION-EXIT-APP

"

PERFORM-ACTION-GET-FIELD-LABEL <field_ID>

Exits the Windows client, or logs out of the web client.


Returns a field label. Use this command in a Set Fields action with
$PROCESS$ to obtain the return value.

"

"
" "

1 AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

Special Run Process and $PROCESS$ commands ! 625

Action Request System 6.3

AL1 F/E2 Command and Description

"

RP3 $4

Web5

" "

PERFORM-ACTION-GET-PREFERENCE <field_ID>
Gets the value of the field you specify from the User Preferences form. For
example, to get the value of the User Locale field, enter the following
command:

PERFORM-ACTION-GET-PREFERENCE 20121
where 20121 is the field ID of the User Locale field.
To find the field ID:
1 Open the AR System User Preferences form using Remedy

Administrator.
2 Double-click the field in question to display the Field Properties dialog

box.
3 Click the Database tab. The field ID is displayed in the ID field.

"

PERFORM-ACTION-GO-HOME

"

PERFORM-ACTION-HOME-FIELD-REFRESH

"

PERFORM-ACTION-NEXT

"

PERFORM-ACTION-OPEN-ATTACHMENT <field_ID>

Opens the form configured as your Home Page.


Refreshes the Application List field on the Home Page form. Typically,
you would use this command to display a subset of entry points based
upon the values that are dynamically entered into the reserved character
field ID 1576.
Moves to the next request in the Results pane and displays the details in
the Details pane.
Opens an attachment from an attachment field, and returns a value of 0
(Successful). If the attachment is not opened, you will receive one of the
following codes:
!
!

1: Cancelled
2: Failed

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

626 "Appendix BWorkflow extras

"

"

"

"

"

"

" " "

Developing AR System Applications: Basic

AL1 F/E2 Command and Description

RP3 $4

Web5

"

"

"

"

"

"

"

PERFORM-ACTION-OPEN-URL [<current or new>]<URL_string>


Opens the specified URL in a browser. For the Windows client, a browser
is opened. For the web client, the URL is opened as follows:
To open the page in a new browser window, enter:

PERFORM-ACTION-OPEN-URL <URL_string>
or

PERFORM-ACTION-OPEN-URL new <URL_string>


To open the page in the current browser window, enter:

PERFORM-ACTION-OPEN-URL current <URL_string>

"

PERFORM-ACTION-PREV

"

PERFORM-ACTION-REFRESH-PREFERENCE <flag>

Moves to the previous request in the Results pane and displays the details
in the Details pane.
Refreshes the preferences for Remedy User. The flag options are:
!

" "

1Saves all modified preferences from Remedy User to the preference


server, and then reloads from the preference server.
0Discards all modified preferences in Remedy User and reloads from
the preference server.

PERFORM-ACTION-SAVE-ATTACHMENT <field_ID> [<file_name>]


Saves an attachment from an attachment field to a file, and returns a value
of 0 (Successful). If the attachment is not saved, you will receive one of the
following codes:

" " "

1: Cancelled
! 2: Failed
For filters and escalations, the file is saved on the server machine. The field
ID must be an attachment field, and the file name is required.
!

For active links, the file is saved on the client machine. The field ID can be
an attachment field or an attachment pool. If you specify an attachment
pool for the field ID, the first available attachment is saved. The file name
is optional. If omitted, a Browse dialog box is displayed to allow you to
select a file name. (For forms views on the web, a Browse dialog box is
always displayed.)
1

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

Special Run Process and $PROCESS$ commands ! 627

Action Request System 6.3

AL1 F/E2 Command and Description

"

PERFORM-ACTION-SEND-EVENT

<target> <event_type>

Sends an event to another window.

RP3 $4

Web5

"

"

"

"

<target> is the window to which to send the event. Possible values are:

@The at sign signifies the parent of the current window.


! #The number sign character signifies all child windows of the current
window.
! *The asterisk character signifies all windows managed by the client
environment, even the current window.
<event_type> is the name of the event. This is an arbitrary string defined
by the application author (for example, ChildClosed). The receiving
workflow can access the value of <event_type> through the EVENTTYPE
keyword.
!

For more information, see Sending events between windows on


page 630.

"

PERFORM-ACTION-SET-PREFERENCE <field_ID> <value>


Sets the value of the field you specify in the User Preferences form. For
example, to set the value of the User Locale field to Japanese, enter the
following command:

PERFORM-ACTION-SET-PREFERENCE 20121 ja_JP


where 20121 is the field ID of the User Locale field and ja_JP is the value
that represents a Japanese locale.
To find the field ID:
1 Open the AR System User Preference form using Remedy

Administrator.
2 Double-click the field in question to display the Field Properties dialog
box.
3 Click the Database tab. The field ID is displayed in the ID field.
To find the value or format of a user preference field:
1 Log in to a preference server using Remedy User.
2 Choose Tools > Options. The Options window is displayed.
3 Specify a value for a user preference, and click OK.
4 Open the AR System User Preference form to see what format is used

or what value is stored in the corresponding field. This is the format or


value you specify for the value argument.
1

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

628 "Appendix BWorkflow extras

Developing AR System Applications: Basic

AL1 F/E2 Command and Description

RP3 $4

Web5

"

"

"

PERFORM-ACTION-TABLE-CLEAR <table_field_ID>
Clears the contents of the table.
For table fields, and for alert list fields on the web, returns the table to its
initial state and applies the Refresh Table Options, Initial Row Selection
setting in the Field Properties, Advanced Display tab.
For results list fields on the web, fires workflow and then resets the mode
to Query. This is equivalent to pressing the New Search form action
button.

"

PERFORM-ACTION-TABLE-CLEAR-ROWCHANGED <table_field_ID>
Clears the ROWCHANGED flag for the current row.

"

"

"

PERFORM-ACTION-TABLE-DESELECTALL <table_field_ID>

"

"

"

PERFORM-ACTION-TABLE-NEXT-CHUNK <table_field_ID>

"

"

"

"

"

"

"

"

"

"

"

"

Deselects all entries in a table.


Displays the next chunk of data in a table.
If the action is for a results list, use reserved field ID 1020.

"

PERFORM-ACTION-TABLE-PREV-CHUNK <table_field_ID>
Displays the previous chunk of data in a table.
If the action is for a results list, use reserved field ID 1020.

"

PERFORM-ACTION-TABLE-REFRESH <table_field_ID> [<start_row>]


[<number to retrieve>]
Refreshes a table. You can optionally specify a start row and a maximum
number of rows to retrieve.
If the action is for a results list, use reserved field ID 1020.

"

PERFORM-ACTION-TABLE-REPORT <table_field_ID>

"

PERFORM-ACTION-TABLE-SELECTALL <table_field_ID>

"

SET-CHANGE-FLAG <1 or 0>

Runs a report on the selected rows in a table. If no rows are selected, the
report is on the entire table.
Selects all the entries in a table.
Sets the change flag status of the current window to on (1) or off (0).

AL = Active Links 2F/E = Filters and Escalations 3RP = Run Process 4$ = $PROCESS$ 5Web = Supported by web clients

Special Run Process and $PROCESS$ commands ! 629

Action Request System 6.3

Sending events between windows


You can use active link workflow to send messages to one or more windows.
The ability to send events between windows allows, for example, a child
window to tell a parent window to execute certain active links. Here the
parent window needs to know when some action has happened on the child
window (for example, it is closed) so that workflow on the parent window
can refresh related data. The Send Event functionality provides a way for
windows to synchronize their data, and a mechanism for a parent window to
be notified when a child window has been closed.
To send events between windows, you coordinate the following mechanisms
in Remedy Administrator:
!

The PERFORM-ACTION-SEND-EVENT <target> <event type> Run Process


command identifies the window to which to send the event. (For more
information, see page 628.)

On Event active link execute condition. (For more information, see


Defining workflow basics on page 477.)

Keywords to identify the current event ($EVENTTYPE$), the current


window ($CURRENTWINID$), the window that sent the event
($EVENTSRCWINID$), and the last opened window
($LASTOPENEDWINID$). (For more information, see Keywords on
page 673.)

Note: On the web, opening windows from workflow is not synchronous. For
example, if an active link contains an Open Window action and the next
action is a send event Run Process action, the child window will not
receive the event. (The active link will work correctly in Remedy User.) To
solve this issue on the web, set up the workflow so that the parent or child
window is loaded, and then the send event action is executed.

Additional considerations for sending events


The <event_type> specified in the PERFORM-ACTION-SEND-EVENT <target>
<event type> command can be accessed by the active link running on the
Event condition through using the $EVENTTYPE$ keyword. Likewise, the
window ID of the window sending the event can be accessed by the recipient
using the $EVENTSRCWINID$ keyword.

630 "Appendix BWorkflow extras

Developing AR System Applications: Basic

When using the Run Process send event action with web clients, sending a
message to a parent window or child windows will behave in an undefined
fashion if the contents of the windows are changed by navigating to a new
URL. Navigating to a new URL by going to a new page, by pressing the back,
forward, or reload buttons on your browser, or by using an Open Window
active link action that reloads new data into an existing window will cause the
form to be unloaded and cause this undefined behavior.
An example of Run Process syntax to send the event ChildClosed to the
current windows parent is PERFORM-ACTION-SEND-EVENT @ ChildClosed; to
send the ParentClosed event to the current windows children is PERFORMACTION-SEND-EVENT # ParentClosed.
Note: Quotation marks are optional in the Run Process command if the
<event_type> does not contain a space. For example, they are optional for
PERFORM-ACTION-SEND-EVENT @ EventA, but you must use them for PERFORMACTION-SEND-EVENT @ "This is the event".

If you are using field references for the <target> and <event_type>, make sure
the field is set properly prior to executing the Run Process command.

Sending events between windows ! 631

Action Request System 6.3

Example of sending events between windows


The following example shows how you can send an event from a child
window to a parent window. When a user modifies a record in the Child
Window form, an After Modify condition in the active link automatically
sends an event to the Parent Window form and updates a table field (as
shown in Figure B-1).

Figure B-1: Sending event from child window to parent window

The following procedure shows how to reproduce the workflow for sending
an event from a child window to a parent window, shown in Figure B-1. The
concepts used here are straightforward, so that you could easily reverse
sending the event from a parent window to a child window.
Note: You cannot have workflow that opens a dialog box and then sends an
event to the dialog box. Dialog boxes are modal, and subsequent send
event actions or active links will not fire until the dialog box closes. In this
case, the dialog box no longer exists. Instead, use an On Loaded active link
condition in the dialog box to send an event to itself, using the keyword
$LASTOPENEDWINID$ as target.

632 "Appendix BWorkflow extras

Developing AR System Applications: Basic

" To send an event to a parent window:


1 Create a form (for example, Parent Window).
2 Create another form (for example, Child Window).
3 Add a table field to the Parent Window form.
4 Open the Field Properties window of the table field, and then click the Table

Property tab.
5 Select Child Window in the Form field.

The columns of the table field in Parent Form must point back to the Child
Window form.
6 Create the following columns in the table field:
!

Request ID (Column)

Submitter (Column2)

Short Description (Column3)

These columns will help you identify which records in the table field to
modify.
7 Create an active link (Child Send Event to Parent After Modify) with a Run

Process action.
a Configure the Basic tab of the active link:
!

Form Name: Child Window

Execute On: After Modify

Run If: Submitter != Assigned To

You want the active link in the child window to fire if the submitter and
assignee are not the same user.
b Configure the If Action tab and create the Run Process action that sends

the event:
!

Action: Run Process

Command Line: PERFORM-ACTION-SEND-EVENT @ RefreshTable

This Run Process command sends the RefreshTable event to the parent
window. You will use this same event string later in active link workflow to
catch the sent event in the parent window.
Tip: Make sure the target symbols (@, #, *) are used correctly. If you are trying
to send an event to a parent window, do not use #.

Sending events between windows ! 633

Action Request System 6.3

You use this Run Process command and its special syntax to send messages
to one or more windows. For example, to send an event to all windows, you
would enter PERFORM-ACTION-SEND-EVENT * All Windows. You could also
send events to a specific window:
PERFORM-ACTION-SEND-EVENT
PERFORM-ACTION-SEND-EVENT
PERFORM-ACTION-SEND-EVENT
PERFORM-ACTION-SEND-EVENT

$536870921$ Processing
$Short Description$ network is down
$My Field$ process request
$LASTOPENEDWINID$ close now

This command uses an established mechanism in the client environments to


support special commands that are not run as executables, but as internal
commands within the client. For detailed information on the command
syntax, see page 628.
Note: Events are asynchronous, and the Run Process command will return
immediately. Other windows receive the events and process the workflow
at a later time.
8 Create an active link (Parent Catch Event) with a Change Field action to

catch the sent event.


a Configure the Basic tab of the active link:
!

Form Name: Parent Window

Execute On: Event

Run If: $EVENTTYPE$ = RefreshTable

Because event names are intended to be unique, this active link fires only
if it receives the RefreshTable event.
Note: You must use quotation marks in the Run If qualification for the event
type.

You can trigger active links by examining the values of the EVENTSRCWINID,
CURRENTWINID, or EVENTTYPE keywords in the Run If qualification. Here the
EVENTTYPE keyword is used in the Run If qualification to fire the active link
if the parent window catches the RefreshTable event sent by the child
window.
Tip: Use the Keyword menu for entering Send Event keywords to avoid
spelling errors.
b Configure the If Action tab and create the Change Field action that

responds to the sent event:


!

Action: Change Field

634 "Appendix BWorkflow extras

Developing AR System Applications: Basic


!

Field Name: Table Field

Refresh Table Field: Yes

Here the rows in the table field are automatically refreshed after changes are
made to the underlying request.
9 Log in to Remedy User, and open the Child Window form.
10 As a test, create several tickets in the Child Window form, but create one

ticket with John as the value of the Submitter and Assigned To fields. Make
sure you fill in the required fields.
11 Open the Parent Window form, and click the table field to refresh it.
12 Double-click the request assigned to John in the Results List to open the

Child Window form.


13 Change the assignee to another name and make changes in the Short

Description field (for example, Catch event in parent window), and then save
the request.
When you modify the request, the active link workflow is triggered and sends
the child window event to the parent window. The table field in the parent
window becomes refreshed automatically with your changes.
If the target window is in the process of executing workflow, that workflow
will complete before the event is received.
Tip: If the active links do not fire in the target window, make sure the event
type string in the Run If qualification matches exactly to the event type
string in the Run Process command.

Sending events between windows ! 635

Action Request System 6.3

Additional ways to use the Set Fields workflow action


In addition to the basic instructions described in The Set Fields active link,
filter, or escalation action on page 559, this section discusses various ways
you can use the Set Fields active link action to assign a value in a field. Topics
include:
!

Assigning values by submitting SQL commands on page 636

Assigning values by issuing requests to a Filter API Plug-In service on


page 642

Assigning values using function results on page 645

Assigning values from process results on page 656

Assigning values by using arithmetic operators on page 658

For information on assigning values from a DDE request, see the Developing
AR System Applications: Advanced guide.

Assigning values by submitting SQL commands


In addition to setting field values based on AR System data, you can retrieve
data from other sources by submitting SQL queries for use within AR System
workflow. Much like issuing a search to get data from another form, you can
issue an SQL command to retrieve data from any relational database table.
This feature enables you to select data from databases other than AR System
databases, which is useful for integrating AR System with external data
sources.
The ability to submit SQL commands enables you to issue complex queries
to the database. This is useful if customers want to use database features
specific to a particular database platform.
The SQL command you use to set a field value in the Set Fields action has a
different result than the Direct SQL action (see The Direct SQL active link,
filter, or escalation action on page 512). In the Set Fields action, you use SQL
to search the database for information and then use the returned values to set
fields. With the Direct SQL action, the SQL command is not expected to
return a value.

636 "Appendix BWorkflow extras

Developing AR System Applications: Basic

If you need to run more than one SQL command, use stored procedures or
functions or any other extension supported by your database. A stored
procedure with a Set Fields action will execute all its commands but will not
return a value.
For the most effective use of SQL commands, you must have a general
understanding of relational databases and a specific understanding of the
relational database underlying your AR System.
Warning: Because AR System passes SQL commands to the database without
checking the syntax, all commands are submitted to the database. Make
sure all submitted commands achieve the desired result. Your SQL
commands should comply with ANSI SQL standards, so that single quotes
are reserved for strings, and double quotes are reserved for use with
database object names only.
" To assign a value by submitting an SQL command:
1 From the Server Name list, do one of the following:
!

For active links, select the server that contains the value that you want to
retrieve.

For filters and escalations, select the current server.

2 From the Read Value for Field From list, select SQL.

Additional ways to use the Set Fields workflow action ! 637

Action Request System 6.3

The SQL Command field appears. The following figure shows this field and
an example of how the Set Fields active link action might look after you
complete the remaining steps in this procedure.

SQL Command
qualification bar and
field

Figure B-2: SQL commands in the window

3 In the SQL Command field, enter the SQL command that you want to issue

to the database.
You can type the SQL command, or you can build it by using the
qualification bar and list. Enter only one SQL command for each Set Fields
action. Do not end the SQL command with run or go.
For example, you could enter an SQL command that displays three columns
of data from a table and sorts the data in ascending order based on the first
column:
SELECT BUG_ID, FIRST_NAME, TECHNCN FROM CUSTMR_INFO
ORDER BY 1 ASC

Use the SQL Command field menu button to insert field values or keywords
in the SQL statement. As shown in the following example, fields and
keywords must be enclosed in dollar signs to indicate that the server should
expand these values before issuing the command:
SELECT BUG_ID, FIRST_NAME, TECHNCN FROM CUSTMR_INFO WHERE
<COL_NAME> = '$<field>$'

638 "Appendix BWorkflow extras

Developing AR System Applications: Basic

You might have to manually insert single quotation marks around the
parameter depending on the content of the expanded value and the context
in which you are using it. Using the example, if <COL_NAME> is a character
field in the CUSTMR_INFO table, you would have to add single quotation
marks around $<field>$ so that the database interprets the expanded field
value as a character string. However, if <COL_NAME> is a numeric field, using
the single quotation marks results in an SQL syntax error. You will also get
an SQL syntax error if you omit the quotation marks but <field> contains
character data.
Note: The syntax that you use must be recognized by the underlying SQL
database on which AR System is running. AR System does not verify the
validity of your SQL command.
4 From the If No Requests Match list, select a handling option to control how

the system responds when the SQL command returns no matches.


For more information about the options in this step, see step 6 on page 563.
5 From the If Multiple Requests Match list, select a handling option to control

how the system responds when the SQL command returns multiple matches.
For more information about the options in this step, see step 7 on page 563.
6 From the Name list, select the field that you are setting with this action.
7 From the Value list, select SQL Result Column, and then select $n$.

The $n$ variable represents the number of a column in the SQL result table
constructed from the results of the SQL command. When the active link,
filter, or escalation executes:
a The SQL command is issued to the database.
b The results of the SQL command are used to construct an SQL result table.
c The value from column 1 of the SQL result table is loaded into the field

that contains a $1$, the value from column 2 of the SQL result table is
loaded into the field that contains a $2$, and so on.
If an SQL command includes three columns, use a $n$ variable as high as
3. If you specify a $n$ variable that is greater than the number of columns
in the SQL command, a NULL value is returned. If you use an asterisk in an
SQL command, for example SELECT * FROM CUSTMR_INFO, the menu lets
you select an $n$ variable as high as 10. However, if you know that 15
values are returned, entering $14$ will work. Because the first column in
the form table will be used to set the field that contains $1$ (and so on),
you must know the order of the form columns to load the correct data into
the correct field.

Additional ways to use the Set Fields workflow action ! 639

Action Request System 6.3

Figure B-2 on page 638 illustrates values assigned to fields. If you enter the
same $n$ variables (that is, $1$ in the Long Description field, $2$ in the
Short Description field, and $3$ in the Work Around field) and the SQL
command shown in this illustration, the returned results will create an SQL
result table that looks like the following figure.
SELECT BUG_ID, FIRST_NAME, TECHNCN FROM CUSTMR_INFO

1
BUG_ID
5000
5001
5002

2
FIRST_NAME
Mary
John
Mark

3
TECHNCN
Zan
Fran
Tran

Figure B-3: Results returned from SQL command

Because Figure B-2 on page 638 also specifies that multiple matches should
display a selection list, a selection list of available SQL result table entries will
appear when the active link executes.
If you select the second selection list entry, the contents of BUG_ID will be
loaded into the Long Description field ($1$), the contents of FIRST_NAME are
loaded into the Short Description field ($2$), and so on, as shown in the
following figure.
1
BUG_ID
5000
5001
5002

2
FIRST_NAME
Mary
John
Mark

3
SELECT
BUG_ID, FIRST_NAME, TECHNCN FROM CUSTMR_INFO
TECHNCN
Zan
1
Fran
Tran

BUG_ID
5000
5001
5002

2 from the
Values

3Fields and

Database Columns Keywords


FIRST_NAME
TECHNCN
Mary
Zan
5001
John
Fran
Mark
Tran
John
Fran
NULL

Figure B-4: How database columns are inserted into fields

Entering a $4$ variable value without an actual fourth column in the SQL
command inserts a NULL value into the field.

640 "Appendix BWorkflow extras

Developing AR System Applications: Basic

Performing the SQL operation


Observe the following general rules for using SQL commands:
!

You need not use every value that is returned from the SQL command. If
you do not use any values from the SQL command, the Set Fields action
acts like the default selection CURRENT SCREEN (active links) or
CURRENT TRANSACTION (filters or escalation), and the system will
remove your SQL query.

You can use the same value in more than one field.

You can issue only one SQL command per action. You cannot enter two
commands separated by a semicolon and have both commands run. If you
need to run a set of commands, create separate actions, or create a stored
procedure and run that. Note that stored procedures do not return values.

Turn on AR System server SQL logging to debug the SQL syntax if it


returns unexpected values or results. A good debugging strategy is to start
an SQL interpreter (for example, isql for Sybase, SQL*Plus for Oracle,
Command Center for DB2, or Microsoft ISQL/w for SQL Server) and to
enter the same SQL command directly into the database to verify its
validity.

Because there is no error checking on the SQL statement, run the SQL
statement directly against the database (as a test) before you enter it into
the SQL Command field. You can then copy and paste the tested SQL
command directly into the SQL Command field.

If the SQL operation fails, an AR System error message and the underlying
database error message appear.

You can affect database performance by how an SQL query is written. If


the row has many columns, a SELECT * SQL command can have a greater
performance impact than if you select specific columns. For more
information, see your relational database documentation.

Database security issues


To use SQL commands, familiarize yourself with the specific features of your
underlying database. All SQL commands are issued by the following users:
!

For Oracle, MS SQL, and Sybase databases, the ARAdmin user (or the
AR System Database User defined during installation).

For Informix databases, the user that controls the arserverd process.

For DB2 databases, the user who installs AR System.

Additional ways to use the Set Fields workflow action ! 641

Action Request System 6.3

Depending on which database you are using, the data must be accessible to
the user issuing the command. If you are running AR System as one of these
users without permission to access the database, you cannot issue the SQL
command.
To access databases other than AR System databases, use the database name
as part of the SQL command syntax, for example, using MS SQL:
<DatabaseName.owner.table>

getafix.ARAdmin.CUSTMR_INFO

Assigning values by issuing requests to a Filter API Plug-In service


For filters and escalations, you can pass values from the Set Fields window to
a filter API plug-in service. If the service is running, it will process the request
issued and return the values to the AR System server. These values will then
be loaded into the fields.
Before creating a Set Fields action that uses a filter API plug-in, you must
create a filter API plug-in and perform certain configuration steps. For more
information, see the C API Reference Guide.
" To assign values by issuing requests to a Filter API Plug-In service:
1 In the Create Filter window, choose Set Fields from the New Action list.
2 From the Server Name list, select the current server for filters and escalations.
3 From the Read Value for Field From list, select FILTER API.

642 "Appendix BWorkflow extras

Developing AR System Applications: Basic

The Filter API window appears. The following figure shows this window and
an example of how the Set Fields escalation action might look after you
complete the remaining steps in this procedure.

Figure B-5: Filter API requests in the window

4 In the Plug-In Name field, enter the name of a filter API plug-in service.

From the list, you can also select a field that contains a service name. The
service name is passed to the plug-in server. If the plug-in server is running
and the service exists, the request will be processed. Otherwise, the Set Fields
action will fail and an error will be logged.
The Plug-In Name list contains all filter API plug-ins that are registered with
the plug-in server. For more information, see the C API Reference Guide.
5 From the Enter Input Values list, enter the values to be passed to the filter API

plug-in.
6 After you create a value, click Add to enter it into the Input Value List.
7 Repeat steps 5 and 6 for each value you want to add.

Additional ways to use the Set Fields workflow action ! 643

Action Request System 6.3

8 In the Input Value List, make any necessary changes:


!

Shift the position of a value by clicking the up or down arrows.

Edit a value by clicking it, changing its value, and then clicking Modify.

Change the field type by clicking the description and using the drop-down
list to select a different type, for example, Integer instead of Char.

Remove a row by selecting it and clicking Delete.

These input values will be passed to the filter API.


9 From the Name list, select the field that you are setting with the filter API

data.
10 From the Value list, select Filter API Values, and then select $n$.

The $n$ variable represents the values that are returned by the filter API plugin service, where n is the index of the value in the returned value list. The
menu list provides values up to 20, but you can enter any value. The $n$
variables work much like the values returned by the SQL command, as
described in To assign a value by submitting an SQL command: on
page 637.
You can combine these values using functions and operations, for example,
$4$ + $3$, that will combine the fourth value and the third value of the output
value list returned by the filter API.
Note: If you do not specify any filter API output values when you save the
filter or escalation, it will be saved as an ordinary Set Fields action. If you
specify an invalid $n$ variablefor example, the filter API returns only
four values but you specify $5$this action is equivalent to assigning a
NULL value.

When the filter or escalation executes:


a The service name and input list value are passed from the AR System

server to the plug-in server.


b The plug-in server passes the request to the filter API and waits for a

response.
c The filter API processes the request and passes back the values to the plug-

in server.
d The plug-in server passes the value to the AR System server.
e The AR System server fills the fields with the output values that were

returned by the filter API.

644 "Appendix BWorkflow extras

Developing AR System Applications: Basic

Assigning values using function results


AR System supports a set of functions that you can use in the Set Fields
action. The functions enable you to manipulate data so that you can control
various aspects of values that you are loading into fields. For example, you
can use the UPPER function to convert an ASCII string loaded in a field to
uppercase.
" To use a function in a Set Fields operation:
1 Create a Set Fields action as described in To define a Set Fields active link,

filter, or escalation action: on page 561, but enter information in the Name
and Value fields as follows:
a From the Name list, select the field that you are setting with this action.
b From the Value list, click Functions to display a list of available functions.

Information about each function that AR System supports is provided in


the table on the following page.
2 Select the appropriate function.

The function appears in the field with a set of parentheses to its right.
3 For the selected function, enter the arguments within the parentheses.

Information about the arguments that each function requires is provided in


the table on page 646.
4 Repeat steps 1 through 4 for each field that you want to set with a function.

Note: If the value of any of the arguments of a function is NULL, the result of
the function is NULL (the field is empty). To avoid this result, use a
qualification that verifies the operation and includes a value for all
arguments. For filters and escalations, if you use an empty field as a
parameter in a function, it is considered a NULL value. The exception to
this rule is the third parameter for the REPLACE function. If the third
parameter is NULL, it is interpreted as an empty string.

Additional ways to use the Set Fields workflow action ! 645

Action Request System 6.3

Specifying arguments that use a comma as a decimal


separator
Specifying arguments that use a comma as a decimal separator (as is the case
in a German locale, for example) requires special consideration for the
following functions:
!

LPAD

RPAD

MAX

MIN

SUBSTR

" To specify an argument that uses a comma as a decimal separator:


1 Use a hidden, read-only field, and assign a default value to it.
2 Use the appropriate field keywords as arguments.

For example, instead of using SUBSTR($Character Field$, 56, 65) use


SUBSTR($Character Field$, $Interger1$, $Interger2$) where Interger1 and Integer2
are hidden, read-only fields with default values of 56 and 65 assigned to them,
respectively.
The following table lists the functions you can use in a Set Fields action.
Function

Arguments

Return

Description

COLAVG

(column)

any (matches For a given column on a table or results list field,


column)
returns the average of all non-NULL row values as
a real type.
Following are exceptions:
!

646 "Appendix BWorkflow extras

For char columns, converts the column values to


numeric and averages the numeric values.
If the column type is currency, the average of the
currency value is calculated, and the currency
type is ignored.
If the column type is enum (radio button or
selection), the average of the enum value is
calculated.
COLAVG ignores date/time, date, and time
columns; and returns NULL.

Developing AR System Applications: Basic

Function

Arguments

Return

Description

COLCOUNT

(column) or
(table)

int

For a table or results list field, returns the total


number of rows.
For a column field, returns the total number of
non-NULL rows in a given column.

COLMAX

(column)

any (matches For a given column on a table field or results list


column)
field, returns the maximum value of the row
values.

COLMIN

(column)

any (matches For a given column on a table field or results list


column)
field, returns the minimum value of the row
values.

COLSUM

(column)

any (matches For a given column on a table or results list field,


column)
returns the sum of all values as a real type.
Following are exceptions:
!

CURRCONVERT

(currency, type,
timestamp)

For char columns, converts the column values to


numeric and sums up the numeric values.
If the column type is currency, the sum of the
currency value is calculated, and the currency
type is ignored.
If the column type is enum (radio button or
selection), the sum of the enum value is
calculated.
COLSUM ignores date/time, date, and time
columns; and returns NULL.

For a given currency, converts currency to


different type according to new date and
recalculates the functional currency value(s).
Use syntax such as:

CURRCONVERT($<Currency_Field>$,
$<Currency_Field2>.TYPE$, $TIMESTAMP$)
Use other values for the type and timestamp, such
as a character field and date field. For example:

CURRCONVERT($<Currency_Field>$,
$<Character_Field>$, $<Date_Field>$)
For information on data conversion rules for
currency fields, see Workflow considerations for
currency fields on page 221.

Additional ways to use the Set Fields workflow action ! 647

Action Request System 6.3

Function

Arguments

CURRSETDATE

(currency,
timestamp)

Return

Description
For a given currency, sets new date of currency and
recalculates the functional currency value(s).
Use syntax such as:

CURRSETDATE($<Currency_Field>$,
$TIMESTAMP$)
Use other values for the timestamp, such as a date
field or integer. For example:

CURRSETDATE($<Currency_Field>$,
1026779689)
For information on data conversion rules for
currency fields, see Workflow considerations for
currency fields on page 221.

CURRSETTYPE

(currency, type)

For a given currency, sets new type of currency and


recalculates the functional currency value(s).
Use syntax such as:

CURRSETTYPE($<Currency_Field>$,
$<Currency_Field2>.TYPE$)
Use other values for the type, such as a character
field. For example:

CURRSETTYPE($<Currency_Field>$,
$<Character_Field>$)
For information on data conversion rules for
currency fields, see Workflow considerations for
currency fields on page 221.

CURRSETVALUE

(currency, value)

For a given currency, sets new value of currency


and recalculates the functional currency value(s).
Use syntax such as:

CURRSETVALUE($<Currency_Field>$,
$<Currency_Field2>.VALUE$)
Use another field to set the currency value, such as
a decimal field. For example:

CURRSETVALUE($<Currency_Field>$,
$<Decimal_Field>$)
For information on data conversion rules for
currency fields, see Workflow considerations for
currency fields on page 221.

DATE

(timestamp)

648 "Appendix BWorkflow extras

char

Returns the date portion of the time stamp.

Developing AR System Applications: Basic

Function

Arguments

Return

Description

DATEADD

(datepart,
number, date)

date

For a given date, adds a specified number of days,


weeks, months, or years and returns the new date.
Specify datepart using one of the following
abbreviations, enclosed in double quotation
marks:
Yearyy, yyyy
Monthmm, m
Daymd, dd
Weekwk, ww
The date parameter is the date value to add to.
For example, to add 10 weeks to the 05/20/02, you
would enter:

DATEADD(ww, 10, 05/20/02)


DATEDIFF

(datepart,
startdate,
enddate)

int

Depending on the value of datepart (week or day),


returns the number of weeks or days between the
start date and end date.
Specify datepart using one of the following
abbreviations, enclosed in double quotation
marks:
Daymd, dd
Weekwk, ww
For example, to find the number of days between
date1 and date2, you would enter:

DATEDIFF(dd, $date1$, $date2$)


DATENAME

(datepart, date)

char

Depending on the value of datepart (month or


day), returns the name of the month or day
corresponding to date.
Specify datepart using one of the following
abbreviations, enclosed in double quotation
marks:
Monthmm, m
Weekdaywd
For example, to find the weekday for December 31,
2003, you would enter:

DATENAME(wd, 12/31/03)

Additional ways to use the Set Fields workflow action ! 649

Action Request System 6.3

Function

Arguments

Return

Description

DATENUM

(datepart, date)

int

Depending on the value of datepart (year, month,


week, day, or weekday), returns the numeric value
of the year, month (1 to 12), week (1 to 52), day (1
to 31) or weekday (1=Sunday, 2=Monday, and so
on). Specify datepart using one of the following
abbreviations, enclosed in double quotation
marks:
Yearyy, yyyy
Monthmm, m
Daymd, dd
Weekwk, ww
Weekdaywd
For example, DATENUM(mm, 12/31/03)
returns 12.

DAY

(timestamp)

DECRYPT

(cyphertext, key)

int

Returns the day of the time stamp (1 to 31).


Used in Set Fields filter actions only. Returns the
unencrypted text value of the encrypted text
(cyphertext), using the encryption key (key). The
return value will be 3/4 of the size of the encrypted
string.
For example, to decrypt the string in Field1 using
the key my_key, enter:

DECRYPT($Field1$, "my_key")
To decrypt a string using a key in KeyField, enter:

DECRYPT("String to decrypt", $KeyField$)


ENCRYPT

(plaintext, key)

Used in Set Fields filter actions only. Returns the


encrypted value of a text string (plaintext), using
the encryption key (key).
The output is limited to the size of the field used
for output, including the base-64 encoding.
Therefore, you are limited to encrypting a string
that is 3/4 the size of the output field.
For example, to encrypt the string in Field1 using
the key my_key, enter:

ENCRYPT($Field1$, "my_key")
To encrypt a string using a key in KeyField, enter:

ENCRYPT("Word to encrypt", $KeyField$)

650 "Appendix BWorkflow extras

Developing AR System Applications: Basic

Function

Arguments

Return

Description

HOUR

(timestamp)

int

Returns the hour of the time stamp (0 to 23).

LEFT

(char,int)

char

For single-byte languages. Returns the left-most


bytes of the first parameter (char) up to the
number of bytes indicated by the second parameter
(int).
For example, to set the value of a field to the first
ten bytes of the Submitter name, enter:

LEFT($Submitter$,10).
LEFTC

(char,int)

char

For single-byte or multi-byte languages. Returns


the left-most characters of the first parameter
(char) up to the number of characters indicated by
the second parameter (int).
For example, to set the value of a field to the first
ten characters of the Submitter name, enter:

LEFTC($Submitter$,10).
LENGTH

(char)

int

For single-byte languages. Returns the number of


bytes in the string (char).

LENGTHC

(char)

int

For single-byte or multi-byte languages. Returns


the number of characters in the string (char).

LOWER

(char)

char

Returns all characters in the string (char) as


lowercase characters.
Note: No conversion will be performed to double-

byte alphabets.

LPAD

(char,int,char)

char

For single-byte languages. Returns the value that


results from padding the first parameter (char) to
the left with the value of the third parameter (char)
so that the resulting value is the length (in bytes) of
the second parameter (int) or the length of the
original string, whichever is longer.
For example, if you want the results of a Set Fields
operation to be a 15-byte value with the prefix
LEAD, followed by zeros, and ending in the
contents of the integer field Call #, enter:

LPAD($Call #$,15,"LEAD00000000000").
If the Call # field contains the number 947, the
result of the Set Fields action will be

LEAD00000000947.

Additional ways to use the Set Fields workflow action ! 651

Action Request System 6.3

Function

Arguments

Return

Description

LPADC

(char,int,char)

char

For single-byte or multi-byte languages. Returns


the value that results from padding the first
parameter (char) to the left with the value of the
third parameter (char) so that the resulting value is
the length (in characters) of the second parameter
(int) or the length of the original string, whichever
is longer.
For example, if you want the results of a Set Fields
operation to be a 15-character value with the prefix
LEAD, followed by zeros, and ending in the
contents of the integer field Call #, enter:

LPADC($Call #$,15,"LEAD00000000000").
If the Call # field contains the number 947, the
result of the Set Fields action will be

LEAD00000000947.
LTRIM

(char)

char

Returns the value of (char) after deleting any blank


spaces and tabs to the left.

MAX

(any,any[,any]...) any (matches Returns the maximum value of the set specified.
input)
The data type of all values must match for the
result to be meaningful.
For example, to check the current time and the
escalation time and return only the greater (latest)
value of the two, enter:

MAX ($Escalate Date$, $TIMESTAMP$).


MIN

(any,any[,any]...) any (matches Returns the minimum value of the set specified.
input)
The data type of all values must match for the
result to be meaningful.
For example, to check the current time and the
escalation time and return only the lower (earliest)
value of the two, enter:

MIN ($Escalate Date$, $TIMESTAMP$).


MINUTE

(timestamp)

int

Returns the minute of the time stamp


(0 to 59).

MONTH

(timestamp)

int

Returns the month of the time stamp


(1 to 12).

652 "Appendix BWorkflow extras

Developing AR System Applications: Basic

Function

Arguments

Return

Description

REPLACE

(char,char,char)

char

Returns the value that results from replacing any


occurrences of the second parameter (char) found
in the first parameter (char) with the contents of
the third parameter (char).
For example, to replace the name Bob with the
name Robert, enter:

REPLACE ($Submitter$, "Bob", "Robert").


To replace all occurrences of the double-quote
character (") within a character string with another
character, for example, replacing any instance of a
double quote with the name Robert, enter:

REPLACE ($Submitter$, """", "Robert").


As a result, anywhere a double quote is found in the
Submitter field, the double quote will be replaced
with the name Robert.

RIGHT

(char,int)

char

For single-byte languages. Returns the right-most


bytes of the first parameter (char) up to the
number of bytes indicated by the second parameter
(int).
For example, to set the value of a field to the last
four bytes of an account code, enter:

RIGHT($Account#$,4).
RIGHTC

(char,int)

char

For single-byte or multi-byte languages. Returns


the right-most characters of the first parameter
(char) up to the number of characters indicated by
the second parameter (int).
For example, to set the value of a field to the last
four characters of an account code, enter:

RIGHTC($Account#$,4).
ROUND

(real) or
(decimal)

int

Returns the rounded value of a real number. For


example, 5.1 to 5.4 are rounded to 5, and 5.5 to 5.9
are rounded to 6.

Additional ways to use the Set Fields workflow action ! 653

Action Request System 6.3

Function

Arguments

Return

Description

RPAD

(char,int,char)

char

For single-byte languages. Returns the value that


results from padding the first parameter (char) on
the right with the value of the third parameter
(char) so that the resulting value is the length (in
bytes) of the second parameter (int) or the length
of the original string, whichever is longer.
For example, enter RPAD($Submitter$,20," ") to
add blank spaces after a submitters name to make
the entry 20 bytes long.

RPADC

(char,int,char)

char

For single-byte or multi-byte languages. Returns


the value that results from padding the first
parameter (char) on the right with the value of the
third parameter (char) so that the resulting value is
the length (in characters) of the second parameter
(int) or the length of the original string, whichever
is longer.
For example, enter RPADC($Submitter$,20," ") to
add blank spaces after a submitters name to make
the entry 20 characters long.

RTRIM

(char)

char

Returns the value of (char) after deleting any blank


spaces to the right.

SECOND

(timestamp)

int

Returns the seconds from the time stamp


(0 to 59).

STRSTR

(char,char)

int

For single-byte languages. Returns the position (in


bytes) of the second parameter (char) if it is found
in the first parameter (char). If the second string is
not found, returns a 1.
This function is zero-indexed (that is, numbering
of bytes begins at 0).

STRSTRC

(char,char)

int

For single-byte or multi-byte languages. Returns


the position (in characters) of the second
parameter (char) if it is found in the first
parameter (char). If the second string is not found,
returns a 1.
This function is zero-indexed (that is, numbering
of characters begins at 0).

654 "Appendix BWorkflow extras

Developing AR System Applications: Basic

Function

Arguments

Return

Description

SUBSTR

(char,int [, int])

char

For single-byte languages. Returns the substring of


bytes in the first parameter (char) starting at the
position (in bytes) indicated by the second
parameter (int) and continuing to the position
indicated by the third parameter (int). The string is
zero-indexed (that is, numbering of bytes begins at
0). If the third parameter is not included, the
function returns bytes to the end of the string.
For example, to set the value of a field to six bytes
of the Location field, skipping a three-byte prefix,
enter:

SUBSTR($Location$, 3, 8).
SUBSTRC

(char,int [, int])

char

For single-byte or multi-byte languages. Returns


the substring of characters in the first parameter
(char) starting at the position (in characters)
indicated by the second parameter (int) and
continuing to the position indicated by the third
parameter (int). The string is zero-indexed (that is,
numbering of characters begins at 0). If the third
parameter is not included, the function returns
characters to the end of the string.
For example, to set the value of a field to six
characters of the Location field, skipping a threecharacter prefix, enter:

SUBSTRC($Location$, 3, 8).
TIME

(timestamp)

char

Returns the time portion of the time stamp.

TRUNC

(real) or
(decimal)

int

Returns the truncated value of a real number. For


example, 5.1 through 5.9 are truncated to 5.

UPPER

(char)

char

Returns all characters in the string (char) as


uppercase characters.
Note: No conversion will be performed to double-

byte alphabetic characters.

WEEKDAY

(timestamp)

int

Returns the weekday of the time stamp


(1 to 7, where 1=Sunday and 7=Saturday).

YEAR

(timestamp)

int

Returns the year portion of the time stamp.

Note: When a length (int) is located in the middle of double-byte characters,


the length is treated as (length -1).

Additional ways to use the Set Fields workflow action ! 655

Action Request System 6.3

Assigning values from process results


You can set a field to the stdout value that results from running a specified
process. The process used to set the field can be located on one of the
following machines:
!

The client system (active links only)

The server system on which an AR System server has been installed

Warning: If the process runs on the server, it will use the permissions of the
user who started the AR System server. If the process runs on the client, it
will use the permissions of the user who started Remedy User. This can
have security implications for your system.

The syntax identifies where the process that you want to run is located.
For active links, you can run a process in the following ways:
!

On the client machineTo access a process located on the same machine


as the client, use the following syntax:
$PROCESS$ <process_to_run>

On the current AR System serverTo use a process located on Server_A


and to set a field located in a form that resides on Server_A, use the
following syntax:
$PROCESS$ @@:<process_to_run>

On any specific AR System serverTo use a process located on Server_B


to set a field located in a form that resides on Server_A, use the following
syntax:
$PROCESS$ @Server_B:<process_to_run>

where Server_B is the name of a specific AR System server.


For filters or escalations, the syntax for loading the return of a process is as
follows:
$PROCESS$ <process_to_run>

656 "Appendix BWorkflow extras

Developing AR System Applications: Basic

The $PROCESS$ tag indicates that all text that follows is a command line. The
command line can include substitution parameters from the current screen
to enable values to be placed into the command line before it is executed. You
can enter as many as 255 characters for your command definition. The
command can be as many as 4096 characters after the substitution
parameters are expanded. The actual maximum length is limited by the
operating system in use with AR System. Select substitution parameters (and
the $PROCESS$ string) from the Value list.
For a list of available $PROCESS$ commands, see Special Run Process and
$PROCESS$ commands on page 616.
When the action is executed:
1 The specified command line is executed.
2 The calling program waits for the process to be completed.
3 The program reads and processes all data returned to stdout according to the

exit status code that the process returns.


4 If the process returns an exit status code of 0, the returned data is used as the

value for the field.


The data is expected in text format and is converted, as needed, to match the
data type of the target field. If the process returns a code other than 0, it is
assumed that there was an error and the process failed. In this case, the
returned value is treated as the text of an error message and is returned to the
user.
If the process is located on a server, activity for that server thread is blocked
until the process is completed or the process interval is exceeded. If the
process has timed out, the server stops its blocking action but does not stop
the process. However, the server ignores any process response after the timeout. You can use the Timeouts tab in the Server Information window to
configure the process interval so that the server continues processing other
tasks, even if the requested process response has not been received. For more
information, see the timeouts and configuration information in the
Configuring AR System guide.

Additional ways to use the Set Fields workflow action ! 657

Action Request System 6.3

For active links, when you design an active link that loads field values from a
process that is run on the client, be aware of the hardware platforms and
operating systems that your clients might be using. The process that you are
specifying might not be available on all platforms and operating systems. If
your users run the client tools on more than one type of platform or
operating system, you can build a qualification for the active link by using the
$HARDWARE$ and $OS$ keywords to verify that the client is running on an
appropriate platform and operating system at the time the active link
executes. See Building qualifications on page 484 for more information.
When assigning values from process results, remember the following tips:
!

Adjust your command syntax appropriately for the platform on which


your server is running and include the explicit path to the command; for
example, /home/jim/bin/<command>. In a Windows environment, you
also must specify the drive; for example,
d:\home\jim\bin\<command.bat>.

On a Windows server, you can only run a process that runs in a console
(such as a .bat script or runmacro.exe).

In a UNIX environment, the process runs under a Bourne shell.

Use double quotation marks around substituted fields when the values
might contain spaces or other special characters; for example, /bin/cmd
"$<field>$".

Substituted field values that contain hard returns or other special


characters can have unexpected results.

Assigning values by using arithmetic operators


You can use arithmetic operators to compute a value that you can use in a
Set Fields action. The same arithmetic operators allowed for specifying
qualifications are used to build a computed value (see Operators on
page 668). The operation must meet all of the rules for arithmetic operators
and produce a result with a type that is compatible with the target field.
Note: If you include a process result or DDE result (active links only) in a
mathematical operation, the process definition must not be contained
within parentheses and it must be the last item in the operation because all
data after the tag $PROCESS$ or $DDE$ is considered to be part of the
command line or DDE definition.

658 "Appendix BWorkflow extras

Developing AR System Applications: Basic

Some examples of valid arithmetic operators are:


$TIMESTAMP$ - $CREATE-DATE$
$FIRST NAME$ + " " + $LAST NAME$
"hostname = " + $PROCESS$ hostname

Using workflow to walk a table field


This section describes special workflow you can create to get values in a table
field without having the user interact directly with the table.
Note: The functionality described here was replaced in version 5.1 by the
Table Loop feature in the Call Guide action. For more information, see the
Developing AR System Applications: Advanced guide.

Table walk lets you control whether workflow associated with the row
executes when the row is selected. For example, you can create an active link
that executes when a user clicks a button, and counts the number of rows in
the table that match certain criteria. You can choose whether this active link
also triggers other workflow that normally executes when a user selects a row.
You can use values you get from a table walk in other active link actions,
for example, to set or push values. Statistical functions (described in
Assigning values using function results on page 645) also allow you to sum,
average, and count items in columns, or find minimum and maximum
values. Because these functions operate directly on the data in the table,
database access time is minimized.
The following shows the results of placing a table field in the Name field or
the Value field in the Fields section of the Set Fields active link action:
Name Field

Value Field

Table field

The row equivalent to the integer is


Integer, or field
selected. See the next table for the specific
containing an
integer. The first row ways to set this.
of table = 1
Table field

Result

The number (where the first row = 1) of


the selected row is returned. For example,
if row 5 is selected, 5 is returned.

Using workflow to walk a table field ! 659

Action Request System 6.3

If you put the table field in the Name field, you must then set the conditions
in the Value field. You determine if the user sees the row highlighted or not,
and if the active link executes or not.
Value field contents

Result

Selects and highlights row n and executes


the active link.
The user sees the row highlighted.

-n

Selects and highlights row n and does not


execute the active link.
The user sees the row highlighted.

n + 100000000

Selects row n and executes the active link.


The user does not see the row highlighted.
If a row is selected and is already
highlighted, the highlighting does not
move.

(- n) + 100000000

Selects row n and does not execute the


active link.
The user does not see the row highlighted.
If a row is selected and is already
highlighted, the highlighting does not
move.

660 "Appendix BWorkflow extras

Developing AR System Applications: Basic

Figure B-6 shows an active link that uses a Set Fields action to select a row in
Table Field based on the value in Row Number. This action does not
highlight the row and it does not execute the active link associated with the
row.

Figure B-6: Set Fields action that selects a row without highlighting or executing

Using workflow to walk a table field ! 661

Action Request System 6.3

To walk all rows in a table, create an active link guide that selects a row,
fires workflow or performs other tasks, then increments to the next row, and
so on, as shown in the following figure. For more information on guides, see
the Developing AR System Applications: Advanced guide.

Figure B-7: Active link guide that walks a table field

Converting existing macros to active links


In versions of AR System before 5.x, Run Macro active link actions
(page 553) allowed developers to define workflow using the macro
functionality in Remedy User. Although macros allowed developers to
record user actions easily, editing and maintaining the macros proved
difficult. A larger problem is that the macros created in Remedy User simply
do not work in a web browser environment.
AR System now provides equivalent active link actions for which developers
needed to create macros in Remedy User, for example, simulating a user
opening a window in Submit mode or pushing field values to a new request.

662 "Appendix BWorkflow extras

Developing AR System Applications: Basic

In addition, to make upgrades easier, the Macro Conversion option lets you
automatically convert Run Macro active link actions to their new active link
equivalents, so that they can work in a web browser. This tool also preserves
the functionality of the Run Macro actions to ensure that older clients are
compatible with the 5.x server. The following describes the macro conversion
process.
Take an active link with a Run Macro action named AL. The following table
lists the macro conversion possibilities:
Run Macro
If Action?

Else Action?

Resulting Active Links

Yes

No Else Action

!
!

Yes

No Run Macro
action

Yes, but no
Run Macro
action

Yes

!
!

!
!

Yes

Yes

!
!
!
!

AL
Pre50AL
ALIfList
Pre50ALIfList
ALElseList
ALIfList
ALElseList
Pre50ElseList
ALIfList
ALElseList
Pre50ElseList
Pre50ALIfList

Note: When converting macros that include the Delete command, a Run
Process action is created with the Application-Query-Delete-Entry
command. For more information about this command, see Special Run
Process and $PROCESS$ commands on page 616.

You can use the $VERSION$ keyword to include or exclude older Windows
user tool clients in workflow. For UNIX user tool clients, use the $OS$
keyword. For more information, see $VERSION$ on page 678.
Review your converted actions to make sure there are double quotation
marks around any $<field_ID>$ that is of character data type.

Converting existing macros to active links ! 663

Action Request System 6.3

" To convert macros into active links:


1 In the Server Window, choose Tools > Convert > Macros To Active Link

actions.
The Macro Conversion window appears. All active links containing macros
are displayed in the Active Links Containing Macros list.

Figure B-8: Macro conversion window

2 Use the Add or Add All buttons to move active links to the Active Links To

Convert list, as appropriate.


3 Click Convert.
!

If the macro conversion is successful, a Conversion Complete prompt


appears. The Active Links To Convert list will be updated with new actions
replacing the previous run macro actions.

Otherwise, a warning appears indicating which macros were not


converted, along with a brief explanation. For example, if un-supported
commands (login-related macro commands) are encountered or the
Macro Conversion option failed to interpret the commands (probably
because of incorrect syntax), the warning notifies the user and highlights
which active links were not converted. The conversion option then
proceeds with the other active links.

664 "Appendix BWorkflow extras

Developing AR System Applications: Basic

Note: If the number of current actions during the conversion is more than
the limit (currently 25), the developer should decompose the Run Macro
action into multiple actions and retry the conversion.
4 Click the Remove or Remove All button to finalize which active links you will

ultimately save.
5 Click Close to save the results of the conversion.

If you do a comparison of the active link before and after the conversion, you
should see the following:
Before Conversion

Run Macro listed under Current Actions in the If/Else


actions.

After Conversion

Its new active link equivalent listed in the Current Actions.

For example, a Run Macro that opened a window in Remedy User in Submit
mode will be converted into an Open Window active link action with a
Submit Window Type, and so on.
The modified active link action will now function exactly as expected,
without any further administration on your part. However, you might want
to export the active links before you convert them, so that you can verify the
changes with the original active link definitions.

Converting existing macros to active links ! 665

Action Request System 6.3

666 "Appendix BWorkflow extras

Appendix

Operators, wildcards, keywords,


and NULL values
This section provides descriptions of the operators, wildcards, and keywords
that you can use when defining qualification criteria or building field values.
This section also contains a lengthy discussion of NULL values in fields and
how they are used with AR System.
!
!
!
!

Operators (page 668)


Wildcards (page 672)
Keywords (page 673)
The NULL value, relational algebra, and AR System (page 680)

Operators, wildcards, keywords, and NULL values ! 667

Action Request System 6.3

Operators
This section describes how each operator is evaluated when you use multiple
operators in a qualification statement. You can use operators to build logical
expressions. For additional information, see Building qualifications on
page 484.

Operator types
The following table lists the operators that you can use when building a
qualification statement.
Operator

Action

AND (&&)

Logical AND of the result of two conditions. (The result is true if


both conditions are true.) For example, 'Status'="New" AND
'Assigned-to'="Andy" finds all new requests assigned to Andy. You
can use the symbol && instead of the word AND.

OR (||)

Logical OR of the result of two conditions. (The result is true if either


condition is true.) For example, 'Status'="New" OR 'Assigned
To'="Andy" finds all new requests and all requests assigned to Andy
(no matter what their status). You can use the symbol || (two
vertical lines) instead of the word OR.

NOT (!)

Negates the condition that follows. (If the condition is false, the
result is true.) For example, NOT 'Status'="New" finds all requests
that are not new. You can use the symbol ! instead of the word NOT.

LIKE

Performs a pattern search (see also Wildcards on page 672). For


example, 'Submitter' LIKE "Bob%ton" finds all requests with a
submitter name that begins with the letters Bob and ends with the
letters tonsuch as Bob Compton and Bobby Fenton. The LIKE
operator applies to character and diary fields only.

668 "Appendix COperators, wildcards, keywords, and NULL values

Developing AR System Applications: Basic

Operator

Action

EXTERNAL()

Allows for all or part of a qualification to come from a field on the


form. Used in qualifications for active link or filter Run If
conditions, Push Fields or Set Fields actions, table field properties,
and Search type menu definitions. EXTERNAL() is not used in
escalations and flashboard variable qualifications.
Enter a character field name or field ID into the EXTERNAL()
operator, for example, EXTERNAL($field_name$) or
EXTERNAL('50').

EXTERNAL() evaluates to True when:


!
!
!

The field specified contains an expression that evaluates to True.


The field is empty.
The field does not exist or is not a character field.
You can also concatenate expressions, for example,
EXTERNAL($field_name$) AND Submitter != $NULL$.

If you use keywords as part of a qualification in a field called by


EXTERNAL(), you must add an escape character (\) to the keywords.
This prevents the keywords from expanding prior to being used in
the qualification.
For example, if you have a table field with a qualification of
EXTERNAL($Qualify Field$)

and Qualify Field is a character field with a value of


(Create Date < $TIMESTAMP$) AND (Login Name =
$USER$)

the table field will not produce expected results when refreshed. The
keywords will expand, producing a qualification such as
(Create Date < 05/22/02 11:00:34 AM) AND (Login
Name = Demo)

This is not a valid query, since the date/time and character values are
not enclosed in quotation marks. To prevent the keywords from
expanding, write the qualification like this:
(Create Date < $\TIMESTAMP$) AND (Login Name =
$\USER$)

In forms viewed on the Web, if EXTERNAL() references a field that


contains a qualification such as $Date 1$ <= Date 2, you must add
double quotation marks around $Date 1$, like this:
$Date 1$ <= Date 2.

For more information, see Values in qualifications on page 487.

Operators ! 669

Action Request System 6.3

Operator

Action

Adds two integer, real, or decimal values.


Adds an integer, real, or decimal interval to a time value. (Real and
decimal values are truncated to an integer value.)
Concatenates two character strings.
For example, 'Create Date'>$DATE$+28800 finds all requests created
after 8:00 a.m. today (where 28800 is the number of seconds in 8
hours).

Performs any of the following:


Subtracts two integer, real, or decimal values.
! Subtracts two time values (resulting in an integer).
! Subtracts an integer, real, or decimal interval from a time value.
(Real and decimal values are truncated to an integer value.)
For example, 'Create Date'>$DATE$-604800 finds all requests
created within the last seven days (where 604800 is the number of
seconds in one week).
!

Multiplies two integer, real, or decimal values. For example,


'Quantity'*'Price'>50 finds all requests where the contents of the
Quantity field multiplied by the contents of the Price field is more
than 50.

Divides two integer, real, or decimal values. For example,


'Yearly Expenses'/12>8000 finds all requests where the average
monthly expense is greater than $8,000.

Supplies the modulo of two integer values (the remainder of a


division of the values). For example, 'ID'%2=1 finds all requests with
an odd number in the ID field.

<

Matches contents that are less than the value. For example,
'Create Date'<($TIMESTAMP$-86400) finds all requests created
more than 24 hours ago (where 86400 is the number of seconds in
24 hours).

>

Matches contents that are greater than the value. For example,
'Create Date'>"10/31/99 00:00:00" finds all requests created after
midnight on October 31, 1999.

670 "Appendix COperators, wildcards, keywords, and NULL values

Developing AR System Applications: Basic

Operator

Action

!=

Matches contents that are not equal to the value. For example,
'Status'!="Closed" finds all requests that are not closed.
Note: If possible, avoid using the != operator when building

qualifications. For more information, see Tips for improving


system performance when creating qualifications on page 489.
On Sybase databases, you cannot use the != operator against
unlimited character fields where the database input length
equals 0.
<=

Matches contents that are less than or equal to the value. For
example, 'Salary'<=10000 finds all requests with contents of the
Salary field less than or equal to 10000.

>=

Matches contents that are greater than or equal to the value. For
example, 'Create Date'>="10/31/99" finds all requests created on or
after October 31, 1999.

Matches contents that are exactly equal to the value. For example,
'Status'=0 finds all requests with a status value equal to the first
selection value.

Operator precedence
When you use multiple operators to construct qualification criteria, they are
evaluated in the following order:
1 ()
2 NOT (!) - (unary minus)
3 */%
4 +5 < <= > >= = != LIKE
6 AND (&&)
7 OR (||)

Operators of the same precedence are performed left to right.


You can use parentheses in an expression to override operator precedence.
AR System evaluates expressions inside parentheses first before evaluating
those outside.

Operators ! 671

Action Request System 6.3

Wildcards
The following table lists the wildcards that you can use with the LIKE operator
in qualifications.
Wildcard Action
%

Matches any string of 0 or more characters.


Example: J%son matches Jackson, Johnson, Jason, and Json.

(Underscore character) Matches any single character.


Example: B_b matches Bab, Bob, and Bub.

[ ]

Matches any single character within a specified set.


Example: [abcf] matches the characters a, b, c, and f.

[-]

Matches any single character within a specified range.


Example: [a-f] matches the characters a, b, c, d, e, and f.

[^]

Matches any single character not within the specified set or range.
Example: [^abcf] matches all characters except a, b, c, and f.
[^a-f] matches all characters except the characters a, b, c, d, e, and f.

Wildcard symbols are interpreted as wildcards only when used with the LIKE
operator; otherwise, they are interpreted literally. To use the percent symbol
(%), underscore (_), or open bracket ([) as an explicit text character within
a LIKE operation, you must enclose the symbol in brackets. For example, [%]
will match the % character, not find 0 or more characters. The close bracket
(]) functions as a wildcard only when it is accompanied by an open bracket
([). The hyphen functions as a wildcard character only when preceded by an
open bracket ([ or [^).
You must use the % symbol when you want to include leading and trailing
characters. For example, to match Jill Bobbington, Bobby Fenton, Bob
Compton, and Bob Stone in the Submitter field, enter:
'Submitter' LIKE "%Bob%ton%"

672 "Appendix COperators, wildcards, keywords, and NULL values

Developing AR System Applications: Basic

Keywords
The following table lists the keywords that you can use when building a
qualification statement.
Keyword

Value

$APPLICATION$ *

The name (not label) of the currently running application. On web clients,
this keyword is set to NULL when the form is opened from a URL that does
not include the application's name. In Remedy User, this keyword is set to
NULL when the form is opened outside of an application.

$BROWSER$ *

The browser being used in the current session. For Remedy User, an empty
string (" ") is returned.

$CLIENT-TYPE$

The client type of the API program. When used in workflow, this keyword
resolves to a number that corresponds to Remedy User, Remedy
Administrator, DSO, and so on.
The number representations of the different client types are in the ar.h file,
which is located in <install_directory>\api\include. For example, if you use
$CLIENT-TYPE$ in a Run If qualification for an active link, you can cause the
active link to execute only for a mid-tier client (for example,
$CLIENT-TYPE$ = 9).

$CURRENTWINID$ *

Window ID that uniquely identifies the current window in the client


environment. This is the same ID used to send events to this window. The
format and length of window IDs are not constrained. The value returned
from $CURRENTWINID$ should be saved into a display-only character field
with a database length of zero (unlimited length).
$CURRENTWINID$ is not the window with focus, but the window ID of the
window in which the active link is running.

$DATABASE$

The type of database used on the current server. This keyword is especially
useful for workflow that is dependent on the database environment.

* This keyword is NULL on the server.

Keywords ! 673

Action Request System 6.3

Keyword

Value

$DATE$

For Date/Time fields, the current date (time defaults to midnight). Anything
stored in a date/time field is stored as the number of seconds since UNIX
epoch time, which includes the date and time.
For Date fields, the current date.
For Time fields, $DATE$ evaluates to 12:00:00 AM.
Note: The $DATE$ keyword is not expanded when default values are set. This

allows the value to be set to the date the form is submitted rather than the
date the form is opened. Consequently, the literal keyword is displayed in
the field before the request is submitted.
$DEFAULT$

The default value for the field, if any.

$EVENTSRCWINID$ *

Window ID that uniquely identifies the event source window in the client
environment. The value returned from $EVENTSRCWINID$ should be saved
into a display-only character field with a database length of zero
(unlimited length).

$EVENTTYPE$ *

Window ID that uniquely identifies the type of the event. The value returned
from $EVENTTYPE$ should be saved into a display-only character field with a
database length of zero (unlimited length).

$FIELDHELP$ *

The help text in the Help Text tab of the Field Properties window.
Web applications do not support the $FIELDHELP$ keyword; it will return
NULL.

$FIELDID$

The ID of the field that currently has focus in the client. Returns NULL if the
FIELDHELP keyword is not implemented.

$FIELDLABEL$

The label of the field that currently has focus in the client.

$FIELDNAME$

The name of the field that currently has focus in the client.

$GROUPIDS$

Returns the list of the group IDs of which the current user is a member.
If there are no groups, the value is NULL. If there are groups, the value is a
string displayed in the following format:
;<groupID>;<groupID>;<groupID>;

$GROUPS$

Returns the list of the groups of which the current user is a member.

$GUIDE$

The name of the currently running guide. (The name is $NULL$ if no guide
is running.) This keyword is useful for determining if an active link or filter
is executing as a part of normal workflow or in a guide.

* This keyword is NULL on the server.

674 "Appendix COperators, wildcards, keywords, and NULL values

Developing AR System Applications: Basic

Keyword

Value

$GUIDETEXT$ *

The text that is entered under the Help tab of a guide definition.
Web applications do not support the $GUIDETEXT$ keyword; it will return
NULL.

$HARDWARE$

The hardware on which the process is running. This is the name each
hardware vendor has given their hardware, as in the following:
On UNIX platforms, the name returned by the uname -m command (for
example, sun4c).
! On PC platforms, the processor type (for example, PC i486).
You can use this keyword to build filters, escalations, and active links that
execute only if the process is running on an appropriate platform.
!

Web applications do not support the $HARDWARE$ keyword; it will return

NULL.
$HOMEURL$

The URL of the current page. This option is only valid on web pages. If it is
used in Remedy User, it will return a NULL value.
The $HOMEURL$ keyword enables you to use the relative path to the
application resources when creating workflow. For example, in the Set Fields
action, you can enter the following text for the Set Value for the View Field:
$HOMEURL$/Resources/test.html

The URL is resolved at the runtime and loads a different file without
changing the Set Fields action.
$INBULKTRANSACTION$

Indicates whether you are in a bulk transaction. The values returned are:
0 = False
1 = True
A value of 0 is always set on AR System clients.

!
!

This keyword is not supported and is reserved for future use.


$LASTCOUNT$

The number of requests returned from the most recent search. You can use
this keyword with any search, including one run from the search window, a
Set Fields operation, a macro, a table refresh, and so on.
Note: The $LASTCOUNT$ keyword is not expanded when default values are

set. This allows the value to be set when the form is submitted rather than
when the form is opened. Consequently, the literal keyword is displayed
in the field before the request is submitted.
* This keyword is NULL on the server.

Keywords ! 675

Action Request System 6.3

Keyword

Value

$LASTID$

Upon a successful submit, the keyword contains the Request ID of the most
recently created request during the users login environment.
Note: The $LASTID$ keyword is not expanded when default values are set.

This allows the value to be set when the form is submitted rather than
when the form is opened. Consequently, the literal keyword is displayed
in the field before the request is submitted.
$LASTOPENEDWINID$ *

Sent Event keyword that resolves to the ID of the window that was last
opened. Every window that is opened, including children, will be saved as
the last opened window. The value of this keyword will be in affect until
another window is opened.
The format and length of window IDs are not constrained. The value
returned from $LASTOPENEDWINID$ should be saved into a character field
with a database length of zero (unlimited length).

$LOCALE$

The language and country code for the specified locale, in the format
<language>_<COUNTRY_CODE>.

To view a list of the language and county codes, open a form, and choose
Form > Manage Views. Click in the Locale column, and open the menu list
that appears.
$NULL$

A null value (no value).


For additional information, see The NULL value, relational algebra, and AR
System on page 680.

$OPERATION$

The current operation. See the next table for descriptions of the operation
options.

$OS$

The operating system of the machine on which a process is running. You can
use this keyword to build workflow that executes conditionally based on the
current operating system.
Web applications do not support the $OS$ keyword; it will return NULL.

$ROLES$

For a deployable application, returns the list of roles that map to groups to
which the current user belongs.

$ROWCHANGED$ *

Evaluates if row in table field has changed:


0 = Not changed
! 1 = Changed
This keyword is only valid in the context of a table loop guide.
!

* This keyword is NULL on the server.

676 "Appendix COperators, wildcards, keywords, and NULL values

Developing AR System Applications: Basic

Keyword

Value

$ROWSELECTED$ *

Evaluates if row in table field is selected:


0 = Not selected
! 1 = Secondary selection
! 2 = Primary selection
This keyword is only valid in the context of a table loop guide.
!

Note: The $ROWSELECTED$ keyword is not expanded when default values are

set. This allows the value to be set when the form is submitted rather than
when the form is opened. Consequently, the literal keyword is displayed
in the field before the request is submitted.
$SCHEMA$

The name of the current form.

$SCHEMA-ALIAS$

The singular alias used for a form. This is the forms active alias, which comes
from one of the request aliases of the active VUI.

$SERVER$

The name of the current AR System server.

$SERVERTIMESTAMP$

For Date/Time fields, the current date and time on the server.
For Time fields, the current time on the server.
For Date fields, the current date on the server.
Note: The $SERVERTIMESTAMP$ keyword is not expanded when default

values are set. This allows the value to be set to the date and time (on the
server) the form is submitted rather than the date and time the form is
opened. Consequently, the literal keyword is displayed in the field before
the request is submitted.
$TCPPORT$

The TCP/IP port of the local AR System server. This keyword is an integer
data type.
Web applications do not support the $TCPPORT$ keyword; it will return
NULL.

$TIME$

For Date/Time fields, the current time (date defaults to current day).
Anything stored in a date/time field is stored as the number of seconds since
UNIX epoch time, which includes the date and time.
For Time fields, the current time.
For Date fields, the number of seconds since 12:00:00 a.m., which is
converted to a date value.
Note: The $TIME$ keyword is not expanded when default values are set. This

allows the value to be set to the time the form is submitted rather than the
time the form is opened. Consequently, the literal keyword is displayed in
the field before the request is submitted.
* This keyword is NULL on the server.

Keywords ! 677

Action Request System 6.3

Keyword

Value

$TIMESTAMP$

For Date/Time fields, the current date and time.


For Time fields, the current time.
For Date fields, the current date.
Note: The $TIMESTAMP$ keyword is not expanded when default values are

set. This allows the value to be set when the form is submitted rather than
when the form is opened. Consequently, the literal keyword is displayed
in the field before the request is submitted.
$USER$

The current user login.

$VERSION$

The software version running on the client (active links) or server (filters and
escalations). This keyword includes any applicable patch number.
Note: The $VERSION$ keyword might not be interpreted correctly in

workflow running on pre-5.0 UNIX user tool clients. Use the $OS$
keyword in qualifications to detect UNIX user tool clients.
$VUI$ *

The label of the form view displayed in the active window.

$VUI-TYPE$

The view's platform (such as web or Windows). When used in workflow, this
keyword will be the platform value of the active form view. For filters and
escalations, this keyword resolves to an empty string. This keyword is similar
to $VUI$ except that its value is the VUI type of the active view.
The values for this keyword are NONE, WINDOWS, WEB(RELATIVE),
WEB(FIXED), WIRELESS. The number representations of the different view
platforms are in the ar.h file.

$WEEKDAY$

The current day of the week as a character string.


Note: The $WEEKDAY$ keyword is not expanded when default values are

set. This allows the value to be set to the day of the week the form is
submitted rather than the day of the week the form is opened.
* This keyword is NULL on the server.

678 "Appendix COperators, wildcards, keywords, and NULL values

Developing AR System Applications: Basic

You can use the $OPERATION$ keyword in qualifications to determine


whether the filter or active link should execute on the current operation. For
example, the qualification $OPERATION$="SET" causes the filter or active link
to execute when a request is modified but not when a request appears in
display mode. You can also use this keyword to capture audit information.
For example, setting a field to the value:
"Filter X executed on operation "+$OPERATION$
tells you whether a filter executed during a submit operation (CREATE
returned) or a modify operation (SET returned).
$OPERATION$ Description

Filter Execution Form


Conditions
Mode

CREATE

Occurs while creating a request.

Submit

DELETE

Occurs while deleting a request.

Delete

DIALOG

Occurs while opening a form as a


dialog box.

Dialog

GET

Occurs while retrieving a request for Get


display.

Display

MERGE

Occurs while merging requests.

QUERY

Occurs while searching for requests.

SET

Occurs while modifying requests.

SET ALL

Occurs while modifying selected


requests. (SET ALL is not available
for filters.)

New

Merge
Search
Modify

Modify
Modify
All

Keywords ! 679

Action Request System 6.3

The NULL value, relational algebra, and AR System


The value NULL is a unique entity. It has a number of characteristics that must
be understood to effectively use this value. This section explains NULL values.
Specifically, it covers how NULL values are used and interpreted within
relational algebra qualifications and some special interpretations and
overrides that are used within AR System.

The NULL value


The NULL value is a special value that is different from any valid value for any
data type. However, the NULL value is a legal value in any data type. The NULL
value is used to represent missing or inapplicable information. Another way
of thinking about NULL is as no value or the lack of information about the
value.

Relational algebra and qualifications involving NULL


All searching in the database uses the SQL language, which is based on the
concepts of relational algebra. You should understand these concepts to
understand the results you are getting from your operations.
The easiest way to explain this is to start with an example. There is a form
with a selection field called Field X, which allows two possible states: Yes or
No. The form contains 20 records of which Field X is set to Yes for 7 of them,
No for 8 of them, and NULL for 5 of them. When you query for the records,
you receive the following results:
!

Query for all tickets (without any conditions) results in 20 records


returned.

Query for all tickets where 'Field X' = NULL results in 5 records returned.

Query for all tickets where 'Field X' = "Yes" results in 7 records returned.

Query for all tickets where 'Field X' = "No" results in 8 records returned.

If you now query for all tickets where 'Field X' != "Yes", you might expect to
receive 13 records returned (8 records where the field is No and 5 where they
are NULL) but you will only receive 8 records. This is correct behavior
according to the rules of relational algebra. NULL is NULL; that is, it has no
value. You must explicitly look for NULL values as they are not implicitly
included in queries that search for values.

680 "Appendix COperators, wildcards, keywords, and NULL values

Developing AR System Applications: Basic

Relational algebra does not follow Boolean logic, where conditions are either
true or false. Instead, every condition evaluates as one of TRUE, FALSE, or
UNKNOWN. This is called three valued logic. The result of a comparison is
UNKNOWN if either value being compared is the NULL value. Rows satisfy a
search condition if the result of the condition is TRUE. Rows for which the
condition is UNKNOWN do not satisfy the search condition.
To find a row with a NULL value for a field in a search is to explicitly search
for whether the field has a NULL value. Testing for NULL is the only case that
a NULL value will match. So, in the example, to find all entries that are not Yes
or are NULL, the qualification would be
'Field X' != "Yes" OR 'Field X' = NULL
This criteria would have found the 13 records in the example data set.
Any comparison other than equal to and not equal to results in a value of
UNKNOWN. In AND operations, at least one item is NOT TRUE, so the
qualification does not succeed. In OR operations, this clause with NULL is
UNKNOW, so the qualification depends on the result of the other clauses. If all
clauses evaluate to UNKNOWN, the qualification fails as a qualification.
If a NULL value is involved in an arithmetic operation, the result of the
operation is NULL. In other words, any time a NULL value is involved, the
entire operation becomes NULL.
As an example for this functionality, look at the following qualification
('Field A' = 5) OR ('Field B' > 'Field C' + 37)
If Field C has a NULL value, the second clause will evaluate to UNKNOWN.
Since the operation is an OR, the result of the qualification will depend on
whether Field A is set to 5 (success) or not (failure).
An alternative to using NULL is to have a value or state that represents
unknown. Then, you would assign the value of Yes, No, or Unknown. Filters
could be used to assign Unknown if the field is NULL. Then, the field would
always have a value and you would not have the issue about working with a
NULL value.

The NULL value, relational algebra, and AR System ! 681

Action Request System 6.3

The NULL value and AR System


In qualifications, a NULL value follows all the characteristics of relational
algebra as defined in the previous section. Since search operations are passed
directly to the database and they base their searches on relational algebra, this
means AR System is based on relational algebra.
However, you are in full control of value assignment and the use of values
within workflow. In these cases, you do not follow the strict rules about NULL
handling. This allows the system to return a result more in line with what is
expected. For example, if you wanted to perform a Set Fields operation where
you assigned a Name field by concatenating the First Name, Middle Initial,
and Last Name field, you might make an assignment like this:
'Name' = $First Name$ + $Middle Initial$ + $Last Name$
If processing used strict relational algebra, and the Middle Initial was NULL,
the name assigned would be NULL. According to relational algebra, a NULL
value within an operation will cause the result of the operation to be NULL.
Instead, AR System treats a NULL value within workflow actions (other than
queries) as follows:
!

Character, Diary, Timestamp, SelectionAn empty string

Integer, Real, DecimalA value of 0

In the example, the name is assigned the First and Last name without middle
initial.
By treating a NULL value as an empty value rather than as UNKNOWN in a true
relational algebra sense, the end result is what is expected instead of a NULL
value.

682 "Appendix COperators, wildcards, keywords, and NULL values

Index
Symbols
! BAS 668
- BAS 670
!= BAS 671
" BAS 670
% BAS 670
&& BAS 668
* BAS 670
+ BAS 670
.def file type (exported objects) ADV 256
.xml file type (exported objects) ADV 257
/ BAS 670
= BAS 671
>, >= BAS 670
|| BAS 668

A
About box
in applications BAS 151
in Remedy Administrator BAS 40
accelerator keys BAS 590
access control
See also access control groups
active links BAS 100, BAS 125
additive BAS 90
applications BAS 92, BAS 125, BAS 137
fields BAS 95, BAS 125, BAS 504
forms BAS 92, BAS 125
Group form BAS 113
groups BAS 83
guides BAS 92, BAS 125

access control (continued)


illustrated BAS 112
implicit groups BAS 103
objects, AR System BAS 125
overview BAS 82
requests BAS 101, BAS 105
reserved fields BAS 604
roles BAS 87
Roles form BAS 118
row-level security BAS 103, BAS 606
users BAS 87
access control groups
See also groups; permissions
Assignee group BAS 103, BAS 104
Assignee Group group BAS 104, BAS 105,
BAS 606
computed groups BAS 86, BAS 115
dynamic groups BAS 104
explicit groups BAS 83
implicit groups BAS 83, BAS 103
requests at group level BAS 105
requests at user level BAS 104
See also access control
Submitter group BAS 103, BAS 104
access points
creating BAS 144
described BAS 143
using BAS 145

Index ! 683

Action Request System 6.3

accessibility
accessible mode BAS 461
features BAS 462
preferences BAS 460
accessibility (Section 508)
images BAS 462
requirements for applications BAS 459
actions
See also workflow actions
Else BAS 473, BAS 494
If BAS 473, BAS 494
number of actions on If and Else tabs BAS 494
active link actions
Call Guide ADV 24, BAS 499, BAS 501
Change Field BAS 499, BAS 502
Close Dialog BAS 508
Close Window BAS 170, BAS 499, BAS 508
Commit Changes BAS 170, BAS 499, BAS 510
DDE ADV 156, BAS 499, BAS 511
Direct SQL ADV 32, BAS 499, BAS 512, BAS
514
Exit Guide ADV 32, BAS 499, BAS 514
Go To Guide Label ADV 32, BAS 500, BAS
514
Goto BAS 500, BAS 514
Message BAS 499, BAS 500, BAS 517
OLE Automation ADV 128, BAS 500, BAS
526
Open Dialog BAS 526
Open Window ADV 215, ADV 248, BAS 170,
BAS 500, BAS 526
Push Fields BAS 500, BAS 544
Run Macro BAS 500, BAS 553
Run Process BAS 501, BAS 555
Set Fields BAS 501, BAS 559
Wait ADV 34, BAS 501, BAS 570
active link actions, using
changing order BAS 498
creating BAS 496
deleting BAS 498
modifying BAS 497
types BAS 499

684 "Index

active link conditions


after modify BAS 479
after submit BAS 479
button/menu item BAS 483
copy to new BAS 480
display BAS 479, BAS 574
event BAS 481
gain focus BAS 482
guides interacting with ADV 47
interval BAS 483
lose focus BAS 482
menu/row choice BAS 482
modify BAS 479
return BAS 482
search BAS 480
set default BAS 479
submit BAS 479
un-display BAS 479
window close BAS 480
window loaded BAS 481
window open BAS 480, BAS 574
active link guides ADV 45
active links defined in ADV 40
defining ADV 36
overview ADV 45
active link menu items
permissions BAS 594
properties BAS 589
active link permissions enforced in guides ADV 41
active links
See also active link actions; active link actions,
using; active link conditions; active link
menu items
access control BAS 100, BAS 125
buttons BAS 322, BAS 594
conditions BAS 476
converting from macros BAS 662
DDE ADV 150, ADV 162
defining in a guide ADV 40
disabling BAS 477
enabling BAS 477
execution conditions BAS 573
execution order ADV 404, BAS 477
guides interacting with ADV 47
menu items BAS 322, BAS 594

Developing AR System Applications: Basic

active links (continued)


naming BAS 477
OLE Automation ADV 131ADV 147
overview BAS 466
permissions ADV 41, BAS 100, BAS 126, BAS
473
permissions enforced in guides ADV 41
processing BAS 573
qualifications BAS 483
selecting, for a guide ADV 40
sending events BAS 630
toolbar button BAS 587
trace modes BAS 586
workflow issues with entry point guides ADV
83
ActiveX controls
linking to (OLE) ADV 147
unsupported in Mozilla when viewing
reports ADV 218
ActiveX controls, in browser settings BAS 441
add operator BAS 670
adding
actions BAS 497
fields to join forms BAS 336
form views and BAS 331
groups BAS 116
items (menus) BAS 270
menu items BAS 346, BAS 589
menus BAS 346, BAS 589
new fields to all views BAS 78
roles BAS 120
separators BAS 589
source control and BAS 56
user login accounts BAS 38
additive access control BAS 90
administering servers BAS 41
administrator default for fields BAS 269
Administrator group BAS 84
advanced
change field action BAS 506
data fields BAS 97
open window action BAS 541
push fields action BAS 548
search menus BAS 354

advanced (continued)
set fields action BAS 566, BAS 568
table fields BAS 290
advanced tasks in localization ADV 182
advanced workflow, Call Guide action ADV 28
advisory mode ADV 318
after modify active link condition BAS 479
after submit active link condition BAS 479
aggregates. See table fields statistics
Alert Events form ADV 485, ADV 594
alert list fields
auto refresh BAS 300
creating BAS 284
drill-down on web BAS 301
labels BAS 299
overview BAS 223
permissions BAS 97
results color BAS 295
sort order BAS 293
workflow and BAS 228
Alert List form ADV 594
alert notification mechanism BAS 523
alerts
See also Remedy Alert
architecture ADV 484
escalation ADV 486
mid tier ADV 488
registration activity, with server events ADV
346
viewing ADV 486
web-based, list ADV 488
aliases
group BAS 114
request BAS 378
web BAS 375
aligning
fields BAS 243, BAS 410, BAS 417, BAS 421
grid and BAS 411
trim BAS 327
Allow Any User to Submit setting BAS 98
AND operator BAS 668
ANSI SQL standards, using BAS 512, BAS 637
anywhere QBE match BAS 258
Apache AXIS, WSDL file ADV 395
appearance of applications BAS 146

Index ! 685

Action Request System 6.3

appending export files ADV 262, ADV 269


appending. See adding
appfield.css style sheet ADV 89
APPLICATION keyword BAS 673
application list fields
AppSubset field BAS 604
creating BAS 319
entry point labels BAS 380
Home Page form BAS 234
overview BAS 234
using style sheets with ADV 88
workflow BAS 235
application mode BAS 150, BAS 151
Application Name field BAS 119, BAS 608
Application Owner property
described BAS 140
displaying BAS 60
application permissions
individual applications BAS 125
multiple applications BAS 126
subadministrator BAS 128
Application Statistics Configuration form ADV
594
Application Statistics form ADV 594
Application window
closing BAS 55
creating objects in BAS 145
details BAS 60
manipulating objects in BAS 55
opening BAS 54
saving contents of BAS 140
using BAS 46, BAS 132
applications
See also Application Owner property;
application permissions; Application
window; deployable applications; local
applications; web applications
See also web applications
About box BAS 151
access control BAS 92, BAS 125, BAS 137
access points BAS 143, BAS 148
accessibility BAS 459
appearance BAS 146
application mode BAS 150, BAS 151
cascading style sheets, using with ADV 113

686 "Index

applications (continued)
change history BAS 149
converting local to deployable BAS 155
creating BAS 54, BAS 135, BAS 136
customizing title bar BAS 151
data properties BAS 148
deleting BAS 156
deployable BAS 133
deployable, exporting and importing ADV
267
described BAS 132
developing BAS 135
entry points ADV 74, ADV 84
entry points, creating ADV 85
forms properties BAS 138, BAS 147
general properties BAS 146
help BAS 153, BAS 154
icons BAS 151
including objects in BAS 137
including packing lists in ADV 372
label property BAS 147
licensing ADV 539
local BAS 132
localizing ADV 177
names BAS 146
opening BAS 54
opening in Remedy User BAS 150
overview of licensing ADV 541
ownership of objects BAS 140
permissions BAS 137
primary form BAS 152
primary view BAS 152
properties, defining BAS 146
run with form window maximized BAS 151
saving BAS 140
saving to disk BAS 459
shortcuts to BAS 155
show only forms in BAS 152
states BAS 134, BAS 141
statistics properties BAS 148
support files BAS 148, BAS 442
tips for designing BAS 28
users with disabilities and BAS 459
web alias BAS 147
workspaces ADV 370

Developing AR System Applications: Basic

AppSubset field (entry points) BAS 604


AR Export format ADV 252
AR Fonts BAS 71
AR Path BAS 68
AR System Application State form ADV 595
AR System Message Catalog, localizing ADV 191
AR System ODBC driver. See ODBC
AR System User Central File form ADV 592
AR System User Preference form ADV 592
AR Task shortcut BAS 150, BAS 155
ar.ini file, DDE time-out settings ADV 159
aradmin
commands and options ADV 553
examples ADV 556
arcache utility ADV 345
architecture, alert ADV 484
archive activity, with server events ADV 346
archive form property BAS 201
ARDATE
dates ADV 209
environment variable ADV 209
errors in formatting ADV 211
field descriptors ADV 209
time ADV 209
ARDATEONLY environment variable
defining ADV 209
errors in formatting ADV 211
ARDBC LDAP plug-in. See LDAP
ARERR BAS 519
arerror.log file BAS 516, BAS 587
arescl.log file BAS 587
arguments with comma as decimal separator,
specifying BAS 646
arimportcmd
commands and options ADV 560, ADV 562
examples ADV 564, ADV 569
importing with mapping ADV 560
importing without mapping ADV 562
UNIX and ADV 559
arithmetic operators BAS 670
ARLABEL, using ADV 186
ARNOTE BAS 519
ARNotification (field order in notifications) BAS
526
arreload utility ADV 345

arrows, setting move size BAS 78


ARTEXT ADV 192
ARTIMEONLY environment variable
defining ADV 209
errors in formatting ADV 211
ARWARN BAS 519
ASCII format
obtaining data ADV 252
reports ADV 253
Assigned To core field BAS 600, BAS 602
Assignee group
access BAS 84
access control groups BAS 104
reserved group BAS 84
Assignee Group field BAS 105
Assignee Group group
access BAS 104
access control BAS 105
access control to requests BAS 107, BAS 111
reserved group BAS 85
attachment fields
creating BAS 312
database properties BAS 314
deleting BAS 314, BAS 332
size considerations BAS 315
attachment pools
creating BAS 310
creating attachment fields in BAS 312
deleting attachment fields in BAS 314
labels in web views BAS 316
list BAS 249
overview BAS 218, BAS 230
permissions BAS 98
properties BAS 311
attachments
copying requests and BAS 231
importing and exporting (import tool) ADV
293
importing and exporting (web report) ADV
252
maximum file size BAS 256
attributes
missing XML ADV 423
names for DSO fields ADV 528
object in directory services ADV 516

Index ! 687

Action Request System 6.3

attributes properties BAS 268


Authentication Login Name field BAS 607
Authentication String field BAS 607
auto fit column BAS 247
auto layout
adding fields BAS 404
arranging fields BAS 405
buttons BAS 407
column types BAS 399
enabling BAS 397
field behavior BAS 398
field properties BAS 406
field properties, new column BAS 401
field properties, new section BAS 402
how fields are arranged BAS 399
moving fields BAS 400
navigation area and fields BAS 405
new columns and sections BAS 400
properties BAS 397
style definition, about BAS 389
style definition, applying BAS 396
style definition, choosing a file BAS 390
style definition, editing BAS 394
style definition, working with BAS 390
working with views BAS 403
Autolayout Bar BAS 397
automating localization ADV 187, ADV 192
automation servers (OLE) ADV 129, ADV 147

B
background
color BAS 377
mode (trim) BAS 328
backward compatibility
localizing macros ADV 205
macros not supported after 5.x ADV 250
Remedy Alert, working with versions of
AR System before 5.0 ADV 487
banner, hiding BAS 377
Basic properties, workflow BAS 473, BAS 476
Basic settings, guides ADV 36
basic web services ADV 383
batch updates BAS 64
blank form view BAS 368
bold field labels BAS 265

688 "Index

bottom (align) BAS 410


box. See trim
bring to front (align) BAS 411
BROWSER keyword BAS 673
browser settings, for scripting and ActiveX BAS
441
browsers. See web clients
building qualifications BAS 484
bulk updates BAS 64, BAS 675
business time
Application-Bus-Time-Add command ADV
586
Application-Bus-Time-Diff command ADV
587
Application-Bus-Time-Subtract
command ADV 587
business hours, defining ADV 573
command syntax ADV 586
debugging tips ADV 588
examples
hours spanning midnight and time zones,
different ADV 581
hours that span over midnight ADV 578
more than one shift ADV 577
one hour gap ADV 575
time zones, different ADV 579
forms ADV 572
holidays
adjust time across midnight ADV 585
dates and times, entering ADV 584
holiday time, using ADV 582
international server ADV 584
no end time ADV 584
no start and end time ADV 585
no start time ADV 584
special business time form ADV 572
holidays form, setting dates in ADV 582
offset hours, using ADV 575
overview ADV 572
workdays form ADV 572
button fields
See also toolbar buttons
active links BAS 587, BAS 594
creating BAS 320
deleting BAS 596

Developing AR System Applications: Basic

button fields (continued)


disabling BAS 323
displaying as URLs BAS 248
image properties BAS 322
open window action and ADV 250
show close BAS 529
zero-column (auto layout) BAS 407
button/menu item active link condition BAS 483
buttons, login and logout BAS 453

C
Call Guide action ADV 24, BAS 499, BAS 501
advanced ADV 28
dynamic fields ADV 28
restricted list ADV 26
canceling login BAS 39
cascading style sheet file BAS 442
cascading style sheets
adding to applications ADV 113
anatomy of rule syntax ADV 108
appfield.css ADV 89
application list fields, using with ADV 88,
ADV 110
application-level style ADV 116
AR System, using with ADV 108
browser limitations ADV 91, ADV 108
CSS customizations, types of ADV 116
customizing ADV 112
example of style sheets applied ADV 111
field customizations ADV 125
field types ADV 116
files in mid tier directory ADV 113
font styles, changing ADV 124
help, using with ADV 110
hierarchy of elements ADV 111
inline styles of elements displayed ADV 111
mid tier installation directory ADV 88
Remedy User, using with ADV 89
web applications, using with ADV 113
web clients, using with ADV 91
case-sensitivity BAS 56
Change Field action
advanced functionality, defining BAS 506
attachment pools and BAS 232
currency fields and BAS 221

Change Field action (continued)


defining BAS 502
dynamic fields, setting BAS 506
overview BAS 499
change flag BAS 245
change history
applications BAS 149
building BAS 61
displaying BAS 76
fields BAS 263
forms BAS 202
guides ADV 42
menus BAS 364
packing lists ADV 370
source control ADV 337
updating BAS 61
Change permissions
fields BAS 95
groups BAS 114
changes
object ADV 345, ADV 347
server objects ADV 346
server settings ADV 346
user and group ADV 345
viewing ADV 347
changing
field label BAS 505
label color BAS 505
object names BAS 58
order of menu items BAS 593
order of toolbar buttons BAS 593
server information BAS 36
user information BAS 38
workflow action order BAS 498
character fields
default size limit BAS 256
described BAS 214
character menus
adding to fields BAS 270
creating BAS 343
described BAS 345
localizing ADV 199
choice element, web services ADV 412
chunking data (table field) BAS 298
CleanupAlertEvents escalation ADV 486

Index ! 689

Action Request System 6.3

ClearCase integration with AR System source


control ADV 323
client file location (menus) BAS 349
clients, using home pages with web ADV 76
client-side table fields
chunks returned, defined BAS 298
creating BAS 283
overview BAS 223
CLIENT-TYPE keyword BAS 673
close all (edit menu bar) BAS 590
close all, guides on exit ADV 32
Close Dialog action BAS 508
Close Window action BAS 170, BAS 499, BAS 508
closing
Application window BAS 55
Server window BAS 53
COLAVG function BAS 646
COLCOUNT function BAS 647
COLMAX function BAS 647
COLMIN function BAS 647
color
background on Windows views BAS 377
label, changing BAS 505
properties BAS 263
results list BAS 296, BAS 384, BAS 386
table fields BAS 296
view properties BAS 385
COLSUM function BAS 647
columns
properties (table field) BAS 249
types, auto layout BAS 399
width BAS 247
wrap text in table fields BAS 249
command (DDE) ADV 159
command line
field tips BAS 558
run process BAS 557
syntax guidelines BAS 558
command line interface
aradmin ADV 552, ADV 553, ADV 556
arimportcmd ADV 564
Remedy Administrator ADV 552
Remedy Import ADV 559
Remedy User tool client ADV 566
runmacro ADV 567, ADV 569

690 "Index

commands
$PROCESS$ BAS 616
Run Process BAS 616
comma-separated value (.csv) format ADV 252
Commit Changes action BAS 170, BAS 499, BAS
510
compatibility, backward with macros ADV 205,
ADV 250
complex documents
filter flow ADV 413
hierarchical, web services ADV 409
publishing (web services) ADV 450, ADV 468
components of home pages ADV 74
Computed Group Definition field BAS 115
computed groups
examples BAS 115
overview BAS 86
conditions
active links BAS 476, BAS 573
escalations BAS 476
filters BAS 476, BAS 575
Configuration Tool
alert system and ADV 488
localizing mid tier ADV 202
reporting ADV 215, ADV 219
configuring
applications for licensing ADV 544
AR System with internet access through proxy
server ADV 434
ARDBC-LDAP-Page-Size parameter ADV
508
Crystal Reports ADV 495
details in Remedy Administrator (CLI) ADV
558
home page preferences ADV 98
LDAP plug-in ADV 507
proxy information, access of ADV 435
Remedy Administrator for internet access
through proxy server ADV 437
virtual directory for AR reports ADV 221
web reporting settings ADV 217
confirmation preferences BAS 70
connect refresh mode BAS 343

Developing AR System Applications: Basic

consuming
complex document, web services ADV 468
simple flat document, web services ADV 445
web services ADV 403
web services published on same AR System
server ADV 406
web services, flow ADV 406
Continue button label (Wait action) ADV 35
control panels BAS 169
conventions for qualifications BAS 486
converting
local applications to deployable
applications BAS 155
macros to active links BAS 662
copy to new active link condition BAS 480
copying
fields BAS 330
forms BAS 166
menus BAS 344
objects BAS 57
requests BAS 231
core fields
Assigned To BAS 600, BAS 602
Create Date BAS 599
database properties BAS 254
deleting BAS 332
form views with none BAS 368
Last Modified By BAS 600
Modified Date BAS 600
overview BAS 598
Request ID BAS 599, BAS 601
Short Description BAS 600, BAS 601
special characteristics BAS 601
Status BAS 600, BAS 602
Status-History BAS 600
Submitter BAS 599, BAS 601
Create Date core field BAS 599
creating
applications BAS 135, BAS 136
attachment fields BAS 312
attachment pools BAS 310
computed groups BAS 115
control panels BAS 169
custom application states BAS 143
dialog boxes BAS 170

creating (continued)
display-only forms BAS 168
fields BAS 266
fields in view BAS 331
filter guides that loop through server-side table
fields ADV 63
form entry points ADV 78
forms BAS 163, BAS 164
groups BAS 116
guides ADV 22
home pages (overview) ADV 86
home pages (Remedy User) ADV 87
home pages (web clients) ADV 88
join forms BAS 191
localized templates ADV 206
localized views ADV 185
locked objects ADV 282
menus BAS 342
objects BAS 55
objects (LDAP) ADV 519
packing lists ADV 365
page fields BAS 308
report definition file ADV 230
requests (push fields) BAS 547
roles BAS 120
sample workflow to view subset of entry
points ADV 94
Server Events form ADV 342
set fields from web service filter ADV 403
shortcuts BAS 155
vendor forms ADV 508
views BAS 366
web services ADV 377, ADV 381
criteria for join forms BAS 181, BAS 193, BAS 199,
BAS 200
cross-reference mechanism in notifications BAS
524
Crystal Reports
CrystalQueryConverter Java interface ADV
224
date/time strings ADV 499
Designer ADV 228
DSN ADV 222
join forms ADV 499
limitations ADV 499

Index ! 691

Action Request System 6.3

Crystal Reports (continued)


login, AR System ADV 495
ODBC driver, using AR System ADV 214
queries, converting ADV 224
report fields in ADV 498
ReportQueryConverter Java interface ADV
224
setting up ADV 495
sorting in lists ADV 499
UNIX ADV 214
updating reports in Crystal Designer ADV
228
using ADV 492
web reporting ADV 221
CSV, formats for exporting ADV 253
CURRCONVERT function BAS 647
currency fields
creating BAS 276
initial currency type BAS 250
overview BAS 218
currency types, localizing ADV 201
current
action BAS 497
screen (active links) BAS 561
transaction (filters and escalations) BAS 561
Current Form field BAS 610
Current Server field BAS 610
CURRENTWINID keyword BAS 673
CURRSETDATE function BAS 648
CURRSETTYPE function BAS 648
CURRSETVALUE function BAS 648
custom About box BAS 151
custom title bar icon (applications) BAS 151
custom web services ADV 388
Customize group BAS 84
customizing
data field types with styles sheets ADV 116
fields ADV 125
font styles with style sheets ADV 124
form layout BAS 84
results list fields BAS 206
style sheet types with applications ADV 116
style sheets in the AR System ADV 112

692 "Index

D
data
deployable applications, exporting with ADV
271
deployable applications, importing with ADV
269
DSN (reporting) ADV 222
DSO, enabling ADV 525
exporting to file ADV 251
form, exporting and importing with
deployable applications ADV 271
import file formats ADV 292
importing (UNIX) ADV 559
importing records, methods of ADV
297ADV 298
importing with deployable applications ADV
276
importing, procedure for ADV 306ADV 312
languages (localization) ADV 176
limitations in converting data in server-side
table fields ADV 66
mapping for import ADV 290
mapping with saved files ADV 312
mapping, default path for ADV 296
organizing, in directory services ADV 505
preparing to import ADV 291
Remedy Import, using to import ADV 289
report, from AR System source ADV 251
reporting ADV 214
styles, applying to field types ADV 116
types, web services ADV 431
data chunking (table field) BAS 298
data dictionary menu BAS 343, BAS 362
data fields BAS 214, BAS 266
data languages (localization) ADV 176
data type BAS 257
database
case-sensitivity BAS 56
core fields, properties of BAS 254
field properties BAS 253
names of fields BAS 255
security BAS 362, BAS 641
values, checking BAS 486, BAS 491
DATABASE keyword BAS 673
datatype values, Server Events form ADV 358

Developing AR System Applications: Basic

date fields BAS 215


date format BAS 68
date formats
ARDATE ADV 209
combining field descriptors (UNIX) ADV 209
customizing for localization ADV 209
localizing ADV 208
Windows localizing ADV 211
DATE function BAS 648
DATE keyword BAS 674
date/time fields BAS 215
date/time settings in AR System BAS 70
DATEADD function BAS 649
DATEDIFF function BAS 649
DATENAME function BAS 649
DATENUM function BAS 650
dates in business time holidays form, using ADV
582
DAY function BAS 650
days of month (escalations) BAS 571
DB2 database (diary field limit) BAS 216
DDE
action ADV 156
active link execute action ADV 160
active link poke action ADV 160
active link values, setting ADV 162
active links ADV 150
dde.ini configuration ADV 171ADV 173
DoExecMacro topic ADV 152
examples ADV 153, ADV 156ADV 163,
ADV 167
execute action ADV 160
executing macros ADV 150
fields, setting values ADV 162
item name ADV 157
keyword ADV 162
macros, samples ADV 156
Microsoft Excel integration ADV 163ADV
166
Microsoft Word integration ADV 167ADV
171
overview ADV 150
poke action ADV 160
Remedy User tool macros ADV 151
reports ADV 171

DDE (continued)
request operation result syntax ADV 162
RunMacro function ADV 152
server name for Remedy User ADV 151
service name ADV 157
time-out settings ADV 151, ADV 159
topic name ADV 157
win.ini configuration ADV 152
DDE action BAS 499, BAS 511
debug modes, using log files ADV 42, BAS 586
decimal number fields BAS 217, BAS 273
DECRYPT function BAS 650
DEFAULT keyword BAS 674
Default Notification Mechanism field BAS 606
defaults
field value BAS 269
fields BAS 249
fonts BAS 71
label color BAS 264
locale BAS 79
permissions BAS 121
QBE match BAS 78
URL color BAS 329
view type BAS 79
definition files
deleting ADV 240
editing ADV 237
reports and ADV 227, ADV 228
saving ADV 237
definitions
exporting ADV 258
exporting and importing views ADV 277
file types ADV 256
importing ADV 263
overview of object ADV 256
source control, exporting ADV 328
source control, importing ADV 330
Delete action BAS 498
Delete filter condition BAS 483
Delete menu item (edit menu bar) BAS 590
deleting
applications BAS 156
attachment fields BAS 314, BAS 332
buttons BAS 596
confirmation for BAS 71

Index ! 693

Action Request System 6.3

deleting (continued)
definitions files ADV 240
excess fields from destination servers ADV
266, ADV 276
fields BAS 332
fields in join forms BAS 337
forms BAS 167
groups BAS 117
guides ADV 42
join form criteria BAS 200
menu items BAS 346
menus BAS 345, BAS 596
method (OLE) ADV 130
objects BAS 59
objects from source control ADV 334
pages (field) BAS 308
roles BAS 120
views of forms BAS 373
Demo user BAS 34
deployable applications
See also applications
access points BAS 143
advantages of BAS 133
cascading style sheets, adding ADV 107
configuring to license ADV 544
conflicting types, handling ADV 270
converting from local applications BAS 155
data exporting ADV 271
deleting excess fields from destination
server ADV 270
described BAS 133
exporting and importing ADV 267
exporting and importing form data ADV 271
features BAS 134
fixed licenses ADV 540
floating licenses ADV 540
forms in BAS 139
group permissions warning ADV 373, BAS 57,
BAS 138, BAS 155
importing ADV 269
including forms with group permissions
warning ADV 373, BAS 57, BAS 138
license options ADV 540
licenses on server, applying ADV 546
licenses to users, applying ADV 547

694 "Index

deployable applications (continued)


licensing (overview) ADV 539
licensing of forms cannot be reversed ADV
544
ownership of objects BAS 140
read licenses ADV 540
replacing objects on destination server ADV
270
roles BAS 87
shared workflow BAS 474
states BAS 134, BAS 141
deployment
.css style sheets ADV 113
external files, modifying BAS 442
overview BAS 444
support files, modifying BAS 442
depth effect of trim BAS 328
description (predefined searches) BAS 381
designing
applications BAS 28
forms BAS 163
details in Application window, viewing BAS 60
details in Server window, viewing BAS 60
developing applications BAS 135
dialog boxes
buttons, creating BAS 510
closing BAS 508
display-only forms as BAS 170
modal BAS 526
opening BAS 526
writing data back to parent form BAS 510
diary fields BAS 216, BAS 271
direct access URLs
character encoding BAS 452
examples BAS 452
parameters BAS 452
web views and BAS 447
direct access URLs, reports and ADV 242
Direct SQL
action ADV 32, BAS 499, BAS 512, BAS 514
ANSI SQL standards, using BAS 512
assigning values BAS 636
security BAS 362

Developing AR System Applications: Basic

directory services
defined ADV 505
distinguished name attribute ADV 517
mapping data ADV 506
object attributes in ADV 516
objects in ADV 506
organizing data ADV 505
directory, AR Path BAS 68
dirty bit. See change flag
disabling
buttons BAS 323
change flag BAS 245
fields BAS 246
menu items BAS 383
workflow objects BAS 477
display active link condition BAS 574
display languages (localization) ADV 176, ADV
177
display locale, localizing ADV 207
display preferences BAS 75
display properties, fields BAS 242
displaying
active link condition BAS 479
any match error (push fields) BAS 547
flat image on button BAS 323
no match error (push fields) BAS 547
objects in workspace (with packing list) ADV
371
type (view properties) BAS 424
type of field BAS 249
views based on locale ADV 186
display-only
entry mode BAS 257
fields BAS 257
display-only forms
creating BAS 168
overview BAS 162
used as control panel BAS 169
used as dialog boxes BAS 170
Distinguished Name
defined ADV 517
defining filters for ADV 520
described ADV 520
divide operator BAS 670
document style, web services ADV 378

documents
AR System ADV 167
complex hierarchical, web services ADV 409
complex, filter flow ADV 413
simple, web services ADV 407
DoExecMacro DDE topic ADV 152
dragging and dropping objects BAS 57
DSN (data source name) ADV 222
DSO
adding fields for, LDAP ADV 527
described ADV 524
enabling data, LDAP ADV 525
fields, attribute names ADV 528
DSO reserved fields BAS 610
Duplicate Entry ID Action field BAS 611
dynamic data exchange. See DDE
dynamic data exchange. See DDE action
dynamic fields
Call Guide action ADV 28
Change Field action BAS 506
Open Window action BAS 541
Push Fields action BAS 548
search menus, defining BAS 354
Set Fields action BAS 566
table fields, defining BAS 290
dynamic group fields BAS 105
dynamic groups
example BAS 111
overview BAS 83, BAS 86
dynamic menus BAS 343, BAS 350
dynamic web views BAS 148

E
editable columns, tables BAS 249
editing text BAS 216, BAS 256
Else and If actions BAS 473, BAS 494
email
notifications BAS 523
Subject line BAS 525
Email Address reserved field BAS 605
email, creating localized templates ADV 206

Index ! 695

Action Request System 6.3

enabling
fields BAS 246
menu bar BAS 591
workflow objects BAS 477
workspaces ADV 371
encoded characters BAS 448
encoding, URLs BAS 448
ENCRYPT function BAS 650
enforced mode ADV 317
entries, Report form ADV 238
entry mode BAS 257
entry points ADV 21
active link workflow and guides ADV 83
administrators, using ADV 69
appearance in applications ADV 84
application designers, using ADV 69
application, creating ADV 85
AppSubset fields BAS 604
custom view labels ADV 80
end-users, using ADV 70
form, creating ADV 78
forms, defining in BAS 204
guides, using ADV 72
limiting number ADV 69
new BAS 204
new label BAS 380
overview ADV 68
search BAS 204
search label BAS 380
subset BAS 235
subset, creating ADV 94
types ADV 71
using ADV 69
views, selecting ADV 78
environment
ARDATE variable ADV 209
ARDATEONLY variable ADV 209
ARTIMEONLY variable ADV 209
localizing ADV 203
source control ADV 316, ADV 320
web reporting ADV 223
equal operator BAS 671
equal QBE match BAS 258
error handling BAS 586

696 "Index

errors
formatting date and time environment
variables (localizing) ADV 211
messages BAS 517, BAS 519
RPC and memory allocation BAS 315
escalation actions
Direct SQL ADV 32, BAS 499, BAS 512, BAS
514
Log to File BAS 500, BAS 516
Notify BAS 500, BAS 520
Push Fields BAS 500, BAS 544
Run Process BAS 501, BAS 555
Set Fields BAS 501, BAS 559
Wait ADV 34, BAS 501, BAS 570
escalation actions, using
changing order BAS 498
creating BAS 496
deleting BAS 498
modifying BAS 497
types BAS 499
escalations
See also escalation actions; escalation actions,
using
arescl.log BAS 587
CleanupAlertEvents ADV 486
conditions BAS 476
disabling BAS 477
enabling BAS 477
execution order ADV 404, BAS 477
logging activity BAS 586, BAS 587
naming BAS 477
overview BAS 467
performance BAS 570
performance impact of unqualified Run If
statements BAS 484
qualifications BAS 483
time BAS 570
trace modes BAS 586
event active link condition BAS 481, BAS 630
Event Details fields ADV 352
events recorded in Server Events form ADV 344
EVENTSRCWINID keyword BAS 674
EVENTTYPE keyword BAS 674

Developing AR System Applications: Basic

examples
aradmin ADV 556
arimportcmd ADV 564
DDE integration with MS Excel ADV 163
DDE integration with MS Word ADV 167
DDE program and buffer ADV 153
DDE requests, assigning values from ADV
162
filter processing BAS 578
filter qualifications BAS 491
guides, creating interactive ADV 54
inetorgperson ADV 506
OLE automation, using ADV 133
runmacro ADV 569
sample workflow to view subset of entry
points, creating ADV 94
sending events BAS 632
shared guides ADV 43
shared workflow BAS 476
style sheets applied ADV 111
web service with complex document,
consuming ADV 468
web service with complex document,
publishing ADV 450
web service with simple flat document,
consuming ADV 445
web service with simple flat document,
creating ADV 440
execute action (DDE) ADV 160
execution conditions
interval (escalations) BAS 570
time (escalations) BAS 570
execution order
active links and filters ADV 404, BAS 477,
BAS 574
Goto action BAS 515
Exit Guide action ADV 32, BAS 499, BAS 514
expanding
control spacing BAS 417
distance between fields in form BAS 411
menu items at startup BAS 76
exporting
add all related ADV 261
add contents ADV 260, ADV 368
append definition file ADV 262, ADV 269

exporting (continued)
attachments ADV 252, ADV 293
data to file ADV 251
definitions ADV 257
definitions to source control ADV 328
deployable applications ADV 267
email templates ADV 206
files, appending ADV 262, ADV 269
form data with deployable applications ADV
272
localized view components ADV 187
lock objects ADV 262
locked objects ADV 282
object definitions ADV 258
objects (CLI) ADV 557
overwrite definition file ADV 262, ADV 268
server-independent ADV 262
shortcut ADV 258
view definitions ADV 277
views ADV 205
expressions. See qualifications
extension, views and BAS 528, BAS 532, BAS 534,
BAS 537
EXTERNAL () operator BAS 227, BAS 669
external files and web views
.css style sheets ADV 113
external help files BAS 154
EXTERNAL keyword ADV 249

F
fallback mappings ADV 290
field access
Assignee access control BAS 103
Assignee Group access control BAS 104
change field BAS 504
dynamic group access control BAS 104
restricting contents BAS 269
Submitter group access BAS 103
workflow and BAS 504
field descriptors
ARDATE ADV 209
date formats ADV 209
field ID BAS 254

Index ! 697

Action Request System 6.3

field labels
blank BAS 71
changing BAS 505
definition BAS 243
duplicate non blank labels BAS 71
localizing ADV 187, ADV 188
styles BAS 264
field mapping mode (open dialog action) BAS 529
field patterns BAS 268
field permissions
alert list BAS 97
attachment pool BAS 98
individual fields BAS 125
multiple fields BAS 126
overview BAS 95
page BAS 97
results list BAS 97
table BAS 97
field properties
active links BAS 322
advanced BAS 251
attributes BAS 268
auto layout BAS 251
color BAS 263
database BAS 253
display BAS 242
font BAS 263
image BAS 322
pages BAS 307
permissions BAS 259
related workflow BAS 261
shared fields BAS 309
sort BAS 293
table BAS 286
view field BAS 251
views BAS 259
Field Properties dialog box, keeping open BAS 267
field types
alert list BAS 223, BAS 283
application list fields. See application list fields
attachment pools BAS 218, BAS 230, BAS 310,
BAS 311
button BAS 235, BAS 320
character BAS 214
core BAS 598

698 "Index

field types (continued)


currency BAS 218, BAS 276
data BAS 214, BAS 257, BAS 266
date BAS 215
date/time BAS 215
decimal number BAS 217, BAS 273
defining BAS 248
determining which to use BAS 239
diary BAS 216, BAS 271
display-only BAS 257
global BAS 237
GUID BAS 239
integer BAS 217, BAS 271
nonoperational BAS 333
optional BAS 257, BAS 265
overview BAS 214
page BAS 228, BAS 303
read/write BAS 245
real number BAS 215, BAS 272
reporting ADV 244
required BAS 257, BAS 265
reserved BAS 602
results list BAS 223, BAS 283
selection BAS 217, BAS 274
system maintained BAS 265
table BAS 223, BAS 283
time BAS 215
trim BAS 236, BAS 324, BAS 326
view fields BAS 232, BAS 317
field values, assigning from
another field BAS 561
arithmetic operations BAS 658
different request BAS 564
direct SQL commands BAS 636
function results BAS 645
process results BAS 656
field with execution order (Goto actions) BAS 515
FIELDHELP keyword BAS 674
FIELDID keyword BAS 674
FIELDLABEL keyword BAS 674
FIELDNAME keyword BAS 674

Developing AR System Applications: Basic

fields
See also core fields; field access; field labels;
field permissions; field properties; field types;
field values, assigning from
See also individual database by name
adding for DSO, LDAP ADV 527
adding to view BAS 331
administrator default value BAS 269
advanced data BAS 97
aligning BAS 410, BAS 417, BAS 421
arranging BAS 387, BAS 408
attaching to object attributes ADV 513
auto layout BAS 406
change history BAS 263
characteristics in an active link BAS 502
client-side table fields BAS 223
copying BAS 330
core, database properties of BAS 254
creating BAS 266
creating attachment fields BAS 312
CSS classes ADV 116
customizing with style sheets ADV 125
database name, identifying ADV 498
deleting BAS 332, BAS 337
deleting attachment fields BAS 314
descriptors, combining (UNIX) ADV 209
displaying in a view BAS 260
Event Details ADV 352
excess fields from destination server,
deleting ADV 266, ADV 276
finding BAS 334
font change, active links BAS 504
form action BAS 80, BAS 612
form with none BAS 368
global BAS 237
grid alignment BAS 413
Group form BAS 114
help BAS 62
help text in BAS 262
hidden BAS 244, BAS 245
hidden, active links BAS 504
in form view BAS 421
including in notifications BAS 525
including/excluding in form views BAS 423
inetorgperson form, summary ADV 523

fields (continued)
input length BAS 256
join forms and BAS 182, BAS 258, BAS 334,
BAS 336
localizing ADV 187, ADV 188
localizing selection ADV 190
location position BAS 243
maximum/minimum values BAS 273
modifying BAS 329
modifying in view and vendor forms BAS 179
moving BAS 408, BAS 416
on form (table fields) BAS 286
placing on form BAS 28
qualifications BAS 486
reserved BAS 254
reserved for Server Events ADV 342
resizing BAS 416, BAS 421
returned in results list pane BAS 206
Roles form BAS 119
server-side table fields BAS 223
setting multiple properties BAS 418
shared workflow BAS 475
spacing between BAS 417
stacked horizontally in joins BAS 196
stacked vertically in joins BAS 196
states BAS 602
style sheet classes, applying ADV 116
tabbing order BAS 244
table, walking BAS 659
values, setting with DDE request results ADV
162
visible, active links BAS 504
web views BAS 80
Fields in View dialog box BAS 424
fifteen-minute interval refresh mode BAS 343
file menus BAS 343, BAS 348
file sizes for attachment fields BAS 315
files
See also log files
.css style sheets ADV 113
.def ADV 256
.xml ADV 257
appfield.css style sheet ADV 88
arescl.log BAS 587
definition ADV 237

Index ! 699

Action Request System 6.3

files (continued)
definition, saving ADV 237
export, appending ADV 262, ADV 269
exporting data to ADV 251
import log ADV 313
import types ADV 292
importing, data formats for ADV 292
location (menus) BAS 349
login.jsp, localizing ADV 202
logout.jsp, localizing ADV 202
menu BAS 350
name (log to file action) BAS 517
report ADV 215
style sheet location ADV 109
filter actions
Direct SQL ADV 32, BAS 499, BAS 512, BAS
514
Goto BAS 500, BAS 514
Log to File BAS 500, BAS 516
Message BAS 500, BAS 517
Notify BAS 500, BAS 520
Push Fields BAS 500, BAS 544
Run Process BAS 501, BAS 555
Set Fields BAS 501, BAS 559
Wait ADV 34, BAS 501, BAS 570
filter actions, using
changing order BAS 498
creating BAS 496
deleting BAS 498
modifying BAS 497
types BAS 499
Filter API BAS 642
filter conditions
delete BAS 483
get entry BAS 483
merge BAS 483
modify BAS 483
overview BAS 476
submit BAS 483
filter guides ADV 59
basics, defining ADV 36
filters defined in ADV 40
in server-side table fields ADV 61
looping through table fields ADV 62

700 "Index

filters
See also filter actions; filter actions, using; filter
conditions
defining in a guide ADV 40
Distinguished Name, defining for ADV 520
enabling BAS 477
execution order ADV 404, BAS 188, BAS 477,
BAS 575
flow for complex documents ADV 413
how AR System processes BAS 578
logging activity BAS 586
naming BAS 477
overriding phasing BAS 583
overriding, releasing pending operations BAS
585
overriding, special naming convention BAS
584
overview BAS 467
phase 1 actions BAS 576
phase 2 actions BAS 577
phase 3 actions BAS 577
phases BAS 576
phasing exceptions BAS 582
processing BAS 575
processing example BAS 578
qualifications BAS 483, BAS 484
releasing pending operations for phasing
override BAS 585
special naming convention for phasing
override BAS 584
subject line BAS 525
trace modes BAS 586
finding a field BAS 334
fixed licenses, deployable applications ADV 540
Flashboards, reserved group BAS 85
Flat Look On Forms preference BAS 68
flat mapping, XML ADV 427
flat-file database BAS 56
Floating Licenses field in Group form BAS 115
floating licenses, deployable applications ADV 540
font styles, changing with style sheets ADV 124
fonts
changing style BAS 265
preferences BAS 71
properties BAS 263

Developing AR System Applications: Basic

footer content, editing BAS 434


form action fields BAS 79, BAS 80, BAS 612
add before locking forms ADV 287
adding to form ADV 97
home pages ADV 80
form entry points, creating ADV 78
form permissions
access control BAS 92, BAS 125
individual forms BAS 125
multiple forms BAS 126
subadministrator BAS 128
form types
hidden BAS 93, BAS 128
join forms BAS 191
regular BAS 160
vendor BAS 162
view BAS 162
form views
appearance BAS 376
converting (CLI) ADV 558
creating BAS 366
defining searches BAS 380
deleting BAS 373
menu access BAS 382
modifying BAS 371
naming BAS 372
properties BAS 373
request aliases BAS 378
results list color BAS 296, BAS 384, BAS 386
form views, converting (CLI) ADV 558
format of menu files BAS 350
formats
AR Export ADV 252
ARDATE errors ADV 211
ASCII ADV 252
ASCII, reports ADV 253
comma-separated values ADV 252
CSV, reports ADV 253
importing data files ADV 292
XML ADV 252
XML, reports ADV 252
formatting
qualifications BAS 486
web pages BAS 442

forms
See also form permissions; form types; form
views; join forms; special forms
See also special forms
Alert Events ADV 485
base, web services ADV 381
blank form BAS 368
business time ADV 572
copying BAS 166
core fields BAS 598
creating BAS 163
customizing layout BAS 84
data, exporting and importing with deployable
applications ADV 271
data, importing with deployable
applications ADV 274
data, including when exporting
definitions ADV 272
deleting BAS 59, BAS 167
designing BAS 163
directory services, building ADV 505
display-only BAS 162
entry points ADV 71
entry points, defining BAS 204
flat look on forms BAS 68
font preferences BAS 71
Group form BAS 113
guides (selecting forms for) ADV 38
help text in BAS 202
Home Page ADV 73
home page form action field, adding to ADV
97
Home Pages, opening from BAS 444
including in applications BAS 137
including/excluding fields in views BAS 423
join BAS 160
licensing in deployable application cannot be
reversed ADV 544
localizing ADV 177, ADV 185
mapping to collection of objects
(LDAP) ADV 506
modifying BAS 165
multiple form views BAS 366
open options BAS 79
preferences BAS 77

Index ! 701

Action Request System 6.3

forms (continued)
primary BAS 152
properties BAS 201
regular BAS 160
renaming ADV 265, BAS 166
Report ADV 238
ReportCreator ADV 228
reporting ADV 215
ReportType ADV 223
Roles form BAS 118
Server Events ADV 342, ADV 351
tabbing order BAS 244
types BAS 160
User Preferences ADV 103
vendor BAS 162
vendor forms BAS 174, BAS 203
vendor, creating ADV 508
view forms BAS 162, BAS 174, BAS 204
views BAS 366
views, localizing ADV 179
web services, mapping ADV 480
Forms properties, of applications BAS 147
From Entry ID field BAS 610
From Form field BAS 611
From Mapping field BAS 610
From Pool field BAS 612
From Server field BAS 611
functions
arguments with comma as decimal separator,
specifying BAS 646
COLAVG BAS 646
COLCOUNT BAS 647
COLMAX BAS 647
COLMIN BAS 647
COLSUM BAS 647
CURRCONVERT BAS 647
CURRSETDATE BAS 648
CURRSETTYPE BAS 648
CURRSETVALUE BAS 648
DATE BAS 648
DATEADD BAS 649
DATEDIFF BAS 649
DATENAME BAS 649
DATENUM BAS 650
DAY BAS 650

702 "Index

functions (continued)
DECRYPT BAS 650
ENCRYPT BAS 650
HOUR BAS 651
LEFT BAS 651
LEFTC BAS 651
LENGTH BAS 651
LENGTHC BAS 651
LOWER BAS 651
LPAD BAS 651
LPADC BAS 652
LTRIM BAS 652
MAX BAS 652
MIN BAS 652
MINUTE BAS 652
MONTH BAS 652
REPLACE BAS 653
RIGHT BAS 653
RIGHTC BAS 653
ROUND BAS 653
RPAD BAS 654
RPADC BAS 654
RTRIM BAS 654
SECOND BAS 654
set fields operation, using in BAS 645
STRSTR BAS 654
STRSTRC BAS 654
SUBSTR BAS 655
SUBSTRC BAS 655
TIME BAS 655
TRUNC BAS 655
UPPER BAS 645, BAS 655
WEEKDAY BAS 655
YEAR BAS 655

G
gain focus active link condition BAS 482
general preferences BAS 67
general properties of applications BAS 146
genie help (OLE) ADV 129
get entry filter condition BAS 483
get from source (source control) ADV 339
get operation type, complex documents ADV 413
global fields BAS 237

Developing AR System Applications: Basic

Go To Guide Label action ADV 32, BAS 500, BAS


514
Goto action BAS 500, BAS 514
greater than (or equal to) operators BAS 670
grid
adjusting size BAS 415
aligning fields BAS 413
controlling cell movement BAS 415
size BAS 412
Group Category field BAS 115
Group form
access control ADV 592, BAS 113
fields BAS 114
using BAS 113
warning BAS 166
Group ID field BAS 114, BAS 606
Group List field BAS 605
Group Name field BAS 114, BAS 606
group permissions BAS 121
Group Type field BAS 114, BAS 606
group types
Administrator BAS 84
Assignee BAS 84
Assignee Group BAS 85
Customize BAS 84
Flashboards BAS 85
Public BAS 84
Subadministrator BAS 84
Submitter BAS 84
GROUPIDS keyword BAS 674
group types BAS 83
groups
access control BAS 83
changes ADV 345
computed BAS 86
creating BAS 116
deleting BAS 117
dynamic BAS 83, BAS 86
explicit BAS 83
implicit BAS 83
modifying BAS 116
permissions BAS 114
regular BAS 86

groups (continued)
reserved by AR System BAS 84
See also access control groups
viewing changes ADV 350
GROUPS keyword BAS 674
guest users BAS 98, BAS 124
GUID fields BAS 239
guide actions
advanced call guide, defining ADV 28
call guide ADV 24
exit guide ADV 32
go to guide label ADV 32
wait ADV 34
GUIDE keyword ADV 45, BAS 674
guide permissions
access control BAS 92
individual guides BAS 125
multiple guides BAS 126
guidelines, command line interface ADV 552
guides
See also guide actions; guide permissions
active link ADV 45
active link workflow and entry points ADV 83
active links defined in ADV 40
active links, interacting ADV 47
active links, selecting ADV 40
activity, tracing ADV 42
basic, defining ADV 37
Call Guide action ADV 24, BAS 501
change history ADV 42
creating (example) ADV 54
defining ADV 36
defining (overview) ADV 22
deleting ADV 42
entry point guides ADV 71
execution, controlling ADV 45
exiting ADV 32, BAS 514
filter ADV 59
filters defined in ADV 40
forms, selecting ADV 38
go to label ADV 32, BAS 514
help, creating ADV 42
how active links interact with ADV 47
labels ADV 33, ADV 37, BAS 514
logging activity ADV 42

Index ! 703

Action Request System 6.3

guides (continued)
looping through table fields ADV 50, ADV 61
modifying ADV 42
naming ADV 37
overview ADV 22
Remedy Administrator help text,
creating ADV 42
shared ADV 43
shared (examples) ADV 43
specifications ADV 36
trace ADV 42
using ADV 53
Wait action ADV 34
what is a guide? ADV 45
GUIDETEXT keyword BAS 675

H
handling errors BAS 586
HARDWARE keyword ADV 128, ADV 157, BAS
558, BAS 658, BAS 675
header content, editing BAS 434
height, field BAS 244
help
applications BAS 153, BAS 154
context-sensitive BAS 62
external files BAS 154
fields BAS 262
forms BAS 202
forms in a browser BAS 64
genie (OLE) ADV 129
guides ADV 42
hiding BAS 63
menus BAS 590
packing lists ADV 370
viewing in Remedy Administrator BAS 40
web applications BAS 458
hidden
fields BAS 244, BAS 245
forms BAS 93, BAS 128
pane banner BAS 377
hidden lock type ADV 282
hiding
help BAS 63
menu bar BAS 591
hierarchy of elements in style sheets ADV 111

704 "Index

history, status BAS 489, BAS 602


history. See change history
holiday time. See business time
Home Page form
default installed ADV 73
modifying ADV 86
overview ADV 68
special AR System form ADV 592
home pages
application list fields BAS 234
AppSubset field BAS 604
components ADV 74
creating ADV 86
form action fields ADV 97, BAS 438
form action reserved field ID BAS 613
forms, opening BAS 444
how Remedy User appears ADV 98
how web clients appear ADV 101
mid tier, specifying server ADV 105
modifying ADV 86
navigation aids ADV 97
Object List, instead of ADV 73
opening forms from BAS 444
overview ADV 68
preferences, configuring ADV 98
Remedy User, creating ADV 87
run process commands BAS 626
Run Process return ADV 97
server, user preferences with ADV 103
servers, specifying ADV 104
suppressing in Remedy User ADV 105
URL BAS 444
URL for web client ADV 76
User Preferences form, specifying server and
home page ADV 103
using ADV 73
web clients, creating ADV 88
web clients, using with ADV 76
HOMEURL keyword BAS 675
horizontal expansion (fields) BAS 417
HOUR function BAS 651
hour of day (escalations) BAS 571
https, accessing WSDL or web services over ADV
435

Developing AR System Applications: Basic

I
ID, field BAS 254
If and Else actions BAS 473, BAS 494
if any requests match, push fields BAS 547
if no requests match, push fields BAS 547
images
on buttons BAS 323
views and BAS 377
implementation issues with server-side table
fields ADV 66
implicit groups
overview BAS 83
Request ID field BAS 104
row-level access BAS 103
import in place
data with deployable applications ADV 276
definitions ADV 266
definitions (source control) ADV 330
deployable applications ADV 270
get from source (source control) ADV 339
get mode (source control) ADV 333
importing
attachments ADV 252
conflicting types, handling ADV 266, ADV
276
data (UNIX) ADV 559
data in to AR System ADV 290
data mapping and ADV 290
data, preparing ADV 291
data, procedure for ADV 306ADV 312
definitions ADV 257
definitions from source control ADV 330
deployable applications ADV 267
excess fields from destination servers,
deleting ADV 266, ADV 276
external XML schema ADV 429
fallback mappings for ADV 290
form data with deployable applications ADV
274
localized view components ADV 187
locked objects ADV 284
object definitions ADV 263
objects (CLI) ADV 557
process ADV 290
records, methods of ADV 297ADV 298

importing (continued)
replacing objects on destination server ADV
266, ADV 276
source control ADV 265, ADV 275
view definitions ADV 277
warning if forms renamed ADV 265
INBULKTRANSACTION keyword BAS 675
include fields (notification) BAS 525
indexes
defining BAS 210
form properties BAS 201
individual permissions BAS 121
inetorgperson
example ADV 506
form ADV 594
object class and LDAP ADV 506
summary of fields in example ADV 523
Informix database (diary field limit) BAS 216
inherit field help text BAS 192
Initial Currency Type BAS 250
inline styles of elements displayed in
browsers ADV 111
inner join forms BAS 182
input length BAS 256
insert URL link BAS 250
installing languages ADV 183
Instance ID field BAS 609
integer fields BAS 217, BAS 271
integration
Microsoft Excel with AR System ADV 163
Microsoft Word with AR System ADV 167
source control with AR System ADV 316
integration system vendors (ISVs)
applications, licensing ADV 539
interactive guides, creating ADV 54
interactive messages BAS 517
internet access through proxy server,
configuring ADV 434
Internet Explorer
proxy settings, accessing ADV 435
style sheet attributes ADV 91
interval (escalations) BAS 570
interval active link condition BAS 483
interval refresh mode (15-minute interval) BAS
343

Index ! 705

Action Request System 6.3

ISVs. See integration system vendors ADV 539


italic field labels BAS 265
item name (DDE) ADV 157

J
join criteria BAS 193
join forms
adding fields to BAS 336
creating BAS 191
criteria BAS 181, BAS 193
Crystal Reports and ADV 499
deleting fields from BAS 337
fields BAS 196
fields in BAS 182, BAS 196, BAS 258, BAS 334,
BAS 336
filter execution order BAS 188
information BAS 258
Join Wizard BAS 191
modifying BAS 198
outer joins BAS 182
overview BAS 160
primary form BAS 180, BAS 198
qualification bar and BAS 194
removing fields from BAS 337
Request ID field in BAS 190
restricted list BAS 192
rules for, web services ADV 482
secondary forms BAS 180, BAS 198
self-joins BAS 186
transaction control BAS 190
type BAS 199
understanding BAS 180
web services ADV 419
workflow, using in BAS 188
Join Wizard BAS 191
JRE, web services ADV 379
jsp file BAS 375
justifying
field alignment BAS 243
text trim BAS 327

K
keyboard move step size BAS 78
keywords
APPLICATION BAS 673

706 "Index

keywords (continued)
BROWSER BAS 673
CLIENT-TYPE BAS 673
CURRENTWINID BAS 673
DATABASE BAS 673
DATE BAS 674
DDE ADV 162
DEFAULT BAS 674
EVENTSRCWINID BAS 674
EVENTTYPE BAS 674
EXTERNAL ADV 249
FIELDHELP BAS 674
FIELDID BAS 674
FIELDLABEL BAS 674
FIELDNAME BAS 674
GROUPIDS BAS 674
GROUPS BAS 674
GUIDE ADV 45, BAS 674
GUIDETEXT BAS 675
HARDWARE ADV 128, ADV 157, BAS 558,
BAS 658, BAS 675
HOMEURL BAS 675
INBULKTRANSACTION BAS 675
LASTCOUNT BAS 675
LASTID BAS 676
LASTOPENEDWINID BAS 676
list of BAS 673
LOCALE BAS 676
NULL BAS 676
OPERATION BAS 676, BAS 679
OS BAS 558, BAS 658, BAS 676
reports and ADV 233
ROLES BAS 676
ROWCHANGED BAS 676
ROWSELECTED BAS 677
SCHEMA BAS 677
SCHEMA-ALIAS BAS 677
SERVER BAS 677
SERVERTIMESTAMP BAS 677
TCPPORT BAS 677
TIME BAS 677
TIMESTAMP BAS 678
URL, to connect reports to engine ADV 224
USER BAS 678
VERSION BAS 678

Developing AR System Applications: Basic

keywords (continued)
VUI BAS 678
VUI-TYPE BAS 678
web reports ADV 233
WEEKDAY BAS 678
keywords, using
pattern BAS 269
restricting data entry BAS 269
values in qualifications BAS 488

L
labeling table fields BAS 299
labels
align BAS 410
applications and BAS 147
changing color BAS 264, BAS 505
continue button ADV 35
field BAS 243
guides and ADV 33, ADV 37, BAS 514
languages, selecting during install ADV 183
Last Modified By core field BAS 600
LASTCOUNT keyword BAS 675
LASTID keyword BAS 676
LASTOPENEDWINID keyword BAS 676
layout
auto layout BAS 387BAS 408
forms BAS 387, BAS 408
users changing BAS 378
views BAS 378
Layout menu BAS 410
LDAP
attaching fields to objects ADV 513
attaching stored data to form ADV 509
defined ADV 504
fields, adding for DSO ADV 527
inetorgperson object class ADV 506
inetorperson object class ADV 509
mapping data ADV 506
object attributes ADV 513
object classes ADV 509
object classes with DSO ADV 525
object creation ADV 519
overview of plug-in ADV 504
plug-in, configuring ADV 507
Request ID field limitations ADV 517

LDAP (continued)
requesting forms or fields ADV 508
requirements of plug-in ADV 504
search results, paging ADV 508
troubleshooting tips ADV 512
URL standard ADV 506
vendor forms, creating ADV 509
leading QBE match BAS 258
left (align) BAS 410
LEFT function BAS 651
LEFTC function BAS 651
length
field BAS 244
field input BAS 256
LENGTH function BAS 651
LENGTHC function BAS 651
less than (or equal to) operators BAS 670
levels of locked objects ADV 279
License Type reserved field BAS 606
licenses
See also deployable applications
application, managing ADV 549
deployable applications overview ADV 539
floating BAS 115
options for deployable applications ADV 540
overview of application ADV 541
write BAS 98
Like ID field BAS 604
LIKE operator BAS 668
limitations
browser with cascading style sheets ADV 91,
ADV 108
Crystal Reports ADV 499
Request ID field with LDAP ADV 517
rules for choice and all mapping, web
services ADV 482
rules for form mapping, web services ADV
480
rules for join forms, web services ADV 482
rules for keys in form mapping, web
services ADV 481
rules for special forms, web services ADV 482
server-side table fields ADV 66
web services ADV 476

Index ! 707

Action Request System 6.3

limitations (continued)
WSDL, for consumption ADV 479
WSDL, for publishing ADV 480
XML schemas ADV 476
limits (diary fields) BAS 216
line items, web services ADV 411
line. See trim
links, adding to form BAS 250, BAS 328
list boxes BAS 76
list of web services, viewing ADV 383
load-balanced environment, using with server
events ADV 342
local applications
See also applications
advantages of BAS 132
converting to deployable applications BAS
155
described BAS 132
locale
field, using search menus with localized ADV
200
opening form in default BAS 79
setting display ADV 207
view, system searching to display ADV 186
LOCALE keyword BAS 676
Locale reserved field BAS 564, BAS 609
localizing
advanced tasks ADV 182
currency types ADV 201
data languages ADV 176
date and time formats ADV 208
display languages ADV 176
email templates ADV 206
environment settings ADV 203
exporting views ADV 187
field labels ADV 189
forms and ADV 185
getting started ADV 178
importing views ADV 187
languages supported ADV 183
languages, selecting during install ADV 183
login pages ADV 202
menus ADV 199
messages ADV 191
mid tier ADV 202

708 "Index

localizing (continued)
overview ADV 177
process ADV 180
Remedy Administrator settings ADV 203
Remedy User preference settings ADV 206
report definition files in ReportCreator
form ADV 231
reports ADV 180
request aliases ADV 189
run macro actions (5.x) and reports ADV 251
search menus, using Locale field ADV 200
selection fields ADV 190
settings of clients ADV 203
sizes of views ADV 205
user interface of form views ADV 186
view components, manually ADV 188
view to display, system searching for ADV 186
views in web clients ADV 208
location (field position) BAS 243
lock key ADV 282
lock types ADV 279
locked objects
creating ADV 282
exported ADV 282
exporting ADV 262
hidden ADV 279
importing ADV 284
key ADV 282
levels ADV 279
modifying ADV 279
overview ADV 278
read-only ADV 279
types ADV 279
warning ADV 278
log files
arescl.log BAS 587
data import log ADV 296, ADV 313
debug mode, using ADV 42
escalations BAS 587
Log to File
action BAS 500, BAS 516
arerror.log BAS 516
logging activity, guide ADV 42

Developing AR System Applications: Basic

logging in
as a different user BAS 39
canceling login BAS 39
Crystal Reports and ADV 495
Remedy Administrator BAS 34
web clients BAS 452, BAS 453
logging out, web clients BAS 452, BAS 453
logging workflow activity BAS 586
logical operators BAS 668
Login Name field BAS 605
login page
customizing ADV 202
login.jsp, localizing ADV 202
login.jsp BAS 452, BAS 454
LoginServlet BAS 452
logout page, customizing ADV 202
logout.jsp BAS 452
LogoutServlet BAS 452, BAS 454
Long Group Name field BAS 114
looping through table fields
active link guides ADV 50
filter guides ADV 61
lose focus active link condition BAS 482
LOWER function BAS 651
LPAD function BAS 651
LPADC function BAS 652
LTRIM function BAS 652

M
macros
backward compatibility ADV 250
converting to active links BAS 662
DDE programming ADV 150, ADV 151
executing through active link BAS 553
MS Office applications, examples ADV 156
name BAS 554
runmacro utility ADV 566
third-party applications ADV 151
mail, creating localized templates ADV 206
maintain aspect ratio BAS 323
mapping data
arimportcmd ADV 560
fields ADV 308
import preferences and ADV 297ADV 298
LDAP ADV 506

mapping data (continued)


overview ADV 290
saved files and ADV 312
Mapping History field BAS 611
mapping, web services ADV 382
Master Flag field BAS 610
match values BAS 258
MAX function BAS 652
Max Rows field BAS 288
Max Time to Retry field BAS 612
maximum field value BAS 273
mechanism (notifications) BAS 523
memory allocation errors BAS 315
menu bar
hiding BAS 591
items BAS 587
menu items
active links BAS 594
adding BAS 270
deleting BAS 596
order, changing BAS 593
menu types
character BAS 270, BAS 343, BAS 345
data dictionary BAS 343, BAS 362
dynamic BAS 343, BAS 350
file BAS 343, BAS 348
search BAS 350
SQL BAS 343, BAS 357
menu/row choice active link condition BAS 482
menus
See also menu bar; menu items; menu types
accessing BAS 382
active link properties BAS 589
active links BAS 594
attaching to field BAS 342
change history BAS 364
copying BAS 344
creating BAS 342
deleting BAS 345
display method BAS 75
dynamic fields in search, setting BAS 354
file format BAS 350
help BAS 590
localizing ADV 199
menu bar BAS 587

Index ! 709

Action Request System 6.3

menus (continued)
modifying BAS 344
qualification for search menu BAS 353
refresh mode BAS 343
save as BAS 344
search BAS 350, BAS 354
merge filter condition BAS 483
Message action BAS 500, BAS 517
Message Catalog form, Remedy ADV 593
message numbers BAS 520
messages
automatically localizing ADV 192
localizing ADV 191
manually localizing ADV 193
styles in web services ADV 378
method to combine views BAS 196
methods (OLE)
adding ADV 130
deleting ADV 130
Microsoft
.NET, WSDL file ADV 395
See also Internet Explorer
Access and AR System ADV 500
browser limitations in cascading style
sheets ADV 91, ADV 108
Excel integration with AR System ADV 163
localizing date and time formats in
Windows ADV 211
Word integration with AR System ADV 167
mid tier
cascading style sheets to applications,
adding ADV 107
home page in web client ADV 101
localizing ADV 202
ODBC driver installed ADV 214, ADV 493
specifying home page server ADV 105
style sheets in installation directory ADV 88
UNIX and Crystal Reports ADV 214
web services provider ADV 381
web-based alerts ADV 488
mid tier object list BAS 455
Migrator, Remedy BAS 27
MIN function BAS 652
minimum field value BAS 273
MINUTE function BAS 652

710 "Index

modal dialog boxes BAS 526


modes
field mapping (open dialog action) BAS 529
modes (source control)
advisory ADV 318
enforced ADV 317
get mode ADV 333
Modified Date core field BAS 600
modify
active link condition BAS 479
filter condition BAS 483
modifying
all matching requests (push fields) BAS 547
fields BAS 329
fields in view and vendor forms BAS 179
first matching request (push fields) BAS 547
form views BAS 371
forms BAS 165
groups BAS 116
guides ADV 42
Home Page form ADV 86
home pages ADV 86
join forms BAS 198
locked objects ADV 279
menus BAS 344
roles BAS 120
modulo operator BAS 670
MONTH function BAS 652
moving fields BAS 416
Mozilla
proxy settings, accessing ADV 435
style sheet attributes ADV 91
MSSQL database (diary field limit) BAS 216
multiple
fields, setting BAS 418
form views BAS 366
group names BAS 114
multiply operator BAS 670

N
name
field BAS 255
menu BAS 341
of menu for character field BAS 270
push fields BAS 547

Developing AR System Applications: Basic

naming
applications BAS 146
guides ADV 37
packing lists ADV 367
predefined searches BAS 381
views of forms BAS 372
workflow objects BAS 477
navigation
aids for home pages ADV 97
guides, creating ADV 54
nillable attributes, web services ADV 411
nonnumeric values in filter qualifications BAS 487
nonoperational fields BAS 333
not equal operator BAS 671
NOT operator BAS 668
note (message action) BAS 519
notifications
ARNotification (field order) BAS 526
cross-reference BAS 524
email BAS 523
Remedy Alert ADV 485
server ADV 484
user default BAS 524
web-based alerts ADV 488
Notify action ADV 485, BAS 500, BAS 520
NULL keyword BAS 676
NULL values
and relational algebra BAS 680
in qualifications BAS 488
in the AR System, using BAS 680
number (message action) BAS 520
numeric text fields BAS 248

O
object changes ADV 345
server settings ADV 346
viewing server changes ADV 347
object classes
defined ADV 519
DSO with LDAP ADV 525
inetorgperson ADV 506
objectclass attribute ADV 519
Object ID field BAS 609

Object List
entry points appearing in Remedy User ADV
72
home page, replacing with ADV 73
web clients, using in ADV 77
Object List, mid tier BAS 455
Object Type view BAS 47
objects
adding to source control ADV 327
applications and BAS 132
attributes, defined (LDAP) ADV 513
bulk updates BAS 64
checking into source control ADV 336
checking out from source control ADV 335
copying BAS 57
creating BAS 55
creation, supporting ADV 519
definitions ADV 256
deleting BAS 59
displaying BAS 47
displaying by workspace ADV 371
dragging and dropping BAS 57
executable, running source control ADV 340
exporting definitions ADV 258
extension, in Remedy Administrator
(CLI) ADV 556
help text BAS 62
history BAS 61
history in source control ADV 337
identifying uniquely ADV 517
importing definitions ADV 263
including in applications BAS 137
listing details BAS 60
ownership by applications BAS 140
properties, simple XML editing ADV 422
removing from source control ADV 334
renaming BAS 58
source control and ADV 318
status history in source control ADV 338
status list, refreshing in source control ADV
338
summary BAS 60
summary, source control ADV 317
undoing check out from source control ADV
336

Index ! 711

Action Request System 6.3

objects (continued)
user information in source control ADV 339
viewing by form BAS 51
within directory service ADV 506
working with BAS 55
ODBC
AR System ODBC driver ADV 491
clients supported ADV 491
clients, compatibility with ADV 492
Crystal Reports and ADV 495ADV 500
data sources, adding multiple ADV 493
driver installed with Remedy User and mid
tier ADV 214, ADV 493
Microsoft Access and ADV 500
Microsoft Excel and ADV 501
offset hours, using with business time ADV 575
OLE
active links ADV 131ADV 147
ActiveX controls ADV 147
Automation active link action ADV 128, BAS
500
automation servers ADV 147
methods, adding ADV 130
methods, creating ADV 136ADV 145
sample exercise for ADV 133
on 15-minute interval refresh mode BAS 343
on connect refresh mode BAS 343
on open refresh mode BAS 343
open all (edit menu bar) BAS 590
Open Database Connectivity. See ODBC
Open Dialog action BAS 526
open refresh mode BAS 343
open window action
advanced functionality, defining BAS 541
defining BAS 526
description BAS 500
dialog boxes and BAS 170
dynamic fields, setting BAS 541
extension, for views BAS 528, BAS 532, BAS
534, BAS 537
modify or display windows BAS 532
report windows BAS 536
reporting ADV 215, ADV 248
restricted list, dialogs BAS 530
restricted list, modify or display BAS 535

712 "Index

open window action (continued)


restricted list, reports BAS 541
restricted list, search or submit BAS 532
search or submit windows BAS 530
sorting fields BAS 535
view extension BAS 528, BAS 532, BAS 534,
BAS 537
views in dialog boxes, selecting BAS 528, BAS
532, BAS 534, BAS 537
Open Window View Extension BAS 528, BAS 532,
BAS 534, BAS 537
opening, Server window BAS 52
OPERATION keyword BAS 676, BAS 679
operations
types, web services ADV 397
web services ADV 381
operators
arithmetic BAS 670
EXTERNAL() BAS 227
logical BAS 668
precedence BAS 671
qualifications and BAS 668
optional entry mode BAS 257
optional fields BAS 257, BAS 265
options
aradmin ADV 553
arimportcmd ADV 560, ADV 562
runmacro ADV 567
source control ADV 325
OR operator BAS 668
Oracle database, diary field limit BAS 216
orientation (trim) BAS 328
OS keyword BAS 558, BAS 658, BAS 676
other mechanism (notification) BAS 524
outer join forms BAS 182
overwrite (export) ADV 262, ADV 268
ownership of objects (deployable
applications) BAS 140

P
packing lists
adding objects to workspaces ADV 370
basics ADV 367
change history ADV 370
creating ADV 365

Developing AR System Applications: Basic

packing lists (continued)


defining ADV 363
help, Remedy Administrator ADV 370
including in applications ADV 372
naming ADV 367
overview ADV 363
permissions ADV 369
saving in XML ADV 374
subadministrator permissions ADV 370
using ADV 364
window, working in ADV 366
workspaces ADV 370
page fields
creating BAS 303
overview BAS 228
page holders BAS 307
permissions BAS 97
shared field properties BAS 309
workflow and BAS 229
page holder properties BAS 307
pages, formatting for web BAS 442
palette, field BAS 266
pane banner visibility BAS 377
parameter list (OLE) ADV 130
parameters
for accessing forms and search results BAS
450
login and logout BAS 452
specifying in URLs BAS 447
supported in AR System BAS 447
passwords
Demo BAS 34
Password field BAS 605
path (DDE) ADV 159
Pattern Match field BAS 612
pattern, character BAS 269
performance tips
ARDBC-LDAP-Page-Size parameter,
setting ADV 508
bitmaps on forms, size of BAS 324
display-only fields, using for calculations BAS
257
escalations BAS 570
frequent menu retrieval BAS 343
indexed fields, using in join criterion BAS 181

performance tips (continued)


optimize Push Field If qualifications BAS 546
optimize Set Field If qualifications BAS 563
QBE match BAS 258
qualifications BAS 489
refresh table field on entry change BAS 246
Run If statements BAS 484
SQL BAS 361
SQL searches BAS 641
table loop selected rows only ADV 26
table loops, enhancing ADV 26
permission types
Administrator BAS 84
Assignee BAS 84
Assignee Group BAS 85
Assignee group BAS 84
Customize BAS 84
Flashboards BAS 85
Public BAS 84
subadministrator BAS 88, BAS 127, BAS 202
Subadministrator group BAS 84
Submitter BAS 84
user BAS 116
permissions
See also access control groups; permission
types; roles
active links ADV 41, BAS 100, BAS 473
applications BAS 137
default BAS 121
fields BAS 259
form properties BAS 201
forms BAS 125
group BAS 121
individual BAS 121
individual objects BAS 125
multiple objects BAS 126
packing lists ADV 369
Run Process action BAS 556
phasing of filters BAS 576
exceptions BAS 582
overriding BAS 583
overriding, releasing pending operations BAS
585
overriding, special naming convention BAS
584

Index ! 713

Action Request System 6.3

phasing of filters (continued)


phase 1 actions BAS 576
phase 2 actions BAS 577
phase 3 actions BAS 577
plain field labels BAS 265
plug-in, report (ReportCreator form) ADV 222
plug-ins BAS 642
poke action (DDE) ADV 160
popup menus BAS 76
position
field label BAS 243
fields BAS 387, BAS 408
pound sign BAS 350
precedence, operator BAS 671
precision (fields) BAS 273
predefined searches BAS 380
preference forms ADV 592
preferences
accessibility BAS 460
confirmation BAS 70
defining BAS 66
display menu method BAS 75
DSN name (reporting) ADV 222
form action fields BAS 79
form font BAS 71
forms ADV 592, BAS 77
general BAS 67
home pages, configuring ADV 98
Remedy Import ADV 294ADV 306
status in Account dialog box BAS 36
views BAS 425
web reporting ADV 215, ADV 217
web view BAS 79
Prefix view BAS 48
primary forms
in applications BAS 152
in joins BAS 180, BAS 198
primary view in applications BAS 152
printing, disabling BAS 383
$PROCESS$
business time ADV 572, ADV 586
commands ADV 586, BAS 616
using BAS 656

714 "Index

process results
$PROCESS$, using BAS 656
assigning values from BAS 656
processing
active links BAS 573
filters BAS 575
Production state field BAS 119, BAS 608
prompt bar BAS 378
properties
active links BAS 322
field BAS 240
field, in joins BAS 334
form views BAS 373
forms BAS 201
join forms BAS 198
opening BAS 78
related workflow BAS 261
views BAS 259
proxy
configuration information, accessing ADV
435
server, configuring AR System with internet
access through ADV 434
Proxy Server Settings for Java VM BAS 68
Public group BAS 84
publishing
complex document, web services ADV 450
flow for web services ADV 396
simple flat document, web services ADV 440
web services ADV 381
push data to another form BAS 544
Push Fields action BAS 544
advanced BAS 548
advanced functionality, defining BAS 548
attachment pools and BAS 232
currency fields and BAS 221
defining BAS 544
dynamic fields, setting BAS 548
overview BAS 500
restricted list BAS 548
PVCS integration with AR System source
control ADV 323

Developing AR System Applications: Basic

Q
QBE match BAS 78, BAS 258
qualifications
building BAS 484
conventions BAS 486
database values BAS 486, BAS 491
escalations BAS 484
filter examples BAS 491
formatting conventions BAS 486
join forms and BAS 194
keyword values BAS 488, BAS 673
nonnumeric values BAS 487
NULL values BAS 488
operators, list of BAS 668
predefined searches BAS 381
push fields BAS 546
reporting ADV 236
run if statements BAS 483
search menus BAS 353
set fields BAS 562
system performance, improving BAS 489
table fields BAS 287
transaction values BAS 486, BAS 491
web services, XPATH function ADV 400
wildcards BAS 672
workflow BAS 483, BAS 484

R
R/D (results/details) BAS 378
read licenses, deployable applications ADV 540
Read Only columns, tables BAS 249
Read Only field property BAS 245
Read Only-HTML columns, tables BAS 249
read/write field BAS 245
read-only lock type ADV 282
real number fields BAS 215, BAS 272
recording events ADV 344
refresh mode (menus) BAS 343
refreshing
alert list fields BAS 300
status history in source control ADV 338
status in file list in source control ADV 338
table fields BAS 246, BAS 505
registered users in Remedy Alert, managing ADV
487

regular forms BAS 160


regular global fields BAS 238
regular groups BAS 86
related workflow BAS 261
relational algebra and NULL values BAS 680
relational database BAS 56
Remedy Administrator
About box BAS 40
command line interface ADV 552
commands and options (CLI) ADV 553
configuration details (CLI) ADV 558
converting form views (CLI) ADV 558
exiting BAS 41
exporting objects (CLI) ADV 557
extension objects (CLI) ADV 556
importing objects (CLI) ADV 557
internet access through proxy server,
configuring ADV 437
localized environment settings ADV 203
online help BAS 40
Preference form ADV 592
toolbars BAS 47
Remedy Alert BAS 523
See also alerts
backward compatibility ADV 487
installing ADV 489
overview ADV 485
Remedy Import
command line interface ADV 559
data mapping ADV 290
fallback mappings ADV 290
import log file ADV 296, ADV 313
importing data and ADV 306ADV 312
preferences, defining ADV 294ADV 306
Remedy Message Catalog form ADV 593
Remedy Migrator BAS 27
Remedy SNMP Agent See SNMP
Remedy User
Crystal Reports ADV 495
entry points appearing in Object List ADV 72
home pages, creating ADV 87
how home page appears ADV 98
localizing preference settings ADV 206
macros, third-party applications ADV 151
Object List ADV 73

Index ! 715

Action Request System 6.3

Remedy User (continued)


ODBC driver installed ADV 214, ADV 493
path and DDE server name ADV 152
reports ADV 171
reports, creating with ReportCreator
form ADV 227
style sheets, using with ADV 89
suppressing home pages ADV 105
user preferences for web reports ADV 217
Remote Procedure Call (RPC) message style, web
services ADV 378
removing. See deleting
renaming
forms BAS 166
warning ADV 265
objects BAS 58
views BAS 372
REPLACE function BAS 653
replacing objects on destination server ADV 266,
ADV 276
Report form entries ADV 238
report forms
overview ADV 215
Report ADV 593
ReportCreator ADV 593
ReportSelection ADV 593
ReportType ADV 593
ReportCreator form
creating reports in Remedy User ADV 227
keywords, using with web ADV 233
localization ADV 231
plug-in, report ADV 222
report definition files
creating ADV 230
deleting ADV 240
editing ADV 237
saving ADV 237
URL ADV 230
reporting ADV 244
ActiveX controls unsupported in Mozilla
when viewing reports ADV 218
backward compatibility ADV 250
Configuration Tool ADV 219
configuring for DDE ADV 171ADV 173
data (AR System) ADV 214

716 "Index

reporting (continued)
data from AR System source, obtaining ADV
251
definition file, creating ADV 230
definition files ADV 227, ADV 228
deleting definition files ADV 240
disabling BAS 383
embedded, saving to disk BAS 539
files ADV 215
keywords and ADV 233
keywords, using with web ADV 233
localization in ReportCreator form ADV 231
localized ADV 180
localized with run macro actions (5.x) ADV
251
logging in from Crystal Reports ADV 495
macros ADV 250
open window active link action BAS 536
overview ADV 214
preferences ADV 217
qualifications ADV 236
run macro actions ADV 205
running on web ADV 241
statistics ADV 234
table and results list fields ADV 244
type (open window action) BAS 538
web components ADV 215
ReportQueryConverter Java interface for Crystal
Reports ADV 224
ReportSelection form ADV 242
accessing through web clients ADV 242
URL ADV 242
ReportType form ADV 223
request aliases BAS 378
localizing ADV 189
Request ID field
described BAS 599, BAS 601
identifying objects uniquely ADV 517
implicit groups and BAS 104
join forms and BAS 190
LDAP limitations ADV 517
requests
access control BAS 101, BAS 107, BAS 111
Assignee access BAS 103
Assignee Group access BAS 104

Developing AR System Applications: Basic

requests (continued)
copying BAS 231
dynamic group access BAS 104
match (push fields) BAS 547
no match (push fields) BAS 547
row-level access BAS 107
row-level access with dynamic groups BAS
111
sort order BAS 201, BAS 209
Submitter access BAS 103
users submitting BAS 98
required entry mode BAS 257
required fields BAS 257, BAS 265
Required Fields field BAS 612
reserved fields
access control BAS 604
database properties and BAS 254
DSO BAS 610
form action BAS 612
Locale BAS 609
placeholders in definitions BAS 604
ranges BAS 603
Server Events ADV 342
reserved groups BAS 84
resizing fields BAS 416, BAS 421
resource files BAS 442
restricted list
call guide action ADV 26
join forms BAS 192
open window action, dialogs BAS 530
open window action, modify or display BAS
535
open window action, reports BAS 541
open window action, search or submit BAS
532
push fields action BAS 548
set fields action BAS 566
table fields BAS 286
workflow basics BAS 478
Restricted List check box BAS 145
results list fields
creating BAS 284
drill-down on web BAS 301
form properties and BAS 201
labels BAS 299

results list fields (continued)


overview BAS 223
permissions BAS 97
reporting ADV 244
results color BAS 295
sort order BAS 293
workflow and BAS 228
results list pane
defining fields for BAS 206
fields in BAS 206
separator BAS 207
return/table dbl-clk active link condition BAS 482
reusable workflow BAS 474
right (align) BAS 410
RIGHT function BAS 653
RIGHTC function BAS 653
Role ID field BAS 119, BAS 608
Role Name field BAS 119, BAS 608
permissions BAS 87
roles
creating BAS 120
deleting BAS 120
described BAS 87
modifying BAS 120
See also access control groups
Roles form
access control BAS 118
described ADV 594
fields BAS 119
using BAS 118
ROLES keyword BAS 676
ROUND function BAS 653
ROWCHANGED keyword BAS 676
row-level security BAS 103
Rows display property, fields BAS 244
Rows, maximum number of, tables BAS 287
ROWSELECTED keyword BAS 677
RPAD function BAS 654
RPADC function BAS 654
RPC errors in attachments BAS 315
RPC message styles ADV 378
RTRIM function BAS 654

Index ! 717

Action Request System 6.3

rules
cascading style sheet syntax ADV 108
choice and all mapping, web services ADV
482
form mapping, web services ADV 480
join forms, web services ADV 482
keys in form mapping, web services ADV 481
special forms, web services ADV 482
rules for SQL operations BAS 641
Run If qualifications BAS 483, BAS 484
Run Macro action BAS 500, BAS 553
run process action
attachment pools and BAS 232
defining BAS 555
description BAS 501
permissions BAS 556
special commands BAS 616
syntax guidelines BAS 558
URLs, opening ADV 83
workflow to return to home pages ADV 97
run with form windows maximized
(applications) BAS 151
runmacro
action ADV 205
commands and options ADV 566
DDE function ADV 152
examples ADV 569

S
Save As command BAS 57
save to disk, applications BAS 151
saving
applications BAS 140, BAS 459
embedded reports to disk BAS 539
image to file BAS 323
window position and size BAS 67
scaling image to fit BAS 323
schema
constructs not supported, XML ADV 478
XML ADV 382
SCHEMA keyword BAS 677
SCHEMA-ALIAS keyword BAS 677
scripting, browser controls for BAS 441
Search active link condition BAS 480

718 "Index

search menus
creating BAS 350
described BAS 343
localizing ADV 200
qualifications BAS 353
searches, defining for form views BAS 380
SECOND function BAS 654
Section 508 compliance BAS 459
security
databases BAS 362, BAS 641
Demo password BAS 34
direct SQL actions BAS 641
direct SQL commands BAS 362
select all (align) BAS 412
select all groups or roles BAS 65
selection fields BAS 217, BAS 274
localizing ADV 190
table fields BAS 296
view properties BAS 385
selection values (field menus) BAS 218, BAS 274
self-joins BAS 186
send to back (align) BAS 411
sending events
additional considerations BAS 630
CURRENTWINID keyword BAS 673
event condition BAS 481
EVENTSRCWINID keyword BAS 674
EVENTTYPE keyword BAS 674
example procedure BAS 632
LASTOPENEDWINID keyword BAS 676
overview BAS 630
PERFORM-ACTION-SEND-EVENT
command BAS 628
separator for results list pane BAS 207
server events
using with load-balanced environment ADV
342
Server Events form ADV 341, ADV 593
automatic generation ADV 342
creation ADV 342
datatype values ADV 358
event types ADV 344
events that can be recorded ADV 344

Developing AR System Applications: Basic

Server Events form (continued)


server setting changes ADV 351
using ADV 342
workflow and ADV 361
server group actions, with server events ADV 346
SERVER keyword BAS 677
Server Statistics form ADV 594
Server window
closing BAS 53
described BAS 46
details BAS 60
manipulating objects in BAS 55
opening BAS 52
servers
administering BAS 41
application licenses, applying ADV 546
automation (OLE) ADV 129, ADV 147
business time ADV 572
changing BAS 36
DDE name ADV 151
deleting excess fields from destination ADV
266, ADV 276
file location (menus) BAS 349
home page, specifying ADV 104
home pages, specifying in User
Preferences ADV 103
independent, exporting definitions ADV 262
information, specifying home page ADV 104
localizing ADV 203
mid tier, specifying home page ADV 105
Notification ADV 484
object changes ADV 346, ADV 347
server ADV 345
proxy, configuring AR System with internet
access ADV 434
replacing object during import ADV 266,
ADV 276
running processes with Windows servers BAS
558
selecting BAS 52
starting and stopping BAS 41
temporary files BAS 45
unavailable BAS 53

server-side table fields


creating BAS 283
creating a filter guide using ADV 63
implementation ADV 66
limitations ADV 66
looping through table field ADV 62
overview BAS 223
processing records in database, not server or
client ADV 63
using ADV 61
SERVERTIMESTAMP keyword BAS 677
service name (DDE) ADV 157
servlets
LoginServlet BAS 452
LogoutServlet BAS 452, BAS 454
session timeouts BAS 457
set default active link condition BAS 479
set fields action
advanced BAS 566, BAS 568
advanced functionality, defining BAS 566
attachment pools and BAS 221, BAS 232
defining BAS 559
described BAS 501
dynamic fields, setting BAS 566
Filter API plug-in server BAS 642
restricted list BAS 566
walking a table field BAS 661
set fields from web service filter, creating ADV 403
set operation type
complex documents ADV 413
web services ADV 398
Set Tab Order dialog box BAS 422
Set to Defaults field BAS 604
settings
Crystal Reports ADV 495
Crystal Reports for web ADV 221
special submit BAS 98
tab order BAS 421
shared fields BAS 309
shared guides, examples ADV 43
shared workflow
deployable applications warning BAS 474
described BAS 474
examples BAS 476
Short Description core field BAS 600, BAS 601

Index ! 719

Action Request System 6.3

shortcuts
creating BAS 150
exporting objects ADV 258
to applications BAS 155
show
close button in dialog box BAS 529
field properties on field creation BAS 78
grid (align) BAS 411
only forms in application BAS 152
status bar BAS 67
toolbars BAS 67
simple documents
flat, consuming (web services) ADV 445
flat, publishing (web services) ADV 440
web services ADV 407
Simple Network Management Protocol. See
SNMP
Simple Object Access Protocol. See SOAP
simple XML editing ADV 421
null, empty, or missing values, handling ADV
423
object properties ADV 422
Size BAS 298
size, adjusting view ADV 205
size, attachment fields BAS 315
sizing fields BAS 410
SNMP
AR System processes monitored ADV 534,
ADV 535
configuration ADV 533
installation ADV 533
installed files ADV 537
overview ADV 532
Remedy MIB ADV 535
Remedy SNMP Agent functions ADV 534
traps ADV 536
versions supported ADV 532
SOAP
encoding rules for web services ADV 378
headers and authentication ADV 433
web services ADV 378
sort
open window action BAS 535
search menus BAS 352

720 "Index

sort order
requests BAS 201, BAS 209
tables BAS 293
source control
adding server objects ADV 327, BAS 56
advisory mode ADV 318
checking in definitions ADV 265, ADV 275
checking in server objects ADV 336
checking out server objects ADV 335
ClearCase integration ADV 323
copying to .def file ADV 339
deleting objects from ADV 334
enforced mode ADV 317
environment ADV 316, ADV 320
executable, running ADV 340
exporting definitions ADV 328
get mode ADV 333
history of server objects ADV 337
history, viewing ADV 337
import in place ADV 266, ADV 270, ADV
276, ADV 330, ADV 333, ADV 339
importing definitions ADV 330
integration with AR System ADV 316
latest version ADV 338
miscellaneous tasks ADV 338
object summary ADV 317
options ADV 325
PVCS integration ADV 323
removing server objects ADV 334
setting up ADV 319
status history of ADV 338
status in file list ADV 338
undoing check out of server objects ADV 336
user information ADV 339
using ADV 315
spacing, adjusting between fields BAS 417
special forms
See also forms
Alert Events ADV 594
Alert List ADV 594
Application Statistics ADV 594
Application Statistics Configuration ADV 594
AR System Application State ADV 595
AR System Currency Codes ADV 596
AR System Currency Label Catalog ADV 596

Developing AR System Applications: Basic

special forms (continued)


AR System Currency Localized Labels ADV
596
AR System Currency Ratios ADV 596
AR System Email Association ADV 596
AR System Email Attachment Join ADV 596
AR System Email Attachments ADV 595
AR System Email Error Logs ADV 595
AR System Email Instruction
Parameters ADV 595
AR System Email Instructions ADV 595
AR System Email Mailbox
Configuration ADV 595
AR System Email Messages ADV 595
AR System Email Security ADV 595
AR System Email Templates ADV 595
AR System Email User Instruction
Templates ADV 595
ARDBC LDAP Configuration ADV 597
AREA LDAP Configuration ADV 597
Configuration ARDBC ADV 596
Distributed Mapping ADV 597
Distributed Pending ADV 597
Distributed Pool ADV 597
Group form ADV 592
Home Page ADV 73, ADV 592
inetorgperson ADV 594
overview ADV 592
preference ADV 592
Remedy Message Catalog ADV 593
Report ADV 593
ReportCreator ADV 593
ReportSelection ADV 593
ReportType ADV 593
Roles ADV 594
Server Events ADV 593
Server Statistics ADV 594
User form ADV 592
spreadsheets, in the AR System ADV 163
SQL
See also Direct SQL
ANSI standards, using BAS 512, BAS 637
command (direct SQL action) BAS 513
menus BAS 343, BAS 357
result column (set fields) BAS 639

SQL (continued)
results BAS 640
rules for operation BAS 641
rules for performance BAS 361
starting
Remedy Administrator BAS 34
servers BAS 41
states
application state property BAS 147
applications and BAS 141
custom, creating BAS 143
deployable applications and BAS 134
workflow and BAS 142
statistical processing BAS 215, BAS 217
statistics
in table fields BAS 228
reports ADV 234
status bar BAS 67
Status core field BAS 600, BAS 602
status history BAS 489, BAS 602
Status-History core field BAS 600
stopping servers BAS 41
STRSTR function BAS 654
STRSTRC function BAS 654
style sheets. See cascading style sheets
Subadministrator group
access BAS 84
permissions BAS 88
subadministrator permissions
applications BAS 128
forms BAS 128, BAS 202
packing lists ADV 370
Subject line for email in filters BAS 525
submit active link condition BAS 479
submit filter condition BAS 483
submitter access BAS 84
Submitter core field BAS 599, BAS 601
Submitter group
access control BAS 103, BAS 104
reserved group BAS 84
subset of entry points
creating ADV 94
displaying BAS 235
SUBSTR function BAS 655
SUBSTRC function BAS 655

Index ! 721

Action Request System 6.3

subtract operator BAS 670


summary, objects BAS 60
support files, modifying BAS 442
Swap Forms button (join forms) BAS 199
Sybase servers, working with BAS 486
Sybase/MSSQL database (diary field limit) BAS
216
syntax
business time ADV 586
guidelines BAS 558
system fields BAS 265

T
tab order BAS 244, BAS 421
table dbl-clk active link condition BAS 482
table drill-down BAS 246
table fields
active links looping ADV 50
advanced functionality, defining BAS 290
chunking data BAS 298
client-side BAS 223, BAS 283
column properties BAS 249
creating BAS 284
described BAS 223
drill-down on web BAS 301
dynamic fields, setting BAS 290
editable columns BAS 249
fields in BAS 287
filters looping ADV 61
labels BAS 299
maximum number of rows BAS 287
number of rows BAS 244
performance, improving ADV 26
permissions BAS 97
properties BAS 286, BAS 287
qualifications BAS 287
Read Only columns BAS 249
Read Only-HTML columns BAS 249
refresh options, tables BAS 297
refresh results BAS 505
refreshing BAS 246
restricted list BAS 286
results color BAS 295
server-side BAS 223, BAS 283
sort order BAS 293

722 "Index

table fields (continued)


statistics BAS 228
walking a table BAS 659
web views and BAS 301
workflow and BAS 228
wrap text BAS 249
table loop selected rows only ADV 26
table results list color BAS 295
take no action (push fields) BAS 547
TCPPORT keyword BAS 677
templates, creating localized email ADV 206
temporary server files BAS 45
Test state field BAS 119, BAS 608
text
editing window BAS 216, BAS 256
fields BAS 248, BAS 249
message action BAS 517, BAS 518
notification BAS 521
specifying a pattern BAS 269
trim style BAS 327
thickness of trim BAS 327
third-party applications and macros ADV 151
time and date settings in AR System ADV 571, BAS
70
time criteria in escalations BAS 570
time fields BAS 215
time formats
ARDATE ADV 209
customizing for localization ADV 209
localizing ADV 208
Windows localizing ADV 211
TIME function BAS 655
TIME keyword BAS 677
time-out settings, DDE ADV 151, ADV 159
timeouts, session BAS 457
times selected (escalations) BAS 571
TIMESTAMP keyword BAS 584, BAS 678
tips
add form action fields before locking
forms ADV 287
application default permissions, easily setting
up ADV 84
database processing in server-side table fields,
not server or client ADV 63

Developing AR System Applications: Basic

tips (continued)
hierarchy of values in opening home
pages ADV 98
limiting number of entry points ADV 69
order of entry points ADV 79
single filter guides, using ADV 61
title bar icon BAS 377
title bar, customizing in applications BAS 151
To Entry ID field BAS 611
To Form field BAS 611
To Mapping field BAS 610
To Server field BAS 611
toolbar buttons
active links BAS 587
appearance BAS 592
deleting BAS 596
order, changing BAS 593
toolbars BAS 47
hiding on forms in browser BAS 377
showing BAS 67
web BAS 432
top (align) BAS 410
topic name (DDE) ADV 157
trace modes for workflow activity BAS 586
trace modes, guide activity ADV 42
transactions
database values, versus BAS 491
join forms BAS 190
values, checking BAS 486
Transfer Mode field BAS 611
Transfer Status field BAS 610
trim
adding to a form BAS 236
alignment BAS 327
background mode BAS 328
creating BAS 324
depth effect BAS 328
fields BAS 326
justification BAS 327
orientation BAS 328
overview BAS 236
text style BAS 327
thickness BAS 327
URLs BAS 236, BAS 264, BAS 328
troubleshooting LDAP ADV 512

TRUNC function BAS 655


type library information (OLE) ADV 130
types of forms BAS 160

U
unapplied changes, confirm to close BAS 71
un-display active link condition BAS 479
unique (index) check box BAS 212
UNIX
arimportcmd ADV 559
Crystal Reports ADV 214
data, importing ADV 559
date and time environment variables ADV
208, ADV 209
field descriptors, combining ADV 209
Update Status field BAS 610
updating batches of objects BAS 64
UPPER function BAS 645, BAS 655
URL
protected permissions for WSDL file ADV
382
URLs
adding to form BAS 250, BAS 328
buttons displayed as BAS 248
changing color BAS 329
direct access BAS 447
directly accessing report form ADV 242
encoder utility BAS 449
encoding BAS 448
for logging in BAS 452
for logging out BAS 452
for support files BAS 446
Home Pages BAS 444
home pages for web client ADV 76
keywords to connect reports to engine ADV
224
LDAP ADV 506
ReportCreator form ADV 230
reports and direct access ADV 242
ReportSelection form ADV 242
trim BAS 236, BAS 264
using Run Process action to open ADV 83
web views of forms, opening ADV 208
WSDL (Apache AXIS) ADV 395

Index ! 723

Action Request System 6.3

URLs (continued)
WSDL (Microsoft.NET) ADV 395
WSDL file ADV 382
XSD file ADV 429
usability BAS 28
Use First Matching Request Based On Locale
setting BAS 564
User form
access control ADV 592
warning BAS 166
user interface of form views, localizing ADV 186
USER keyword BAS 678
user login accounts, adding BAS 38
user preferences
home page and server, specifying ADV 103
suppressing home pages in Remedy
User ADV 105
web reporting ADV 217
users
access control BAS 87
application licenses, applying ADV 547
changes ADV 345
changing BAS 38
changing layout BAS 378
default for notifications BAS 524
guest BAS 98, BAS 124, BAS 126
information (source control) ADV 339
name (notification) BAS 522
permissions BAS 116
registered, in Remedy Alert ADV 487
viewing changes ADV 350
with disabilities BAS 459

V
values
assigning in workflow BAS 564
assigning with plug-in BAS 642
color of (results list) BAS 385
handling null, empty, or missing ADV 423
qualifications and BAS 488
set fields and BAS 564
setting initial BAS 233

724 "Index

variables
ARDATE environment ADV 209
ARDATEONLY environment ADV 209
ARTIMEONLY environment ADV 209
vendor forms
creating ADV 508
definition BAS 162
modifying fields BAS 179
properties BAS 174
using ADV 508
viewing information BAS 203
VERSION keyword BAS 678
version, getting latest from source control ADV
338
vertical expansion (fields) BAS 417
view fields
creating BAS 317
overview BAS 232
workflow and BAS 234
view forms
creating BAS 174
data types supported BAS 175
definition BAS 162
displaying information BAS 204
modifying fields BAS 179
properties BAS 174
view types, opening in default BAS 79
viewing
ActiveX controls unsupported in Mozilla for
reports ADV 218
alerts ADV 486
entry points, subset of ADV 94
group changes ADV 350
list of available web services ADV 383
server changes ADV 347
server object changes ADV 347
server objects by form BAS 51
user changes ADV 350
views
adjusting size ADV 205
appearance BAS 376
ARNotification BAS 526
arranging fields using auto layout BAS
387BAS 408

Developing AR System Applications: Basic

views (continued)
arranging fields without auto layout BAS
408BAS 421
changing current display BAS 371
creating BAS 366
custom labels for entry points ADV 80
defining searches BAS 380
deleting BAS 373
dialog boxes, selecting with open window
action BAS 528, BAS 532, BAS 534, BAS 537
display, system searching to ADV 186
displaying fields BAS 260
entry points ADV 78
exporting ADV 205
exporting and importing definitions ADV 277
field permissions BAS 95
form permissions BAS 114
form, converting (CLI) ADV 558
form, localizing ADV 179
including/excluding fields BAS 423
localized ADV 185
menu access BAS 382
message components, localizing ADV 191
modifying BAS 371
multiple BAS 366
naming BAS 372
preference settings BAS 425
primary BAS 152
properties BAS 373
request aliases BAS 378
results list color BAS 296, BAS 384, BAS 386
web BAS 79, BAS 316, BAS 447
virtual directory for AR reports ADV 221
visible pane banner BAS 377
VUI keyword BAS 678
VUI-TYPE keyword BAS 678

W
Wait action ADV 34, BAS 501, BAS 570
walking a table field BAS 659
warnings
active link permissions enforced in
guides ADV 41
active links and filters BAS 517
administrator-only permissions BAS 71

warnings (continued)
ANSI SQL standards, using BAS 512, BAS 637
Application-Release-Pending command, use
with caution BAS 623
back up form data before importing in
place ADV 331
blank field labels BAS 71
deleting excess fields on server while importing
definitions ADV 266, ADV 276
deleting excess fields on server while importing
locked objects ADV 285
deleting excess fields on the server while
importing deployable applications ADV 270
duplicate non blank field labels BAS 71
exporting messages using .csv file
format ADV 193
font size, not increasing unless bounding box
increased ADV 125
Group form BAS 166
licensing of forms in application cannot be
reversed ADV 544
locked objects cannot be unlocked ADV 278
locking forms and workflow with different
keys ADV 282
message action BAS 519
renaming form during import from source
control breaks workflow connection ADV
333
renaming forms during import ADV 265
replacing fields with new data type while
importing definitions ADV 266, ADV 276
replacing fields with new data type while
importing deployable applications ADV 270
replacing fields with new data type while
importing locked objects ADV 285
shared workflow in deployable
applications BAS 474
source control, using in mixed AR System
environment ADV 320
User form BAS 166
web
logging in BAS 452, BAS 453
logging out BAS 452, BAS 453
saving application to disk BAS 459
web alias BAS 147, BAS 375

Index ! 725

Action Request System 6.3

web applications
.css style sheets ADV 113
deploying BAS 444
help BAS 64, BAS 458
Home Page URL BAS 444
home pages and BAS 444
logging in BAS 452, BAS 453
logging out BAS 452, BAS 453
opening in a browser BAS 445
web clients
browser limitations in cascading style
sheets ADV 91
home pages, creating ADV 88
home pages, using with ADV 76
how home page appears ADV 101
inline styles of elements displayed ADV 111
localized form views, accessing ADV 208
Object List, displaying ADV 77
ReportSelection form, accessing ADV 242
style sheets, using with ADV 91
web header and footer content, editing BAS 434
web reporting
checklist ADV 216
components ADV 215
configuration and preferences ADV 217
Configuration Tool ADV 219
Crystal Report Designer, using ADV 228
Crystal Web settings ADV 221
environment ADV 223
keywords, using ADV 233
running reports ADV 241
updating reports ADV 228
web services ADV 377
accessing, over https ADV 435
advanced XML editing ADV 428
AR System, using with ADV 379
authentication ADV 433
base form ADV 381
basic ADV 383
choice element ADV 412
clients, writing ADV 395
complex documents ADV 409
Configuration Tool for Remedy mid tier ADV
433
consuming ADV 403

726 "Index

web services (continued)


consuming flow ADV 406
consuming on same AR System server ADV
406
create operation ADV 397
creating ADV 381
custom ADV 388
data types ADV 431
default ADV 383
describing ADV 378
examples ADV 439
external XML schema, importing ADV 429
flow, publishing ADV 396
get operation ADV 413
join forms ADV 419
JRE ADV 379
limitations ADV 476
line items ADV 411
list, viewing ADV 383
mapping ADV 382, ADV 407, ADV 414
message styles ADV 378
mid tier, provider ADV 381
nillable attributes ADV 411
object properties ADV 422
operations ADV 381, ADV 392, ADV 397
publishing ADV 381
rules
choice and all mapping ADV 482
form mapping ADV 480
join forms ADV 482
keys in form mapping ADV 481
special forms ADV 482
saving ADV 382
set fields from ADV 403
set operation ADV 397, ADV 398, ADV 413
simple documents ADV 407
simple XML editing ADV 421
SOAP protocol ADV 378
XML editing ADV 421, ADV 428
XPATH function ADV 400
Web Services Description Language (WSDL). See
WSDL

Developing AR System Applications: Basic

web views
Crystal web settings ADV 221
direct access URL BAS 447, BAS 452
external files and BAS 442
formatting BAS 442
labels for attachment pools BAS 316
page properties BAS 442
preferences BAS 79
reporting ADV 218
tables BAS 301
URLs of forms, opening ADV 208
Web-Alternate view BAS 430
web-based alerts ADV 488
WEEKDAY
function BAS 655
keyword BAS 678
weekdays (escalations) BAS 571
Weight field BAS 604
When to Update field BAS 611
width
of fields BAS 244
of results list columns BAS 208
wildcards BAS 672
window close active link condition BAS 480
window loaded active link condition BAS 481
window open active link condition BAS 480, BAS
574
windows
Application BAS 46, BAS 132, BAS 140
events. See Default Para Font> sending events
global fields and BAS 238
modify or display BAS 532
Object tab BAS 47
Prefix tab BAS 48
report BAS 536
saving position and size BAS 67
search or submit BAS 530
Server BAS 46, BAS 52
workflow BAS 470
Windows. See Microsoft
window-scoped global fields BAS 238

workflow
See also dynamic fields; workflow actions
$PROCESS$ commands BAS 616
See also dynamic fields
active links and entry point guides ADV 83
alert list fields and BAS 228
application list fields BAS 235
attachment pools and BAS 232
Basic properties BAS 473
Basic tab BAS 476
basics BAS 477
events, sending BAS 630
execution order BAS 574
join forms and BAS 188
objects BAS 466
page fields and BAS 229
qualifications BAS 484
related to fields BAS 261
Restricted List BAS 145, BAS 478
results list fields and BAS 228
reusable BAS 474
Run Process commands BAS 616
Run Process return to home page ADV 97
Server Events form and ADV 361
shared BAS 474
shared, samples of BAS 476
subset of entry points, sample ADV 94
table fields and BAS 228
types of actions BAS 499
view fields and BAS 234
walking a table field BAS 659
windows BAS 470
workflow actions
See also dynamic fields; workflow
Call Guide ADV 24, BAS 499, BAS 501
Change Field BAS 221, BAS 232, BAS 499,
BAS 502
changing order BAS 498
Close Dialog BAS 508
Close Window BAS 499, BAS 508
Commit Changes BAS 499, BAS 510
creating BAS 496
creating and modifying BAS 496
DDE ADV 156, BAS 499, BAS 511
deleting BAS 498

Index ! 727

Action Request System 6.3

workflow actions (continued)


Direct SQL ADV 32, BAS 499, BAS 512, BAS
514
Else BAS 473
Exit Guide ADV 32, BAS 499, BAS 514
Go To Guide Label ADV 32, BAS 500, BAS
514
Goto BAS 500, BAS 514
If BAS 473
Log to File BAS 500, BAS 516
Message BAS 232, BAS 500, BAS 517
modifying BAS 497
Notify BAS 500, BAS 520
OLE Automation ADV 128, BAS 500, BAS
526
Open Dialog BAS 526
Open Window BAS 500, BAS 526
Push Fields BAS 221, BAS 232, BAS 500, BAS
544
Run Macro BAS 500, BAS 553
Run Process BAS 232, BAS 501, BAS 555
Set Fields BAS 221, BAS 232, BAS 501, BAS
559
types BAS 499
Wait ADV 34, BAS 501, BAS 570
working with objects BAS 55
workspaces
displaying objects in ADV 371
enabling ADV 371
using with packing lists ADV 370
wrap text in table fields BAS 249
write field BAS 245
Write License Pool field BAS 607
WSDL
accessing, over https ADV 435
file ADV 379, ADV 382, ADV 387
limitations for consumption ADV 479
limitations for publishing ADV 480
protected permissions in URL ADV 382
public permissions in URL ADV 382
URL to WSDL file ADV 382
web services implementation ADV 378
WSDL file (Apache AXIS) ADV 395
WSDL file (Microsoft.NET) ADV 395

728 "Index

X
X (horizontal position of field) BAS 243
XML
advanced editing ADV 428
file type ADV 257
flat mapping ADV 427
formats for exporting ADV 252
missing attributes ADV 423
saving packing lists in ADV 374
schema constructs not supported ADV 478
schema limitations ADV 476
schema, web services ADV 382
simple editing ADV 421
URL with XML schema ADV 429
web services, editing ADV 421
WSDL file ADV 379
XPATH function, web services ADV 400

Y
Y (vertical position of field) BAS 244
YEAR function BAS 655

*47834*
*47834*
*47834*
*47834*
*47834*

Вам также может понравиться