You are on page 1of 403

CA Service

Management - 14.1
Technical Reference

Date: 02-Aug-2016
CA Service Management - 14.1

This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as
the Documentation) is for your informational purposes only and is subject to change or withdrawal by CA at any time. This
Documentation is proprietary information of CA and may not be copied, transferred, reproduced, disclosed, modified or
duplicated, in whole or in part, without the prior written consent of CA.

If you are a licensed user of the software product(s) addressed in the Documentation, you may print or otherwise make
available a reasonable number of copies of the Documentation for internal use by you and your employees in connection with
that software, provided that all CA copyright notices and legends are affixed to each reproduced copy.

The right to print or otherwise make available copies of the Documentation is limited to the period during which the applicable
license for such software remains in full force and effect. Should the license terminate for any reason, it is your responsibility to
certify in writing to CA that all copies and partial copies of the Documentation have been returned to CA or destroyed.

TO THE EXTENT PERMITTED BY APPLICABLE LAW, CA PROVIDES THIS DOCUMENTATION AS IS WITHOUT WARRANTY OF ANY
KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NONINFRINGEMENT. IN NO EVENT WILL CA BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE,
DIRECT OR INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, LOST PROFITS, LOST
INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED IN ADVANCE OF THE
POSSIBILITY OF SUCH LOSS OR DAMAGE.

The use of any software product referenced in the Documentation is governed by the applicable license agreement and such
license agreement is not modified in any way by the terms of this notice.

The manufacturer of this Documentation is CA.

Provided with Restricted Rights. Use, duplication or disclosure by the United States Government is subject to the restrictions
set forth in FAR Sections 12.212, 52.227-14, and 52.227-19(c)(1) - (2) and DFARS Section 252.227-7014(b)(3), as applicable, or
their successors.

Copyright 2016 CA. All rights reserved. All trademarks, trade names, service marks, and logos referenced herein belong to
their respective companies.

02-Aug-2016 3/403
Table of Contents

CA SDM Text API Interface ....................................................................... 18


Overview of Text API ................................................................................................................................. 18
Command Line Interface ..................................................................................................................... 19
CA Network and Systems Management Interface .............................................................................. 19
Input Format ........................................................................................................................................ 19
How the Text API Uses Keywords ...................................................................................................... 20
Keyword Input Conventions ................................................................................................................ 22
Format an Email Message To Update a Ticket ................................................................................... 23
Start and End Email Message Delimiters ............................................................................................ 23
How the Text API Uses Artifacts ......................................................................................................... 24
How to Set Up Notification Replies to Update Tickets ........................................................................ 24
How to Set Up a Reply to an Incident Notification Example ...................................................... 25
How an End User Updates a Ticket Example ............................................................................ 26
Keyword Conversion Methods ............................................................................................................ 27

The Configuration File ............................................................................... 30


Options ...................................................................................................................................................... 30
Defaults ..................................................................................................................................................... 31
Ignore Incoming ......................................................................................................................................... 31
Example Input ........................................................................................................................................... 32

View Field Descriptions ............................................................................. 33


View_Act_Log ........................................................................................................................................... 34
View_Audit_Assignee ......................................................................................................................... 35
View_Audit_Group .............................................................................................................................. 35
View_Audit_Priority ............................................................................................................................. 35
View_Audit_Status .............................................................................................................................. 36
View_Change_Act_Log ............................................................................................................................. 36
View_Change ...................................................................................................................................... 37
View_Change_to_Assets .................................................................................................................... 41
View_Change_to_Change_Act_Log ................................................................................................... 42
View_Change_to_Change_WF ........................................................................................................... 43
View_Change_to_Properties ............................................................................................................... 44
View_Change_to_Request .................................................................................................................. 45

Technical Reference 4
View_Contact_Full .................................................................................................................................... 48
View_Contact_to_Environment ........................................................................................................... 50
View_Group ............................................................................................................................................... 51
View_Group_to_Contact ..................................................................................................................... 51
View_Issue ................................................................................................................................................ 52
View_Issue_Act_Log ........................................................................................................................... 55
View_Issue_to_Assets ........................................................................................................................ 56
View_Issue_to_Issue_Act_Log ........................................................................................................... 57
View_Issue_to_Issue_WF ................................................................................................................... 58
View_Issue_to_Properties ................................................................................................................... 59
View_Request ........................................................................................................................................... 60
View_Request_to_Act_Log ................................................................................................................. 64
View_Request_to_Properties .............................................................................................................. 64
View_Request_to_Request_WF ......................................................................................................... 65
View_Request_to_Request_WF ......................................................................................................... 66

RFC 2251 LDAP Result Codes ................................................................. 67


LDAP Return Codes .................................................................................................................................. 67
LDAP Server Return Codes ...................................................................................................................... 67
LDAP Client Return Codes ........................................................................................................................ 71
LDAP-Associated RFC Standards ............................................................................................................ 72
............................................................................................................................................................ 74

pdm_configure--Open the Configuration Window ..................................... 75

pdm_key_refresh--Refresh Cached Key Information ................................ 76

pdm_lexutil--Modify CA SDM Lexicons ..................................................... 77

pdm_listconn--List Active Connections ..................................................... 78

pdm_logfile--Change stdlog Cutover Size ................................................. 81

Technical Reference 5
pdm_task--Set Environment Variables ...................................................... 82

pdm_uconv--Convert Local Charset to UTF-8 .......................................... 83

pdm_webstat--Return Web Usage Statistics ............................................. 86

pdm_mail Utility--Send Email Information ................................................. 89

CA SDM PDM Database Commands ........................................................ 91


pdm_restore--Restore a Database ............................................................................................................ 93
pdm_load--Add, Update, and Delete Database Records .......................................................................... 94
CA SDM PDM Daemon Commands ................................................................................................... 95
pdm_halt--Terminate Daemons or Stop Services ..................................................................................... 95
pdm_init--Start Daemons .......................................................................................................................... 96
pdm_d_refresh--Start Failed Daemons ..................................................................................................... 97
pdm_status--Show Status of Daemons or Processes ............................................................................... 97
uniconv--Start UNIX CA NSM Event Converter Daemon .......................................................................... 98
CA SDM PDM Server Commands ...................................................................................................... 98
pdm_proctor_init--Start Proctor on Secondary Servers ............................................................................ 99
pdm_server_control Utility--Identify Servers ............................................................................................. 99
pdm_rest_util--Manage the CA SDM RESTful Web Services Application .............................................. 100
Undeploy the REST Web Services Application ....................................................................................... 100
pdm_k_reindex -- Knowledge Re-Index Utility .................................................................................. 101
When to Use pdm_k_reindex .................................................................................................................. 102
Re-Index Tracking ................................................................................................................................... 103
Import and Re-Indexing ........................................................................................................................... 103
Index and De-Index Queue Settings for Batch and Instant Processing .................................................. 104
PDM-Discovered Asset Commands .................................................................................................. 105
pdm_discupd -- Discovered Asset Update .............................................................................................. 105
pdm_discimp -- Discovered Asset Import ................................................................................................ 105
pdm_text_cmd--Text API Command Line Interface ................................................................................ 107
Input Examples ................................................................................................................................. 109
pdm_log4j_config Utility--Modify the log4j properties File ....................................................................... 110
Utility Usage Examples ........................................................................................................................... 111
Modify the Log File Refresh Interval Manually .................................................................................. 113

Technical Reference 6
Modify the jsrvr.log Appender ........................................................................................................... 113
Modify the jstd.log Appender ............................................................................................................. 114

CA SDM Report Command ..................................................................... 115


rpt_srv--Generate Reports ...................................................................................................................... 115
report--Generate Reports ........................................................................................................................ 116

CA SDM Form Groups ............................................................................ 118


Customer Forms Group ........................................................................................................................... 118
Employee Forms Group .......................................................................................................................... 119
Analyst Forms Group .............................................................................................................................. 120

Contents of the Samples Directory .......................................................... 149


How to Modify the Message Catalog ....................................................................................................... 149
call_mgt ................................................................................................................................................... 149
data ......................................................................................................................................................... 150
macro_lock .............................................................................................................................................. 150
multi-tenancy ........................................................................................................................................... 150
pdmconf ................................................................................................................................................... 151
reporting .................................................................................................................................................. 151
sdk ........................................................................................................................................................... 151
views ....................................................................................................................................................... 152
Load Supplemental Content - sd_content.dat ......................................................................................... 152

Schema Files Syntax ............................................................................... 153


TABLE Statement .................................................................................................................................... 153
TABLE_INFO Statement ......................................................................................................................... 156
Mapping Statement ................................................................................................................................. 157

Object Definition Syntax .......................................................................... 159


Directories ............................................................................................................................................... 159
Types of Statements ............................................................................................................................... 159
MODIFY Statement ................................................................................................................................. 160
MODIFY FACTORY Statement ............................................................................................................... 161

Technical Reference 7
OBJECT Statement ................................................................................................................................. 161

STANDARD_LISTS Optional Statement ................................................. 164


Syntax (STANDARD_LISTS Optional Statement) .................................................................................. 164
Optional Statements (STANDARD_LISTS Optional Statement) ............................................................. 164
Example (STANDARD_LISTS Optional Statement) ............................................................................... 165

FACTORY Optional Statement ............................................................... 167


Syntax (FACTORY Optional Statement) ................................................................................................. 167
Arguments (FACTORY Optional Statement) ........................................................................................... 167
Optional Statements (FACTORY Optional Statement) ........................................................................... 167
Example (FACTORY Optional Statement) .............................................................................................. 169
ATTRIBUTES Optional Statement .......................................................................................................... 169

Where Clauses ........................................................................................ 173


IN Clause ................................................................................................................................................. 174
Lists ......................................................................................................................................................... 176

Attribute Data Types ................................................................................ 179


Integer ..................................................................................................................................................... 179
String ....................................................................................................................................................... 180
Duration ................................................................................................................................................... 180
Date ......................................................................................................................................................... 180
SREL ....................................................................................................................................................... 180
List (QREL/BREL) ................................................................................................................................... 181
LREL ....................................................................................................................................................... 181
UNKNOWN ............................................................................................................................................. 181
UUID ........................................................................................................................................................ 181

Web Services Methods ........................................................................... 182


Web Services Method Summary ............................................................................................................. 182
XML Object Returns ................................................................................................................................ 192

Technical Reference 8
REST HTTP Methods .............................................................................. 195
Sample URI Paths for CRUD Operations ................................................................................................ 197
REST Considerations .............................................................................................................................. 198
REST Limitations ..................................................................................................................................... 198
REST and Object Access ........................................................................................................................ 198
rest_access resource ........................................................................................................................ 199
REST_OPERATIONS Keyword .............................................................................................................. 199
REST_OPERATIONS Syntax Examples ................................................................................................ 200
Working with BLRELs .............................................................................................................................. 200
WHERE Clause Resource Search .......................................................................................................... 201
Valid URI Path Patterns .......................................................................................................................... 202
Search Result Sorting ............................................................................................................................. 203
Search Result Navigation ........................................................................................................................ 203
Example Request Returns a Specific Number of Records ................................................................ 203
HTTP Status and Error Codes ................................................................................................................ 204
Code Matching Limitations ................................................................................................................ 205
Known Status Codes ......................................................................................................................... 205
Atom Feeds ............................................................................................................................................. 206
Additional REST Support when Requesting Data Formats ..................................................................... 208
CA SDM Role Authorization .................................................................................................................... 208
REST Java Sample Code ....................................................................................................................... 209
Build and Execute the Sample Programs ......................................................................................... 210
CA SDM Authentication Scheme ...................................................................................................... 210
REST Secret Key Authentication ............................................................................................. 210
REST BOPSID Authentication ................................................................................................. 212
REST Basic Authentication ...................................................................................................... 212
External CA EEM Artifact Authentication ................................................................................. 213
CRUD Operations on Tickets ............................................................................................................ 213
BREL, QREL, and BLREL Processing .............................................................................................. 213
Managing Attachments for Tickets .................................................................................................... 214
CA SDM Resource Examples ................................................................................................................. 214
Example Create a Change Order With an Attachment ..................................................................... 214
Example Create a Resource ............................................................................................................. 215
Example Delete a Resource ............................................................................................................. 216
Example Delete an Access Key ........................................................................................................ 216
Example Mark a Resource Inactive .................................................................................................. 216
Example Obtain a BOPSID Token .................................................................................................... 217
Example Obtain an Access Key ........................................................................................................ 218
Example Retrieve a Collection of Resources .................................................................................... 218
Example Retrieve a Collection of Resources Using a Where Clause ............................................... 219

Technical Reference 9
Example Retrieve a Specific Resource ............................................................................................. 220
Example Retrieve a Subresource ..................................................................................................... 221
Example Update a Resource ............................................................................................................ 221
Example Get a BLREL Record ......................................................................................................... 222
Example Retrieve a List of LREL Records Associated with a Group ................................................ 224
Example Create a BLREL Record .................................................................................................... 225
Example Update a BLREL Record .................................................................................................... 226
Example Delete a BLREL Record ..................................................................................................... 227

Web Services Attachment-Related Methods ........................................... 228


createAttachment .................................................................................................................................... 228
removeAttachment .................................................................................................................................. 230
attachURLLinkToTicket ........................................................................................................................... 230

Web Services Knowledge Attachment Methods ..................................... 231


createAttmnt ............................................................................................................................................ 231
attmntFolderLinkCount ............................................................................................................................ 232
attachURLLink ......................................................................................................................................... 232
getKDListPerAttmnt ................................................................................................................................. 233
getAttmntListPerKD ................................................................................................................................. 233
isAttmntLinkedKD .................................................................................................................................... 233
createFolder ............................................................................................................................................ 234
getFolderList ............................................................................................................................................ 235
getFolderInfo ........................................................................................................................................... 235
getAttmntList ........................................................................................................................................... 236
getAttmntInfo ........................................................................................................................................... 236
getRepositoryInfo .................................................................................................................................... 237

Web Services Miscellaneous Methods .................................................... 238


callServerMethod .................................................................................................................................... 238
createObject ............................................................................................................................................ 240
serverStatus ............................................................................................................................................ 241
updateObject ........................................................................................................................................... 242

Web Services Knowledge Management ................................................. 244

Technical Reference 10
Table Types ............................................................................................................................................. 244
Knowledge Management General Methods ............................................................................................ 245
faq ..................................................................................................................................................... 246
search ............................................................................................................................................... 247
doSelectKD ....................................................................................................................................... 248
createDocument ................................................................................................................................ 249
modifyDocument ............................................................................................................................... 252
deleteDocument ................................................................................................................................ 255
Use the Knowledge Management Web Services .............................................................................. 255
Access the Knowledge Management Web Services ......................................................................... 255
addComment ..................................................................................................................................... 256
deleteComment ........................................................................................................................ 257
rateDocument .................................................................................................................................... 257
updateRating ............................................................................................................................ 258
getQuestionsAsked ........................................................................................................................... 258
getBookmarks .......................................................................................................................... 259
addBookmark ........................................................................................................................... 260
deleteBookmark ....................................................................................................................... 260
getStatuses .............................................................................................................................. 260
getPriorities .............................................................................................................................. 261
getDocumentTypes .................................................................................................................. 261
getTemplateList ........................................................................................................................ 262
getWorkflowTemplateList ......................................................................................................... 263

getCategory Method ................................................................................ 264


getPermissionGroups .............................................................................................................................. 264
getComments .......................................................................................................................................... 265
getDecisionTrees .................................................................................................................................... 266
getDocument ........................................................................................................................................... 266
getDocumentsByIDs ................................................................................................................................ 267
getBopsid ................................................................................................................................................ 268
getConfigurationMode ............................................................................................................................. 269
getObjectValues ...................................................................................................................................... 269
getObjectTypeInformation ....................................................................................................................... 270
getArtifact .......................................................................................................................................... 271

LREL Methods ......................................................................................... 272


getLrelLength .......................................................................................................................................... 273
getLrelValues .......................................................................................................................................... 273

Technical Reference 11
createLrelRelationships ........................................................................................................................... 274
removeLrelRelationships ......................................................................................................................... 275

dbmonitor_nxd--Database Monitoring Daemon ...................................... 277

List/Query Methods ................................................................................. 279


doSelect .................................................................................................................................................. 279
doQuery ................................................................................................................................................... 281
getListValues ........................................................................................................................................... 282
freeListHandles ....................................................................................................................................... 283
getRelatedList ......................................................................................................................................... 283
getRelatedListValues .............................................................................................................................. 284
getPendingChangeTaskListForContact .................................................................................................. 285
getPendingIssueTaskListForContact ...................................................................................................... 285
getNotificationsForContact ...................................................................................................................... 286

Asset Management Methods ................................................................... 287


createAsset ............................................................................................................................................. 287
getAssetExtensionInformation ................................................................................................................. 289
addAssetLog ........................................................................................................................................... 289
createAssetParentChildRelationship ....................................................................................................... 290

Web Services Business Methods ............................................................ 291


createIssue .............................................................................................................................................. 291
createRequest ......................................................................................................................................... 292
createChangeOrder ................................................................................................................................. 294
createActivityLog ..................................................................................................................................... 295
transfer .................................................................................................................................................... 296
escalate ................................................................................................................................................... 297
changeStatus .......................................................................................................................................... 298
getPropertyInfoForCategory .................................................................................................................... 299
logComment ............................................................................................................................................ 300

notifyContacts Method ............................................................................. 301

Technical Reference 12
clearNotification ....................................................................................................................................... 301

attachChangeToRequest Method ........................................................... 303


detachChangeFromRequest ................................................................................................................... 304

createTicket Method ................................................................................ 305


createQuickTicket .................................................................................................................................... 306
closeTicket .............................................................................................................................................. 307

Group Management Methods .................................................................. 309


addMemberToGroup ............................................................................................................................... 309
removeMemberFromGroup ..................................................................................................................... 309
getGroupMemberListValues .................................................................................................................... 310

Contact Management Methods ............................................................... 312


login ......................................................................................................................................................... 312
loginService ............................................................................................................................................. 312
impersonate ............................................................................................................................................. 313
logout ....................................................................................................................................................... 314
loginWithArtifact ................................................................................................................................ 314

getPolicyInfo ............................................................................................ 316


getTaskListValues ................................................................................................................................... 317
getValidTaskTransitions .......................................................................................................................... 317
getValidTransitions .................................................................................................................................. 318
getDependentAttrControls ....................................................................................................................... 319
getHandleForUserid ................................................................................................................................ 320
getAccessTypeForContact ................................................................................................................ 320
getContact ......................................................................................................................................... 321
findContacts ...................................................................................................................................... 322

loginServiceManaged Method ................................................................. 324


Implement loginServiceManaged in Java ................................................................................................ 324

Technical Reference 13
Generate Stub Classes with WSDL2Java ............................................................................................... 326

Using the Automated Tasks Editor .......................................................... 329


Edit an Automated Task .......................................................................................................................... 329
Upload an Automated Task ..................................................................................................................... 330

How an Automated Task Runs ................................................................ 331


How Analysts Receive Data .................................................................................................................... 331

Automated Task Elements ...................................................................... 332


Example Default CSS Styles ................................................................................................................... 333
Task Object Reference ............................................................................................................................ 334
Step Object Reference ............................................................................................................................ 334
Logger Object Reference ........................................................................................................................ 336
Global Functions ..................................................................................................................................... 337
Automated Task Step Templates ............................................................................................................ 337
User Interface Steps ......................................................................................................................... 337
Example Text Input Box as an HTML Component ............................................................................ 338
Example End-User Input Handling .................................................................................................... 340

Script Library Management ..................................................................... 342


Return Objects from Library Functions .................................................................................................... 342
Local File System/Registry Access ......................................................................................................... 343
Windows Management Instrumentation (WMI) Support .......................................................................... 343
Static Content Management .................................................................................................................... 344
Functions and WScript Usage ................................................................................................................. 344
Functions ........................................................................................................................................... 344

Functions COM Object Methods ............................................................. 346


WScript .................................................................................................................................................... 351

WScript COM Object Methods ................................................................ 352

Technical Reference 14
EBR_DICTIONARY Table ....................................................................... 353
EBR_DICTIONARY_ADM Table ............................................................................................................. 353

EBR_FULLTEXT Table ........................................................................... 354


EBR_FULLTEXT_ADM Table ................................................................................................................. 354
EBR_FULLTEXT_SD Table .................................................................................................................... 355
EBR_FULLTEXT_SD_ADM Table .......................................................................................................... 356

EBR_INDEX Table .................................................................................. 357


EBR_INDEX_ADM Table ........................................................................................................................ 357
EBR_INDEXING_QUEUE Table ............................................................................................................. 358

EBR_SYNONYMS Table ........................................................................ 359


EBR_SYNONYMS_ADM Table .............................................................................................................. 359

bop_sinfo--Display System Information ................................................... 360

ES_CONSTANTS Object ........................................................................ 362


ES_NODES Object ................................................................................................................................. 362
ES_RESPONSES Object ........................................................................................................................ 363
ES_SESSIONS Object ............................................................................................................................ 364

BSVC--func_access Object ..................................................................... 365


BSVC--func_access_level Object ........................................................................................................... 365
BSVC--func_access_role Object ............................................................................................................. 366
func_access_type Object ........................................................................................................................ 366

Table and Object Cross-References ....................................................... 368


Table to SQL Name and Object .............................................................................................................. 368
SQL Name to Table and Object .............................................................................................................. 376
Object to Table and SQL Name .............................................................................................................. 383
CA SDM Object List Table for Multi-Tenancy .......................................................................................... 391

Technical Reference 15
CA Service Management - 14.1

Technical Reference
This section lists all the CA Service Desk Manager commands:
CA SDM Text API Interface (see page 18)
The Configuration File (see page 30)
View Field Descriptions (see page 33)
RFC 2251 LDAP Result Codes (see page 67)
pdm_configure--Open the Configuration Window (see page 75)
pdm_key_refresh--Refresh Cached Key Information (see page 76)
pdm_lexutil--Modify CA SDM Lexicons (see page 77)
pdm_listconn--List Active Connections (see page 78)
pdm_logfile--Change stdlog Cutover Size (see page 81)
pdm_task--Set Environment Variables (see page 82)
pdm_uconv--Convert Local Charset to UTF-8 (see page 83)
pdm_webstat--Return Web Usage Statistics (see page 86)
pdm_mail Utility--Send Email Information (see page 89)
CA SDM PDM Database Commands (see page 91)
CA SDM Report Command (see page 115)
CA SDM Form Groups (see page 118)
Contents of the Samples Directory (see page 149)
Schema Files Syntax (see page 153)
Object Definition Syntax (see page 159)
STANDARD_LISTS Optional Statement (see page 164)
FACTORY Optional Statement (see page 167)
Where Clauses (see page 173)
Attribute Data Types (see page 179)
Web Services Methods (see page 182)
REST HTTP Methods (see page 195)
Web Services Attachment-Related Methods (see page 228)
Web Services Knowledge Attachment Methods (see page 231)
Web Services Miscellaneous Methods (see page 238)
Web Services Knowledge Management (see page 244)
getCategory Method (see page 264)
LREL Methods (see page 272)
dbmonitor_nxd--Database Monitoring Daemon (see page 277)
List/Query Methods (see page 279)
Asset Management Methods (see page 287)
Web Services Business Methods (see page 291)
notifyContacts Method (see page 301)
attachChangeToRequest Method (see page 303)
createTicket Method (see page 305)
Group Management Methods (see page 309)

02-Aug-2016 16/403
CA Service Management - 14.1

Group Management Methods (see page 309)


Contact Management Methods (see page 312)
getPolicyInfo (see page 316)
loginServiceManaged Method (see page 324)
Using the Automated Tasks Editor (see page 329)
How an Automated Task Runs (see page 331)
Automated Task Elements (see page 332)
Script Library Management (see page 342)
Functions COM Object Methods (see page 346)
WScript COM Object Methods (see page 352)
EBR_DICTIONARY Table (see page 353)
EBR_FULLTEXT Table (see page 354)
EBR_INDEX Table (see page 357)
EBR_SYNONYMS Table (see page 359)
bop_sinfo--Display System Information (see page 360)
ES_CONSTANTS Object (see page 362)
BSVC--func_access Object (see page 365)
Table and Object Cross-References (see page 368)

02-Aug-2016 17/403
CA Service Management - 14.1

CA SDM Text API Interface


This article contains the following topics:
Overview of Text API (see page 18)
Command Line Interface (see page 19)
CA Network and Systems Management Interface (see page 19)
Input Format (see page 19)
How the Text API Uses Keywords (see page 20)
Keyword Input Conventions (see page 22)
Format an Email Message To Update a Ticket (see page 23)
Start and End Email Message Delimiters (see page 23)
How the Text API Uses Artifacts (see page 24)
How to Set Up Notification Replies to Update Tickets (see page 24)
How to Set Up a Reply to an Incident Notification Example (see page 25)
How an End User Updates a Ticket Example (see page 26)
Keyword Conversion Methods (see page 27)

Overview of Text API


The Text API is an interface that lets you use text-based input to create and update objects in the CA
SDM database, such as issues, requests, contacts, and assets. Using the Text API, you can assign
values to most fields that are accessible to users.

Important! CA SDM requires that all input be in UTF-8 format, or data can be corrupted.
The pdm_unconv utility (see page 83) lets you convert data from a local charset to UTF-8
and from UTF-8 to a local charset.

You can access the Text API by using the following interfaces:

Command line

Email

CA NSM

Note: You can use web services as the alternative to the Text API for cross-application
integration.

02-Aug-2016 18/403
CA Service Management - 14.1

Command Line Interface


Use the pdm_text_cmd command to activate the Text API command line interface. You can then
specify information such as the table to process and the operation to perform by using parameters to
the pdm_text_cmd command.

The input to the Text API is passed to the pdm_text_cmd command in the form of an input file, or
directly from STDIN.

Note: When passing the parameters from command prompt, use Ctrl+Z in Windows and
Ctrl+D in POSIX.

Important! You cannot use single or double quotation marks as parameters for the
bop_cmd and pdm_text_nxd commands.

CA Network and Systems Management Interface


When CA NSM and CA SDM are integrated and you are creating requests from CA NSM events, the
user_parms parameter in writer rule definitions is passed to the Text API. The CA SDM writer process
(tngwriter) defines its own replacement parameters for changing the text before sending it to the
Text API. The keyword LOG_AGENT is added to the end of the input to set the log_agent for the
request.

Note: You need to update the Text_API.cfg file for all additional fields that are passed from
CA NSM Alert Management Systems to CA SDM. This file is used for integrations with web
services, email and AHD.DLL.

Input Format
Input to the Text API is specified in the following ways:

In the command-line interface, input is typically specified in a text file passed to the
pdm_text_cmd command.

In the email interface, input is specified in the text of the email. You specify a regular expression
to find the target object identifiers.

You format the Text API input in the same way no matter which interface you use.

The basic format for input is as follows:

02-Aug-2016 19/403
CA Service Management - 14.1

The basic format for input is as follows:

%keyword=value

or

%PROPERTY={{property_label}}value

The normal behavior of Text API commands has the following exceptions, where the last-appearing of
two or more conflicting commands takes precedence:

When a message contains multiple valid ticket ID artifacts matching the mailbox rule filter string,
or multiple Text API ticket ID commands, the first one encountered is used. Also, a ticket ID
artifact, which is identified using the mailbox rule filter string, overrides any Text API ticket ID
command, regardless of which appears first.

When a message contains multiple log comment Text API commands, all comments are posted,
although the order in which they appear in the ticket activity log can vary.

All ticket ID artifacts that match the filter, valid or otherwise, and Text API ticket ID commands within
the message, applicable or otherwise, applied or otherwise, are commented out before the message
is posted. The ticket ID artifacts identified through the mailbox rule filters appear as -((...))-. Leading
percentage signs (%) in Text API ticket ID commands are converted to two opening parentheses ((,
and two closing parentheses )) follow the command. If a Text API ticket ID command appears after
another Text API command with a log comment (%LOG=), then the commented-out Text API ticket
ID command is made into a separate log comment.

Note: The log comment is the only Text API command that can appear multiple times in
one message and still have each occurrence applied. For any other commands, the Text API
uses the last occurrence only, because multiple occurrences of other commands conflict
with each other. Multiple log comment commands post separate log comment messages
to the ticket, and not necessarily in any particular order.

In addition, if a Text API ticket ID command appears in the message either at the beginning of the
message or in between two other Text API commands, it is converted into a log comment. If the
previous command is a log comment (%LOG=) or update description (%DESCRIPTION=), it is
appended to that command, rather than becoming a separate log comment.

Incoming messages that are sent HTML-only, without a plain-text version included, lose their
message body. If the message matches any mailbox rule filters with an empty message body, a ticket
can be created with an empty Description, or with the quoted message subject as the entirety of the
ticket description.

How the Text API Uses Keywords


You can use two types of keywords as input to the Text API.

02-Aug-2016 20/403
CA Service Management - 14.1

Definitions in the [KEYWORDS] section of the text_api.cfg file -- This type is a group of keywords
that are related directly to the fields for the various tables that you can update. For example,
most of the fields on the Issue Detail form are defined the [KEYWORDS] section. Using these
keywords, you can set values for fields in the record that you are updating or creating. For
example, the following line sets the priority of the issue to 5:

%PRIORITY=5

The [KEYWORDS] section of the text_api.cfg file lists all keywords. You can define additional
keywords (for example, to allow Text API access to fields that you have added when customizing
your database schema).

The following special keywords are always defined as follows, regardless of the contents of the
text_api.cfg file:

Keyword Description
ASSET Used to attaches an item to a ticket (valid for requests, issues, and change orders). The
value specified is the item name, which must already exist. You can specify this keyword
multiple times, because a ticket can have multiple items attached to it.
ATTACHM Used internally by the email interface to add email attachments to a ticket.
ENT
DESCRIPTI Specifies the value to use for the tickets description field. This keyword is assumed if
ON input is sent to the Text API without an explicit keyword. This keyword is applied
automatically by the Mail Eater when the message does not begin with a keyword but
does contain a ticket ID artifact or keyword.
You can change how the DESCRIPTION keyword is handled for updates using the following
entry in the [OPTIONS] section of text_api.cfg:
UPDATE_DESC_IS_LOG
If this option is set to YES, the value is used to create a log comment. If the value is set to
NO, the value overwrites the existing description field.
FROM_EM Used by the email interface to match against the Email Address field in the ca_contact
AILFROM_ record. It is also used as the log_agent for the ticket. If both are supplied, FROM_EMAIL is
EMAIL_OV ignored.
ERRIDE

Note: FROM_EMAIL is set automatically by the Mail Eater with the sender
address of the message.

FROM_PE Used by the command line interface to define the log_agent for an operation (for
RSID example, when a ca_contact record does not have a User ID). This keyword is passed
automatically by pdm_text_cmd if the -p parameter is specified. The value is matched to a
ca_contact record persistent_id.
FROM_US Used only in the command line interface to define the log_agent for an operation. This
ERID keyword is passed automatically by pdm_text_cmd if the -u parameter is specified. The
value is matched to a contacts User ID.

02-Aug-2016 21/403
CA Service Management - 14.1

Keyword Description
LOG Used to create a log entry (valid for requests, change orders, issues, and contacts). This
keyword is applied automatically by the Mail Eater when the message does not begin with
a keyword but does contain either a ticket ID artifact or keyword, or a DESCRIPTION
keyword.
LOG_AGE Used by the CA NSM interface to define the log_agent for an operation. The value is
NT matched to a contact records ID field.
PROPERTY Used to set the value of a property (valid only for requests, change orders, and issues).
Unlike other keywords, which are followed by an equal sign and a value, the PROPERTY
keyword syntax must include the property label, as follows:
PROPERTY={{property_label}}value
You must specify the property_label exactly as it appears in the database.
SEARCH Used only in the command-line interface and the CA NSM interface to supply a list of
keywords for use in a query to update multiple tickets for an asset. The value is a list of
keywords used in the search.
The SEARCH keyword is automatically set by the CA NSM interface.
SEARCH_E Used only in the CA NSM interface to override the SEARCH keyword supplied by the CA
XPLICIT NSM interface. The values supplied are the same as the SEARCH keyword.

Keyword Input Conventions


The following conventions apply to keyword input formatting:

Prefix every keyword (including PROPERTY) with a percent (%) sign. The percent sign must be in
column position one. If the first nonempty line of the input does not have a percent sign at the
start of the line, either %DESCRIPTION= or %LOG= is used as the prefix for the incoming data,
depending on whether a ticket ID artifact or keyword was found. If %DESCRIPTION is set, the
contents of the message up to the first Keyword is posted as a ticket description. If %LOG= is set,
the contents of the message up to the first Keyword is posted as a log comment.

Do not use any intervening spaces within the keyword between the percent sign and the
keyword, or between the keyword and the equal (=) sign.

Do not quote values; all data after the equal sign is assumed to be the value.

Keywords are not case sensitive.

If the input includes duplicate keywords, the last keyword is used; otherwise, the order in which
you specify the keyword/value pairs is unimportant.

Specify keyword values as you would for the corresponding field in the web interface. For
example, to specify an Analyst contact type, you use %CONTACT_TYPE=Analyst, even though in
the database this value is stored as an integer. The CONTACT_TYPE keyword is defined in text_api.
cfg so that it converts the specified value (see page 27) to match the stored value.

Note: Whether the value is case sensitive depends on your underlying DBMS.

02-Aug-2016 22/403
CA Service Management - 14.1

You can extend string data across multiple lines.

Format an Email Message To Update a Ticket


A user can format an email message to create or update a ticket.

To format an email message to create or update a ticket, use the following fields:

To
Specifies the mailbox name assigned to the CA SDM contact set up for the privileged user.

From
Specifies the person sending the email. The person must be defined in the ca_contact table unless
the Allow Anonymous option is specified in the applicable mailbox rule.

Note: The From address is typically part of your email program configuration, and it is not
typically set on a per-message basis.

Attachments
Attaches documents and other files to the email to send attachments to the Text API.

Subject
Matches keywords in a mailbox rule filter string, particularly when creating a ticket.

Body
Specifies the message body of the email using the Text API. You can specify the keyword
ISSUE_ID, REQUEST_ID, or CHANGE_ID, depending on the type of ticket to create or update a
ticket.

Start and End Email Message Delimiters


Some email interfaces add information to the beginning or end of mail messages (for example, MIME
encoding) that can cause the email interface to malfunction. If your email interface adds information,
you can use the following delimiters: start-request and end-request. The email interface ignores
information that is specified prior to start-request and subsequent to end-request.

Note: The Mail Eater does not support emails in the RTF or HTML-only formats.

Example: Use start-request and end-request Delimiters

"start-request"
message_body
"end-request"

02-Aug-2016 23/403
CA Service Management - 14.1

How the Text API Uses Artifacts


The Text API processes the subject or body of email notifications. Mailbox rules let you identify
artifacts and values that the Text API uses. For example, you can define the rule for incidents as
Incident:{{object_id}}, so finding Incident:1234 translates to %INCIDENT_ID=1234 for the Text API.
1234 is the ref_num for the Incident. Because the artifact must be unique in the email and easy to
find, you can make the artifact more distinctive such as %Incident:{{object_id}}%.

Follow the {{object_id}} keyword with a character which is not a letter, number, comma, forward-
slash (/), plus sign (+), or equals (=) sign, because these characters can appear within an artifact.
Otherwise, it is possible that characters which follow the artifact can be misinterpreted as part of the
value of the artifact, or that a character within the value of the artifact can be misinterpreted as the
character which follows the value.

Mail Eater does the following:

1. Finds the artifact within an email (such as Incident:1234) that maps to the appropriate ticket
or other object supported by the Text API.

2. Translates the artifact to a Text API token (such as %INCIDENT_ID=1234).

3. Mail Eater submits the tagged message to the Text API. The Text API processes the email,
applies the text, commands, or both which it contains to the appropriate ticket, and generates
an automatic response email indicating whether the email message it received was
successfully applied. Depending on the actions performed, a notification email message is also
sent separately to indicate certain specific events, such as the creation of a ticket.

How to Set Up Notification Replies to Update Tickets


The Text API daemon (pdm_text_nxd) creates and updates tickets with information from external
interfaces, such as the command line and email. You can set up mail to use the Text API so that users
(contacts) can update tickets by replying to email notifications. The text of the reply is added as a log
comment activity to the ticket.

To set up notification replies to update tickets, do the following:

1. Set the notification method that the contact uses to pdm_mail - T reply_email_address or
pdm_mail - F reply_email_address. The reply_email_address specifies the incoming address
for the mailbox. When the contact clicks reply on an email that address is filled in from the
From or Reply-To address of the message to which they are replying.
-T sets the Reply-To address. -F sets the From address, which is used as the reply address if a
separate one is not specified.

Note: Some mail programs do not or cannot honor a Reply-To address.

02-Aug-2016 24/403
CA Service Management - 14.1

2. Create or update a mailbox rule using a Text API keyword.


The user-defined artifacts in the mailbox rule filters replace the following Text API keywords:

Object Text API Keyword Identifier


Incident %INCIDENT_ID Ref_num
Problem %PROBLEM_ID Ref_num
Request %REQUEST_ID Ref_num
Chg_ref_num %CHANGE_ID Chg_ref_num
Issue %ISSUE_ID Ref_num

1. Create or update a notification phrase that matches the rule.

2. Create or update a message template that uses the notification phrase.

3. Update the mailbox rule that you created in Step 2 to specify the message template that you
created or updated in Step 4.

After the user receives the notification and replies to it, the following actions occur:

1. When the filter string is found, the relevant ticket ID keyword and value denoted by the
placeholder, if any, are appended to the message.

2. If a matching ticket ID artifact is found, the corresponding ticket is updated, with either a log
comment, a new description, or other values in accordance with the text, keywords, and
commands in the message.

3. If a matching ticket ID artifact is not found, a ticket is created with a description and other
parameters in accordance with the text, keywords, and commands in the message.

How to Set Up a Reply to an Incident Notification Example


This example shows how to set up a reply to an incident notification.

To set up a reply to an incident notification, do the following:

1. Create a mailbox rule using the following fields and values:

Filter -- Body contains

Filter String -- %Incident:{{object_id}}%

Ignore Case -- YES

Action -- Update Object

Action Object -- Incident

02-Aug-2016 25/403
CA Service Management - 14.1

2. Create a notification phrase that includes the rule as follows:

Symbol -- Incident Reply

Code -- IncidentReply

Active -- Active

Description -- Comment that embeds the reply for an Incident/Problem/Request.

Phrase -- In order to add a comment to your @{call_req_id.type.sym}, just reply to this


email or include the line below (on a line by itself):

%Incident:{call_req_id.ref_num}%

Note: In auto-reply text of the mailbox rule, omit the call_req_id. prefix. This prefix
applies a context which the mailbox rule text is already in, and such a context
change is not valid when already acting within that context.

3. Create or update a message template that uses the notification phrase as follows:

Notification Message Body

This is a simple notification.

@{notification_phrase[IncidentURL1].phrase}

4. Update the mailbox rule that you created in Step 1 to specify the message template that you
created in Step 3, as follows:
Message Template -- mailbox rule name

How an End User Updates a Ticket Example


The following example demonstrates how an end user (John Smith) replies to an email notification to
update an incident ticket.

The Body or Subject of the email includes the object identifier. The {{object_id}} placeholder within
the filter string denotes the object identifier.

1. A notification is sent to John Smith and includes the following instructions:

In order to add a comment to your incident, just reply to this email or include
the line below (on a line by itself).
%Incident:1234%

2. John Smith replies to the notification as follows:

This is my response...

02-Aug-2016 26/403
CA Service Management - 14.1

3. The Mail Eater receives the following text version of the John Smith's email:

This is my response...
From: Service Desk
Sent: Wednesday, September 18, 2009 10:22 AM
To: Smith, John
Subject: Simple Notification
This is a simple notification.
In order to add a comment to your incident, just reply to this email or include
the line below (on a line by itself).
%Incident:1234%

4. The Mail Eater processes rules in order and finds the %Incident:1234% artifact:

This is my response...
From: Service Desk
Sent: Wednesday, September 18, 2009 10:22 AM
To: Smith, John
Subject: Simple Notification
This is a simple notification.
In order to add a comment to your incident, just reply to this email or include
the line below (on a line by itself).
%INCIDENT_ID=1234

5. The Mail Eater adds the Text API keywords and the {{object_id}} value to an %INCIDENT_ID=
statement and leaves a marker where the {{object_id}} value was found. The following text
shows the data that is sent to the Text API. The bold text shows values added by the Mail
Eater.

%LOG=This is my response...
From: Service Desk
Sent: Wednesday, September 18, 2009 10:22 AM
To: Smith, John
Subject: Simple Notification
This is a simple notification.
In order to add a comment to your incident, just reply to this email or include
the line below (on a line by itself).
%Incident:-((...))-%
%FROM_EMAIL=john.smith@company.com
%INCIDENT_ID=1234

6. The Text API add a log comment for Incident 1234.

Keyword Conversion Methods


Many of the keywords defined in text_api.cfg have an associated method to convert the value
specified to a value that is appropriate for storage in the database. This feature lets users specify
values just as they would in the web interface without having any knowledge of the underlying
implementation.

02-Aug-2016 27/403
CA Service Management - 14.1

The configuration file has several examples of this type of keyword definition, including ISSUE.
PRIORITY and CONTACT.CONTACT_TYPE. If you need to define additional keywords (for example, to
allow Text API access to fields that you have added when customizing your database schema), you
can use one of the following predefined methods:

Method Output Type


lookup_actbool INTEGER
lookup_asset_by_name UUID
lookup_asset_by_persid UUID
lookup_chg_category STRING
lookup_chg_status STRING
lookup_cnt_by_email UUID
lookup_cnt_by_last_first_middle UUID
lookup_cnt_by_logonid UUID
lookup_cnt_by_persid UUID
lookup_cnt_meth INTEGER
lookup_cnt_type INTEGER
lookup_company UUID
lookup_cr_status STRING
lookup_cr_template STRING
lookup_domain INTEGER
lookup_grc INTEGER
lookup_group UUID
lookup_impact INTEGER
lookup_iss_category STRING
lookup_iss_status STRING
lookup_loc UUID
lookup_mfr_model UUID
lookup_nr_family INTEGER
lookup_org UUID
lookup_person_contacting INTEGER
lookup_position INTEGER
lookup_priority INTEGER
lookup_prob_category STRING
lookup_product INTEGER
lookup_resource_status INTEGER
lookup_service_lvl STRING
lookup_severity INTEGER

02-Aug-2016 28/403
CA Service Management - 14.1

Method Output Type


lookup_state INTEGER
lookup_timezone STRING
lookup_type_of_contact INTEGER
lookup_urgency INTEGER
lookup_workshift STRING

If the value you need to convert is not addressed by any of these predefined methods, you need to
write a customized method. The method should take a STRING value as its input and return a value
(either INTEGER, STRING or UUID) as its output. Return a value of -1 (or -1) to denote that the value
cannot be determined and is therefore, not set. For UUID, return a (uuid) NULL.

For example, you might develop a method to convert a user ID to a ca_contact table reference. The
incoming value, such as Administrator, would be passed to the method, and the method would
return the ca_contact table id for the user ID of Administrator.

The manner in which you define keywords in the configuration file offers you the advantage of
defining multiple keyword mappings to the same field, including different conversion methods,
depending on the value being specified. For example, assignee can have several different keyword
mappings to define how to set its value based on different input values. One input might be user ID,
another might be last name, first name, middle name, and still another might be the actual
ca_contact id (for example, 793ED69B4E87A545BD8E911834D829FC). Each keyword maps to a
different conversion method, except the last one, which does not need to be converted.

02-Aug-2016 29/403
CA Service Management - 14.1

The Configuration File


This article contains the following topics:
Options (see page 30)
Defaults (see page 31)
Ignore Incoming (see page 31)
Example Input (see page 32)

The text_api.cfg file defines the keywords that are related directly to the fields of the various tables
that you can update. You use this file both as a reference to find certain predefined values, such as
keywords, and as a mechanism for configuring the Text API, although the default configuration file
works for most installations without modification.

The text_api.cfg file is located in the following directory:

UNIX -- $NX_ROOT/site

Windows -- installation-directory\site. For example: C:\Program Files\CA\Service Desk\site

The configuration file is divided into sections, with particular attributes defined within each section.
Attribute definitions are of the following form:

keyword=value

None of the keywords are case-sensitive, whereas all values (except in the [OPTIONS] section) are
case-sensitive.

Note: You can view and modify the text_api.cfg file using any text editor.

Important! If you are integrating with the CA NSM Alert Management Systems component,
you must update text_api.cfg for any additional fields that are passed to CA SDM.

Options
The [OPTIONS] section of the text_api.cfg file defines processing options that may differ from one site
to another. For example, there are options to determine the incoming date format, which fields allow
linefeeds to be retained, and whether to allow issues, requests, or change orders to be updated using
the email interface. All options in this section are configurable. Be aware that although you can
remove table names from the VALID_TABLE_LIST, if you do not want to support Text API access to
those tables, you cannot add table names to this list.

02-Aug-2016 30/403
CA Service Management - 14.1

Defaults
Use the [XX_DEFAULTS] section provided in the text_api.cfg file for each interface using the Text API
(for example, [EMAIL_DEFAULTS] for the email interface and [CMD_DEFAULTS] for the command line
interface). The [XX_DEFAULTS] section defines the default values for fields and properties that are
required in case the user does not supply them directly. XX refers to the interface type, such as CMD
or EMAIL.

To set default values, use one of the following formats:

table_name.keyword=value
The keyword must be defined either in the [KEYWORDS] section or as properties in your database.
Any method associated with the keyword is automatically applied to the value. For example:

ISSUE.PRIORITY=1

The PRIORITY keyword is defined in text_api.cfg so that it performs a lookup to convert the value
you specify to match the corresponding value that is stored in the database. Here, value 1 is
converted to 5, which is the underlying database value for the priority symbol 1. This feature lets
users specify the value just as they would in the web interface.

table_name.PROPERTY={{property_label}}value
The property_label must be defined as a property in your database.

In both formats, the table_name must be one of the values defined by VALID_TABLE_LIST in the
[OPTIONS] section, such as Issue, Request, or Contact.

Ignore Incoming
There are several [..._IGNORE_INCOMING] sections in the text_api.cfg file, one for each interface that
uses the Text API (for example [TNG_IGNORE_INCOMING] for the CA NSM interface and
[EXT_IGNORE_INCOMING] for the external interface used by other CA products). These sections
define fields and properties that are ignored in the input (the format is the same as described in
Defaults, except no =value is specified). This feature lets you prevent users from setting certain
values, which in turn, provides you with more security for such times as letting customers use the
email interface.

The IGNORE sections work well when used in conjunction with the corresponding [..._DEFAULTS]
sections because you can prevent the user from setting a particular value and supply a default value
at the same time. For example, if you want to prevent email interface users from setting the priority
of an issue, you could set the following values:

[EMAIL_DEFAULTS]
ISSUE.PRIORITY=2
[EMAIL_IGNORE_INCOMING]
ISSUE.PRIORITY

02-Aug-2016 31/403
CA Service Management - 14.1

In this case, any priority that the user specifies in the email message body is ignored, and all issues
created by the email interface are automatically assigned a priority of 2.

Example Input
The following examples show input that you can use in the body of an email message or in a file
serving as input to the command-line interface.

Example: First Line Does Not Include a Keyword

In this example, because the first line is missing a %keyword in the first column, the literal %
DESCRIPTION= is added to the beginning of the message. This addition sets the description field to
This entire text goes to the description field (with the line break intact, because ISSUE.DESCRIPTION
is included in the list of fields for the LINEFEEDS_ALLOWED entry in the [OPTIONS] section of text_api.
cfg).

This entire text goes


into the description field
%PRIORITY=None

Example: First Line Includes a Keyword

In this example, the PRIORITY keyword is defined in text_api.cfg so that it performs a lookup to
convert the value you specify to match the corresponding value that is stored in the database. Here,
the value None is converted to 0, which is the underlying database value for the priority symbol 1.
This feature lets users specify the value as they would in the web interface.

%description=This is my description
%priority=None
%CATEGORY=Upgrade.PC
%PROPERTY={{Current CPU}}266 mhz
%PROPERTY={{Current Harddrive}}1 gig
%PROPERTY={{Requested Upgrade}}4 gig harddrive

The specified values are used to set the description and priority fields for the ticket, similar to the
previous example (notice that keyword case is unimportant).

The value of Upgrade.PC is searched, and the category field for the ticket is set appropriately.

Matching the following labels sets the three property values:

Current CPU

Current Hard drive

Requested Upgrade

02-Aug-2016 32/403
CA Service Management - 14.1

View Field Descriptions


This article contains the following topics:
View_Act_Log (see page 34)
View_Audit_Assignee (see page 35)
View_Audit_Group (see page 35)
View_Audit_Priority (see page 35)
View_Audit_Status (see page 36)
View_Change_Act_Log (see page 36)
View_Change (see page 37)
View_Change_to_Assets (see page 41)
View_Change_to_Change_Act_Log (see page 42)
View_Change_to_Change_WF (see page 43)
View_Change_to_Properties (see page 44)
View_Change_to_Request (see page 45)
View_Contact_Full (see page 48)
View_Contact_to_Environment (see page 50)
View_Group (see page 51)
View_Group_to_Contact (see page 51)
View_Issue (see page 52)
View_Issue_Act_Log (see page 55)
View_Issue_to_Assets (see page 56)
View_Issue_to_Issue_Act_Log (see page 57)
View_Issue_to_Issue_WF (see page 58)
View_Issue_to_Properties (see page 59)
View_Request (see page 60)
View_Request_to_Act_Log (see page 64)
View_Request_to_Properties (see page 64)
View_Request_to_Request_WF (see page 65)
View_Request_to_Request_WF

You can use the field description information in the basic and advanced views that are supplied with
CA SDM.

The following points apply to many of the tables:

You must turn on audit logging, found in Administration, Options Manager, Audit Log, to see data
in the advanced views.

pdmtime refers to date/time fields that are in GMT format (the number of elapsed seconds since
1/1/1970).

The terms change request and change order are used interchangeably.

02-Aug-2016 33/403
CA Service Management - 14.1

View_Act_Log
The following is a basic view of the request activity log table. Activity type and the analysts full name
are also listed in the view. The activity log table (act_log) was joined with the activity type table
(act_type) and the contact table (ca_contact) to give the actual activity type of each activity log entry,
and the analyst who performed the activity. Extracted fields from the joins that might be useful are
located at the end of this list.

Field Remarks
id act_log.id: The unique identifier for this record in the act_log table.
persid act_log.persid: The unique identifier for this record in the act_log table, preceeded by
the object identifier (alg for act_log) and a colon.
call_req_id act_log.call_req_id: Pointer to call request persid to which this activity belongs. act_log.
call_req_id = call_req.persid.
last_mod_d act_log.last_mod_dt: The last modify date/time (pdmtime).
t
time_spent act_log.time_spent: The duration of time spent on this activity, stored as the total
number of seconds. For example, 80 = 1 minute, 20 seconds.
time_stamp act_log.time_stamp: User modifiable date/time of activity (pdmtime).
system_tim act_log.system_time: The date/time of record creation (pdmtime).
e
analyst act_log.analyst: The uuid pointer to the contact uuid to get the analyst who performed
the activity. act_log.analyst = ca_contact.contact_uuid.
description act_log.description: The text description of this activity, which can be modified by the
user.
action_desc act_log.action_desc: The text description of automated action, which cannot be
modified by the user.
type act_log.type: The text pointer to a record in the activity type table. For example, act_log.
type = act_type.code.
knowledge act_log.knowledge_session: An identifier for a particular session of a particular user.
_session
knowledge act_log.knowledge_tool: An indicator of the knowledge management tool used for the
_tool search, such as NLS_FAQ or EXPERT, etc.
internal act_log.internal: An integer flag (1 or 0), which indicates if this log entry is intended for
all to see or just for internal use.
activity_typ act_type.symActivity: The type derived from act_log.type = act_type.code.
e
analyst_last View_Contact_Full.last_name: The analyst's last name, derived from act_log.analyst =
name ca_contact.contact_uuid.
analyst_firs View_Contact_Full.first_name: The analyst's first name.
tname
analyst_mi View_Contact_Full.middle_name: The analyst's middle name.
ddlename

02-Aug-2016 34/403
CA Service Management - 14.1

View_Audit_Assignee
The following is an advanced view of the audit log where assignee is tracked. This view shows the
duration of time between assignee changes for every request and change order. Requests or change
orders that are changed from a particular assignee to a null assignee, and then from null assignee
back to a particular assignee, do not have the duration of the null assignee listed in this view. This
view lists the following fields for both requests and change orders. There may be more than one
entry for each audobj_uniqueid (request or change order).

Field Remarks
audobj_uniqu audit_log.audobj_uniqueid: The audit log object unique id representing the chg.id or
eid the call_req.id.
from_val audit_log.attr_after_val: The changed from assignee value.
to_val audit_log.attr_after_val: The changed to assignee value.
from_time audit_log.attr_from_time: The beginning time an assignee was assigned (pdmtime).
to_time audit_log.attr_from_time: The ending time the same assignee was assigned
(pdmtime).

View_Audit_Group
The following is an advanced view of the audit log where group is tracked. This view shows the
duration of time between group changes for every request and change order. Requests or change
orders that are changed from a particular group to null group, and then from null group back to a
particular group, do not have the duration of the null group listed in this view. This view lists the
following fields for both requests and change orders. There may be more than one entry for each
audobj_uniqueid (request or change order).

Field Remarks
audobj_uniqu audit_log.audobj_uniqueid: The audit log object unique id which represents chg.id or
eid call_req.id.
from_val audit_log.attr_after_val: The changed from group value.
to_val audit_log.attr_after_val: The changed to group value.
from_time audit_log.attr_from_time: The beginning time group was assigned (pdmtime).
to_time audit_log.attr_from_time: The ending time same group was assigned (pdmtime).

View_Audit_Priority
The following is an advanced view of the audit log where priority is tracked. This view shows the
duration of time between priority changes for every request and change order. This view lists the
following fields for both requests and change orders. There may be more than one entry for each
audobj_uniqueid (request or change order).

02-Aug-2016 35/403
CA Service Management - 14.1

Field Remarks
audobj_uniq audit_log.audobj_uniqueid: The audit object unique id, represents a request call_req.id
ueid or change order chg.id.
from_val audit_log.attr_after_val: The changed from value of priority.
to_val audit_log.attr_after_val: The changed to value of priority.
from_time audit_log.attr_from_time: The beginning time priority was in a particular state
(pdmtime).
to_time audit_log.attr_from_time: The ending time priority was in the same state (pdmtime).

View_Audit_Status
The following is an advanced view of the audit log where status is tracked. This view shows the
duration of time between status changes for every request and change order. This view lists the
following fields for both requests and change orders. There may be more than one entry for each
audobj_uniqueid (request or change order).

Field Remarks
audobj_uni audit_log.audobj_uniqueid: The audit object unique id, which represents a request
queid call_req.id or change order chg.id.
from_val audit_log.attr_after_val: The changed from value of priority.
to_val audit_log.attr_after_val: The changed to value of priority.
from_time audit_log.attr_after_time: The beginning time status was in a particular state (pdmtime).
to_time audit_log.attr_after_time: The ending time status was in the same state (pdmtime).

View_Change_Act_Log
The following is a basic view of all change order activity logs. This is a view of the change request
activity log table (chgalg) joined with the activity type table (act_type) and the contact table
(ca_contact) to give more meaningful data, such as the actual activity type description and full name
of the analyst who performed the activity.

Field Remarks
id chgalg.id: The unique identifier for this record in the chgalg table.
persid chgalg.persid: The unique identifier for this record in the chgalg table, preceded by the
object identifier (chgalg for chgalg) and a colon.
change_id chgalg.change_id: The pointer to the change order id to which this activity belongs.
chgalg.change_id = chgalg.id
last_mod_d chgalg.last_mod_dt: The last modify date/time (pdmtime).
t

02-Aug-2016 36/403
CA Service Management - 14.1

Field Remarks
time_spent chgalg.time_spent: The duration of time spent on this activity, stored as the total
number of seconds. For example, 80 = 1 minute, 20 seconds.
time_stamp chgalg.time_stamp: The user modifiable date/time of activity (pdmtime).
system_tim chgalg.system_time: The date/time of record creation (pdmtime).
e
analyst chgalg.analyst: The uuid pointer to the contact uuid to get the analyst who performed
the activity.chgalg.analyst = ca_contact.contact_uuid
description chgalg.description: The text description of this activity, which can be modified by the
user.
action_desc chgalg.action_desc: The text description of the automated action, which cannot be
modified by the user.
type chgalg.type: The text pointer to a record in the activity type table.chgalg.type = act_type.
code
internal chgalg.internal: The integer flag (1 or 0), which indicates if this log entry is intended for
all to see or just for internal use.
knowledge chgalg.knowledge_session: An identifier for a particular session of a particular user.
_session
knowledge chgalg.knowledge_tool: An indicator of the knowledge management tool used for the
_tool search, such as NLS_FAQ or EXPERT, and so on.
analyst_last View_Contact_Full.last_name: The analyst's last name, derived from chgalg.analyst =
name ca_contact.contact_uuid.
analyst_firs View_Contact_Full.first_name: The first name of the analyst.
tname
analyst_mi View_Contact_Full.middle_name: The middle name of the analyst.
ddlename
activity_typ act_type.sym: The activity type referenced by chgalg.type = act_type.code.
e

View_Change
The following is a basic view of all change orders, listing the status, priority, category, organizations,
the affected end users full name, the requesters full name, the assignees full name, the group name
and ID, and so on. Here, the change request table (chg) was joined with many other tables to give
some more meaningful data about the change order.

Field Remarks
id chg.id: The unique identifier for this record in the chg table.
persid chg.persid: The unique identifier for this record in the chg table, preceded by the object
identifier (chg for table chg) and a colon.
chg_ref_nu chg.chg_ref_num: The change order reference number, which is used by analysts and
m customers to refer to a particular change order.
description

02-Aug-2016 37/403
CA Service Management - 14.1

Field Remarks
chg.description: The long description of a change order, as dictated by an analyst or
customer.
status chg.status: The unique identifier of a change order status, which is a pointer to the
chgstat table.chg.status = chgstat.code.
active_flag chg.active_flag: The integer flag to determine whether this change record is active or
not (1 or 0).
start_date chg.start_date: The date the first task goes to a pending status (pdmtime).
open_date chg.open_date: The change order creation date (pdmtime).
last_mod_d chg.last_mod_dt: The last modified date (pdmtime).
t
last_mod_b chg.last_mod_by: The pointer to the contact uuid who was the last contact to modify
y this change order.chg.last_mod_by = ca_contact.contact_uuid.
close_date chg.close_date: The date the change order was set to inactive (pdmtime).
resolve_dat chg.resolve_date: The date the change order was set to a status configured to indicate
e the change was resolved (pdmtime).
rootcause chg.rootcause: A pointer to a record in the rootcause table, which represents the
original situation which required this change order to be executed.chg.rootcause =
rootcause.id.
est_total_ti chg.est_total_time: The estimated total time (pdmtime) it will take to complete this
me change.
actual_total chg.actual_total_time: The actual total time (pdmtime) it took to complete this change.
_time
log_agent chg.log_agent: A binary unique identifier referencing the ca_contact table, referencing
the person who was the change's original creator.chg.log_agent = ca_contact.
contact_uuid.
assignee chg.assignee: The pointer to the contact uuid who is currently assigned to the change
order.chg.assignee = ca_contact.contact_uuid.
organization chg.organization: The pointer to internal organization uuid, which represents the
organization to whom this change order belongs.chg.organization = ca_organization.
organization_uuid.
group_id chg.group_id: The pointer to contact uuid, which represents the group currently
assigned to the change order.chg.group_id = ca_contact.contact_uuid
affected_co chg.affected_contact: The pointer to the contact uuid, which represents the affected
ntact contact for this change order.chg.affected_contact = ca_contact.contact_uuid
requestor chg.requrestor: The pointer to the contact uuid, which represents the person who
ordered the change.chg.requestor = ca_contact.contact_uuid
category chg.category: The pointer to the change category code to get the category into which
this change falls.chg.category = chgcat.code
priority chg.priority: The pointer to priority enum, which represents the priority into which this
change falls.chg.priority = pri.enum
need_by chg.need_by: The date which indicates when the affected_end_user needs to have the
change completed (pdmtime).
chg.est_comp_date: The estimated completion date (pdmtime) for this Change Order.

02-Aug-2016 38/403
CA Service Management - 14.1

Field Remarks
est_comp_d
ate
actual_com chg.actual_comp_date:The actual completion date (pdmtime) of this change order.
p_date
est_cost chg.est_cost: The estimated cost of this change order.
actual_cost chg.actual_cost: The actual cost to implement this change order.
justification chg.justification: A text field which allows a requestor to document the reason(s) this
change is required.
backout_pla chg.backout_plan: A text field that allows an analyst to document a backout plan for
n this change.
impact chg.impact: A pointer to an impact table record, which indicates the scope of resources
that this change affects.chg.impact = impact.enum
parent chg.parent: A pointer to another change request id, which allows creation of a hierarchy
of change orders.chg.parent = chg.id
effort chg.effort: A text field which explains the plan for implementing this change order.
support_lev chg.support_lev: A pointer to a service desc record, which automates some constraints
for which this change must be completed.chg.support_lev = srv_desc.code
template_n chg.template_name: The name of and pointer to a change order template.chg.
ame template_name = chg_template.template_name
sla_violatio chg.sla_violation: The integer to count the number of times slas attached to this
n "change has been violated".
predicted_sl chg.predicted_sla_viol: (r5.5) Neugent related technology field.
a_viol
macro_pred chg.macro_predict_viol: (r5.5) Neugent related technology field.
ict_viol
created_via chg.created_via: A pointer to a record in the interface table, which indicates from which
interface the change order originated. chg.created_via = interface.id
call_back_d chg.call_back_date:A date/time field (pdmtime), which indicates a future date/time the
ate requestor is to be contacted.
call_back_fl chg.call_back_flag: A boolean indicator displayed as a checkbox to the user, indicating
ag whether or not to notify the analyst at the chg.call_back_date.
string1 This is a user-definable text field.
string2 This is a user-definable text field.
string3 This is a user-definable text field.
string4 This is a user-definable text field.
string5 This is a user-definable text field.
string6 This is a user-definable text field.
service_dat chg.service_date: The Date/ Time (pdmtime) that an outside vendor is expected to
e spend to service this change order.
service_nu chg.service_num: The text field to document an outside vendor's service or purchase
m order number.

02-Aug-2016 39/403
CA Service Management - 14.1

Field Remarks
product chg.product: A pointer to a record in the product table, which indicates the product that
is affected by this change.chg.product = product.id
actions chg.actions: A big text field for documenting actions.
type_of_co chg.type_of_contact: A pointer to a record in the toc table, which indicates a general
ntact categorization of the affected_end_user's perspective of the change order.chg.
type_of_contact = toc.id
reporting_m chg.reporting_method: A pointer to a record in the repmeth table, which classifies the
ethod origination of the change order, and is selected by the person creating the change order.
chg.reporting_method = repmeth.id
person_con chg.person_contacting: A pointer to a record in the perscon table, which indicates the
tacting role of the affected_end_user or requestor.chg.person_contacting = perscon.id
status_nam chgstat.sym: The description of the status as seen by a user.chg.status = chgstat.code
e
priority_nu pri.sym: The description of the priority as seen by a user.chg.priority = pri.enum
m
category_na chgcat.sym: The name of the Change Category as viewed by a user.chg.category =
me chgcat.code
organization ca_organization.org_name: The name of an organization as viewed by a user.chg.
_name organization = ca_organization.organization_uuid
affected_en ca_contact.last_name: The affected end user's last name.chg.affected_end_user =
d_user_last ca_contact.contact_uuid
name
affected_en ca_contact.first_name: The affected end user's first name.chg.affected_end_user =
d_user_first ca_contact.contact_uuid
name
affected_en ca_contact.middle_name: The affected end user's middle name.chg.affected_end_user
d_user_mid = ca_contact.contact_uuid
dlename
requester_l ca_contact.last_name: The requestor's last name.chg.requestor = ca_contact.
astname contact_uuid
requester_fi ca_contact.first_name: The requestor's first name.chg.requestor = ca_contact.
rstname contact_uuid
requester_ ca_contact.middle_name: The requestor's middle name.chg.requestor = ca_contact.
middlenam contact_uuid
e
business ca_organization.org_name: The name of the Requester's organization as seen by users.
chg.requestor = ca_organization.organization_uuid
assignee_las ca_contact.last_name: The assignee's last name.chg.assignee = ca_contact.contact_uuid
tname
assignee_fir ca_contact.first_name: The assignee's first name.chg.assignee = ca_contact.
stname contact_uuid
assignee_mi ca_contact.middle_name: The assignee's middle name.chg.assignee = ca_contact.
ddlename contact_uuid
groupID

02-Aug-2016 40/403
CA Service Management - 14.1

Field Remarks
ca_contact.contact_uuid: A binary representation of the internal id used for the group
assigned to this change order.chg.group_id = ca_contact.contact_uuid
group_nam ca_contact.last_name: The name of the group assigned to this change order.chg.group
e = ca_contact.contact_uuid
service_typ srv_desc.sym: The name of the service type applied to this change order.chg.
e support_lev = srv_desc.code
impact_nu impact.sym: The description of the impact as seen by users.chg.impact = impact.enum
m
product_sy product.sym: The product description as seen by users.chg.product = product.id
m
type_of_co toc.sym: The Type Of Contact description as seen by users.chg.type_of_contact = toc.id
ntact_sym
rpting_meth repmeth.sym: The Reporting method description as seen by users.chg.
od_sym reporting_method = repmeth.id
person_con perscon.sym: The Person Contacting description as seen by users.chg.person_contacting
tacting_sym = perscon.id

View_Change_to_Assets
The following list of fields is a basic view of change orders and their assets. The change request table
(chg) is indirectly joined with the network resource table (ca_owned_resource) to get a list of each
change orders assets. This view may not list all change orders, particularly those that have no assets.

Field Remarks
View_C All fields listed in the View_Change view defined earlier in this document.
hange.
*
assetID ca_owned_resource.own_resource_uuid: The binary field which serves as the internal,
unchanging unique identifier for an asset record.
asset_s ca_owned_resource.serial_number: The serial number for an asset record.
erial_n
um
asset_cl ca_resource_class.name: A short description of the class to which an asset belongs.
ass ca_owned_resource.resource_class = ca_resource_class.id
asset_f ca_resource_family.name: The family of assets to which this asset belongs.
amily ca_owned_resource.resource_class = ca_resource_class.id AND ca_resource_class.family_id
= ca_resource_family.id
asset_n ca_owned_resource.resource_name: The network name by which this asset is known.
ame

02-Aug-2016 41/403
CA Service Management - 14.1

View_Change_to_Change_Act_Log
The following is a basic view of all change orders and the activity logs that go with them. This view
joins the View_Change view with the Change Order Activity Log (chgalg) to give detailed information
about change orders and their activity logs.

Field Remarks
View_Chan This shows all fields listed in the View_Change view defined earlier in this document.
ge.*
chgalg_id chgalg.id: The unique identifier for this record in the chgalg table.
chgalg_per chgalg.persid: The unique identifier for this record in the chgalg table, preceded by the
sid object identifier (chgalg for chgalg) and a colon.
change_id chgalg.change_id: This is a pointer to change the order id to which this activity belongs.
chgalg.change_id = chgalg.id
chgalg_last chgalg.last_mod_dt: The last modify date/time (pdmtime).
_mod_dt
time_spent chgalg.time_spent: The duration of time spent on this activity, stored as the total
number of seconds. For example, 80 = 1 minute, 20 seconds.
time_stam chgalg.time_stamp: The user modifiable date/time of activity (pdmtime).
p
system_tim chgalg.system_time: The date/time of record creation (pdmtime).
e
analyst chgalg.analyst: The uuid pointer to contact uuid to get the analyst who performed the
activity.chgalg.analyst = ca_contact.contact_uuid
chgalg_des chgalg.description: The text description of this activity, which can be modified by the
cription user.
action_des chgalg.action_desc: The text description of automated action, which cannot be modified
c by the user.
type chgalg.type: The text pointer to a record in the activity type table.chgalg.type = act_type.
code
internal chgalg.internal: The integer flag (1 or 0), which indicates if this log entry is intended for
all to see or just for internal use.
knowledge chgalg.knowledge_session: This is an identifier for a particular session of a particular
_session user.
knowledge chgalg.knowledge_tool: This is an indicator of the knowledge management tool used for
_tool the search, such as NLS_FAQ or EXPERT, and so on.
chgalg_ana chgalg.analyst: This is the uuid pointer to contact uuid to get the analyst who performed
lyst_id the activity.chgalg.analyst = ca_contact.contact_uuid

02-Aug-2016 42/403
CA Service Management - 14.1

View_Change_to_Change_WF
This view is a result of the View_Change view joined with the Workflow task table (wf) to give a basic
view of change orders and their workflow tasks. This may not list all change orders, particularly when
there are no workflow tasks assigned.

Field Remarks
View_C This shows all fields listed in the View_Change view defined earlier in this document.
hange.
*
wf_id wf.id: The unique identifier for a record in the wf table.
wf_per wf.persid: This is a unique identifier for this record in the wf table, preceded by the object
sid identifier (wf for wf) and a colon.
del wf.del: This is a boolean indicator. It specifies whether this record is to be displayed to the
user.
object_ wf.object_type: This is the factory name, which is used to identify the type of record (for
type example, chg) to which this workflow task is attached.
object_ wf.object_id: This is the unique identifier used to identify the specific record to which this
id workflow task is attached.wf.object_id = chg.id
task wf.task: This is an identifier, which references the type of task this record represents.wf.task
= tskty.code
wf_tem wf.wf_template: This is an identifier, which references from which template this workflow
plate task record was created.wf.wf_template = wftpl.id
sequen wf.sequence: This is an integer, which indicates the order this particular workflow task
ce record should be displayed and executed by CA SDM (for example, Ascending).
wf_stat wf.status: This is an identifier, which references a tskstat record that indicates the current
us status of this workflow task.wf.status = tskstat.code
group_ wf.group_task: This is a Boolean, which indicates whether this task belongs to a group.
task
asset wf.asset: This is a UUID (binary) identifier, which references a record in the
ca_owned_resource table.wf.asset = ca_owned_resource.own_resource_uuid
creator wf.creator: This is a UUID (binary) identifier, which references a record in the ca_contact
table. It indicates the person who created this workflow task.wf.creator = ca_contact.
contact_uuid
date_cr wf.date_created: This is the Date/timestampe this workflow task was created (pdmtime).
eated
wf_assi wf.assignee: This is the UUID (binary) identifier, which references a record in the ca_contact
gnee table. It indicates the person who is currently assigned to this workflow task.wf.assignee =
ca_contact.contact_uuid
done_b wf.done_by: This is the UUID (binary) identifier, which references a record in the ca_contact
y table. It indicates the person who completed or approved this workflow task.wf.done_by =
ca_contact.contact_uuid

02-Aug-2016 43/403
CA Service Management - 14.1

Field Remarks
wf_star wf_start_date: This is the timestamp when the workflow task moved into an active status
t_date (pdmtime).
wf_est wf.est_comp_date: This is the timestamp (pdmtime) when users believe this task will be
_comp completed.
_date
est_dur wf.est_duration: This is the estimated duration for this workflow task.
ation
comple wf.completion_dat: This is the timestamp (pdmtime) when this workflow task was
tion_da completed.
te
actual_ wf.actual_duration: This is the actual amount of time it took to complete this workflow task.
duratio
n
wf_est wf.est_cost: This is the estimated cost of this workflow task.
_cost
cost wf.cost: This is the actual cost required to complete this workflow task.
wf_des wf.description: This is the description of the workflow task.
cription
wf_last wf.last_mod_dt: This is the timestamp (pdmtime) when this workflow task was last changed.
_mod_
dt
wf_last wf.last_mod_by: This is the UUID (binary) unique identifier referencing a record in the
_mod_ contact table, which indicates the last person to make changes to this workflow task.wf.
by last_mod_by = ca_contact.contact_uuid

View_Change_to_Properties
This view is a result of the View_Change view joined with the Properties table (prp) to give a basic
view of change orders and their assigned properties. This may not list all change orders, particularly
when there are no properties assigned.

Field Remarks
View_C This shows all fields listed in the View_Change view defined earlier in this document.
hange.
*
prp_id prp.id: This is an integer unique identifier for the property record.
prp_pe prp.persid: This is a unique identifier for this record in the wf table, preceded by the object
rsid identifier (prp for prp) and a colon.
object_ prp.object_type: This is the factory name, which is used to identify the type of record (for
type example, chg) to which this property record is attached.
object_ prp.object_id: This is the unique identifier used to identify the specific record to which this
id property is attached.prp.object_id = chg.id

02-Aug-2016 44/403
CA Service Management - 14.1

Field Remarks
sequen prp.sequence: This is an integer that indicates the order for which this particular property
ce record should be displayed by CA SDM (for example, Ascending).
propert prp.property: This is an identifier, which references a record in the prptpl table. It represents
y the template from which this property was created.prp.property=prptpl.code
value prp.value: This is the value entered by the user in response to the prp_description and prp.
label fields.
prp_las prp.last_mod_dt: This is the timestamp (pdmtime) when this property was last modified.
t_mod_
dt
prp_las prp.last_mod_by: This is a binary identifier, which references a record in the ca_contact
t_mod_ table. It represents the person who last modified this record.prp.last_mod_by = ca_contact.
by contact_uuid
require prp.required: This is a Boolean indicating whether this property must have a prp.value
d before the record is saved.
sample prp.sample: This is a text field, which displays example values to guide the user in typing the
most useful value in prp.value.
prp_de prp.description: This is a text field, which explains what kind of value should be entered in
scriptio prp.value.
n
label prp.label: This is a short description of what should be placed in the prp.value field.

View_Change_to_Request
The following is a basic view of change orders that have assigned requests only. This view is a result
of the View_Change view joined with the request table (call_req) to give details about the change
order and its associated request.

Field Remarks
View_C This shows all fields listed in the View_Change view defined earlier in this document.
hange.
*
cr_id call_req.id: This is the unique identifier for this record in the call_req table.
ref_nu call_req.ref_num: This is the Request reference number, which is used by analysts and
m customers to refer to a particular Request.
cr_sum call_req.summary: This is a brief description of the request for quick reference.
mary
cr_persi call_req.persid: This is a unique identifier for this record in the call_req table, preceded by
d the object identifier (cr for table call_req) and a colon.
cr_desc call_req.description: This is the long description of a request, as dictated by an analyst or
ription customer.
cr_statu call_req.status: This is a unique identifier referencing a record in the cr_stat table. It
s indicates the status of this request:call_req.status = cr_stat.code

02-Aug-2016 45/403
CA Service Management - 14.1

Field Remarks
cr_activ call_req.active_flag: This is the Integer flag used to determine whether this request record is
e_flag active (1 or 0).
time_sp call_req.time_spent_sum: This is the derived total of all act_log records' time_spent fields,
ent_su stored in seconds (i.e. 80 = 1 minute 20 seconds).
m
cr_open call_req.open_date: This is the Request creation timestamp (pdmtime).
_date
cr_last_ call_req.last_mod_dt: This is the last modified timestamp (pdmtime).
mod_dt
cr_close call_req.close_date: This is the Timstamp for when the request was set to inactive
_date (pdmtime).
cr_log_ call_req.log_agent: This is a binary unique identifier referencing the ca_contact table. It
agent references the person who was the request's original creator.call_req.log_agent =
ca_contact.contact_uuid
cr_grou call_req.group_id: This is a binary unique identifier referencing a record in the ca_contact
p_id table. It represents the group currently assigned to the request.call_req.group_id =
ca_contact.contact_uuid
cr_assig call_req.assignee: This is a binary unique identifier referencing a record in the ca_contact
nee table. It represents the person currently assigned to the request.call_req.assignee =
ca_contact.contact_uuid
custom call_req.customer: This is a binary unique identifier referencing a record in the ca_contact
er table. It represents the affected end user for this request.call_req.customer = ca_contact.
contact_uuid
charge_ charge_back_id: This is a text field available for use as an indicator of accounting jargon for
back_id expensing this request to the appropriate cost center.
affected call_req.affected_rc: This is a binary unique identifier referencing a row in the
_rc ca_owned_resource table. It represents the asset to which this request applies.call_req.
affected_rc = ca_owned_resource.own_resource_uuid.
cr_supp call_req.support_lev: This is a pointer to a service desc record, which automates some
ort_lev constraints under which this request must be completed.call_req.support_lev = srv_desc.
code
cr_cate call_req.category: This is a unique identifier referencing a record in the prob_ctg table,. It
gory represents the category to which this request belongs.call_req.category = prob_ctg.persid
solution call_req.solution: This is a pointer to call solution to get solution.call_req.solution = crsol.
persid
cr_impa call_req.impact: This is an integer unique identifier referencing a row in the impact table. It
ct indicates the scope this request is affecting.call_req.impact = impact.enum
cr_prior call_req.priority: This is an integer unique identifier referencing a record in the pri table. It
ity indicates how analysts will prioritize the work associated with this request.call_req.priority =
pri.enum
urgency call_req.urgency: This is an integer unique identifier referencing a row in the urgncy table. It
documents the user's feeling of urgency for having this request resolved.call_req.urgency =
urgncy.enum
severity

02-Aug-2016 46/403
CA Service Management - 14.1

Field Remarks
call_req.severity: This is an integer unique identifier referencing a row in the severity table.
It indicates the severity of the consequences of this unresolved request.call_req.severity =
sevrty.enum
extern_ This specifies an associated ticket.
ref
last_act This is the id of the last activity.
_id
cr_ttick This is a pointer to a trouble ticket to get the associated ticket.
et
cr_pare call_req.parent: This is a persid pointer to another request persid, which facilitates creation
nt of a hierarchy of change orders.call_req.parent = call_req.persid
cr_tem call_req.template_name: This is a text value, which indicates this request is designated for
plate_n and can be chosen from a list as a template for other similar requests.cr_template.template
ame = call_req.persid
cr_sla_v call_req.sla_violation: This is an integer, which counts number of times slas attached to this
iolation request have been violated.
cr_predi call_req.predicted_sla_viol: (r5.5) Neugent related technology field.
cted_sla
_viol
cr_creat call_req.created_via: This is an integer pointer to a record in the interface table. It indicates
ed_via from which interface the change order originated.call_req.created_via = interface.id
cr_call_ call_req.call_back_date: This is a timestamp field (pdmtime), which indicates a future date
back_da /time the affected_end_user is to be contacted.
te
cr_call_ call_req.call_back_flag: This is a Boolean indicator displayed as a checkbox to the user,
back_fla indicating whether to notify the analyst at the call_req.call_back_date.
g
event_t call_req.event_token: This is used by CA NSM for message matching.
oken
type call_req.type: This is a text field referencing a record in the crt table. It indicates the ITIL
type of this request.call_req.type = crt.code
cr_strin This is a user-definable string.
g1
cr_strin This is a user-definable string.
g2
cr_strin This is a user-definable string.
g3
cr_strin This is a user-definable string.
g4
cr_strin This is a user-definable string.
g5
cr_strin This is a user-definable string.
g6
change

02-Aug-2016 47/403
CA Service Management - 14.1

Field Remarks
call_req.change: This is an integer unique identifier, referencing a row in the chg table. It
indicates the change order that was created as a result of this request.call_req.change = chg.
id.

View_Contact_Full
The following of fields is a basic view of all contacts. This view lists all fields in the ca_contact table,
plus referenced fields such as short descriptions for contact type, location name, organization names,
and service type for each contact. This view has already been joined with the ca_location,
ca_organization, srv_desc, and ca_contact_type tables to get the actual names and symbols for some
of the fields in the ca_contact table. The actual names and symbols are located at the end of this
views field list.

Field Remark
contact ca_contact.contact_uuid: A binary-unique identifier for each ca_contact record.
_uuid
middle ca_contact. middle_name: The middle name of this contact.
_name
alias ca_contact.alias: The alternate, often informal name for this contact.
last_na ca_contact.last_name: This contact's surname.
me
first_na ca_contact.first_name: This contact's formal first name.
me
pri_pho ca_contact.pri_phone_number: The contact's primary phone number.
ne_nu
mber
alt_pho ca_contact.alt_phone_number: The contact's alternate phone number.
ne_nu
mber
fax_nu ca_contact.fax_number: The contact's facsimile number.
mber
mobile ca_contact.mobile_phone: The contact's mobile phone number.
_phone
pager_ ca_contact.pager_number: The number for issuing a page to the contact's page.
number
email_a ca_contact.email_address: The contact's email address.
ddress
locatio ca_contact.location_uuid: A binary-unique identifier referencing a record in the ca_location
n_uuid table, which indicates the contact's static location.ca_contact.location_uuid = ca_location.
location_uuid
floor_lo ca_contact.floor_location: A contact's floor number.
cation

02-Aug-2016 48/403
CA Service Management - 14.1

Field Remark
pager_ ca_contact.pager_email_address: A contact's email address for their pager.
email_a
ddress
room_l ca_contact.room_location: The contact's specific room on the floor at the static location.
ocation
contact ca_contact.contact_type: An unique integer-identifier, referring to a row in the
_type ca_contact_type table, which indicates the general function of this contact within the service
desk application.ca_contact.contact_type = ca_contact_type.id
inactive ca_contact.inactive: A boolean indicator of the state of this record, determining its inclusion
or exclusion from standard searches within service desk.
creatio ca_contact.creation_user: The userid of the contact who created this record.ca_contact.
n_user creation_user = ca_contact.userid
creatio ca_contact.creation_date: A timestamp (pdmtime), indicating the date and time this contact
n_date was created.
last_up ca_contact.last_update_user: The userid of the contact who last updated this contact record.
date_us ca_contact.last_update_user = ca_contact.userid
er
last_up ca_contact.last_update_date: A timestamp (pdmtime), indicating the date and time this
date_d record was last modified.
ate
version ca_contact.version number: The internal version indicator.
_numb
er
depart ca_contact.department: An integer-unique identifier, referencing a row in the
ment ca_resource_department table, that indicates the contact's department.ca_contact.
department = ca_resource_department.id
comme ca_contact.comment: A freeform text comment field for analysts to document important
nt facts that influence the handling of this particular contact.
compa ca_contact.company_uuid: A binary-unique identifier, which references a row in the
ny_uui ca_company table. It indicates this contact's affiliation with a company.ca_contact.
d company_uuid = ca_company.company_uuid
organiz ca_contact.organizaiton_uuid: A binary-unique identifier which references a row in the
ation_u ca_organization table. It indicates this contact's working organization.ca_contact.
uid organizaiton_uuid = ca_organization.organization_uuid
admin_ ca_contact.admin_organization_uuid: A binary-unique identifier, which references a row in
organiz the ca_organization table. It indicates this contact's administrative organization.ca_contact.
ation_u admin_organization_uuid = ca_organization.organization_uuid
uid
alternat ca_contact.alternate_identifier: A user-defined identifier, usually an entity used by human
e_ident resources to uniquely identify this contact.
ifier
job_titl ca_contact.job_title: An integer-unique identifier, which references the ca_job_title table. It
e indicates the standardized job title for this contact.ca_contact.job_title = ca_job_title.id
job_fun
ction

02-Aug-2016 49/403
CA Service Management - 14.1

Field Remark
ca_contact.job_function: An integer-unique identifier, which references the ca_job_function
table. It indicates a standardized general description of the contact's job function.ca_contact.
job_function = ca_job_function.id
mail_st ca_contact.mail_stop: Mail Stop.
op
cost_ce ca_contact.cost_center: An integer-unique identifier, which references the
nter ca_resource_cost_center table. It indicates this contact's primary cost center.ca_contact.
cost_center = ca_cost_center.id
userid ca_contact.userid: The user identifier this contact will use for logging into service desk.
supervi ca_contact.supervisor_contact_uuid: A binary-unique identifier, referencing a row in the
sor_con ca_contact table, that creates a hierarchy of contacts to indicate the reporting structure of
tact_uu each contact.ca_contact.supervisor_contact_uuid = ca_contact.contact_uuid
id
exclude ca_contact.exclude registration: An internal flag.
_registr
ation
delete_ ca_contact.delete_time: A timestamp indicating when the inactive flag was set to 1.
time
contact ca_contact_type.name: A short description of this contact's ca_contact.contact_type.
_type_
name
locatio ca_location.name: A short description of this contact's static location.
n_nam
e
organiz ca_organization.org_name: A short description of this contact's ca_contact.
ation organizaiton_uuid.
admin_ ca_organization.org_name: A short description of this contact's organization name.
organiz ca_contact.admin_organization_uuid
ation
service srv_desc.sym: A short description of this contact's usp_contact.c_service_type.ca_contact.
_type contact_uuid = usp_contact.contact_uuid AND usp_contact.c_service_type = srv_desc.code
state_s ca_location.state: An integer-unique identifier, referencing a row in the ca_state_provice
ym table, that indicates the State, Province, or other artificially defined geographic region.
ca_contact.location_uuid = ca_location.location_uuid AND ca_location.state =
ca_state_province.id

View_Contact_to_Environment
The following list of fields is a basic view of contacts and their environment (assets). This view is a
view of the contact table (ca_contact), but is also joined with the owned resource table
(ca_owned_resource) to get a list of all assets associated with a contact. This view may be joined with
the View_Contact_Full view to get the contact type, service type, organizations and location of each
contact. Or, this view may be joined with the individual tables to get that same information.

02-Aug-2016 50/403
CA Service Management - 14.1

Field Remarks
ca_contac The ca_contact fields that are defined in the View_Contact_Full view definition.
t.*
asset_uui ca_owned_resource.own_resource_uuid: A binary-unique identifier for an asset in the
d ca_owned_resource table.
asset_na ca_owned_resource.resource_name: The designated network name of this asset.
me

View_Group
The following list of fields is a basic view of the contact table, but lists only group contacts. Contact
type id = 2308, which is for group types. You may want to join this view with other CA SDM tables to
get more meaningful data for reporting. For example, you can join it with the Location (ca_location)
table to find the name and address for the groups location. You can also join this view with the
Organization (ca_organization) table to get the functional and administrative organization names for
the group.

Field Remarks
ca_contact.* The ca_contact fields that are defined in the View_Contact_Full view definition.

The following example shows how joining tables works, and how reporting fields are extracted. The
field from one table (on the right) is joined (->) with a field from another table (on the left). To join
properly between tables and views, you need to understand the differences in joins for the database.
The field defined in the parentheses, as follows, is what you may want to use in your reports if the
previous tables are joined with the View_Group view:

View_Group.contact_type -> ca_contact_type.id (ca_contact_type.sym)

View_Group.location_uuid -> ca_location.location_uuid (ca_location.location_name)

View_Group.organization_uuid -> ca_organization.organization_uuid (ca_organization.org_name)

View_Group.admin_organization_uuid -> ca_organization(2).organization_uuid (ca_organization


(2). org_name)

View_Group_to_Contact
The following list of fields is a basic view of all group contacts (members). It also includes managers.
Here, View_Group is joined with the Group_Member table, and then joined with the ca_contact
table. All fields in View_Group are listed, as well as the first, middle and last name from the
ca_contact table. The Group_Member manager flag is also listed. The group member manager flag is
1 or 0, which means that the member is either (yes - 1) a manager, or (no - 0) not a manager. Most of
the information in this view pertains to the group itself, not the actual members. This view is used to
find information on a particular group, including the names of its members.

02-Aug-2016 51/403
CA Service Management - 14.1

Field Remarks

View_Group.* The View_Group fields that are defined in the View_Group definition.
member_lastname ca_contact.last_name: The surname of the group member.
member_firstname ca_contact.first_name: The formal first name of the group member.
member_middlename ca_contact.middle_name: The middle name of the group member.
grpmem_manager_flag ca_contact.manager_flag: The Group Member Manager (1 or 0) indicator.

View_Issue
The following is a basic view of all issues, listing the status, priority, category, organizations, the
requesters full name, the assignees full name, the group name and ID, and so on. Here, the issue
table is joined with many other tables to give some more meaningful data about the issue.

Field Remarks
id issue.id: The unique identifier for this record in the issue table.
persid issue.persid: The unique identifier for this record in the issue table, preceded by the
object identifier (iss for table issue) and a colon.
issue_ref_nu issue.iss_ref_num: The Issue reference number, which is used by analysts and
m customers to refer to a particular issue.
description issue.description: The long description of an issue as dictated by an analyst or
customer.
status issue.status: The unique identifier of an issue status, which is a pointer to the issstat
table.issue.status = issstat.code
active_flag issue.active_flag: The integer flag used to determine whether this issue is active (1 or
0).
start_date issue.start_date: The date the first task goes to a pending status (pdmtime).
open_date issue.open_date: The issue creation date (pdmtime).
last_mod_dt issue.last_mod_dt: The last modified date (pdmtime).
last_mod_by issue.last_mod_by: The pointer to the contact uuid, which indicates the last contact to
modify this issue.issue.last_mod_by = ca_contact.contact_uuid
close_date issue.close_date: The date the issue was set to inactive (pdmtime).
resolve_date issue.resolve_date: The date the issue was set to a status configured to indicate the
issue was resolved (pdmtime).
rootcause issue.rootcause: A pointer to a record in the rootcause table, which represents the
original situation that required this issue to be logged.issue.rootcause = rootcause.id
est_total_ti issue.est_total_time: The estimated total time (pdmtime) it will take to complete this
me issue.
actual_total_ issue.actual_total_time actual: The total time (pdmtime) it took to complete this issue.
time

02-Aug-2016 52/403
CA Service Management - 14.1

Field Remarks
log_agent issue.log_agent: A binary-unique identifier, this references the ca_contact table, which
in turn references the person who was the issue's original creator.issue.log_agent =
ca_contact.contact_uuid
assignee issue.assignee: A pointer to the contact uuid who is currently assigned to the change
order.issue.assignee = ca_contact.contact_uuid
organization issue.organization: A pointer to the internal organization uuid, which represents the
organization to whom this issue belongs.issue.organization = ca_organization.
organization_uuid
group_id issue.group_id: A pointer to the contact uuid, which represents the group currently
assigned to the issue.issue.group_id = ca_contact.contact_uuid
affected_con issue.affected_contact: A pointer to the contact uuid, which represents the affected
tact contact for this issue.issue.affected_contact = ca_contact.contact_uuid
requestor issue.requrestor: A pointer to the contact uuid, which represents the person who asked
this issue to be logged.issue.requestor = ca_contact.contact_uuid
category issue.category: A pointer to the issue category code to reference the category into
which this issue falls.issue.category = isscat.code
priority issue.priority: A pointer to priority enum, which represents the priority into which this
issue falls.issue.priority = pri.enum
need_by issue.need_by: The date, which indicates when the affected_end_user needs to have
the issue completed (pdmtime).
est_comp_d issue.est_comp_date: The estimated completion date (pdmtime) for this Issue.
ate
actual_comp issue.actual_comp_date: The actual completion date (pdmtime) of this issue.
_date
est_cost issue.est_cost: The estimated cost of this issue.
actual_cost issue.actual_cost: The actual cost to implement this issue.
justification issue.justification: A text field, which allows a requester to document the reason(s) this
issue is required.
backout_pla issue.backout_plan: A text field that allows an analyst to document a backout plan for
n this issue.
impact issue.impact: A pointer to an impact table record, which indicates the scope of
resources that this issue affects.issue.impact = impact.enum
parent issue.parent: A pointer to another issue id, which allows creation of a hierarchy of
issues.issue.parent = issue.id
effort issue.effort: A text field which explains the plan for implementing this issue.
support_lev issue.support_lev: A pointer to a service desc record, which automates some
constraints under which this issue must be completed.issue.support_lev = srv_desc.
code
template_na issue.template_name: The name of and pointer to an issue template.issue.
me template_name = iss_template.template_name
sla_violation issue.sla_violation: The integer to count the number of times slas attached to this issue
have been violated.
issue.predicted_sla_viol: (r5.5) Neugent related technology field.

02-Aug-2016 53/403
CA Service Management - 14.1

Field Remarks
predicted_sl
a_viol
macro_predi issue.macro_predict_viol: (r5.5) Neugent related technology field.
ct_viol
created_via issue.created_via: A pointer to a record in the interface table. This indicates from which
interface the issue originated.issue.created_via = interface.id
call_back_da issue.call_back_date: A date/time field (pdmtime), which indicates a future date/time
te the requester is to be contacted.
call_back_fla issue.call_back_flag: A boolean indicator displayed as a checkbox to the user, to
g indicate whether to notify the analyst at the issue.call_back_date.
string1 This is a user-definable text field.
string2 This is a user-definable text field.
string3 This is a user-definable text field.
string4 This is a user-definable text field.
string5 This is a user-definable text field.
string6 This is a user-definable text field.
service_date issue.service_date: The Date/ Time (pdmtime) that an outside vendor is expected to
service this issue.
service_num issue.service_num: The text field to document an outside vendor's service or purchase
order number.
product issue.product: A pointer to a record in the product table, which indicates the product
that is affected by this issue.issue.product = product.id
actions issue.actions: A big text field for documenting actions.
type_of_con issue.type_of_contact: A pointer to a record in the toc table, which indicates a general
tact categorization of the affected_end_user's perspective of the issue.issue.
type_of_contact = toc.id
reporting_m issue.reporting_method: A pointer to a record in the repmeth table, which classifies
ethod the origination of the issue, and is selected by the person creating the issue.issue.
reporting_method = repmeth.id
person_cont issue.person_contacting: A pointer to a record in the perscon table, which indicates the
acting role of the affected_end_user or requester.issue.person_contacting = perscon.id
status_name issstat.sym: The description of the status as seen by a user.issue.status = issstat.code
priority_num pri.sym: The description of the priority as seen by a user.issue.priority = pri.enum
category_na isscat.sym: The name of the issue category as viewed by a user.issue.category = isscat.
me code
organization ca_organization.org_name: The name of an organization as viewed by a user.issue.
_name organization = ca_organization.organization_uuid
affected_end ca_contact.last_name: The affected End User's last name.issue.affected_end_user =
_user_lastna ca_contact.contact_uuid
me
ca_contact.first_name: The affected End User's first name.issue.affected_end_user =
ca_contact.contact_uuid

02-Aug-2016 54/403
CA Service Management - 14.1

Field Remarks
affected_end
_user_firstna
me
affected_end ca_contact.middle_name: The affected End User's middle name.issue.
_user_middl affected_end_user = ca_contact.contact_uuid
ename
assignee_last ca_contact.last_name: The assignee's last name.issue.assignee = ca_contact.
name contact_uuid
assignee_firs ca_contact.first_name: The assignee's first name.issue.assignee = ca_contact.
tname contact_uuid
assignee_mi ca_contact.middle_name: The assignee's middle name.issue.assignee = ca_contact.
ddlename contact_uuid
groupID View_Group.contact_uuid: A binary representation of the internal id used for the
group assigned to this issue.issue.group_id = ca_contact.contact_uuid
group_name View_Group.last_name: The name of the group assigned to this issue.issue.group =
ca_contact.contact_uuid
service_type srv_desc.sym: The name of the service type applied to this issue.issue.support_lev =
srv_desc.code
impact_num impact.sym: The description of the impact as seen by users.issue.impact = impact.
enum
product_sym product.sym: The product description as seen by users.issue.product = product.id
type_of_con toc.sym: The Type Of Contact description as seen by users.issue.type_of_contact = toc.
tact_sym id
rpting_meth repmeth.sym: The Reporting method description as seen by users.issue.
od_sym reporting_method = repmeth.id
person_cont perscon.sym: The Person Contacting description as seen by users.issue.
acting_sym person_contacting = perscon.id
created_via_ interface.sym: issue.created_via = interface.id.
sym
rootcause_sy rootcause.sym: issue.rootcause = rootcause.id.
m

View_Issue_Act_Log
The following is a basic view of all issue activity logs. This is a view of the issue activity log table
(issalg) joined with the activity type table (act_type) and the contact table (ca_contact) to give more
meaningful data, such as the actual activity type and full name of the analyst who performed the
activity.

Field Remarks
id issalg.id: The unique identifier for this record in the issalg table.
persid issalg.persid: The unique identifier for this record in the issalg table, preceded by the
object identifier (issalg for issalg) and a colon.

02-Aug-2016 55/403
CA Service Management - 14.1

issue_id issalg.issue_id: The pointer to issue id to which this activity belongs.issalg.issue_id = issalg.
id
last_mod_ issalg.last_mod_dt: The last modify date/time (pdmtime).
dt
time_spen issalg.time_spent: The duration of time spent on this activity, stored as the total number
t of seconds. For example, 80 = 1 minute, 20 seconds.
time_stam issalg.time_stamp: The user modifiable date/time of activity (pdmtime).
p
system_ti issalg.system_time: The date/time of record creation (pdmtime).
me
analyst issalg.analyst: A binary-unique identifier referring to the contact uuid to get the analyst
who performed the activity.issalg.analyst = ca_contact.contact_uuid
description issalg.description: The text description of this activity, which can be modified by the user.
action_des issalg.action_desc: The text description of the automated action, which cannot be
c modified by the user.
type issalg.type: The text pointer to a record in the activity type table.issalg.type = act_type.
code
internal issalg.internal: The integer flag (1 or 0), which indicates if this log entry is intended for all
to see or just for internal use.
knowledge issalg.knowledge_session: An identifier for a particular session of a particular user.
_session
knowledge issalg.knowledge_tool: An indicator of the knowledge management tool used for the
_tool search, such as NLS_FAQ or EXPERT, and so on.
analyst_las View_Contact_Full.last_name: The Analyst's last name, derived from issalg.analyst =
tname ca_contact.contact_uuid.
analyst_fir View_Contact_Full.first_name: The analyst's first name.
stname
analyst_mi View_Contact_Full.middle_name: The middle name of the analyst.
ddlename
activity_ty act_type.sym: The activity type referenced by issalg.type = act_type.code.
pe

View_Issue_to_Assets
The following list of fields is a basic view of issues and their assets. The issue table (issue) is indirectly
joined with the owned resource table (ca_owned_resource), and other asset-related tables, to get a
list of each issues assets. This may not list all issues, particularly those that have no assets.

Field Remarks
View_Issu The View_Issue view which defines all fields listed in the View_Issue view.
e.*

02-Aug-2016 56/403
CA Service Management - 14.1

Field Remarks
assetID ca_owned_resource.own_resource_uuid: The binary field which serves as the internal,
unchanging unique identifier for an asset record.
asset_seri ca_owned_resource.serial_number: The serial number for an asset record.
al_num
asset_clas ca_resource_class.name: A short description of the class to which an asset belongs.
s ca_owned_resource.resource_class = ca_resource_class.id
asset_fami ca_resource_family.name: The family of assets to which this asset belongs.
ly ca_owned_resource.resource_class = ca_resource_class.id AND ca_resource_class.
family_id = ca_resource_family.id
asset_nam ca_owned_resource.resource_name: The network name by which this asset is known.
e

View_Issue_to_Issue_Act_Log
The following is a basic view of all issues and the activity logs that go with them. This view joins the
View_Issue view with the View_Issue_Act_Log view to give detailed information about issues and
their activity logs. Actual data is at the end of the fields list.

Field Remarks
View_Issu Please refer to the View_Issue view defined earlier in this document.
e.*
issalg_id issalg.id: The unique identifier for this record in the issalg table.
issalg_pers issalg.persid: The unique identifier for this record in the issalg table, preceded by the
id object identifier (issalg for issalg) and a colon.
issue_id issalg.issue_id: The pointer to issue id to which this activity belongs.issalg.issue_id = issalg.
id
issalg_last issalg.last_mod_dt: The last modify date/time (pdmtime).
_mod_dt
time_spen issalg.time_spent: The duration of time spent on this activity, stored as the total number
t of seconds. For example, 80 = 1 minute, 20 seconds.
time_stam issalg.time_stamp: The user modifiable date/time of activity (pdmtime).
p
system_ti issalg.system_time: The date/time of record creation (pdmtime).
me
analyst issalg.analyst: The unique binary pointer to the contact uuid to get the analyst who
performed the activity.issalg.analyst = ca_contact.contact_uuid
issalg_des issalg.description: The text description of this activity, which can be modified by the user.
cription
action_des issalg.action_desc: The text description of the automated action, which cannot be
c modified by the user.
type issalg.type: The text pointer to a record in the activity type table.issalg.type = act_type.
code

02-Aug-2016 57/403
CA Service Management - 14.1

internal issalg.internal: The integer flag (1 or 0), which indicates if this log entry is intended for all
to see or just for internal use.
knowledge issalg.knowledge_session: An identifier for a particular session of a particular user.
_session
knowledge issalg.knowledge_tool: An indicator of the knowledge management tool used for the
_tool search, such as NLS_FAQ or EXPERT, and so on.
issalg_anal issalg.analyst: The unique binary pointer to the contact uuid to get the analyst who
yst_id performed the activity.issalg.analyst = ca_contact.contact_uuid

View_Issue_to_Issue_WF
This view is a result of the View_Issue view joined with the workflow task table (isswf) to give a basic
view of issues and their workflow tasks. This may not list all issues, particularly if there are no
workflow tasks assigned to them.

Field Remarks
View_Is Please refer to the View_Issue definition earlier in this document for a description of each
sue.* field.
wf_id isswf.id: This is a unique identifier for a record in the isswf table.
wf_per isswf.persid: This is a unique identifier for this record in the isswf table, preceded by the
sid object identifier (isswf) and a colon.
del isswf.del: This is a boolean indicator of whether this record is to be displayed to the user.
object_ isswf.object_type: This is the factory name, which is used to identify the type of record (for
type example, iss) to which this workflow task is attached.
object_ isswf.object_id: This is a unique identifier used to identify the specific record to which this
id workflow task is attached.isswf.object_id = issue.id
task isswf.task: This is an identifier, which references the type of task this record represents.isswf.
task = tskty.code
wf_tem isswf.wf_template: This is an identifier, which references from which template this workflow
plate task record was created.isswf.wf_template = wftpl.id
sequen isswf.sequence: This is an integer that indicates the order for which this particular workflow
ce task record should be displayed and executed by CA SDM (for example, Ascending).
wf_stat isswf.status: This is an identifier, which references a tskstat record. It indicates the current
us status of this workflow task.isswf.status = tskstat.code
group_ isswf.group_task: This is a boolean, which indicates whether this task belongs to a group.
task
asset isswf.asset: This is a unique binary identifier, which references a record in the
ca_owned_resource table.isswf.asset = ca_owned_resource.own_resource_uuid
creator isswf.creator: This is a unique binary identifier, which references a record in the ca_contact
table. It indicates the person who created this workflow task.isswf.creator = ca_contact.
contact_uuid

02-Aug-2016 58/403
CA Service Management - 14.1

Field Remarks
date_cr isswf.date_created: This is the date/timestamp that this workflow task was created
eated (pdmtime).
wf_assi isswf.assignee: This is a unique binary identifier, which references a record in the ca_contact
gnee table. It indicates the person who is currently assigned to this workflow task.isswf.assignee =
ca_contact.contact_uuid
done_b isswf.done_by: This is a unique binary identifier, which references a record in the ca_contact
y table. It indicates the person who completed or approved this workflow task.isswf.done_by =
ca_contact.contact_uuid
wf_star wf_start_date: This is the timestamp when the workflow task moved into an active status
t_date (pdmtime).
wf_est isswf.est_comp_date: This is a timestamp (pdmtime) indicating when users believe this task
_comp will be completed.
_date
est_dur isswf.est_duration: This is the estimated duration for this workflow task.
ation
comple isswf.completion_date: This is a timestamp (pdmtime) indicating when this workflow task
tion_da was completed.
te
actual_ isswf.actual_duration: This is the actual amount of time it took to complete this workflow
duratio task.
n
wf_est isswf.est_cost: This is the estimated cost of this workflow task
_cost
cost isswf.cost: This is the actual cost required to complete this workflow task.
wf_des isswf.description: This is a description of the workflow task.
cription
wf_last isswf.last_mod_dt: This is the timestamp (pdmtime) indicating when this workflow task was
_mod_ last changed.
dt
wf_last isswf.last_mod_by: This is the unique binary identifier, which references a record in the
_mod_ contact table. It indicates the last person to make changes to this workflow task.isswf.
by last_mod_by = ca_contact.contact_uuid

View_Issue_to_Properties
This view is a result of the View_Issue view joined with the issue properties table (issprp) to give a
basic view of issues and their assigned properties. This may not list all issues, particularly if there are
no properties assigned to them.

Field Remarks
View_I Please refer to the View_Issue definition earlier in this document, for a description of each
ssue.* field.

02-Aug-2016 59/403
CA Service Management - 14.1

Field Remarks
prp_id issprp.id: This is an integer-unique identifier for the property record.
prp_pe issprp.persid: This is a unique identifier for this record in the prp table, preceded by the
rsid object identifier (prp) and a colon.
sequen issprp.sequence: This is an integer that indicates the order for which this particular property
ce record should be displayed by CA SDM (for example, Ascending).
label issprp.label: This is a short description of what should be placed in the issprp.value field.
value issprp.value: This is a value entered by the user in response to the prp_description and issprp.
label fields.
prp_las issprp.last_mod_dt: This is the timestamp (pdmtime) indicating when this property was last
t_mod modified.
_dt
prp_las issprp.last_mod_by: This is a binary identifier, which references a record in the ca_contact
t_mod table. It represents the person who last modified this record.issprp.last_mod_by =
_by ca_contact.contact_uuid
require issprp.required: This is a boolean, indicating whether this property must have a issprp.value
d before the record is saved.
sample issprp.sample: This is a text field, which displays example values to guide the user in entering
the most useful value in issprp.value.
owning issprp.owning_iss: This is a unique identifier used to identify the specific record to which this
_iss property is attached.issprp.object_id = issue.persid
prp_de issprp.description: This is a text field, which explains the type of value that should be entered
scriptio in issprp.value.
n

View_Request
The following is a basic view of all requests. Here, the Request table has been joined with other CA
SDM tables to give you more specific information, such as the request service type, severity, urgency,
category, and priority. There is some additional information about the request listed, as well. All
fields from the Request (call_req) table are selected. The extracted fields that are a result of the
joined tables are listed at the end of this fields list.

Field Remarks
id call_req.id: This is the unique identifier for this record in the call_req table.
persid call_req.persid: This is a unique identifier for this record in the call_req table, preceded by
the object identifier (cr for table call_req) and a colon.
ref_num call_req.ref_num: This is a Request reference number, which is used by analysts and
customers to refer to a particular Request.
summary call_req.summary: This is a brief description of the request for quick reference.
descriptio call_req.description: This is the long description of a request, as dictated by an analyst or
n customer.

02-Aug-2016 60/403
CA Service Management - 14.1

Field Remarks
status call_req.status: This is a unique identifier referencing a record in the cr_stat table. It
indicates the status of this request. call_req.status = cr_stat.code
active_fla call_req.active_flag: This is an integer flag to determine whether this request record is
g active (1 or 0).
open_dat call_req.open_date: This is the Request creation timestamp (pdmtime).
e
time_spe call_req.time_spent_sum: This is the derived total of all of the act_log records' time_spent
nt_sum fields, stored in seconds (i.e. 80 = 1 minute 20 seconds).
last_mod call_req.last_mod_dt: This is the last modified timestamp (pdmtime).
_dt
close_dat call_req.close_date: This is the timstamp when the request was set to inactive (pdmtime).
e
resolve_d This is the date for when the request was resolved (pdmtime).
ate
rootcause This is a pointer to the rootcause.id.
log_agent call_req.log_agent: This is a binary-unique identifier, referencing the ca_contact table. It
references the person who was the request's original creator.call_req.log_agent =
ca_contact.contact_uuid
assignee call_req.assignee: This is a binary-unique identifier, referencing a record in the ca_contact
table. It represents the person currently assigned to the request.call_req.assignee =
ca_contact.contact_uuid
group_id call_req.group_id: This is a binary-unique identifier, referencing a record in the ca_contact
table. It represents the group currently assigned to the request.call_req.group_id =
ca_contact.contact_uuid
customer call_req.customer: This is a binary-unique identifier, referencing a record in the
ca_contact table. It represents the affected end user for this request.call_req.customer =
ca_contact.contact_uuid
charge_b charge_back_id: This is a text field available for use as an indicator of accounting jargon
ack_id for expensing this request to the appropriate cost center.
affected_ call_req.affected_rc: This is a binary-unique identifier, referencing a row in the
rc ca_owned_resource table. It represents the asset to which this request applies.call_req.
affected_rc = ca_owned_resource.own_resource_uuid.
support_l call_req.support_lev: This is a pointer to a service desc record, which automates some
ev constraints under which this request must be completed.call_req.support_lev = srv_desc.
code.
category call_req.category: This is a unique identifier, referencing a record in the prob_ctg table. It
represents the category to which this request belongs.call_req.category = prob_ctg.persid
solution call_req.solution: This is a pointer to call solution to get solution.call_req.solution = crsol.
persid
impact call_req.impact: This is an integer-unique identifier, referencing a row in the impact table.
It indicates the impact scope of the request.call_req.impact = impact.enum
priority call_req.priority: This is an integer-unique identifier, referencing a record in the pri table.
It indicates how analysts will prioritize the work associated with this request.call_req.
priority = pri.enum

02-Aug-2016 61/403
CA Service Management - 14.1

Field Remarks
urgency call_req.urgency: This is an integer-unique identifier, referencing a row in the urgency
table. It indicates the user's feeling of urgency for having this request resolved.call_req.
urgency = urgncy.enum
severity call_req.severity: This is an integer-unique identifier, referencing a row in the severity
table. It indicates the severity of the consequences of this unresolved request.call_req.
severity = sevrty.enum
extern_re This is an external reference to an associated ticket.
f
last_act_i This identifies the id of the last activity.
d
cr_tticket This is a pointer to the trouble ticket to get the associated ticket.
parent call_req.parent: This is a ersid pointer to another request persid, which facilitates creation
of a hierarchy of change orders.call_req.parent = call_req.persid
template_ call_req.template_name: This is a text value, which indicates this request is designated for
name and can be chosen from a list as a template for other similar requests.cr_template.
template = call_req.persid
sla_violati call_req.sla_violation: This is an integer, which counts the number of times that slas
on attached to this request have been violated.
predicted This specifies that a request has been predicted by neugents to likely violate SLA.
_sla_viol
macro_pr This indicates that the request has been predicted by neugents to likely violate SLA.
edicted_v
iolation
created_v call_req.created_via: This is an integer pointer to a record in the interface table that
ia indicates from which interface the change order originated.call_req.created_via =
interface.id
call_back call_req.call_back_date: This is a timestamp field (pdmtime), which indicates a future date
_date /time that the affected_end_user is to be contacted.
call_back call_req.call_back_flag: This is a boolean indicator, displayed as a checkbox to the user,
_flag indicating whether to notify the analyst at the call_req.call_back_date.
event_tok call_req.event_token: This is used by CA NSM for message matching.
en
sched_tok call_req.sched_token: This is used by CA NSM for message matching.
en
type call_req.type: This is a text field referencing a record in the crt table. It indicates the ITIL
type for this request.call_req.type = crt.code
string1 This is a user-definable string.
string2 This is a user-definable string.
string3 This is a user-definable string.
string4 This is a user-definable string.
string5 This is a user-definable string.
string6 This is a user-definable string.

02-Aug-2016 62/403
CA Service Management - 14.1

Field Remarks
problem This is an ITIL problem.
incident_ This is an ITIL incident priority.
priority
change call_req.change: This is an integer-unique identifier, referencing a row in the chg table. It
indicates the change order that was created as a result of this request.call_req.change =
chg.id.
service_ty srv_desc.sym: This indicates the actual Service Type.call_req.support_lev = srv_desc.code
pe
severity_ sevrty.sym: This is the actual Severity number.call_req.severity = sevrty.enum
num
urgency_ urgncy.sym: This indicates the actual Urgency number.call_req.urgency = urgncy.enum
num
category_ prob_ctg.sym: This is the actual Request Area (problem category).call_req.category =
name prob_ctg.id
asset ca_owned_resource.resource_name: This is the actual Asset name.call_req.affected_rc =
ca_owned_resource.own_resource_uuid
impact_n impact.sym: This is the actual Impact number.call_req.impact = impact.enum
um
assignee_ ca_contact.last_name: This is the actual Assignee last name.call_req.assignee = ca_contact.
lastname contact_uuid
assignee_ ca_contact.first_name: This is the actual Assignee first name.call_req.assignee =
firstname ca_contact.contact_uuid
assignee_ ca_contact.middle_name: This is the actual Assignee middle name.call_req.assignee =
middlena ca_contact.contact_uuid
me
customer ca_contact.last_name: This is the actual last name of the Affected End User.call_req.
_lastnam customer = ca_contact.contact_uuid
e
customer ca_contact.first_name: This is the actual first name of the Affected End User.call_req.
_firstnam customer.ca_contact.contact_uuid
e
customer ca_contact.middle_name: This is the actual middle name of the Affected End User.call_req.
_middlen customer = ca_contact.contact_uuid
ame
group_na View_Group.last_name: This is the actual Group name.
me
GroupID View_Group.contact_uuid: This is the actual Group key ID.
status_na cr_stat.sym: This is the actual status.
me
priority_n pri.sym: This is the actual Priority number.
um

02-Aug-2016 63/403
CA Service Management - 14.1

View_Request_to_Act_Log
The following is a basic view of all requests with their activity logs. The View_Request view is joined
with the View_Act_Log view to give more detailed information about each activity per request.

Field Remarks
View_Request. Please refer to the field defined in the View_Request section earlier in this
* document.
View_Act_Log. Please refer to the fields defined in the View_Act_Log section earlier in this
* document.

View_Request_to_Properties
The following is a basic view of call requests and their properties. This view lists everything from the
call request (call_req) table and the request property (cr_prp) table.

Field Remarks
View_R Please refer to the fields defined in the View_Request section of this document.
equest.
*
crprp_id cr_prp.id: This is an integer-unique identifier for the property record.
crprp_p cr_prp.persid: This is a unique identifier for this record in the cr_prp table, preceded by the
ersid object identifier (cr_prp) and a colon.
sequenc cr_prp.sequence: This is an integer that indicates the order for which this particular
e property record should be displayed by CA SDM (for example, Ascending).
label cr_prp.label: This is a short description of what should be placed in the cr_prp.value field.
value cr_prp.value: This is a value entered by the user in response to the prp_description and
cr_prp.label fields.
crprp_la cr_prp.last_mod_dt: This is the timestamp (pdmtime) identifying when this property was
st_mod last modified.
_dt
crprp_la cr_prp.last_mod_by: This is a binary identifier, which references a record in the ca_contact
st_mod table. It represents the person who last modified this record.cr_prp.last_mod_by =
_by ca_contact.contact_uuid
require cr_prp.required: This is the boolean, indicating whether this property must have a cr_prp.
d value before the record is saved.
sample cr_prp.sample: This is a text field, which displays example values to guide the user in
entering the most useful value in cr_prp.value.
owning cr_prp.owning_cr: This is the unique identifier used to identify the specific record to which
_cr this property is attached.cr_prp.object_id = call_req.persid
crprp_d cr_prp.description: This is a text field, which explains the type of value that should be
escripti entered in cr_prp.value.
on

02-Aug-2016 64/403
CA Service Management - 14.1

View_Request_to_Request_WF

Note: This feature will only be available if you apply a patch for CA Service Management
Release 14.1.01. Find the patch and the download details from CA Support Online.

This view is a result of the View_Request view joined with the workflow task table (crwf) to give a
basic view of requests and their workflow tasks. This may not list all requests, particularly if there are
no workflow tasks assigned to them.

Field Remarks
View_R Please refer to the View_Request definition earlier in this document for a description of each
equest. field.
*
wf_id crwf.id: This is a unique identifier for a record in the crwf table.
wf_per crwf.persid: This is a unique identifier for this record in the crwf table, preceded by the
sid object identifier (crwf) and a colon.
del crwf.del: This is a boolean indicator of whether this record is to be displayed to the user.
object_ crwf.object_type: This is the factory name, which is used to identify the type of record (for
type example, cr) to which this workflow task is attached.
object_ crwf.object_id: This is a unique identifier used to identify the specific record to which this
id workflow task is attached.cr.object_id = issue.id
task crwf.task: This is an identifier, which references the type of task this record represents.crwf.
task = tskty.code
wf_tem crwf.wf_template: This is an identifier, which references from which template this workflow
plate task record was created.crwf.wf_template = wftpl.id
sequen crwf.sequence: This is an integer that indicates the order for which this particular workflow
ce task record should be displayed and executed by CA SDM (for example, Ascending).
wf_stat crwf.status: This is an identifier, which references a tskstat record. It indicates the current
us status of this workflow task.crwf.status = tskstat.code
group_ crwf.group_task: This is a boolean, which indicates whether this task belongs to a group.
task
creator crwf.creator: This is a unique binary identifier, which references a record in the ca_contact
table. It indicates the person who created this workflow task.crwf.creator = ca_contact.
contact_uuid
date_cr crwf.date_created: This is the date/timestamp that this workflow task was created
eated (pdmtime).
wf_assi crwf.assignee: This is a unique binary identifier, which references a record in the ca_contact
gnee table. It indicates the person who is currently assigned to this workflow task.crwf.assignee =
ca_contact.contact_uuid
done_b
y

02-Aug-2016 65/403
CA Service Management - 14.1

Field Remarks
isswf.done_by: This is a unique binary identifier, which references a record in the ca_contact
table. It indicates the person who completed or approved this workflow task.isswf.done_by =
ca_contact.contact_uuid
wf_star wf_start_date: This is the timestamp when the workflow task moved into an active status
t_date (pdmtime).
wf_est crwf.est_comp_date: This is a timestamp (pdmtime) indicating when users believe this task
_comp will be completed.
_date
est_dur crwf.est_duration: This is the estimated duration for this workflow task.
ation
comple crwf.completion_date: This is a timestamp (pdmtime) indicating when this workflow task
tion_da was completed.
te
actual_ crwf.actual_duration: This is the actual amount of time it took to complete this workflow
duratio task.
n
wf_est crwf.est_cost: This is the estimated cost of this workflow task
_cost
cost crwf.cost: This is the actual cost required to complete this workflow task.
wf_des crwf.description: This is a description of the workflow task.
cription
wf_last crwf.last_mod_dt: This is the timestamp (pdmtime) indicating when this workflow task was
_mod_ last changed.
dt
wf_last crwf.last_mod_by: This is the unique binary identifier, which references a record in the
_mod_ contact table. It indicates the last person to make changes to this workflow task.crwf.
by last_mod_by = ca_contact.contact_uuid

View_Request_to_Request_WF

02-Aug-2016 66/403
CA Service Management - 14.1

RFC 2251 LDAP Result Codes


This article contains the following topics:
LDAP Return Codes (see page 67)
LDAP Server Return Codes (see page 67)
LDAP Client Return Codes (see page 71)
LDAP-Associated RFC Standards (see page 72)
(see page 74)

LDAP Return Codes


LDAP has a set of operation result codes that may be generated by the LDAP server in response to
various LDAP requests. These codes indicate the status of the protocol operation and are categorized
by server or client return code categories.

LDAP Server Return Codes


The following table lists the server return codes:

Hex Decimal Description


0x0 0 LDAP_SUCCESS
0 Indicates the requested client operation completed successfully.
0x0 1 LDAP_OPERATIONS_ERROR
1 Indicates an internal error occurred. The server is unable to respond with a more
specific error and is also unable to properly respond to a request. It does not indicate
that the client has sent an erroneous message.
0x0 2 LDAP_PROTOCOL_ERROR
2 Indicates that the server has received an invalid or malformed request from the client.
0x0 3 LDAP_TIMELIMIT_EXCEEDED
3 Indicates that the operation's time limit specified by either the client or the server has
been exceeded. On search operations, incomplete results are returned.
0x0 4 LDAP_SIZELIMIT_EXCEEDED
4 Indicates that in a search operation, the size limit specified by the client or the server
has been exceeded. Incomplete results are returned.
0x0 5 LDAP_COMPARE_FALSE
5 Does not indicate an error condition. Indicates that the results of a compare operation
are false.
0x0 6 LDAP_COMPARE_TRUE
6 Does not indicate an error condition. Indicates that the results of a compare operation
are true.
7

02-Aug-2016 67/403
CA Service Management - 14.1

Hex Decimal Description


0x0 LDAP_AUTH_METHOD_NOT_SUPPORTED
7 Indicates that during a bind operation the client requested an authentication method
not supported by the LDAP server.
0x0 8 LDAP_STRONG_AUTH_REQUIRED
8 Indicates one of the following:
In bind requests, the LDAP server accepts only strong authentication.
In a client request, the client requested an operation, such as delete, that requires
strong authentication.
In an unsolicited notice of disconnection, the LDAP server discovers the security
protecting the communication between the client and server has unexpectedly failed or
been compromised.
0x0 9 Reserved.
9
0x0 10 LDAP_REFERRAL
A Does not indicate an error condition. In LDAPv3, indicates that the server does not hold
the target entry of the request, but that the servers in the referral field may.
0x0 11 LDAP_ADMINLIMIT_EXCEEDED
B Indicates that an LDAP server limit set by an administrative authority has been
exceeded.
0x0 12 LDAP_UNAVAILABLE_CRITICAL_EXTENSION
C Indicates that the LDAP server was unable to satisfy a request because one or more
critical extensions were not available. Either the server does not support the control or
the control is not appropriate for the operation type.
0x0 13 LDAP_CONFIDENTIALITY_REQUIRED
D Indicates that the session is not protected by a protocol, such as Transport Layer
Security (TLS), which provides session confidentiality.
0x0 14 LDAP_SASL_BIND_IN_PROGRESS
E Does not indicate an error condition, but indicates that the server is ready for the next
step in the process. The client must send the server the same SASL mechanism to
continue the process.
0x0 15 Not used.
F
0x1 16 LDAP_NO_SUCH_ATTRIBUTE
0 Indicates that the attribute specified in the modify or compare operation does not exist
in the entry.
0x1 17 LDAP_UNDEFINED_TYPE
1 Indicates that the attribute specified in the modify or add operation does not exist in
the LDAP server's schema.
0x1 18 LDAP_INAPPROPRIATE_MATCHING
2 Indicates that the matching rule specified in the search filter does not match a rule
defined for the attribute's syntax.
0x1 19 LDAP_CONSTRAINT_VIOLATION
3 Indicates that the attribute value specified in a modify, add, or modify DN operation
violates constraints placed on the attribute. The constraint can be one of size or content
(string only, no binary).
20

02-Aug-2016 68/403
CA Service Management - 14.1

Hex Decimal Description


0x1 LDAP_TYPE_OR_VALUE_EXISTS
4 Indicates that the attribute value specified in a modify or add operation already exists as
a value for that attribute.
0x1 21 LDAP_INVALID_SYNTAX
5 Indicates that the attribute value specified in an add, compare, or modify operation is
an unrecognized or invalid syntax for the attribute.
22-31 Not used.
0x2 32 LDAP_NO_SUCH_OBJECT
0 Indicates that the target object cannot be found. This code is not returned on the
following operations:
Search operations that find the search base but cannot find any entries that match the
search filter.
Bind operations
0x2 33 LDAP_ALIAS_PROBLEM
1 Indicates that an error occurred when an alias was dereferenced.
0x2 34 LDAP_INVALID_DN_SYNTAX
2 Indicates that the syntax of the DN is incorrect. However, if the DN syntax is correct, but
the LDAP server's structure rules do not permit the operation, the server returns the
following:
LDAP_UNWILLING_TO_PERFORM
0x2 35 LDAP_IS_LEAF
3 Indicates that the specified operation cannot be performed on a leaf entry. (This code is
not currently in the LDAP specifications, but is reserved for this constant.)
0x2 36 LDAP_ALIAS_DEREF_PROBLEM
4 Indicates that during a search operation, either the client does not have access rights to
read the aliased object's name or dereferencing is not allowed.
37-47 Not used.
0x3 48 LDAP_INAPPROPRIATE_AUTH
0 Indicates that during a bind operation, the client is attempting to use an authentication
method that the client cannot use correctly. For example, either of the following causes
this error:
The client returns simple credentials when strong credentials are required.
The client returns a DN and a password for a simple bind when the entry does not have
a password defined.
0x3 49 LDAP_INVALID_CREDENTIALS
1 Indicates that during a bind operation, one of the following occurred:
The client passed either an incorrect DN or password.
The password is incorrect because it has expired; intruder detection has locked the
account, or some other similar reason.
0x3 50 LDAP_INSUFFICIENT_ACCESS
2 Indicates that the caller does not have sufficient rights to perform the requested
operation.
0x3 51 LDAP_BUSY
3 Indicates that the LDAP server is too busy to process the client request at this time, but
if the client waits and resubmits the request, the server may be able to process it then.
52

02-Aug-2016 69/403
CA Service Management - 14.1

Hex Decimal Description


0x3 LDAP_UNAVAILABLE
4 Indicates that the LDAP server cannot process the client's bind request, usually because
it is shutting down.
0x3 53 LDAP_UNWILLING_TO_PERFORM
5 Indicates that the LDAP server cannot process the request because of server-defined
restrictions. This error is returned for the following reasons:
The add entry request violates the server's structure rules.
The modify attribute request specifies attributes that users cannot modify.
Password restrictions prevent the action.
Connection restrictions prevent the action.
0x3 54 LDAP_LOOP_DETECT
6 Indicates that the client discovered an alias or referral loop, and is thus unable to
complete this request.
55-63 Not used.
0x4 64 LDAP_NAMING_VIOLATION
0 Indicates that the add or modify DN operation violates the schema's structure rules. For
example:
The request places the entry subordinate to an alias.
The request places the entry subordinate to a container that is forbidden by the
containment rules.
The RDN for the entry uses a forbidden attribute type.
0x4 65 LDAP_OBJECT_CLASS_VIOLATION
1 Indicates that the add, modify, or modify DN operation violates the object class rules for
the entry. For example, the following types of request return this error:
The add or modify operation tries to add an entry without a value for a required
attribute.
The add or modify operation tries to add an entry with a value for an attribute which
the class definition does not contain.
The modify operation tries to remove a required attribute without removing the
auxiliary class that defines the attribute, as required.
0x4 66 LDAP_NOT_ALLOWED_ON_NONLEAF
2 Indicates that the requested operation is permitted only on leaf entries. For example,
the following types of requests return this error:
The client requests a delete operation on a parent entry.
The client request a modify DN operation on a parent entry.
0x4 67 LDAP_NOT_ALLOWED_ON_RDN
3 Indicates that the modify operation attempted to remove an attribute value that forms
the entry's relative distinguished name.
0x4 68 LDAP_ALREADY_EXISTS
4 Indicates that the add operation attempted to add an entry that already exists, or that
the modify operation attempted to rename an entry with the name of an entry that
already exists.
0x4 69 LDAP_NO_OBJECT_CLASS_MODS
5 Indicates that the modify operation attempted to modify the structure rules of an object
class.
0x4 70 LDAP_RESULTS_TOO_LARGE
6 Reserved for CLDAP.

02-Aug-2016 70/403
CA Service Management - 14.1

Hex Decimal Description


0x4 71 LDAP_AFFECTS_MULTIPLE_DSAS
7 Indicates that the modify DN operation moves the entry from one LDAP server to
another and thus requires more than one LDAP server.
72-79 Not used.
0x5 80 LDAP_OTHER
0 Indicates an unknown error condition. This is the default value for NDS error codes
which do not map to other LDAP error codes.

LDAP Client Return Codes


The following table lists the client return codes:

Hex Decimal Description


0x5 81 LDAP_SERVER_DOWN
1 Indicates that the LDAP libraries cannot establish an initial connection with the LDAP
server. Either the LDAP server is down, or the specified host name or port number is
incorrect.
0x5 82 LDAP_LOCAL_ERROR
2 Indicates that the LDAP client has an error. This is usually a failed dynamic memory
allocation error.
0x5 83 LDAP_ENCODING_ERROR
3 Indicates that the LDAP client encountered errors when encoding an LDAP request
intended for the LDAP server.
0x5 84 LDAP_DECODING_ERROR
4 Indicates that the LDAP client encountered errors when decoding an LDAP response
from the LDAP server.
0x5 85 LDAP_TIMEOUT
5 Indicates that the time limit of the LDAP client was exceeded while waiting for a result.
0x5 86 LDAP_AUTH_UNKNOWN
6 Indicates that the ldap_bind or ldap_bind_s function was called with an unknown
authentication method.
0x5 87 LDAP_FILTER_ERROR
7 Indicates that the ldap_search function was called with an invalid search filter.
0x5 88 LDAP_USER_CANCELLED
8 Indicates that the user cancelled the LDAP operation.
0x5 89 LDAP_PARAM_ERROR
9 Indicates that an LDAP function was called with an invalid parameter value (for example,
the ID parameter is NULL).
0x5 90 LDAP_NO_MEMORY:
A Indicates that a dynamic memory allocation function failed when calling an LDAP
function.
0B 91

02-Aug-2016 71/403
CA Service Management - 14.1

Hex Decimal Description


LDAP_CONNECT_ERROR
Indicates that the LDAP client has lost either its connection or cannot establish a
connection to the LDAP server.
0x5 92 LDAP_NOT_SUPPORTED
C Indicates that the client does not support the requested functionality. For example, if
the LDAP client is established as an LDAPv2 client, the libraries set this error code when
the client requests LDAPv3 functionality.
0x5 93 LDAP_CONTROL_NOT_FOUND
D Indicates that the client requested a control that the libraries cannot find in the list of
supported controls sent by the LDAP server.
0x5 94 LDAP_NO_RESULTS_RETURNED
E Indicates that the LDAP server sent no results. When the ldap_parse_result function is
called, no result code is included in the server's response.
0x5 95 LDAP_MORE_RESULTS_TO_RETURN
F Indicates that more results are chained in the result message. The libraries set this code
when the call to the ldap_parse_result function reveals that additional result codes are
available.
0x6 96 LDAP_CLIENT_LOOP
0 Indicates the LDAP libraries detected a loop. Usually, this happens when following
referrals.
0x6 97 LDAP_REFERRAL_LIMIT_EXCEEDED
1 Indicates that the referral exceeds the hop limit. The hop limit determines how many
servers the client can hop through to retrieve data. For example, suppose the following
conditions:
The hop limit is two.
The referral is to server D which can be contacted only through server B (1 hop) which
contacts server C (2 hops) which contacts server D (3 hops)
With these conditions, the hop limit is exceeded and the LDAP libraries set this code.

LDAP-Associated RFC Standards


The following table describes the LDAP-associated RFC standards available for your use:

RFC Description
1274 The COSINE and Internet X.500 Schema
1275 Replication Requirements to provide an Internet Directory using X.500
1276 Replication and Distributed Operations extensions to provide an Internet Directory using X.500
1308 Executive Introduction to Directory Services Using the X.500 Protocol
1309 Technical Overview of Directory Services Using the X.500 Protocol
1430 A Strategic Plan for Deploying an Internet X.500 Directory Service
1488 The X.500 String Representation of Standard Attribute Syntaxes
1558 A String Representation of LDAP Search Filters

02-Aug-2016 72/403
CA Service Management - 14.1

RFC Description
1617 Naming and Structuring Guidelines for X.500 Directory Pilots
1777 Lightweight Directory Access Protocol v2
1778 The String Representation of Standard Attribute Syntaxes
1779 A String Representation of Distinguished Names
1804 Schema Publishing in X.500 Directory
1823 The LDAP Application Program Interface
1959 An LDAP URL Format
1960 A String Representation of LDAP Search Filters
2044 UTF -8, a transformation format of Unicode and ISO 10646
2164 Use of an X.500/LDAP Directory to support MIXER address mapping
2218 A Common Schema for the Internet White Pages Service
2247 Using Domains in LDAP/X.500 Distinguished Names
2251 Lightweight Directory Access Protocol (v3)
2252 Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions
2253 Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names
2254 The String Representation of LDAP Search Filters
2255 The LDAP URL Format
2256 A Summary of the X.500(96) User Schema for use with LDAPv3
2279 UTF-8, a transformation format of ISO 10646
2293 Representing Tables and Subtrees in the X.500 Directory
2294 Representing the O/R Address hierarchy in the X.500 Directory Information Tree
2307 An Approach for Using LDAP as a Network Information Service
2377 Naming Plan for Internet Directory-Enabled Applications
2531 Content Feature Schema for Internet Fax
2559 Internet X.509 Public Key Infrastructure Operational Protocols - LDAPv2
2587 Internet X.509 Public Key Infrastructure LDAPv2 Schema
2589 Lightweight Directory Access Protocol (v3): Extensions for Dynamic Directory Services
2596 Use of Language Codes in LDAP
2649 An LDAP Control and Schema for Holding Operation Signatures
2657 RFC 2657 - LDAPv2 Client vs. the Index Mesh
2696 LDAP Control Extension for Simple Paged Results Manipulation
2713 Schema for Representing Java(tm) Objects in an LDAP Directory
2714 Schema for Representing CORBA Object References in an LDAP Directory
2739 Calendar Attributes for vCard and LDAP
2798 Definition of the inetOrgPerson LDAP Object Class
2820 Access Control Requirements for LDAP

02-Aug-2016 73/403
CA Service Management - 14.1

RFC Description
2829 Authentication Methods for LDAP
2830 Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security
2849 The LDAP Data Interchange Format (LDIF) - Technical Specification
2879 Content Feature Schema for Internet Fax (V2)
2891 LDAP Control Extension for Server Side Sorting of Search Results
3045 Storing Vendor Information in the LDAP root DSE
3062 LDAP Password Modify Extended Operation
3112 LDAP Authentication Password Schema
3296 Named Subordinate References in Lightweight Directory Access Protocol Directories
3377 Lightweight Directory Access Protocol (v3): Technical Specification
3384 Lightweight Directory Access Protocol (version 3) Replication Requirements

02-Aug-2016 74/403
CA Service Management - 14.1

pdm_configure--Open the Configuration


Window
pdm_configure opens a window containing the CA SDM configuration window. Use this window to
set the CA SDM configuration after installing CA SDM, or to change the CA SDM configuration after
CA SDM is running. Following are the possible reasons to change the CA SDM configuration:

Changing the database type or server

Reload default data

Change passwords for the CA SDM system accounts

Rebuild schema files to incorporate changes

Reconfigure the following server, depending on your CA SDM configuration:

Conventional: Primary or secondary server

Advanced availability: Application or background server

Syntax

This command has the following format:

pdm_configure

Restrictions

pdm_configure can be run on any CA SDM server or a CA SDM Linux client. You must be the
privileged user or root to run pdm_configure.

02-Aug-2016 75/403
CA Service Management - 14.1

pdm_key_refresh--Refresh Cached Key


Information
The pdm_key_refresh utility refreshes cached key information from the key control table in the
database. If key control information is updated, this utility can be executed instead of stopping and
restarting the system to force CA SDM to use the new keyid base value.

Important! Changing the key control table may cause data corruption. You should not
attempt to change the key control without specific instructions from CA Technical Support.

Syntax

This command has the following format:

pdm_key_refresh

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

02-Aug-2016 76/403
CA Service Management - 14.1

pdm_lexutil--Modify CA SDM Lexicons


The pdm_lexutil utility allows you to modify Service Desk lexicons, to add or delete words for the
spell check dictionary.

Syntax

This command has the following format:

pdm_lexutil -a | -d [-f] [-l] wordlist

-a
Add words.

-d
Delete words.

-f
File or lexicon containing list of words to be added or deleted.

-l
Lexicon name.
Default: userdict.tlx

wordlist
Words to be added or deleted.

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

02-Aug-2016 77/403
CA Service Management - 14.1

pdm_listconn--List Active Connections


The pdm_listconn utility can be used to list active connections for both clients and servers.

Syntax

This command has the following format:

pdm_listconn [-c] [-s] [ - s -c] [ - t nn] [proc1 [proc2...]]

The default command has the following format if no parameters are specified:

pdm_listconn -s -t 2

-c

Lists connections by client. The utility displays two lines for each client:

(n secs) client_type node|cproc


connected to alias (sproc) at time

n is the number of seconds it took for the client to respond.

client_type is "vbop," "animator daemon," or "web engine."

node is the IP address of the clients node.

cproc is the clients slump procname.

alias is the alias of the server the client is connected with.

sproc is the servers slump procname.

time is the connection time.

For example:

(0 secs) vbop client 141.202.211.34|vbop-0x40120000:anthill:0


connected to CMD40120 on anthill (domsrvr) at 02/19/1999 10:44:16

-s

Lists connections by server (default). The utility displays two lines for each server:

(n secs) server alias (node|sproc) willingness willingness


count connected clients (use pdm_listconn -c -s to list clients by server)

n is the number of seconds it took for the server to respond.

node is the IP address of the servers node.

02-Aug-2016 78/403
CA Service Management - 14.1

alias is the alias of the server the client is connected with.

sproc is the servers slump procname.

willingness is the servers willingness to accept new clients (0 - 100).

count is the number of connected clients.

For example:

(0 secs) server CMD40120 on anthill (domsrvr) willingness 98


2 connected clients (use pdm_listconn -c -s to list clients by server)
vbop client 141.202.211.34|vbop2 connected 02/19/1999 10:53:16
vbop client 141.202.211.34|vbop-0x40120000:anthill:0 connected 02/19/1999 10:44:17

-s -c

Lists connections by server, including client detail for each server. The utility displays several lines for
each server:

(n secs) server alias (node|sproc) willingness willingness


count connected clients:
client_type node|cproc connected time

where:

n is the number of seconds it took for the server to respond.

node is the IP address of the servers node.

alias is the alias of the server the client is connected with.

sproc is the servers slump procname.

willingness is the servers willingness to accept new clients (0 - 100).

count is the number of connected clients.

client_type is "vbop," "animator daemon," or "web engine."

node is the IP address of the clients node.

cproc is the clients slump procname.

time is the connection time.

For example:

(0 secs) server CMD40120 on anthill (domsrvr) willingness 98


2 connected clients:
vbop client 141.202.211.34|vbop2 connected 02/19/1999 10:53:16
vbop client 141.202.211.34|vbop-0x40120000:anthill:0 connected 02/19/1999 10:44:17

02-Aug-2016 79/403
CA Service Management - 14.1

-t nn

Specifies a timeout interval in seconds. Because pdm_listconn receives information from an unknown
number of clients and servers, it terminates when the specified timeout interval elapses after the last
message received.

Default: 2

proc1

Specifies one or more slump procnames, separated by spaces. The utility displays client or server
information from them, as appropriate.

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

02-Aug-2016 80/403
CA Service Management - 14.1

pdm_logfile--Change stdlog Cutover Size


pdm_logfile lets you change your stdlog.x cutover size. The cutover can occur after a specified
number of bytes are written. On UNIX, this value is reset with each pdm_init. On Windows, the
settings are retained with each pdm_halt and pdm_init.

Syntax

This command has the following format:

pdm_logfile [-L|-h]

or

pdm_logfile [-g -h] [-b bytes]

Example

To change your stdlog.x files to cutover at 500,000 bytes, issue the following command:

pdm_logfile -f STD -b 500000

-L

Creates a listing of current cutovers.

-q

Runs pdm_logfile in quiet mode.

-b bytes

Specifies the number of bytes written before cutover occurs.

Restrictions

You can run pdm_load while CA SDM is active, but performance can become very slow. It is best to
run pdm_load when no one is using CA SDM.

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

02-Aug-2016 81/403
CA Service Management - 14.1

pdm_task--Set Environment Variables


Applies to UNIX only

The pdm_task utility sets environment variables for commands that do not have wrappers. For
example, the pdm_task command must precede the report command on the same command line
only when the command is invoked through a script or the command line. If you issue the report
command from a menu, you do not need to include pdm_task, because all environment variables are
set by the application.

Note: Reports cannot be generated from the command line on a client.

Syntax

This command has the following format:

pdm_task command

command

Specifies a command that does not have a wrapper and, therefore, does not automatically set
environment variables. See report--Generate Reports (see page 116) for more information about
issuing pdm_task with a command.

02-Aug-2016 82/403
CA Service Management - 14.1

pdm_uconv--Convert Local Charset to UTF-8


The pdm_uconv utility assists you in converting data from previous releases of CA SDM or
integrations with other CA Technologies products. The most common usage of this utility is to
convert from a local charset to UTF-8 and from UTF-8 to a local charset.

Syntax

This command has the following format:

pdm_uconv -h [-V] [-s] [-v] [-l | --list-code


| --default-code | -L] [--cannon] [-x] [--to-callback | -c] [--from-callback | -i] [--
fallback | --no-fallback] [-b] [-f] [--t] [--add-signature] [--remove-signature] [-o]
[file ...]

-h
Opens the help menu.

-V
Prints the program version.

-s
Uses silent operation and suppresses messages.

-v
Displays the progress information of the utility.

-l
Lists all available encoding. The following are valid:

--list-code
Lists only the given encoding.

--default-code
Lists only the default encoding.

-L
Lists all available transliterators.

--cannon
Prints the list in cnvrtrs.txt(5) format.

-x
Runs the progress through transliteration.

--to-callback callback
Uses callback on destination encoding.

-c
Omits invalid characters from the output.

02-Aug-2016 83/403
CA Service Management - 14.1

--from-callback callback
Uses callback on original encoding.

-i
Ignores invalid sequences in the input.

--callback callback
Uses callback on both encoding.s.

-b
Specifies the block size.
Default: 4096

--fallback
Uses fallback mapping.

--no-fallback
Does not use fallback mapping.

-f
Sets theoriginal encoding.

-t
Sets the destination encoding.

--add-signature
Adds U+FEFF Unicode signature character (BOM).

--remove-signature
Removes U+FEFF Unicode signature character (BOM)

-o
Writes output to file.

Examples:

From local charset to UTF-8


pdm_uconv -t utf-8 inputfile.txt > outputfile.txt

From specific charset (iso-2022-jp) to UTF-8


pdm_uconv -f iso-2022-jp -t utf-8 inputfile.txt > outputfile.txt

From UTF-8 to local charset


pdm_uconv -f utf-8 inputfile.txt > outputfile.txt

From UTF-8 to specific charset


pdm_uconv -f utf-8 -t iso-2022-jp inputfile.txt > outputfile.txt

The pdm_uconv utility has the following are valid callbacks:

substitute

skip

02-Aug-2016 84/403
CA Service Management - 14.1

stop

escape

escape-icu

escape-java

escape-c

escape-xml

escape-xml-hex

escape-xml-dec

escape-unicode

02-Aug-2016 85/403
CA Service Management - 14.1

pdm_webstat--Return Web Usage Statistics


Use pdm_webstat to return CA SDM session and user statistics for one or more web engine
processes. The pdm_webstat command shows cumulative sessions, most sessions at a time, and
current active sessions. It can also provide information about the individual users.

Syntax

This command has the following format:

pdm_webstat [-r] [-d | -D] [-i] [-t timeout] [-p webengine process] [-n] [-h]

-r

Specifies raw text mode, without titles and other formatting. Within the output for a single web
engine process there are no line breaks; however, the output for each web engine process always
starts on a new line.

Raw text mode displays data in exactly the same order as when you use pdm_webstat without the -r
option. Use raw text mode if you want to use the resulting data in a spreadsheet or other type of
report. For example, the following syntax:

pdm_webstat -r

shows the following output:

10/11/2005 10:31:49 web:local:0 12 4 2


10/11/2005 10:31:49 web:local:1 9 2 2

-d

Specifies detailed output that displays user sessions. The -d option lists all current sessions in the
form of userid@IPaddress. If a session is displayed without a user ID, it usually means that the session
has not logged on yet. For example, the following syntax:

pdm_webstat -d

shows the following output:

PDM_Webstat: Invoked at 10/11/2005 10:27:31


=========================================
Report from Webengine: web:local:0
=========================================
Cumulative sessions so far = 12
Most sessions at a time = 4
Currently active sessions = 2
@192.168.1.16
usery@192.168.1.20
=========================================
Report from Webengine: web:local:1

02-Aug-2016 86/403
CA Service Management - 14.1

=========================================
Cumulative sessions so far = 7
Most sessions at a time = 2
Currently active sessions = 2
SrvcPlus@192.168.1.14
userx@192.168.1.8

-D

Provides more detailed output for debugging purposes. This option should be specified only when
specifically requested by CA support. It adds internal information about each session to the detailed
output. For example, the following syntax:

pdm_webstat -D

shows the following output:

PDM_Webstat: Invoked at 10/11/2007 10:28:10


==========================================
Report from Webengine: web:local:0
==========================================
Cumulative sessions so far = 12
Most sessions at a time = 4
Currently active sessions = 2
@192.168.1.16 SessionStat 1
userx@192.168.1.20 SessionStat 5
==========================================
Report from Webengine: web:local:1
==========================================
Cumulative sessions so far = 7
Most sessions at a time = 2
Currently active sessions = 2
SrvcPlus@192.168.1.14 SessionStat 7
userx@192.168.1.8 SessionStat 13

-i
Specifies an interval in seconds between successive reports. When the -i argument is specified,
pdm_webstat runs continuously. The pdm_webstat command outputs its report in the format
requested by other arguments, waits for the interval specified, and outputs the report again.
With - i, pdm_webstat terminates only when explicitly cancelled, normally with Ctrl+C. For
example, the following syntax:

pdm_webstat - i 5 - p web:local - r

shows the following output:

09/21/2007 16:27:25 web:local 14 10 6

09/21/2007 16:27:30 web:local 17 10 9

09/21/2007 16:27:35 web:local 18 10 10

09/21/2007 16:27:41 web:local 21 13 13

-t timeout

02-Aug-2016 87/403
CA Service Management - 14.1

Specifies a time-out value in seconds. This parameter causes pdm_webstat to wait for a number of
seconds for a response before terminating. The default is 30 seconds.

-p webengine_process

Specifies the process name of the web engine for which you want to report. By default, all web
engine processes are reported. The process name (also called slump-name) is the same name that
would be viewed in an slstat output and always starts with "web:".

-n

Suppresses the normal log entry for each reported web engine. By default, a log entry summarizing
each web engine is created.

Note: By default, if you do not specify any parameters, pdm_webstat displays summary
data for all running processes.

pdm_webstat returns zero if the command completes successfully, and a nonzero value if errors
occur (for example, a time-out or no active web engine processes).

Example: pdm_webstat Output When No Parameters Are Specified

The following example shows the output of pdm_webstat when it is executed with no parameters:

PDM_Webstat: Invoked at 10/11/2007 10:26:42


=========================================
Report from Webengine: web:local:0
=========================================
Cumulative sessions so far = 12
Most sessions at a time = 4
Currently active sessions = 2
=========================================
Report from Webengine: web:local:1
=========================================
Cumulative sessions so far = 7
Most sessions at a time = 2
Currently active sessions = 2

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

02-Aug-2016 88/403
CA Service Management - 14.1

pdm_mail Utility--Send Email Information


The pdm_mail utility is used in notifications to send emails by sending email information to the
pdm_mail_nxd process. The pdm_mail utility can also be used for commands, but not to both. If no
parameters are used, then the default behavior of using the NX_NTF_xxxx variable to pass
parameters is in effect.

For email, the utility is invoked as follows:

pdm_mail [-i [-s subject] [-e email_address] [-q]] [-p] [-M] [-F] [-T] [-B] [-H] [-N]
[-R] [-h]

-i
Uses STDIN instead of NTF variables. The following parameters are used for STDIN email behavior
only:

-e
Specifies the email address (for recipient).

-s
Specifies the subject for the email.

-q
Disables the display prompt for STDIN.

-p
Utilizes pager logic. This option includes using the pager email address instead of the regular
email address. Only the plain text version of the notification is used (no HTML).

-M
Uses plain text only (no MIME) in body.

-F
Specifies the From address of the email.

-T
Specifies the Reply-To address of the email.

-B
Specifies the body charset. This might be useful for pagers that do not support the UTF-8.

-H
Specifies the header charset. This might be useful for pagers that do not support the UTF-8.

-N
Specifies the Delivery Status Notification (DSN) Notify option.

-R
Specifies the Delivery Status Notification (DSN) Return option.

-h

02-Aug-2016 89/403
CA Service Management - 14.1

-h
Displays help on the utility.

For commands, the utility is invoked as follows:

Command to mail server

pdm_mail -c option [parameter]

Command to mail eater

pdm_mail -x option [parameter]

check_interval
(-x only) Changes the check mail interval to a specified value (in seconds).

report_interval
Changes the report interval to a specified value (in seconds).

report_now
Forces a report to the logs. The counter is not reset.

send_q
(-c only) Sends local mail queue to remote mail server.

trace
Turns tracing on or off.

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

02-Aug-2016 90/403
CA Service Management - 14.1

CA SDM PDM Database Commands


This article contains the following topics:
pdm_restore--Restore a Database (see page 93)
pdm_load--Add, Update, and Delete Database Records (see page 94)
CA SDM PDM Daemon Commands (see page 95)
pdm_halt--Terminate Daemons or Stop Services (see page 95)
pdm_init--Start Daemons (see page 96)
pdm_d_refresh--Start Failed Daemons (see page 97)
pdm_status--Show Status of Daemons or Processes (see page 97)
uniconv--Start UNIX CA NSM Event Converter Daemon (see page 98)
CA SDM PDM Server Commands (see page 98)
pdm_proctor_init--Start Proctor on Secondary Servers (see page 99)
pdm_server_control Utility--Identify Servers (see page 99)
pdm_rest_util--Manage the CA SDM RESTful Web Services Application (see page 100)
Undeploy the REST Web Services Application (see page 100)
pdm_k_reindex -- Knowledge Re-Index Utility (see page 101)
When to Use pdm_k_reindex (see page 102)
Re-Index Tracking (see page 103)
Import and Re-Indexing (see page 103)
Index and De-Index Queue Settings for Batch and Instant Processing (see page 104)
PDM-Discovered Asset Commands (see page 105)
pdm_discupd -- Discovered Asset Update (see page 105)
pdm_discimp -- Discovered Asset Import (see page 105)
pdm_text_cmd--Text API Command Line Interface (see page 107)
Input Examples (see page 109)
pdm_log4j_config Utility--Modify the log4j properties File (see page 110)
Utility Usage Examples (see page 111)
Modify the Log File Refresh Interval Manually (see page 113)
Modify the jsrvr.log Appender (see page 113)
Modify the jstd.log Appender (see page 114)

pdm_replace--Replace a Database Table

pdm_replace deletes a table in a CA SDM database and replaces it with a table from a temporary file
you specify with the -f option; the data from the input file is the only data that is in that table after
running pdm_replace. Back up your table before running pdm_replace.

Note: As part of its processing, pdm_replace first shuts down the daemons (UNIX) or
services (Windows).

02-Aug-2016 91/403
CA Service Management - 14.1

pdm_replace accepts a text file as input, which is the same file format used by pdm_userload. You
can create an input file for pdm_replace using pdm_extract; however, you cannot use the output of
pdm_backup as input to pdm_replace.

Important! Be sure to name your input file with a name different from the table name you
are attempting to replace. For example, if you are replacing a table named ca_contacts and
you name the input file ca_contacts.dat, after you execute the pdm_replace command to
point to the input file (ca_contacts.dat), it deletes the file after execution because it has
the same name as the table.

Restrictions

pdm_replace can be run only on the following servers, depending on your CA SDM configuration:

Conventional: Primary server

Advanced availability: Background server

Important! Ensure that you have stopped all application and standby servers before
running this command on the background server.

Only the privileged user or root can run pdm_replace.

Do not run pdm_replace when users are logged in to CA SDM.

Syntax

This command has the following format:

pdm_replace [-v] -f filename

-v

Specifies verbose mode.

-f filename

Specifies an ASCII file with the following format:

TABLE table_name
fieldname1 fieldname2 . . . . fieldnameN
{ "value11", "value12", . . . "value1N" }
{ "value21", "value22", . . . "value2N" }
.
.
.
{ "valueN1", "valueN2", . . . "valueNN" }

02-Aug-2016 92/403
CA Service Management - 14.1

This format is the same file format used by pdm_userload. You can create an input file for
pdm_replace using pdm_extract; however, you cannot use the output of pdm_backup as input to
pdm_replace.

pdm_restore--Restore a Database
pdm_restore stops CA SDM and then deletes all records from a CA SDM database and replaces them
with records from a file you specify with the -f option. The data from the input file is the only data
that will be in the CA SDM database after running pdm_restore.

The input file must be created using pdm_extract or pdm_backup, or otherwise formatted for
pdm_restore. pdm_backup can back up non-database data, and pdm_restore can restore this data
also. pdm_backup and pdm_restore are not recommended when other backup and restoration tools
are available.

Note: As part of its processing, pdm_restore first shuts down the daemons (UNIX) or
services (Windows).

Syntax

This command has the following format:

pdm_restore [-d] [-g] [-n] [-w] [-v] - f filename

Restrictions

pdm_restore can be run only on a CA SDM server. Only the privileged user or root can run
pdm_restore. The following restrictions are applicable if you are using the advanced availability
configuration:

If you are restoring the database, run the pdm_restore command only on the background server.

Ensure that you have stopped all servers (application, background, and standby) before you run
the pdm_restore command.

Important! Use pdm_restore only with a full database backup created by pdm_backup,
because your current database is deleted and replaced by the backup file. Do not run
pdm_restore when users are logged in to CA SDM.

-d
Specifies that only database data is restored.

02-Aug-2016 93/403
CA Service Management - 14.1

-g
Specifies that only non-database data be restored. Only windows (forms) and other non-database
data are restored.

-n
Specifies that NX.env is restored if restoring non-database data. By default, NX.env is not
restored. We recommend that the NX.env file not be restored unless the restore is to the same
server the backup came from. Restoring an incorrect NX.env can affect unintended databases.

-w
Specifies that web.cfg is restored if restoring non-database data. By default, web.cfg is not
restored.

-v
Specifies verbose mode.

-f filename

Specifies an input file that contains a full backup created by pdm_backup.

pdm_load--Add, Update, and Delete Database


Records
Important! Using pdm_load can be destructive so always back up your database before
you perform a pdm_load, and use pdm_userload unless instructed to use pdm_load.

pdm_load updates a CA SDM database using an input file you specify, up to a maximum of 112
attributes.

Whenever you upload tickets (such as requests or issues), your ticket number should include a unique
prefix or suffix in its string. CA SDM views this number as a string of characters not as a sequential
number, and thus cannot guarantee that it will assign a unique number to the uploaded tickets. As
long as you assign a unique prefix or suffix using awk or another text processor, you can upload
tickets without CA SDM writing over previously assigned numbers.

Syntax

This command has the following format:

pdm_load [-c] [-h] [-m] [-r] [-u] [-v] - f filename

The input file entries follow this format:

TABLE table_name
fieldname1 fieldname2 . . . . fieldnameN

02-Aug-2016 94/403
CA Service Management - 14.1

{ "value11", "value12", . . . "value1N" }


{ "value21", "value22", . . . "value2N" }
.
.
.
{ "valueN1", "valueN2", . . . "valueNN" }

table_name is the name of the table to be loaded, as listed in the CA SDM database schema file,
which is located in $NX_ROOT/site/sch/schema.sch (UNIX) or installation-directory\site\sch\schema.
sch (Windows). $NX_ROOT or installation-directory is the directory where you installed CA SDM.

-f filename

Specifies an input ASCII file.

-c

Checks the input file against the database and reports on the updates that would be made, but does
not make the updates.

-m

Specifies mass update. Specify when you are using pdm_load to add or delete a large number of
records. This option suppresses all client notifications of updates and sends a cache refresh message
for a table when pdm_load finishes processing the table.

-r

Removes database records that match input records.

Important! Make a backup copy of the database before running pdm_load with this
option. After old database records are removed, you must restore the CA SDM database
with this backup copy if you want to recover any deleted records.

-u

Updates existing records, but does not insert new records into the database.

CA SDM PDM Daemon Commands

pdm_halt--Terminate Daemons or Stop Services


pdm_halt cleanly terminates all CA SDM daemons (UNIX) or the System Server Service (Windows) on
the system from which pdm_halt is executed. The pdm_halt utility usually takes about 30 seconds to
complete. If it hangs for more than two minutes, press Ctrl+C to stop pdm_halt, and try again.

Syntax

02-Aug-2016 95/403
CA Service Management - 14.1

Syntax

This command has the following format:

pdm_halt [-w] [-a] [time]

-w
Waits for the daemons to stop.

-a
Stops all proctors defined in the pdm_startup file.

[time]
Specifies the number of seconds to wait until the command executes.

Restrictions

pdm_halt can be run on a CA SDM server or a CA SDM UNIX client. You must be the privileged user to
run pdm_halt.

pdm_init--Start Daemons
Applies to UNIX only

pdm_init starts all CA SDM automatic processes on the system from which pdm_init is executed.
These automatic processes are called daemons and run continually in the background while you
work. Not all of the daemons are started; some are applicable only to certain operating systems.

Note: Use pdm_d_refresh to start daemons that failed to start the first time after
remedying the problem that caused them not to start initially. In most cases you do not
need to terminate the daemons running to start ones that initially failed.

Syntax

pdm_init

Restrictions

pdm_init can be run on a CA SDM server or a CA SDM UNIX client. You must be the privileged user to
run pdm_init.

02-Aug-2016 96/403
CA Service Management - 14.1

pdm_d_refresh--Start Failed Daemons


The pdm_d_refresh command line utility is used primarily for remote daemon configurations. It tells
the daemon manager to try to start daemons that have failed to start ten times and that the daemon
manager has flagged as "not runnable.". Running this utility flags all daemons as able to run and
resets the restart counter. Then, the daemon manager tries to start all stopped daemons.

Syntax

This command has the following format:

pdm_d_refresh

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

pdm_status--Show Status of Daemons or


Processes
pdm_status shows the status of all CA SDM daemons (UNIX) or processes (Windows) on the system
from which the command is executed.

Output is displayed in this format:

DAEMON STATUS HOST PID SLUMP CONNECT TIME


-------------------------------------------------------------------------------
Agent anthill Running anthill 455 Tue Feb 17 17:55:12
Ddict_rd (ddictrd) Completed anthill
Data Dictionary (ddictbuild) Completed anthill
...
User Validation (boplgin) Running anthill 456 Tue Feb 17 17:55:21

Syntax

This command has the following format:

pdm_status

02-Aug-2016 97/403
CA Service Management - 14.1

uniconv--Start UNIX CA NSM Event Converter


Daemon
Applies to UNIX only

When CA SDM is integrated with CA NSM, you can use uniconv to send generic event data to filter
daemons in CA SDM. uniconv is used in a message action in CA NSM Event Management.

Syntax

This command has the following format:

uniconv - h &opnode - e &'text' [-n &


nodeid] [-u &userid] [-d &datem] [-t &'
time']

Restrictions

uniconv must be run from $NX_ROOT/bin on UNIX. Your site must be integrated with CA NSM to use
this utility.

-h &opnode
Specifies the node name of the machine on which you are executing uniconv (required).

-e &'text'
Specifies the full text of the message (required).

-n &nodeid
Specifies the node name from which the message originated (required).

-u &userid
Specifies the login ID of the person who originated the message.

-d &datem
Specifies the system date in mm/dd/yy format.

-t &'time'
Specifies the system time.

CA SDM PDM Server Commands

02-Aug-2016 98/403
CA Service Management - 14.1

pdm_proctor_init--Start Proctor on Secondary


Servers
Applies to UNIX only

Use pdm_proctor_init to start the proctor on secondary servers. All secondary servers should be
started prior to starting the daemons from the primary server. After all daemons have been stopped
from the primary server, use pdm_halt on the secondary server to stop this proctor.

Note: Do not use pdm_proctor_init on the primary server.

Syntax

This command has the following format:

pdm_proctor_init

pdm_server_control Utility--Identify Servers


The pdm_server_utility commands identify the server as background or standby in an advance
availability configuration.

Execute the following command from the command prompt:

pdm_server_control -h | -b | -q interval [-s server_name] | -t | -c [-server_name]

-h
Displays the help page.

-b
Notifies a local standby server to become the background server. The standby server must be
running. If the server is not running, it is started but no failover is performed. To start a failover,
run the command again.

-q interval [-s server_name]


Notifies a local or remote application server to quiesce in a specified time interval. This interval is
the number of seconds before the server shutdowns. When using this option without a
server_name, the local server is notified to quiesce. This option cannot be used for a background
or a standby server.

-t
Displays the type of this CA SDM advance availability Server.

02-Aug-2016 99/403
CA Service Management - 14.1

-c [-s server_name]
Notifies a local or remote application server to cancel the previous quiesce the request.

pdm_rest_util--Manage the CA SDM RESTful Web


Services Application
CA SDM uses this utility automatically. You can run it manually if you require the utility, such as after
an unexpected error occurs. This REST web services utility deploys the REST services web application.
This utility deploys the REST application to the dedicated REST Tomcat instance. A batch file in the
NX_ROOT\bin directory (pdm_rest_util.bat for Windows or ./pdm_rest_util.sh for UNIX) lets you
invoke the utility.

This command has the following formats and options:

pdm_rest_util - h | [-deploy] | [-undeploy]

-h
Prints command-line help.

-deploy
Generates, compiles, and deploys all Majic factories.

-undeploy
Undeploys REST Web Services on the local server.

Undeploy the REST Web Services Application


You can undeploy the REST Web Services application with the pdm_rest_util utility. For example, you
want to perform CA SDM maintenance and prefer to undeploy REST during this operation.

Follow these steps:

1. Open a command prompt.

2. Execute the following command:

pdm_rest_util -undeploy

The REST Web Services application is undeployed.

Important! If you undeploy the REST application with this utility, REST can redeploy
automatically when CA SDM restarts. We recommend that you use the CA SDM
configuration to disable REST indefinitely.

02-Aug-2016 100/403
CA Service Management - 14.1

pdm_k_reindex -- Knowledge Re-Index Utility


The Knowledge reindex utility, pdm_k_reindex.exe, is located under the Knowledge Management
installation directory.

Note: Reindexing the documents in the knowledge base can be a time-consuming


operation, depending upon the size of your database. We recommend that you run the
Knowledge Reindex utility after all the changes have been added. For advanced availability
configuration, you cannot execute the knowledge re-index utility during failover.

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

Follow these steps:

1. Open the command prompt.

2. Enter the following command at the command prompt to run the knowledge reindex:

For example:

pdm_k_reindex

The following options are available with this command.

-D
Defines the debug mode, such as printing to the command window.

-v
Defines the verbose mode, such as printing to the stdlog file.

-i
Does not create table indexes in the reindex table after reindexing.

Note: Parameters with a dash as a prefix, such as " - D", must precede other parameters
that do not have this prefix.

The other option is as follow:

02-Aug-2016 101/403
CA Service Management - 14.1

File:reindex.txt
Documents are reindexed to the specified file.

+i
Creates the indexes of the reindexed table only, which is the search table after reindexing. The
old indexes are dropped before reindexing.

+t
Switches the names of search and reindex tables only.

Note: A + prefix denotes only this parameter applies.

sdtout
Defines the frequency of statistic appearing in the command window. By default the knowledge
reindex utility provides statistics into the command window for every 1000 documents processed.
However, sometimes statistics are required to be provided more often. Use the following
parameter:

pdm_k_reindex -i sdtout:10

In this case, statistics display in the command window for every ten documents.

The documents are reindexed in the knowledge base.

When to Use pdm_k_reindex


Run the pdm_k_reindex utility when one or more of the following search settings were changed:

Noise words

Synonyms

Special terms

Language

Remove Similar Words

Remove Noise Words

Valid Character Range

Recognize Special Terms

An appropriate message appears on Knowledge node of Administration tab when a change occurs.

02-Aug-2016 102/403
CA Service Management - 14.1

Re-Index Tracking
While the re-index is running, you can view the status of the process in the Re-Index Tracking section
in the lower half of the page. Each field is described as follows:

Document #
Specifies the number of documents already processed.

Average Size (Words)


Specifies the size of the current documents, calculated by the number of words minus the
number of noise words.

Rate (Docs/Sec)
Specifies the number of documents processed, per second.

Time from Start


Indicates the duration of the re-index process since start.

Time Remaining
Specifies the estimated amount of time remaining for the process, based on the current rate and
the remaining number of documents.

Failures #
Represents the number of failed documents (maximum=100). When the maximum number of
failures is reached, the administrator is prompted to either continue or cancel the process.

Note: If changes have been made to Noise Words, Special Terms, Synonyms or Parse
Settings and you do not re-index, you are prompted the next time you access the
Knowledge node of the Administration tab. Changes will take effect only after the
Knowledge Re-index utility is run.

Import and Re-Indexing


When pdm_kit.exe is invoked from the command line, the pdm_kit utility imports the documents
into the database. After pdm_kit is completed, assuming document indexing or re-indexing has not
been disabled using the command-line options, the re-index utility (pdm_k_reindex.exe) is
automatically invoked. The status and output of the re-indexing operation is automatically written to
the "EBR_REINDEX.LOG" in the $NX_ROOT\log directory.

02-Aug-2016 103/403
CA Service Management - 14.1

Index and De-Index Queue Settings for Batch and


Instant Processing
Indexing and De-Indexing both run a batch process to include a predefined number of documents at
one run. These batch processes are used for performance optimization. If more documents are
included in the batch, system performance increases.

The number of documents you can process is limited; the limit depends on the size of the documents
and the linked attachments. The document size is calculated based on the pure text and its
attachments. Imagine and format elements are not calculated.

Note: You can limit the size of attachments by navigating to Attachments Library,
Repositories on the Administration tab and editing the repository to set the File Limit Size
(KB).

The recommended batch maximum size is between 2-12 MB (per the EBR_MAX_INDEX_BATCH_SIZE
parameter of the NX.env file and the average document size).

If the average size of your document (including attachments) is approximately 0.1 MB, keep the
default setting in NX.env:

@EBR_MAX_INDEX_BATCH_SIZE=128

@NX_EBR_INDEX_QUEUE_TIMEOUT=10

@NX_EBR_REINDEX_QUEUE_TIMEOUT=1

@NX_EBR_INDEX_QUEUE_ONLINE=Yes

@NX_EBR_NON_KD_INDEX_QUEUE_ONLINE=Yes

This setting means that one batch processes 128 documents, that batch executions have ten
second intervals, and when in reindex, the wait interval between two batches is one second.

If the average size of your document (including attachments) is approximately 0.5 MB, keep the
default setting in NX.env

@EBR_MAX_INDEX_BATCH_SIZE=25

@NX_EBR_INDEX_QUEUE_TIMEOUT=10

@NX_EBR_REINDEX_QUEUE_TIMEOUT=10

@NX_EBR_INDEX_QUEUE_ONLINE=No

@NX_EBR_NON_KD_INDEX_QUEUE_ONLINE=No

This setting means that one batch processes 25 documents, that batch executions have ten
second intervals, and when in reindex, the wait interval between two batches is ten seconds.

02-Aug-2016 104/403
CA Service Management - 14.1

PDM-Discovered Asset Commands

pdm_discupd -- Discovered Asset Update


Batch update of non-CA SDM Discovered Assets. Use this utility to update assets that were imported
by the pdm_discimp command.

Syntax

pdm_discupd [-t] [-v] [-d domsrvr]

Where

t
Test

v
Verbose/diagnostic mode.

d
Object manager (domsrvr) to use for processing.

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

pdm_discimp -- Discovered Asset Import


Batch registration of non-CA SDM Discovered Assets. Use this to search the MDB for assets that were
registered by other software products and register them as CA SDM assets, so they can be used in CA
SDM.

Logic is similar to Discovered Assets dialog that can be launched from Asset Search/List web form.
That is an interactive and batch process.

This program will query the ca_logical_asset, ca_asset, and ca_logical_asset_property tables, using
various parameters, and attempt to register new CA SDM Assets from the discovered values.

Syntax

pdm_discimp [-l label] [-s serial number] [-t asset tag] [-n hostname] [-d dns name]
[-m mac address] [-c asset class] [-v] [-r] [-o object manager]

Asset selection criteria (use % for wild card):

02-Aug-2016 105/403
CA Service Management - 14.1

l
Match this asset label.

s
Match this serial number.

t
Match this asset tag.

n
Match this hostname.

Asset property selection criteria (use % for wild card):

d
Match this dns name.

m
Match this mac address.

Other options:

c
Asset class to assign when registering new owned assets defaults to Discovered Hardware.

v
Verbose/diagnostic mode.

r
Register assets, otherwise runs in simulate mode.

h
Displays this information.

o
Object manager (domsrvr) to use for processing.

Note: If processing results in a blank Asset Label, the value found for the host name or DNS
Name will be used as the Asset Label. Assets must have at least a Label and Asset Class to
be registered for use in CA SDM.

Because of the structure of the MDB and CA SDM architecture limitations, two queries are
performed to select the appropriate records to process. It is important to understand this
as it could affect performance. The first query retrieves the rows from a join between the
ca_logical_asset and ca_asset tables that match label, serial number, tag and hostname.
Then for each resulting row, a query is performed against ca_logical_asset_property to
match dns_name and mac_address. The asset from the first query is chosen for registration
if the second query results in rows being returned.

02-Aug-2016 106/403
CA Service Management - 14.1

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

pdm_text_cmd--Text API Command Line


Interface
Use the pdm_text_cmd command for the Text API, which you can use to create and update various
objects such as requests, change orders, issues, assets, and contacts.

Important! You cannot use a single or double quote as the parameter of the pdm_text_nxd
or bop_cmd commands.

Syntax

This command has the following format:

pdm_text_cmd - t table {-u from_userid - p from_persid} [-o operation] [-f input


file] [-T timeout] [-h]

-t table

(Required) Specifies the table to process. The table name can be one of the following values (not case
sensitive):

Asset

Contact

Change

Issue

Request

Note: See the [OPTIONS] section of the text_api.cfg file for a complete list of valid table
names.

-u from_userid | -p from_persid

02-Aug-2016 107/403
CA Service Management - 14.1

-u from_userid | -p from_persid

(One option required) Identifies the contact for this operation:

-u from_userid
Identifies the contact using the User ID value.

-p from_persid
Identifies the contact using the unique object identifier for the contact record. from_persid must
be of the form cnt:xxxx. xxxx is the persistent ID of the object.

Note: The value that you specify with this option is appended to the end of the input for
the pdm_text_cmd command using the appropriate keyword, %FROM_USERID or %
FROM_PERSID.

-o operation

Specifies the operation to perform. The operation must be one of the following values (not case
sensitive):

NEW -- Creates an object. This value is the default if no operation is specified.

UPDATE | UPD -- Creates an object if not found or updates an existing object if found.

UPDATE_ONLY | UPDO -- Updates object if found; otherwise, does nothing.

Both UPDATE and UPDATE_ONLY require the %SEARCH keyword in the command input. You can
perform only one operation transaction with each invocation of pdm_text_cmd.

-f input_file

Specifies the full path of the file to process, which is a text file containing valid Text API commands. If
you omit this parameter, commands are used from STDIN. The Text API uses the following basic
format for input:

%keyword=value

You can issue multiple commands within the input by separating the command request by at least
five percent signs (%%%%%).

Note: For more information about valid keywords and about formatting input to the Text
API, see the file text_api.cfg.

-T timeout

02-Aug-2016 108/403
CA Service Management - 14.1

Specifies the number of seconds to wait for a response from the server before timing out. The default
is 30 seconds.

Note: pdm_text_cmd shows the text-based replies received back from the Text API, which
include success or error messages, and the original text sent using the API for processing.
pdm_text_cmd returns zero if the command completes successfully without warnings or
errors or one if the command completes successfully, but with warnings. Any other return
value indicates that an error occurred.

Important! On UNIX, the LIBPATH must be set before running several CA SDM utilities. Use
pdm_task to set the LIBPATH before running a utility. For example, input "pdm_task
pdm_clean_attachments ...".

Note: When passing the parameters from command prompt, use Ctrl+Z in Windows and
Ctrl+D in POSIX.

Input Examples
pdm_text_cmd is the command line interface for the Text API that you can use to create and update
various objects such as requests, change orders, issues, assets, and contacts.

Example: Use an Input File to Create an Issue

The following example demonstrates how to use a pdm_text_cmd input file to create an issue:

%DESCRIPTION=This is my Test.
%PRIORITY=3

To process this file, assuming its full path is c:\input.txt, issue the following command:

pdm_text_cmd -t Issue - u user01 -f c:\input.txt

Example: Use an Input File to Update an Issue

The following example demonstrates an input file to update issue 123 to a priority of 2:

%SEARCH=ISSUE_ID
%ISSUE_ID=123
%PRIORITY=2

To process this file, assuming its full path is c:\update.txt, issue the following command:

02-Aug-2016 109/403
CA Service Management - 14.1

pdm_text_cmd -t Issue -o UPDATE_ONLY - u user01 -f c:\update.txt

Example: Use an Input File to Create Multiple Requests

The following example demonstrates creating multiple requests with one input file. This command
can be helpful creating test data on a test system.

%DESCRIPTION=This is Test 1.
%PRIORITY=3
%%%%%
%DESCRIPTION=This is Test 2.
%PRIORITY=2
%%%%%
%DESCRIPTION=This is Test 3.
%PRIORITY=None

To process this file, assuming its full path is c:\testdata.txt, issue the following command:

pdm_text_cmd -t Request - u user01-f c:\testdata.txt

pdm_log4j_config Utility--Modify the log4j


properties File
The pdm_log4j_config.pl utility lets you configure the log4j properties file of CA SDM, web
components, PDM_RPC, Support Automation, Rest, and CMDB Visualizer. Execute the utility batch
script that is based on your environment. For Windows, execute pdm_log4j_config from the
command line. For UNIX, execute the pdm_log4j_config.sh file.

This command has the following format:

pdm_log4j_config - f <component> -d
pdm_log4j_config -h
pdm_log4j_config - f <component> [-a | -n <name>] [-l <log level>] [I <max # of log
files>] [-s <max size of log files>] [-t <log level threshold>]

-f
Specifies the log4j configuration of CA SDM or the component of CA SDM that you want to
change. Enter one of the following values:
SDM_WEB, SDM_RPC, REST, SA, or Viz.
Note: Use the mandatory option along with the other options.

-d
Displays the current log4j.properties configuration.

-h
Displays help for the utility.

-a
Completes all changes to log4j.properties globally.

-n

02-Aug-2016 110/403
CA Service Management - 14.1

-n
Specifies that you only want to modify a specific class or package name.
Specify a specific class name, such as bop_logging, or a complete package name, such as com.ca.
ServicePlus.

-l
Specifies the log level that you want to set.

Note: For the -l, -I, -s, and -t parameters, specify the -a or -n option.

-i
Specifies the max file number index that you want to set.
-s
Specifies the max file size that you want to set.

Important! Change the appender in the log4j.properties file of Visualizer to Rolling File
Appender before you execute the command with this parameter. If you do not change the
appender, MaxFileSize generates logs in the same file.

-t
Specifies the log level threshold.

Utility Usage Examples


The following list provides examples of using the pdm_log4j_config utility:

Modify the log verbosity level for all loggers configured in the properties file by using the -l and -a
variables.
For example, set all of the loggers configured in Support Automation to a level of DEBUG:

pdm_log4j_config - f SA -a -l DEBUG

Modify the log verbosity level for a specific logger class or package name in the CA SDM log4j
properties file by using the -l and -n variables.
For example, set the logger for the pdm_rpc package to DEBUG using one of the following code
samples:

pdm_log4j_config - f SDM_RPC -n pdm_rpc -l DEBUG

pdm_log4j_config - f SDM_RPC -n com.ca.ServicePlus.pdm_rpc -l DEBUG

Modify the maximum number of log files to create for all the appenders (MaxBackupIndex
property) by using the -i and -a variables in the log4j properties file of REST.
For example, set the maximum number of files for all appenders to 9.

02-Aug-2016 111/403
CA Service Management - 14.1

pdm_log4j_config - f REST -a -i 9

Modify the maximum number of log files configured in the CA SDM log4j properties file to create
for an appender for a specific class or set of classes (MaxBackupIndex property) by using the -i
and -n variables.
For example, set the maximum number of files for bop_logging to 7.

pdm_log4j_config - f SDM_WEB -n bop_logging -i 7

Modify the maximum size of each log file configured in the REST log4j properties file to create for
any appender (MaxFileSize property) by using the -s and -a variables.
For example, set the maximum size of files for all appenders to 9 MB.

pdm_log4j_config - f REST -a -s 9MB

Modify the maximum size of each log file configured in the CA SDM log4j properties file to create
for an appender for a specific class or set of classes (MaxFileSize property) by using the -s and -n
variables.
For example, set the maximum size of files for bop_logging to 7 MB.

pdm_log4j_config - f SDM_WEB -n bop_logging -s 7MB

Modify the log level threshold for all the appenders configured in the Support Automation log4j
properties file (Threshold property) by using the -t and -a variables.
For example, set the log level threshold to DEBUG.

pdm_log4j_config - f SA -a -t DEBUG

Note: The -t parameter log level threshold overrides the -l parameter log level. If you
modify the log level and the threshold level, the DEBUG logs from the servlet do not
appear in the file.

Modify the log level threshold for an appender for a specific class or set of classes (Threshold
property) configured in the CA SDM log4j properties file by using the -t and -n variables.
For example, set the log level threshold to WARN.

pdm_log4j_config - f SDM_WEB -n bop_logging -t WARN

Execute the following command to view the current logger and appender configuration of the
REST log4j properties file:

pdm_log4j_config - f REST -d

Important! Use -l, -i, -s, and -t variables together with one of the -a or -n options, Do not
use both the options. The -f option is mandatory. The -h and -d options are mutually
exclusive to any other option.

02-Aug-2016 112/403
CA Service Management - 14.1

Modify the Log File Refresh Interval Manually


Administrators can modify how often CA SDM monitors the log4j.properties file for changes. By
default, the refresh interval is set to 60 seconds. CA SDM components including SDM Servlets,
PDM_RPC, Support Automation, CMDB Visualizer, and REST use log4j for logging.

Follow these steps:

1. Open the following directory on the CA SDM server:

NX_ROOT

2. Open the NX.env file for editing.

3. Modify the NX_LOG4J_REFRESH_INTERVAL variable with a value in milliseconds.

Note: If you enter a negative or nonnumeric value, the value defaults to 60 seconds.

4. Save the NX.env file.

Modify the jsrvr.log Appender


By default, servlets such as PDMContextListener, pdmweb, UploadServlet, and pdm_report log INFO
level messages to the jsrvr.log file. You change the threshold level of the jsrvr.log appender to log any
messages under the INFO level.

Follow these steps:

1. Modify the level in the log4j.properties file to the following threshold:

log4j.appender.jsrvrlog.Threshold=debug

2. Modify the log level of UploadServlet:

log4j.logger.com.ca.ServicePlus.uploadservlet=debug, jsrvrlog

3. Open the jsrvr.log file.

4. Confirm that the DEBUG log messages of UploadServlet appear.

02-Aug-2016 113/403
CA Service Management - 14.1

Note: If you modify the log level without modifying the threshold level, the DEBUG logs
from the servlet do not appear in the file. Not all servlets have explicit loggers attached.
For example, the log4j.properties file does include pdmweb, BOServlet, pdm_export,
pdm_report, and pdm_cache, which are part of the pdmweb servlet. To see DEBUG logs
from these servlets, modify the pdmweb log level.

Modify the jstd.log Appender


All logs from nonwebapp applications dump into the jstd.log file separately. You can display logs for
any of these applications, such as pdm_rpc by changing the log level of that specific application.

Follow these steps:

1. Modify the following log level:

log4j.logger.com.ca.ServicePlus.pdm_rpc=debug

2. Open log4j.properties and confirm that the log entries appear.

02-Aug-2016 114/403
CA Service Management - 14.1

CA SDM Report Command


This article contains the following topics:
rpt_srv--Generate Reports (see page 115)
report--Generate Reports (see page 116)

rpt_srv--Generate Reports
Valid for Windows only

The report program lets you generate a report from the command line on the server. To issue the
report command at the command line or in a script, you must include pdm_task. The pdm_task
command sets up environment variables for commands that do not have a wrapper. Enter pdm_task
with the report command on the same command line only when the report is invoked through a
script or the command line. If you issue the report command from a menu, you do not need to
include pdm_task, because all environment variables are set by the application.

Syntax

This command has the following format:

rpt_srv - m [-h] [-e] [-f] [-F ffstring] [-p pagelength] [-C] [-B] filename [
command line arguments]

-m
Signifies that the report is manually being run from the command line.

-e
Echoes compiled script (for debugging purposes).

-f
Uses form feeds between pages.

-F ffstring
Sets the optional form-feed string.

-p pagelength
Sets the page length. The default page length is 66.

-C
Changes encoding from UTF-8 to another charset. The default output is UTF-8.
Example: To convert the output to JIS, you would run "-C iso-2022-jp"
Example: To encode to the operating system's native charset, use "DEFAULT" or "NATIVE".

02-Aug-2016 115/403
CA Service Management - 14.1

-B
Suppresses the Byte Order Mark if the variable NX_ADD_UTF8_BYTE_ORDER_MARK is set.
The NX_ADD_UTF8_BYTE_ORDER_MARK option is a signature into a file. It allows editors that
support UTF-8 to maintain the UTF-8 integrity of the file.

Note: This is only needed for non-ASCII data. If this is not installed, the default behavior
omits the Byte Order Mark (BOM). If installed, set it to "1" or "Yes".

filename
Specifies the report template. If you are not running the report command from the directory in
which the template file is located, include the complete file path name. The command sends the
output as standard output (stdout).

command line arguments


Specifies parameters received by the report template. If the report is designed to accept
command line arguments, you must enter a command line argument for each parameter in the
report template. If the argument is empty, enter the null string.
For example, the following command supplies the command line arguments Smith, Jane, and L.
The report template requires these three parameters to generate the Affected Contacts Report.
For example, enter the following command:

rpt_srv - m c:\reports\affected.rpt Smith Jane L

In the next example, Jane Smith does not have a middle initial:

rpt_srv - m c:\reports\affected.rpt Smith Jane "

report--Generate Reports
Applies to UNIX only

The report program lets you generate a report from the command line on the server. To issue the
report command at the command line or in a script, you must include pdm_task. The pdm_task
command sets up environment variables for commands that do not have a wrapper. Enter pdm_task
with the report command on the same command line only when the report is invoked through a
script or the command line. If you issue the report command from a menu, you do not need to
include pdm_task, because all environment variables are set by the application.

Syntax

This command has the following format:

pdm_task report [-h] [-e] [-f] [-F ffstring] [-p pagelength] filename [ command line
arguments]

-e

Echoes compiled script (for debugging purposes).

02-Aug-2016 116/403
CA Service Management - 14.1

Echoes compiled script (for debugging purposes).

-f

Uses form feeds between pages.

-F ffstring

Sets the optional form-feed string.

-p pagelength

Sets the page length. The default page length is 66.

filename

The report template. If you are not running the report command from the directory in which the
template file is located, include the complete file path name. The command sends the output as
standard output (stdout).

command line arguments

Specifies parameters received by the report template. If the report is designed to accept command
line arguments, you must enter a command line argument for each parameter in the report template.
If the argument is empty, enter the null string.

For example, the following command supplies the command line arguments Smith, Jane, and L. The
report template requires these three parameters to generate the Affected Contacts Report.

For example, enter:

pdm_task report /opt/CAisd/samples/sdk/reports/affected.rpt

In the next example, Jane Smith does not have a middle initial:

pdm_task report /opt/CAisd/samples/sdk/reports/affected.rpt Smith Jane "

02-Aug-2016 117/403
CA Service Management - 14.1

CA SDM Form Groups


This article contains the following topics:
Customer Forms Group (see page 118)
Employee Forms Group (see page 119)
Analyst Forms Group (see page 120)

Customer Forms Group


The following web forms are included in the Customer forms groups:

about.htmpl

bin_form_np.htmpl

chg_lr.htmpl

cr_lr.htmpl

detail_iss.htmpl

detail_issalg.htmpl

detail_KD.htmpl

generic.htmpl

home.htmpl

iss_lr.htmpl

issue_status_change.htmpl

list_iss.htmpl

list_isscat.htmpl

list_KD.htmpl

menu_frames.htmpl

std_body.htmpl

std_body_site.htmpl

std_footer.htmpl

std_footer_site.htmpl

02-Aug-2016 118/403
CA Service Management - 14.1

std_footer_site.htmpl

std_head.htmpl

std_header.htmpl

std_head_site.htmpl

Employee Forms Group


The following web forms are included in the Employee forms groups:

about.htmpl

bin_form_np.htmpl

buttons.htmpl

change_status_change.htmpl

chg_lr.htmpl

cr_lr.htmpl

detail_alg.htmpl

detail_chg.htmpl

detail_chgalg.htmpl

detail_cr.htmpl

detail_in.htmpl

detail_KD.htmpl

generic.htmpl

home.htmpl

iss_lr.htmpl

list_chg.htmpl

list_chgcat.htmpl

list_cr.htmpl

list_in.htmpl

list_KD.htmpl

02-Aug-2016 119/403
CA Service Management - 14.1

list_pcat.htmpl

list_pcat_cr.htmpl

list_pcat_in.htmpl

menu_frames.htmpl

request_status_change.htmpl

show_error.htmpl

std_body.htmpl

std_body_site.htmpl

std_footer.htmpl

std_footer_site.htmpl

std_head.htmpl

std_header.htmpl

std_head_site.htmpl

Analyst Forms Group


The following web forms are included in the Analyst forms groups:

about.htmpl

acctyp_role_tab.htmpl

acctyp_web_auth_tab.htmpl

acctyp_wsp_tab.htmpl

admin_empty.htmpl

admin_main_role.htmpl

admin_tab_dflt.htmpl

admin_tree.htmpl

attmnt_content_tab.htmpl

attmnt_fields.htmpl

02-Aug-2016 120/403
CA Service Management - 14.1

attmnt_permissions_tab.htmpl

attmnt_upload_popup.htmpl

att_mgs_event.htmpl

att_stype_event.htmpl

aty_chg_ntfr_tab.htmpl

aty_chg_svy_tab.htmpl

aty_cr_ntfr_tab.htmpl

aty_cr_svy_tab.htmpl

aty_iss_ntfr_tab.htmpl

aty_iss_svy_tab.htmpl

aty_kdComment_ntfr_tab.htmpl

aty_kd_ntfr_tab.htmpl

aty_mgs_ntfr_tab.htmpl

bhvtpl_todo_tab.htmpl

bhvtpl_trans_info_tab.htmpl

bin_form_np.htmpl

cancel.htmpl

cancel_empty.htmpl

category_content_tab.htmpl

category_permissions_tab.htmpl

chgcat_auto_assignment_tab.htmpl

chgcat_prptpl_tab.htmpl

chgcat_wftpl_tab.htmpl

chg_accumulate.htmpl

chg_causedreq_tab.htmpl

02-Aug-2016 121/403
CA Service Management - 14.1

chg_close_all_child.htmpl

chg_expedite.htmpl

chg_lr.htmpl

chg_relchg_tab.htmpl

chg_relreq_tab.htmpl

cia_bmhier_tab.htmpl

cia_export_bmhier.htmpl

cia_export_nr.htmpl

cia_nr_tab.htmpl

cia_pwd_tab.htmpl

cia_sync_stat.htmpl

cnote_tracker.htmpl

cnt_addr_tab.htmpl

cnt_auto_assignment_tab.htmpl

cnt_env_tab.htmpl

cnt_grp_tab.htmpl

cnt_mem_tab.htmpl

cnt_notif_tab.htmpl

cnt_org_tab.htmpl

cnt_rem_tab.htmpl

cnt_role_tab.htmpl

cr_attach_chg.htmpl

cr_close_all_child.htmpl

cr_detach_chg.htmpl

cr_lr.htmpl

cr_relreq_tab.htmpl

02-Aug-2016 122/403
CA Service Management - 14.1

dcon_constraint_tab.htmpl

dcon_sql_tab.htmpl

detail.template

detail_acctyp.htmpl

detail_act_type_assoc.htmpl

detail_ADMIN_TREE.htmpl

detail_alg.htmpl

detail_arcpur_rule.htmpl

detail_asset.htmpl

detail_atev.htmpl

detail_atomic_cond.htmpl

detail_attmnt_edit.htmpl

detail_attmnt_error.htmpl

detail_attmnt_folder.htmpl

detail_attmnt_ro.htmpl

detail_attr_alias.htmpl

detail_aty.htmpl

detail_audlog.htmpl

detail_bhvtpl.htmpl

detail_bmcls.htmpl

detail_bmhier.htmpl

detail_bmrep.htmpl

detail_BU_TRANS.htmpl

detail_ca_cmpny.htmpl

detail_chg.htmpl

detail_chgalg.htmpl

detail_chgcat.htmpl

02-Aug-2016 123/403
CA Service Management - 14.1

detail_chgstat.htmpl

detail_chgtype.htmpl

detail_CI_ACTIONS.htmpl

detail_CI_ACTIONS_ALTERNATE.htmpl

detail_CI_DOC_TEMPLATES.htmpl

detail_CI_STATUSES.htmpl

detail_CI_WF_TEMPLATES.htmpl

detail_cmth.htmpl

detail_cnote.htmpl

detail_cnt.htmpl

detail_cost_cntr.htmpl

detail_country.htmpl

detail_cr.htmpl

detail_crs.htmpl

detail_crsq.htmpl

detail_cr_prptpl.htmpl

detail_ctab.htmpl

detail_ctimer.htmpl

detail_ctp.htmpl

detail_dcon.htmpl

detail_dept.htmpl

detail_dmn.htmpl

detail_doc_rep.htmpl

detail_DOC_VERSIONS.htmpl

detail_EBR_ACRONYMS.htmpl

detail_EBR_LOG.htmpl

detail_EBR_NOISE_WORDS.htmpl

02-Aug-2016 124/403
CA Service Management - 14.1

detail_EBR_SYNONYMS_ADM.htmpl

detail_event_log.htmpl

detail_evt.htmpl

detail_fmgrp.htmpl

detail_grc.htmpl

detail_g_cnt.htmpl

detail_g_loc.htmpl

detail_g_org.htmpl

detail_g_prod.htmpl

detail_g_qname.htmpl

detail_g_srvrs.htmpl

detail_g_tblmap.htmpl

detail_g_tblrule.htmpl

detail_help_set.htmpl

detail_hier_edit.htmpl

detail_hier_ro.htmpl

detail_ical_event_template.htmpl

detail_imp.htmpl

detail_in.htmpl

detail_iss.htmpl

detail_issalg.htmpl

detail_isscat.htmpl

detail_issstat.htmpl

detail_iss_wf.htmpl

detail_kc.htmpl

detail_KCAT.htmpl

detail_KD.htmpl

02-Aug-2016 125/403
CA Service Management - 14.1

detail_KD_FILE.htmpl

detail_KD_QA.htmpl

detail_KD_SAVE_AS.htmpl

detail_KD_TASK.htmpl

detail_KD_TASK_cancel_rework.htmpl

detail_KD_TASK_retire.htmpl

detail_KD_template.htmpl

detail_KEIT_TEMPLATES.htmpl

detail_KT_ACT_CONTENT.htmpl

detail_KT_BLC.htmpl

detail_KT_FILE_TYPE.htmpl

detail_KT_FLG_TYPE.htmpl

detail_ldap.htmpl

detail_ldap_group.htmpl

detail_loc.htmpl

detail_LONG_TEXTS.htmpl

detail_lr_ro.htmpl

detail_macro.htmpl

detail_macro_type.htmpl

detail_menu_bar.htmpl

detail_menu_tree_name.htmpl

detail_mfrmod.htmpl

detail_mgs.htmpl

detail_mgsalg.htmpl

detail_mgsstat.htmpl

detail_NOTIFICATION.htmpl

detail_no_contract_sdsc.htmpl

02-Aug-2016 126/403
CA Service Management - 14.1

detail_nr.htmpl

detail_nrf.htmpl

detail_nr_com.htmpl

detail_ntfl.htmpl

detail_ntfm.htmpl

detail_ntfr.htmpl

detail_options.htmpl

detail_org.htmpl

detail_O_COMMENTS.htmpl

detail_O_EVENTS.htmpl

detail_pcat.htmpl

detail_perscnt.htmpl

detail_position.htmpl

detail_pr.htmpl

detail_prefs.htmpl

detail_pri.htmpl

detail_prod.htmpl

detail_projex.htmpl

detail_prptpl.htmpl

detail_prpval.htmpl

detail_prpval_rule.htmpl

detail_prp_edit.htmpl

detail_QUERY_POLICY.htmpl

detail_rc.htmpl

detail_response.htmpl

detail_role.htmpl

detail_role_go_form.htmpl

02-Aug-2016 127/403
CA Service Management - 14.1

detail_rptmeth.htmpl

detail_rrf.htmpl

detail_rss.htmpl

detail_sapolicy.htmpl

detail_saprobtyp.htmpl

detail_sdsc.htmpl

detail_sdsc_map.htmpl

detail_seq.htmpl

detail_sev.htmpl

detail_site.htmpl

detail_slatpl.htmpl

detail_srvr_aliases.htmpl

detail_srvr_zones.htmpl

detail_state.htmpl

detail_svc_contract.htmpl

detail_svy_atpl.htmpl

detail_svy_qtpl.htmpl

detail_svy_tpl.htmpl

detail_tab.htmpl

detail_tenant.htmpl

detail_tenant_group.htmpl

detail_tskstat.htmpl

detail_tskty.htmpl

detail_tspan.htmpl

detail_typecnt.htmpl

detail_tz.htmpl

detail_urg.htmpl

02-Aug-2016 128/403
CA Service Management - 14.1

detail_USP_PREFERENCES.htmpl

detail_usp_servers.htmpl

detail_vpt.htmpl

detail_web_form.htmpl

detail_wf.htmpl

detail_wftpl.htmpl

detail_wrkshft.htmpl

dmn_dcon_tab.htmpl

edit_prop_dyn.htmpl

ed_image_pane.htmpl

evt_action_info.htmpl

evt_config_info.htmpl

generic.htmpl

get_comment.htmpl

g_profile_browser.htmpl

g_profile_browser2.htmpl

g_profile_browser3.htmpl

g_profile_browser_frameset.htmpl

g_profile_jump.htmpl

g_profile_scratchpad.htmpl

hierload_admin_tree.htmpl

hierload_KCAT.htmpl

hiersel_admin_tree.htmpl

hiersel_KCAT.htmpl

hourglass.htmpl

02-Aug-2016 129/403
CA Service Management - 14.1

html_editor_create_change_order.htmpl

html_editor_create_ticket.htmpl

html_editor_frames.htmpl

html_editor_insert_image.htmpl

html_editor_insert_link.htmpl

html_editor_insert_table.htmpl

html_editor_tabs.htmpl

html_editor_toolbar.htmpl

insert_iss_wf.htmpl

insert_wf.htmpl

in_relreq_tab.htmpl

isscat_auto_assignment_tab.htmpl

isscat_prptpl_tab.htmpl

isscat_wftpl_tab.htmpl

issue_status_change.htmpl

iss_accumulate.htmpl

iss_close_all_child.htmpl

iss_custfld_tab.htmpl

iss_expedite.htmpl

iss_lr.htmpl

iss_reliss_tab.htmpl

iss_resol_tab.htmpl

kd_action_forward.htmpl

kd_action_publish.htmpl

kd_action_reject.htmpl

02-Aug-2016 130/403
CA Service Management - 14.1

kd_action_unpublish.htmpl

kd_action_unretire.htmpl

kd_attachments_tab.htmpl

kd_attributes_tab.htmpl

kd_categories_tab.htmpl

kd_content_tab.htmpl

kd_file_prop_tab.htmpl

kd_permissions_tab.htmpl

kd_qa_attributes_tab.htmpl

kd_qa_content_tab.htmpl

keit_tmpl_export_fields_tab.htmpl

keit_tmpl_export_filter_tab.htmpl

keit_tmpl_import_settings_tab.htmpl

keit_tmpl_name_tab.htmpl

kt_admin_attachments.htmpl

kt_admin_automated_policies.htmpl

kt_admin_document_settings.htmpl

kt_admin_faq_options.htmpl

kt_admin_general_settings.htmpl

kt_admin_integration.htmpl

kt_admin_knowledge.htmpl

kt_admin_parse_settings.htmpl

kt_admin_report_card.htmpl

kt_admin_search_config_cr.htmpl

kt_admin_search_config_iss.htmpl

kt_admin_search_options.htmpl

kt_admin_survey_settings.htmpl

02-Aug-2016 131/403
CA Service Management - 14.1
kt_admin_survey_settings.htmpl

kt_admin_workflow_settings.htmpl

kt_architect.htmpl

kt_architect2.htmpl

kt_architect3.htmpl

kt_architect_delete_KCAT.htmpl

kt_architect_delete_KD.htmpl

kt_architect_frameset.htmpl

kt_architect_init.htmpl

kt_architect_javascript.htmpl

kt_architect_KCATs.htmpl

kt_architect_KCAT_path.htmpl

kt_architect_KDs.htmpl

kt_dtbuilder.htmpl

kt_dtbuilder2.htmpl

kt_dtbuilder3.htmpl

kt_dtbuilder_frameset.htmpl

kt_dtbuilder_node.htmpl

kt_dtbuilder_prompt_window.htmpl

kt_dtbuilder_save_dialog_window.htmpl

kt_dtbuilder_save_tree_form.htmpl

kt_dtbuilder_tree.htmpl

kt_email_document.htmpl

kt_faq_tree.htmpl

kt_main.htmpl

kt_main2.htmpl

kt_main3.htmpl

kt_main_role.htmpl

02-Aug-2016 132/403
CA Service Management - 14.1

kt_main_role.htmpl

kt_permissions.htmpl

list.template

list_acctyp.htmpl

list_act_type_assoc.htmpl

list_alg.htmpl

list_all_fmgrp.htmpl

list_all_lr.htmpl

list_architect_KDs.htmpl

list_architect_KDs_Pref.htmpl

list_arcpur_hist.htmpl

list_arcpur_rule.htmpl

list_atev.htmpl

list_atomic_cond.htmpl

list_attmnt.htmpl

list_attr_alias.htmpl

list_aty.htmpl

list_audlog.htmpl

list_bmcls.htmpl

list_bmhier.htmpl

list_bmrep.htmpl

list_bm_task.htmpl

list_bool.htmpl

list_ca_cmpny.htmpl

list_ca_logical_asset.htmpl

list_chg.htmpl

02-Aug-2016 133/403
CA Service Management - 14.1

list_chgalg.htmpl

list_chgcat.htmpl

list_chgsched.htmpl

list_chgsched_config.htmpl

list_chgstat.htmpl

list_chgtype.htmpl

list_CI_ACTIONS.htmpl

list_CI_ACTIONS_ALTERNATE.htmpl

list_CI_DOC_TEMPLATES.htmpl

list_CI_STATUSES.htmpl

list_CI_WF_TEMPLATES.htmpl

list_cmth.htmpl

list_cnote.htmpl

list_cnt.htmpl

list_cost_cntr.htmpl

list_country.htmpl

list_cr.htmpl

list_crs.htmpl

list_crsq.htmpl

list_crs_cr.htmpl

list_crs_in.htmpl

list_crs_pr.htmpl

list_crt.htmpl

list_cr_kt.htmpl

list_ctab.htmpl

list_ctimer.htmpl

list_ctp.htmpl

02-Aug-2016 134/403
CA Service Management - 14.1

list_dcon.htmpl

list_dept.htmpl

list_dmn.htmpl

list_DOC_VERSIONS.htmpl

list_EBR_ACRONYMS.htmpl

list_EBR_LOG.htmpl

list_EBR_NOISE_WORDS.htmpl

list_EBR_SYNONYMS_ADM.htmpl

list_event_log.htmpl

list_evt.htmpl

list_evtdly.htmpl

list_grc.htmpl

list_grpmem.htmpl

list_g_chg_queue.htmpl

list_g_cnt.htmpl

list_g_cr_queue.htmpl

list_g_iss_queue.htmpl

list_g_loc.htmpl

list_g_org.htmpl

list_g_prod.htmpl

list_g_qname.htmpl

list_g_srvrs.htmpl

list_g_tblmap.htmpl

list_g_tblrule.htmpl

list_g_tenant.htmpl

list_help_item.htmpl

list_help_set.htmpl

02-Aug-2016 135/403
CA Service Management - 14.1

list_ical_event_template.htmpl

list_imp.htmpl

list_in.htmpl

list_iss.htmpl

list_issalg.htmpl

list_isscat.htmpl

list_issstat.htmpl

list_iss_kt.htmpl

list_iss_wf.htmpl

list_kc.htmpl

list_KCAT_LINKED.htmpl

list_KCAT_QA.htmpl

list_KCAT_tree.htmpl

list_KD.htmpl

list_kdsched.htmpl

list_kdsched_config.htmpl

list_KD_ATTMNT.htmpl

list_kd_CI_DOC_LINKS.htmpl

list_KD_FILE.htmpl

list_kd_INDEX_DOC_LINKS.htmpl

list_KD_QA.htmpl

list_KEIT_export_transactions.htmpl

list_KEIT_IMPORT_PACKAGES.htmpl

list_KEIT_import_transactions.htmpl

list_KEIT_TEMPLATES.htmpl

list_KT_ACT_CONTENT.htmpl

list_KT_BLC.htmpl

02-Aug-2016 136/403
CA Service Management - 14.1

list_KT_FILE_TYPE.htmpl

list_KT_FLG_TYPE.htmpl

list_KT_FREE_TEXT.htmpl

list_KT_LIFE_CYCLE_REP.htmpl

list_ldap.htmpl

list_ldap_group.htmpl

list_loc.htmpl

list_LONG_TEXTS.htmpl

list_lr.htmpl

list_macro.htmpl

list_macro_type.htmpl

list_menu_bar.htmpl

list_menu_tree_name.htmpl

list_mfrmod.htmpl

list_mgs.htmpl

list_mgsalg.htmpl

list_mgsstat.htmpl

list_NOTIFICATION.htmpl

list_no_contract_sdsc.htmpl

list_nr.htmpl

list_nrf.htmpl

list_nr_com.htmpl

list_ntfl.htmpl

list_ntfm.htmpl

list_ntfr.htmpl

list_OA_TABLES.htmpl

list_options.htmpl

02-Aug-2016 137/403
CA Service Management - 14.1

list_org.htmpl

list_O_EVENTS.htmpl

list_pcat.htmpl

list_pcat_cr.htmpl

list_pcat_in.htmpl

list_pcat_pr.htmpl

list_perscnt.htmpl

list_position.htmpl

list_pr.htmpl

list_pri.htmpl

list_prod.htmpl

list_prod_list.htmpl

list_prpval.htmpl

list_prpval_rule.htmpl

list_QUERY_POLICY.htmpl

list_QUERY_POLICY_ACTIONS.htmpl

list_rc.htmpl

list_rel_cat.htmpl

list_response.htmpl

list_role.htmpl

list_role_tab.htmpl

list_rptmeth.htmpl

list_rrf.htmpl

list_rss.htmpl

list_sapolicy.htmpl

list_saprobtyp.htmpl

list_sdsc.htmpl

02-Aug-2016 138/403
CA Service Management - 14.1

list_sdsc_map.htmpl

list_seq.htmpl

list_sev.htmpl

list_showgrp.htmpl

list_site.htmpl

list_srvr_aliases.htmpl

list_srvr_zones.htmpl

list_state.htmpl

list_svc_contract.htmpl

list_svy_atpl.htmpl

list_svy_qtpl.htmpl

list_svy_tpl.htmpl

list_tab.htmpl

list_tenant.htmpl

list_tenant_group.htmpl

list_tskstat.htmpl

list_tskty.htmpl

list_tspan.htmpl

list_typecnt.htmpl

list_tz.htmpl

list_urg.htmpl

list_usp_servers.htmpl

list_vpt.htmpl

list_web_form.htmpl

list_wf.htmpl

list_wrkshft.htmpl

load_properties.htmpl

02-Aug-2016 139/403
CA Service Management - 14.1

load_wait.htmpl

loc_address_tab.htmpl

loc_auto_assignment_tab.htmpl

log_reader.htmpl

log_reader_banner.htmpl

log_reader_fs.htmpl

log_sol_4itil.htmpl

macro_atomic_cond_tab.htmpl

macro_cnt_tab.htmpl

macro_ctp_tab.htmpl

macro_ntfl_tab.htmpl

macro_rrf_tab.htmpl

mactyp_exescript_tab.htmpl

mactyp_valscript_tab.htmpl

mapped_contracts_tab.htmpl

menubar.template

menubar_admin.htmpl

menubar_architect.htmpl

menubar_chg_sched.htmpl

menubar_dtbuilder.htmpl

menubar_html_editor.htmpl

menubar_kt.htmpl

menubar_no.htmpl

menubar_sd.htmpl

menubar_sd_chg_manager.htmpl

menubar_sd_cust_mgr.htmpl

02-Aug-2016 140/403
CA Service Management - 14.1

menubar_sd_cust_rep.htmpl

menubar_sd_hd_manager.htmpl

menubar_sd_inc_manager.htmpl

menubar_sd_know_analyst.htmpl

menubar_sd_know_manager.htmpl

menubar_sd_l1_analyst.htmpl

menubar_sd_l2_analyst.htmpl

menubar_sd_prb_manager.htmpl

menubar_sd_vendor_analyst.htmpl

menu_frames.htmpl

menu_tree_editor.htmpl

menu_tree_editor2.htmpl

menu_tree_editor3.htmpl

mgs_cnt_tab.htmpl

mgs_ctp_tab.htmpl

mgs_ini_tab.htmpl

mgs_ntfl_tab.htmpl

mgs_rem_tab.htmpl

multiframe.template

multiframe_reports_admin.htmpl

multiframe_reports_chg_manager.htmpl

multiframe_reports_cust_mgr.htmpl

multiframe_reports_inc_mgr.htmpl

multiframe_reports_know_analyst.htmpl

multiframe_reports_know_mgr.htmpl

multiframe_reports_prb_mgr.htmpl

multiframe_reports_sd_mgr.htmpl

02-Aug-2016 141/403
CA Service Management - 14.1

new_lr.htmpl

nf.htmpl

nosession.htmpl

nr_bm_tab.htmpl

nr_chg_tab.htmpl

nr_contact_tab.htmpl

nr_inc_tab.htmpl

nr_inv_tab.htmpl

nr_iss_tab.htmpl

nr_loc_tab.htmpl

nr_log_tab.htmpl

nr_org_tab.htmpl

nr_prb_tab.htmpl

nr_projex_tab.htmpl

nr_rel_tab.htmpl

nr_reqitil_tab.htmpl

nr_req_tab.htmpl

nr_serv_tab.htmpl

ntfl_ntfr_tab.htmpl

ntfr_aty_tab.htmpl

ntfr_cnt_tab.htmpl

ntfr_ctp_tab.htmpl

ntfr_ntfl_tab.htmpl

order_status_change.htmpl

org_address_tab.htmpl

02-Aug-2016 142/403
CA Service Management - 14.1

org_env_tab.htmpl

pcat_auto_assignment_tab.htmpl

pcat_prptpl_tab.htmpl

pcat_wftpl_tab.htmpl

power_user_tips.htmpl

profile_browser.htmpl

profile_browser2.htmpl

profile_browser3.htmpl

profile_browser_frameset.htmpl

profile_envcnt.htmpl

profile_envorg.htmpl

profile_histcnt_chg.htmpl

profile_histcnt_cr.htmpl

profile_histcnt_in.htmpl

profile_histcnt_iss.htmpl

profile_histcnt_pr.htmpl

profile_historg_chg.htmpl

profile_historg_cr.htmpl

profile_historg_in.htmpl

profile_historg_iss.htmpl

profile_historg_pr.htmpl

profile_infocnt.htmpl

profile_infoorg.htmpl

profile_menu.htmpl

profile_qtemplate.htmpl

pr_attinc_tab.htmpl

02-Aug-2016 143/403
CA Service Management - 14.1

pr_relreq_tab.htmpl

reports.htmpl

reports.htmpl.tpl

request_status_change.htmpl

role_auth_tab.htmpl

role_fnacc_tab.htmpl

role_goform_tab.htmpl

role_kt_ct_tab.htmpl

role_kt_docs_tab.htmpl

role_webform_tab.htmpl

role_web_interface_tab.htmpl

sapolicy_ac_tab.htmpl

sapolicy_pt_tab.htmpl

saprobtyp_dh_tab.htmpl

saprobtyp_rd_tab.htmpl

scoreboard.htmpl

scratchpad.htmpl

screen_reader_usage.htmpl

sdsc_chg_slatpl_tab.htmpl

sdsc_chg_wf_slatpl_tab.htmpl

sdsc_cr_slatpl_tab.htmpl

sdsc_iss_slatpl_tab.htmpl

sdsc_iss_wf_slatpl_tab.htmpl

sdsc_map_cnt_tab.htmpl

sdsc_map_grp_tab.htmpl

02-Aug-2016 144/403
CA Service Management - 14.1

sdsc_map_nr_tab.htmpl

sdsc_map_pri_tab.htmpl

sdsc_map_urg_tab.htmpl

sd_kt_admin.htmpl

sd_main.htmpl

sd_main_role.htmpl

search_child_KCATs_filter.htmpl

show_error.htmpl

show_main_detail.htmpl

std_body.htmpl

std_body_site.htmpl

std_footer.htmpl

std_footer_site.htmpl

std_head.htmpl

std_head_site.htmpl

suggest_knowledge_isscat.htmpl

suggest_knowledge_list_isscat.htmpl

suggest_knowledge_list_pcat.htmpl

suggest_knowledge_pcat.htmpl

sugggest_knowledge_search_options.htmpl

tab_detail.template

tenant_address_tab.htmpl

tenant_groups_tab.htmpl

tenant_group_members_tab.htmpl

tskty_tskstat_tab.htmpl

02-Aug-2016 145/403
CA Service Management - 14.1

update_lrel_bmrep.htmpl

update_lrel_chg.htmpl

update_lrel_chgcat.htmpl

update_lrel_cnt.htmpl

update_lrel_cr.htmpl

update_lrel_ctp.htmpl

update_lrel_goform.htmpl

update_lrel_help_content.htmpl

update_lrel_in.htmpl

update_lrel_iss.htmpl

update_lrel_isscat.htmpl

update_lrel_loc.htmpl

update_lrel_macro.htmpl

update_lrel_nr.htmpl

update_lrel_ntfl.htmpl

update_lrel_ntfr.htmpl

update_lrel_org.htmpl

update_lrel_pcat.htmpl

update_lrel_pr.htmpl

update_lrel_role.htmpl

update_lrel_tab.htmpl

update_lrel_tenant.htmpl

update_lrel_tenant_group.htmpl

update_lrel_tskstat.htmpl

update_lrel_webform.htmpl

update_lrel_wrkshft.htmpl

upd_chg_sched.htmpl

02-Aug-2016 146/403
CA Service Management - 14.1

upload_file.htmpl

upload_success.htmpl

usq_update.htmpl

usq_update_control.htmpl

usq_update_fin.htmpl

usq_update_select.htmpl

usq_update_tree.htmpl

v30_date_helper.htmpl

wfdef.htmpl

wftpl_auto_assignment_tab.htmpl

wftpl_bhvtpl_tab.htmpl

working.htmpl

workitems.htmpl

wrkshft_auto_assignment_tab.htmpl

wrkshft_schedule_tab.htmpl

wspmain.htmpl

xfer_esc_chg.htmpl

xfer_esc_cr.htmpl

xfer_esc_iss.htmpl

xx_attmnt_tab.htmpl

xx_candp_tab.htmpl

xx_nr_tab.htmpl

xx_prop_tab.htmpl

xx_solnalg_tab.htmpl

02-Aug-2016 147/403
CA Service Management - 14.1

xx_stype_tab.htmpl

xx_template_tab.htmpl

xx_wf_tab.htmpl

02-Aug-2016 148/403
CA Service Management - 14.1

Contents of the Samples Directory


This article contains the following topics:
How to Modify the Message Catalog (see page 149)
call_mgt (see page 149)
data (see page 150)
macro_lock (see page 150)
multi-tenancy (see page 150)
pdmconf (see page 151)
reporting (see page 151)
sdk (see page 151)
views (see page 152)
Load Supplemental Content - sd_content.dat (see page 152)

You can modify several files in the $NX_ROOT/samples directory for use with various external
interfaces. These files are grouped into various subdirectories. None of the files in the samples
directory are executable as originally shipped.

How to Modify the Message Catalog


To modify the message catalog, complete the following steps:

1. Refer to the format of pdm.xml that is located in $nx_root\bin.

2. Create a customized copy of pdm.xml and place it in the $nx_root\msg_catalog directory.

3. Add, modify, or add and modify messages in the XML message files from the previous step.

call_mgt
Contains samples for customization in request management.

gencr.frg
This file can be used in conjunction with bop_cmd to create requests from a command line. All
notifications and activity log entries will occur, however no Request Form will display on the
server when created. You must use the -u parameter to execute gencr.frg with the bob_cmd
utility. Be sure to read the gencr_readme.txt file to learn the syntax, and how to modify it if
necessary. The file should be placed in $NX_ROOT/site/mods/interp, if the directory does not
exist, you should create it. Example: bop_cmd -d domsrvr -u nsm -f gencr.frg "gencr( 'My
Description' )"

02-Aug-2016 149/403
CA Service Management - 14.1

iss_site.mod
This file can be used to enable activity logging of site-adapted fields in issues. This file should be
placed in $NX_ROOT/site/mods/majic after it has been changed for the site-adapted fields.

cr_site.mod
This file can be used to enable activity logging of site-adapted fields in requests. This file should
be placed in $NX_ROOT/site/mods/majic after it has been changed for the site-adapted fields.

chg_site.mod
This file can be used to enable activity logging of site-adapted fields in change orders. This file
should be placed in $NX_ROOT/site/mods/majic after it has been changed for the site-adapted
fields.

gencr_readme.txt
This file contains instructions on how to use the gencr.frg file.

chg_site.spl
This file may be modified to change the mapping of attributes when creating a change order from
a request. This file should be placed in $NX_ROOT/site/mods/majic after the appropriate changes
have been made.

audlog_site.mod
This file can be used to enable audit logging of site-adapted fields. This file should be placed in
$NX_ROOT/site/mods/majic after it has been changed for the site-adapted fields.

Notify_add.spl (UNIX only)


This file can be used to add the requests log agent, assignee and group to the request
notification list. This file should be placed in $NX_ROOT/site/mods/majic.

Notify_replace.spl (UNIX only)


This file can be used to add the requests log agent, assignee and group to the request
notification list when they are changed. This file should be placed in $NX_ROOT/site/mods/majic.

data
This directory contains files depicting the Logical Data Model for most database tables in CA SDM.
This data directory also includes sample data for Knowledge Management.

macro_lock
This file contains a spel fragment that can be run using a bop_cmd to turn off locks that are being
held by macros.

multi-tenancy
This directory contains sample files for administering multi-tenancy.

02-Aug-2016 150/403
CA Service Management - 14.1

pdmconf
web.xml.tpl

pdm_startup.tpl

pdm_edit_usage_notes.htm

alias_install.bat

web.cfg.tpl

pdm_startup.i.tpl

pdm_edit.pl

README_files
All of these files are used by pdm_edit.pl to create startup files for a primary server and
secondary servers that are configured to run a variety of daemons.

reporting
This directory contains documentation and samples for configuring offline reporting.

sdk
This directory contains a sample file for making CA SDM SOAP web service calls.

TableOfContents.doc further explains what is available, found in the following directory:

$NX_ROOT\samples\sdk\websvc

PKI_loginServiceManaged_JAVA_steps.doc and PKI_loginServiceManaged_PERL_steps.doc explain


how to configure ServiceDesk for digital certificate logins in the following directory:

$NX_ROOT\samples\sdk\websvc\java\test1_pki

The following lists PERL and JAVA samples, examples, and locations:

PERL samples
$NX_ROOT\samples\sdk\websvc\perl\test1_pki
Example: loginServiceManaged() web service call

02-Aug-2016 151/403
CA Service Management - 14.1

JAVA samples
$NX_ROOT\samples\sdk\websvc\java\test1_pki
Example: loginServiceManaged() and getBopsid() web service call
$NX_ROOT\samples\sdk\websvc\java\test2_basic
Example: Combined CreateRequest() and CreateChangeOrder() web service call

views
This directory contains database scripts uses for migration, multi-tenancy administration, and other
processes.

Load Supplemental Content - sd_content.dat


Supplemental content for CA SDM is available in sd_content.dat. This data file contains Change
Category and Root Cause records. To load the data from a command window, go to $NX_ROOT/data
and run the following command:

pdm_load - f sd_content.dat

02-Aug-2016 152/403
CA Service Management - 14.1

Schema Files Syntax


This article contains the following topics:
TABLE Statement (see page 153)
TABLE_INFO Statement (see page 156)
Mapping Statement (see page 157)

The CA SDM database schema is defined in multiple .sch files in the $NX_ROOT/site (UNIX) or
installation-directory/site (Windows) directory. During configuration, these .sch files along with any
customized .sch files you may create are merged together into a single file called $NX_ROOT/site
/ddict.sch (UNIX) or installation-directory/site/ddict.sch (Windows).

Review Using the Web Screen Painter (https://docops.ca.com/pages/viewpage.action?pageId=103915346)


prior to making any changes to these files.

Note: Do not modify any .sch files in the $NX_ROOT/site (UNIX) or installation-directory
/site (Windows) directory. Any changes you make to these files will be lost when upgrading
to a new release or when certain patches are applied. If you want to make schema
changes, you must create a file in the $NX_ROOT/site/mods (UNIX) or installation-directory
/site/mods (Windows) directory with the file suffix .sch. Then add your changes to your .
sch file, and your changes will then be merged with delivered schema during configuration.
This is the only way to preserve your modifications when you upgrade to a new release.

TABLE Statement
Defines the logical tables in the CA SDM database schema and the logical columns (fields) in those
tables. These logical tables and columns are then mapped to the physical tables and columns used by
your database management system in a mapping statement that follows the TABLE statement.

Note: If you define a new table, you must define a mapping statement for that table. The
Mapping Statement (see page 157) is illustrated at the end of this chapter, followed by an
example that combines the TABLE, TABLE_INFO, and mapping statements.

Syntax

TABLE table_name {field value_type field_attributes; [...]}

Arguments

02-Aug-2016 153/403
CA Service Management - 14.1

TABLE
Introduces the TABLE statement. Must be uppercase. You must have one TABLE statement for
each logical table in the schema.

table_name
The name of the database table, for example, Call_Req. If adding a database table, you can
specify any name beginning with a lowercase letter z. (This avoids possible conflict with existing
and future CA SDM table names.) If changing an existing table, find the table in one of the .sch
files and use the same name.

field
The name of a logical column in the table, for example, id or desc. You must identify each column
by name. If adding a table or adding a column to an existing table, you can specify any name
beginning with a lowercase letter z; however, field names must not end with the characters _f.
(This avoids possible conflict with existing and future CA SDM column names.) If changing an
existing column, find the column in one of the .sch files and use the same name.

value_type
The fields data type. Valid values are:

Value Description
STRIN A string that is nn characters long.
G nn
INTEG A 32-bit number.
ER
LOCAL The number of seconds since January 1, 1970. CA SDM automatically reformats this data type
_TIME to the designated date format, for example: mm/dd/yy hh:mm:ss.
DURA A period of time, measured in seconds.
TION
REAL A floating point number
UUID A 16 byte binary value.

field_attributes

A description of the field. Valid values are:

Value Description
KEY Identifies this field as the primary key to be used for identifying records to be updated with
pdm_load. This is used if the default primary key, id, is not specified. Must be specified if
the field is the primary key in the table.
NOT_NU Indicates that the field must contain a value. Must be specified if the field is the primary key
LL in the table. Optional if the field is not the primary key.
REF Indicates that the field references another table. Optional whether the field is the primary
other_ta key or not.
ble_nam
e
S_KEY

02-Aug-2016 154/403
CA Service Management - 14.1

Value Description
Optionally identifies this field as the secondary key to be used for identifying records to be
updated with pdm_load.
UNIQUE Indicates that the values in the field must be unique. Must be specified if the field is the
primary key in the table. Optional if the field is not the primary key.

Macros are synonyms that will be converted during configuration to the value the macro represents.
You can use macros for either data types or attributes. If you wish to use macros, you must add in
#include statement to include the file that defines the macro including the path name (usually
relative to your schema file). The include statement must be defined prior to using the macro.
Example of an include statement:

#include "../schema.mac"

The following are some of the macros defined in .mac files located in the $ NX_ROOT/site (UNIX) or
installation-directory/site (Windows) directory.

Data Type Equivalent


nn NOT_NULL
uniq UNIQUE NOT_NULL
ADDR_LINE STRING 30
EMAILADDR STRING 120
ENT_DESC STRING 40
ENT_NAME STRING 30
OSI_NAME STRING 80
OSI_TYPE_STRING STRING 60
USERID STRING 85
PHONENUM STRING 32
SYMBOL STRING 12
HIER_SYM STRING 60
LONG_SYM STRING 30
COMMENT STRING 1000
LONG_STR STRING 500
LONG_DESC STRING 240
BOOL INTEGER

Examples

This TABLE statement in the database schema defines severities. The macro nn indicates that a value
is required in the del field. The macro uniq indicates that values are required and must be unique:

#include :../schema.mac"
TABLE Severity {
id INTEGER uniq KEY; // key id

02-Aug-2016 155/403
CA Service Management - 14.1

del INTEGER nn; // 0=present,1=gone


sym SYMBOL uniq S_KEY; // type symbol
desc ENT_DESC; // non-OSI specified column
}

This modified TABLE statement makes the Priority field on the Request Detail window required:

TABLE Call_Req {priority INTEGER NOT_NULL;}

This TABLE statement adds a resolution code field to the Call_Req table. The content of the field is
numeric and references the Resolution_Code table. This reference allows users to double-click the
Resolution Code field on the Request Detail window to display the values in the Resolution_Code
table:

TABLE Call_Req {zres_code INTEGER REF Resolution_Code;}

TABLE_INFO Statement
This instructs your database management system how to store and index data in the logical tables.
The extent to which these instructions are followed depends on the database management system. If
no instructions are provided, the database management system follows its own storage and indexing
instructions.

Syntax

TABLE_INFO table_name {

[STORAGE storage_mtd Field ;] [INDEX ndx_props field1 [field2 ...];] ...}

Arguments

TABLE_INFO
Introduces the TABLE_INFO statement. Must be uppercase. The TABLE_INFO statement is
optional, but if specified, you can have only one TABLE_INFO for each TABLE statement, and it
must follow the TABLE statement.

table_name
The name of the database table in the TABLE statement.

STORAGE storage_mtd
Identifies the storage method. Valid values are listed as follows, but note that some database
management systems ignore these values:

Value Description
BTRE Indicates to use the balanced tree storage method.
E
HASH Indicates to use the hash table storage method. This is valid only if the field is the primary key.
HEAP Indicates to use the heap storage method.

field

02-Aug-2016 156/403
CA Service Management - 14.1

field
Identifies the column that is to be stored according to the specified storage method (STORAGE
storage_mtd). Must be specified the same way as the name of the column in the TABLE
statement.

INDEX ndx_props
Identifies one or more properties for an index that consists of the fields specified. Valid values
are:

Value Description
SORT Indicates whether to sort the data in the fields in ascending or descending order.
ASCENDING | Data is sorted in ascending order by default; therefore, only SORT DESCENDING need
DESCENDING be specified.
PRIMARY Indicates to use this index as the default sort order for the table.
CLUSTER Identifies this as a clustering index.
UNIQUE Indicates that values in the index must be unique.

field1 [field2 . . .]

Identifies the column or columns that are to be indexed according to the specified index properties
(INDEX ndx_props). Must be specified the same way as the name of the columns in the TABLE
statement.

Examples

This TABLE_INFO statement instructs the database management system to use a hash table to store
values in the id field in the Contact_Type table, and to sort the table in descending order according to
the values in the sym field. It also indicates that values must be unique:

TABLE_INFO Contact_Type {

STORAGE HASH id; INDEX SORT DESCENDING PRIMARY UNIQUE sym;}

Mapping Statement
Defines the correspondence between the logical tables and columns in the CA SDM database schema
and the physical tables and columns used by your database management system. This statement
follows each TABLE statement in a.sch file. You must define it when you define a new table.

Syntax

p1 logical_table_name -> CURR_PROV physical_table_name


[{logical_field -> physical_field ...] ;

Arguments

p1
Introduces the mapping statement. Must be specified as p1.

logical_table_name

02-Aug-2016 157/403
CA Service Management - 14.1

logical_table_name
The name of the database table in the TABLE statement, for example, zManufacturer.

CURR_PROV
A required keyword.

physical_table_name
The name of the table used by your database management system, for example, man. Short
names improve performance and are required by some database management systems.

logical_field
The name of the column in the CA SDM database schema, for example, desc. Must be the same
as field in the TABLE statement. Omit this when the logical columns and physical columns have
identical names. When omitted, the semicolon follows physical_table_name.

physical_field

The name of the column used by your database management system, for example, nx_desc. Omit
this when the logical columns and physical columns have identical names. When omitted, the
semicolon follows physical_table_name.

Examples

This example illustrates how TABLE, mapping (p1), and TABLE_INFO statements define a
zManufacturer table:

TABLE zManufacturer {
id INTEGER uniq KEY; // key id
del INTEGER nn; // 0=present,1=gone
sym HIER_SYM uniq S_KEY; // manufacturer name
desc ENT_DESC; // manufacturer description
}

p1 zManufacturer -> CURR_PROV man // maps logical table "zManufacturer"


{ // to physical table "man"
desc -> nx_desc; // maps logical column "desc"
} // to physical column "nx_desc"

TABLE_INFO zManufacturer {

STORAGE HASH id; INDEX SORT ASCENDING PRIMARY UNIQUE sym;}

02-Aug-2016 158/403
CA Service Management - 14.1

Object Definition Syntax


This article contains the following topics:
Directories (see page 159)
Types of Statements (see page 159)
MODIFY Statement (see page 160)
MODIFY FACTORY Statement (see page 161)
OBJECT Statement (see page 161)

Many of the components of CA SDM consist of business objects. These objects are defined in a
metalanguage named Majic. You can use Majic statements to create new objects and modify existing
objects, thus customizing these objects to meet your needs.

Directories
The Majic files are organized in two directories:

Directory Description
bopcfg/majic (UNIX) Contains the .maj files that have been used to create windows defined in the
or bopcfg\majic database. These files should not be changed because changes will be
(Windows) overwritten by new releases of CA SDM.
site/mods/majic Contains the .mod files you use to customize windows.
(UNIX) or
site\mods\majic
(Windows)

Types of Statements
The following Majic statements are used in screen painter and database customization procedures.

Statement Description
OBJECT Defines a business object
MODIFY Changes existing object attributes
MODIFY FACTORY Changes existing factories

02-Aug-2016 159/403
CA Service Management - 14.1

MODIFY Statement
Changes the way attributes are defined on OBJECT statements. MODIFY statements are read after
OBJECT statements.

Syntax

MODIFY obj_name att_name [status_type;]


[ON_NEW DEFAULT|SET value|NOW ;]|
[ON_CI DEFAULT|SET value|NOW ;]|
[ON_DB_INIT DEFAULT|SET value|NOW ;]

Arguments

obj_name
Identifies the object whose attribute is being modified.

att_name
Identifies the attribute being modified.

status_type
Modifies the properties of the attribute to allow or prohibit null values. There are two valid
options for this keyword:

REQUIRED
Indicates that the attribute is required.

NOT_REQUIRED
Indicates that the attribute is not required.

ON Statements
See ON Statements for a description of these statements.

Example

The following example changes the salary attribute in the emp object so that it is now a required
attribute:

MODIFY emp salary REQUIRED;

Example

The following example changes the address2 attribute in the emp object so that is now not required.

MODIFY emp address2 NOT_REQUIRED;

02-Aug-2016 160/403
CA Service Management - 14.1

MODIFY FACTORY Statement


Changes the way factories are defined on OBJECT statements. MODIFY statements are read after
OBJECT statements.

Syntax

MODIFY FACTORY fac_name {


[FUNCTION_GROUP name ;]
[DISPLAY_NAME name ;]
[STANDARD_LISTS {
[SORT_BY index_att ;]
[FETCH fetch_att ;]
[WHERE string ;]
[MLIST ON|OFF;]
[RLIST ON|OFF;] } ;] };

Arguments

fac_name
Identifies the factory, if included on the original OBJECT statement.

Optional Statements

At least one of these optional statements must be specified.

FUNCTION_GROUP name
Indicates which security access groups are permitted to access the object. For example:

FUNCTION_GROUP "admin" ;

DISPLAY_NAME name
Defines an external name for the table.
DISPLAY_NAME "Call Request" ;

STANDARD_LISTS
Creates lists of objects that are kept in a cache. The parameters determine whether the lists are
master lists or restricted lists, whether the objects included in the list must meet specified
conditions, and how the lists can be sorted. Refer STANDARD_LISTS Optional Statements for a
description of the syntax.

OBJECT Statement
Defines a business object.

Syntax

OBJECT obj_name {

02-Aug-2016 161/403
CA Service Management - 14.1

[ATTRIBUTES [table_name]{
att_name [field_name] value_type [access_type[status_type]][DISPLAY_NAME
string][{
[ON_NEW DEFAULT|SET value|NOW ;]
[ON_CI DEFAULT|SET value|NOW ;]
[ON_DB_INIT DEFAULT|SET value|NOW ;]} ;]};]

[FACTORY [fac_name]{
[REL_ATTR name ;]
[COMMON_NAME name ;]
[DISPLAY_NAME name ;]
[FUNCTION_GROUP name ;]
[STANDARD_LISTS {
[SORT_BY index_att ;]
[FETCH fetch_att ;]
[WHERE string ;]
[MLIST ON|OFF;]
[RLIST ON|OFF;] } ;]};]
};

Arguments

obj_name
The objects name (for example, cnt for contact or cr for request).

Optional Statements

Either ATTRIBUTES or FACTORY must be specified. Both can be specified.

ATTRIBUTES [table_name] { }
Defines the properties of the object. Most attributes map to a field (column) in a database table.
The ATTRIBUTES Optional Statement describes its syntax.

FACTORY [fac_name] { }
Defines access to the object, like its relation attribute, a common name, the security group that
can access it, the type of lists produced, and how those lists can be sorted. The FACTORY Optional
Statement describes its syntax.

Example

This example defines an object named ctp. The ATTRIBUTES statement defines attributes named sym,
delete_flag, and description whose values are stored in the Contact_Type table in the database. The
FACTORY statement creates a master list of objects, sorted by values in the field that corresponds to
the sym attribute, and specifies that the id attribute will represent ctp when it is referenced by an
SREL:

OBJECT ctp {
ATTRIBUTES Contact_Type {
sym STRING REQUIRED ;
delete_flag del INTEGER {
ON_NEW DEFAULT 0 ;
} ;

02-Aug-2016 162/403
CA Service Management - 14.1

description desc STRING ;


} ;
FACTORY {
STANDARD_LISTS {SORT_BY "sym"} ;
REL_ATTR id ;
};
};

02-Aug-2016 163/403
CA Service Management - 14.1

STANDARD_LISTS Optional Statement


This article contains the following topics:
Syntax (STANDARD_LISTS Optional Statement) (see page 164)
Optional Statements (STANDARD_LISTS Optional Statement) (see page 164)
Example (STANDARD_LISTS Optional Statement) (see page 165)

The optional statement on the FACTORY statement that defines the objects standard lists.

Syntax (STANDARD_LISTS Optional Statement)


STANDARD_LISTS {
[SORT_BY index_att ;]
[FETCH fetch_att ;]
[WHERE string ;]
[MLIST ON|OFF;]
[RLIST ON|OFF;] } ;

Optional Statements (STANDARD_LISTS Optional


Statement)
At least one of these optional statements must be specified:

SORT_BY index_att
Defines the attributes that can be used to sort the standard lists. If specified, a master list is
produced. Attributes must be enclosed in quotes and separated by commas. When displayed in a
list or select window, the list is sorted by the first attribute, by default. For example:

SORT_BY "sym, code" ;

FETCH fetch_att
Specifies additional attributes to keep in the cache, besides those used to sort the list. They must
be enclosed in quotes and separated by commas. For example:

FETCH "description" ;

WHERE string
Specifies a condition, in SQL format and surrounded by quotes, that must be met for an object to
be included in a restricted list. If specified, a restricted list is produced. This example specifies that
the restricted list contain only records that were not deleted:

WHERE "delete_flag = 0" ;

02-Aug-2016 164/403
CA Service Management - 14.1

MLIST ON|OFF
Indicates whether to produce a master list, which includes all objects, using one of the following
values:

Value Description
ON Produces a master list (default if SORT_BY is specified)
OFF Does not produce a master list (default if SORT_BY is not specified or has no value defined)

Note: CA SDM web engine only uses the MLIST to populate the data in the web forms.
MLIST is created on the domsrvr cache.

RLIST ON|OFF
Indicates whether to also produce a restricted list, which includes only the objects that meet the
criteria in the WHERE clause, using one of the following values:

Value Description
ON Produces a restricted list (default if WHERE is specified)
OFF Does not produce a restricted list (default if WHERE is not specified or has no value defined.)

Note: RLISTs can speed up access and display but they use memory. They are usually used
in select windows.

Important! MLIST OFF must be specified if you specify RLIST OFF.

Example (STANDARD_LISTS Optional Statement)


This example provides both a master list and a restricted list. Both lists contain the values defined for
the sym, code, and description attributes. The records in the list can be sorted according to the
values in the sym and code attributes. The restricted list contains only records that were not deleted:

STANDARD_LISTS {
SORT_BY "sym,code" ;
FETCH "description" ;
WHERE "delete_flag = 0" ;
};

02-Aug-2016 165/403
CA Service Management - 14.1

The STANDARD_LISTS statement alone does not necessarily create entries that are listed in a
dropdown field. To create the dropdown list in a web interface form, you need to customize the
statement.

02-Aug-2016 166/403
CA Service Management - 14.1

FACTORY Optional Statement


This article contains the following topics:
Syntax (FACTORY Optional Statement) (see page 167)
Arguments (FACTORY Optional Statement) (see page 167)
Optional Statements (FACTORY Optional Statement) (see page 167)
Example (FACTORY Optional Statement) (see page 169)
ATTRIBUTES Optional Statement (see page 169)

Defines access to the object, like its relation attribute, a common name, the security group that can
access it, the type of lists produced, and how those lists can be sorted. If omitted, the object is
treated according to default specifications.

Syntax (FACTORY Optional Statement)


FACTORY [fac_name]{
[REL_ATTR name ;]
[COMMON_NAME name ;]
[FUNCTION_GROUP name ;]
[DISPLAY_NAME name ;]
[STANDARD_LISTS {
[SORT_BY index_att ;]
[FETCH fetch_att ;]
[WHERE string ;]
[MLIST ON|OFF;]
[RLIST ON|OFF;] } ;]
};

Arguments (FACTORY Optional Statement)


fac_name
The name of the factory that initiates the object. Specify this only if it is different from the name
of the object. For example, the cnt object has four factories: cnt, cst, agt, grp.

Optional Statements (FACTORY Optional


Statement)
At least one of these optional statements must be specified:

02-Aug-2016 167/403
CA Service Management - 14.1

REL_ATTR name
Identifies the attribute that will represent this object when it is referenced (used as an SREL) by
another object. Here is an example:

REL_ATTR id ;

REL_ATTR name, srel_name (attr1,attr2,)


Identifies the attributes that will represent this object when it is referenced (used as an named
SREL) by another object. where

srel_name
matches the "named" SREL name

attr1
is mapped to by the first attribute in the "named" SREL attribute list.

attr2
is mapped to by the second attribute in the "named" SREL attribute list.

DISPLAY_NAME name
Defines an external name for the table.
DISPLAY_NAME "Call Request" ;

COMMON_NAME name
Defines the attribute to be displayed in drop-down lists or when the user double-clicks a field, as
well as when the tag does not specify a complete attribute. In the first example, the value for sym
appears on the window instead of the value for the REL_ATTR. The second example allows you to
specify a tag as cr.customer instead of cr.customer.combo_name.

COMMON_NAME sym ;

COMMON_NAME combo_name ;

FUNCTION_GROUP name
Indicates which security access group is permitted to access the object. For example:

FUNCTION_GROUP "admin" ;

STANDARD_LISTS { }
Creates lists of objects that are kept in a cache and can be displayed on list or select windows. The
parameters determine whether the lists are master lists or restricted lists, whether the objects
included in the list must meet specified conditions, how the lists can be sorted, and what
additional attributes are stored. Refer STANDARD_LISTS Optional Statement (see page 164) for
the description of the syntax.

02-Aug-2016 168/403
CA Service Management - 14.1

Example (FACTORY Optional Statement)


This example defines access to the object. A master list is produced. It can be sorted according to the
values in the objects sym and code attributes. When first displayed, it is sorted according to the
values in the sym attribute by default. When referenced by another object, this object is represented
by the code attribute. When displayed in a window, the value for sym appears instead of the value
for code. Only users in the admin security group can accessed it:

FACTORY {
STANDARD_LISTS {SORT_BY "sym,code"} ;
REL_ATTR code ;
COMMON_NAME sym ;
FUNCTION_GROUP "admin" ;
};

ATTRIBUTES Optional Statement


The optional statement on the OBJECT statement that defines the properties of the object.

Syntax

ATTRIBUTES [table_name]{
att_name [field_name] value_type [access_type[status_type][DISPLAY_NAME string]]{
[ON_NEW DEFAULT|SET value|NOW ;]
[ON_CI DEFAULT|SET value|NOW ;]
[ON_DB_INIT DEFAULT|SET value|NOW ;];]};]

Arguments

table_name
The name of the table in the database that stores the values associated with the attributes in the
object. If the table name is not specified, the obj_name in the OBJECT statement is used.

att_name
The name of the attribute. Each attribute usually maps to a field (column) in the database table.

field_name
The name of the field in the database table or LOCAL if the attribute does not map to a field or
DERIVED (derived-expr) if the attribute is derived from other attributes. If neither LOCAL,
DERIVED nor a field name is specified, the name of the field is assumed to be the same as the
name of the attribute.
A variable declared as DERIVED is constructed only when its value is retrieved. The operand of
DERIVED contains a list of attribute names and string constants separated by spaces. All attributes
in a derived value must be simple values (that is, they cannot be xRELs), and should be declared
prior to the derived variable. The derived attribute's value is the concatenation of the values of its
constituent values.
String constants within a derived expression may contain references to environment variables in
the one of the forms:
${var}

02-Aug-2016 169/403
CA Service Management - 14.1

${var}
${var#pattern}
${var#pattern#replacement}
Such specifications are replaced with the value of the environment variable at domsrvr startup
time. The #pattern operand is optional. If provided, it is treated as a regular expression, and
replaced wherever it appears in the environment variable's value. The #replacement operand
defaults to null if not specified. Because # is a fixed delimeter, the pattern cannot contain a #
symbol. There are no restrictions on the use of derived attributes in other messages. They behave
in same way as standard attributes. A hotlink for a derived attribute fires whenever any of the
attributes from which it is built changes.

value_type
Identifies the data type of the attributes value as:

INTEGER

DOUBLE

STRING [length]

DURATION

UUID

DATE

SREL obj2_name

SREL { ob2_name_name srel_name ( name, name2, ... ) }

If STRING is specified, the size can be specified in an integer following STRING. If no size is
specified, the value in the database is used.
UUID is 16 bytes of binary data that is used as a unique identifier for certain database records.
SREL refers the attribute to another object. If SREL is specified, obj2_name must be specified to
identify the object that the attribute refers to.
srel_name specifies a "named" SREL. Like a "simple" SREL, a "named" is a type of MAJIC OBJECT
attribute that represents a single relation, which uniquely identifies a row in another table
(ob2_name). A "simple" SREL attribute normally maps to the "id" field in another table, however
a "named" SREL maps two or more attributes ( name, name2, ) to two or more attributes in the
referenced table that uniquely identify a row in the referenced table.

access_type
Defines access to the attribute. Valid values are:

Value Description
CONST Cannot be changed
PRIVATE Read-only
PUBLIC Read/write access (the default)
WRITE_NEW Can be written only when the object is created, before the object is saved

02-Aug-2016 170/403
CA Service Management - 14.1

status_type
Indicates the status of the attribute as:

REQUIRED

NOT_REQUIRED (the default)

DISPLAY_NAME string
Specifies a string to be used in place of the attribute name in messages concerning this attribute,
such as"required attribute missing"

ON Statements

Use one of these only when value_type is INTEGER, STRING, DATE, or SREL.

ON_NEW DEFAULT|SET value|NOW


Indicates to set the value of an attribute when the object is being created for the first time:

Value Description
DEFAUL Changes a null current value to value or NOW.
T
SET Changes any current value to value or NOW.
value Specifies a numeric value or a string value, depending on the data type of the attribute.
NOW Specify this if the attribute is of type DATE; it sets the attribute to the current date and time.

In the following example, 90 is the value set as a default when the object is created:

ON_NEW DEFAULT 90 ;

ON_CI DEFAULT|SET value|NOW


Indicates to set the value of an attribute when the attribute is being checked into the database.
See the description of each parameter for ON_NEW.

ON_DB_INIT DEFAULT|SET value|NOW


Indicates to set the value of an attribute when the attribute is being instantiated from the
database. See the description of each parameter for ON_NEW.

Example

This example defines attributes with names like start_date whose values are stored in fields like
nlh_start in the Notify_Log_Header table in the database. The field names are followed by each
attributes data type. Optional parameters define access to some of the attributes, indicate that the
attribute is required, and tell when to set the value of some of the attributes to the current date and
time.

For example, an attribute named last_mod is defined; its value is set to the current date and time
when the attribute is checked into the database. An attribute named contact is also defined; its value
is a single relation stored in database field nlh_c_addressee. The object referred to is cnt:

ATTRIBUTES Notify_Log_Header {

02-Aug-2016 171/403
CA Service Management - 14.1

start_date nlh_start DATE WRITE_NEW {ON_NEW DEFAULT NOW;} ;


last_mod DATE {ON_CI SET NOW ;} ;
msg_hdr nlh_hdr STRING 20 WRITE_NEW ;
msg_text nlh_msg STRING WRITE_NEW ;
msg_ack nlh_user_ack STRING ;
contact nlh_c_addressee SREL cnt WRITE_NEW ;
notify_method nlh_cm_method INTEGER WRITE_NEW ;
activity_notify nlh_transition INTEGER WRITE_NEW ;
pri_event nlh_pri INTEGER WRITE_NEW ;
notify_type nlh_type INTEGER WRITE_NEW ;
ack_time nlh_ack_time DURATION ;
status nlh_status INTEGER REQUIRED ;
end_date nlh_end DATE {ON_NEW DEFAULT NOW ;} ;

};

02-Aug-2016 172/403
CA Service Management - 14.1

Where Clauses
This article contains the following topics:
IN Clause (see page 174)
Lists (see page 176)

Several Web Services methods, such as doSelect() and doQuery(), requir e the Where clauses for
searching by CA SDM and Knowledge Management. A Where clause is the string appearing after the
WHERE keyword in an SQL statement. For example, a where clause to find contacts (the cnt object)
by last name:

last_name = 'Jones'

or

last_name LIKE 'Jone%'

The second example finds all contacts with names beginning with Jone, while the first just finds the
Jones.

CA SDM supports only a subset of the standard SQL parameters for where clauses, and are listed as
follows:

Logical operators AND, OR, and NOT

LIKE and IS

NULL

IN

Wildcard characters % and _ for string matches

All comparison operators: <, >, <=, >=, !=, <>

Note: Parenthesis is used for grouping. Explicit joins, EXISTS, and GROUP BY elements are
not supported by CA SDM. String value must be enclosed in quotes, for example, Jones.

The column names denote the object attribute names. CA SDM data types,data and duration, are
treated as integers. For example:

creation_date > 38473489389

02-Aug-2016 173/403
CA Service Management - 14.1

Note: You must use the attribute names at the object Level. Do not use the actual DBMS
column names.

Dot-notation is allowed in the Where clause to search through SREL (foreign key) types. For example,
a query against the Request (cr) object, returns all Requests assigned to contacts with a specific last
name, as illustrated by the following example:

assignee.last_name like 'Martin%'

Dot-notation is very helpful in forming the where clauses, but you must ensure that the query is an
efficient one. The query in the example assignee.last_name like 'Martin%' can be inefficient if the
contacts last_name attribute is not indexed in the DBMS. To ensure indexes are used to their best
advantage when searching through SRELs, make use of the ID attributes of the CA SDM objects. All
tables in CA SDM have an index on the ID attribute.

The ID attribute of an object can be easily obtained from the objects handle. An objects handle is a
string of the form <objectName>:<id>, where <id> is the value of the ID attribute found in every CA
SDM object. Extract the ID portion and use <attributeName>.id in the Where clause.

An objects ID is either an integer or a UUID. If it is an integer, simply use it as such. For example, to
search for Requests with the rootcause pointing to a Root Cause object with handle, rc:1234, the
Where clause is:

rootcause.id = 1234

If the ID attribute of an object is a UUID type, you must format it as:

U'<uuid>'

The string representation of a UUID is enclosed in single quotes and prefixed with capital U. This
string is the <id> part of an object handle. For example, if you know that the handle for a particular
contact is cnt:913B485771E1B347968E530276916387, you can form the query as:

assignee.id = U'913B485771E1B347968E530276916387'

Do not form the Where clauses by querying the persistent_id attribute, as in the following example:

rootcause.persistent_id = 'rc:1234'

For more information about handles, see Default Handles (https://docops.ca.com/display/CASM1401


/Web+Services+Management).

IN Clause
The IN clause requires some special explanation. The two syntactic forms are:

SREL_attr_name.subq_WHERE_attr[.attr] IN ( value1 [, value2 [,...]] )


SREL_attr_name.[subq_SELECT_attr]LIST_name.subq_WHERE_attr IN (value1, [,value2
[,...]] )

02-Aug-2016 174/403
CA Service Management - 14.1

The left side of the clause must begin with an SREL-type attribute of the table being queried, which is
represented by SREL_attr_name. subq_WHERE_attr is an attribute of the foreign object, which itself
may be another SREL pointer.

For example, a query against the request (cr) object may be coded as follows:

category.sym IN ('Soft%', 'Email')

This translates to the following pseudo-SQL:

SELECT ... FROM cr WHERE cr.category IN (SELECT persistent_id FROM pcat WHERE sym
LIKE 'Soft%' OR sym = 'Email')

In the previous sub query , pcat is the object name pointed to by cr.category.

The second form of the IN clause can search through BREL lists. For example, to find all requests
assigned to an analyst in a specific group, the clause is as follows:

assignee.[member]group_list.group IN (U'913B485771E1B347968E530276916387')

The first part of the clause, assignee, is an SREL (foreign key) of the cr object, pointing to the cnt
object. Next, group_list, which is an attribute of the cnt object, is a list of cnt objects that represent
groups to which a contact belongs. The last part, group, forms the first part of the where clause for
the IN sub query. U913B485771E1B347968E530276916387is the foreign key value to match on
group. The sub query return is specified by [member]. This translates to the following pseudo-SQL
statement:

SELECT ... FROM cr WHERE cr.assignee IN (SELECT member from grpmem WHERE group =
U'913B485771E1B347968E530276916387')

You can specify multiple foreign keys for matching multiple objects by providing a comma-separated
list:

assignee.[member]group_list.group IN (U'913B485771E1B347968E530276916387',
U'913B485771E1B347968E530276916300')

You cannot extend the dot notation for this use of the IN clause, for example, the following is not
valid:

assignee.[member]group_list.group.last_name IN ('Account Center')

One use of IN is to avoid Cartesian products. For example, the following query results in a Cartesian
product and is very inefficient:

assignee.last_name LIKE 'MIS%' OR group.last_name LIKE 'MIS%'

Using IN, the query can be coded as follows:

assignee.last_name IN 'MIS%' OR group.last_name IN 'MIS%'

This query does not create a Cartesian product; in fact, it creates no joins at all.

02-Aug-2016 175/403
CA Service Management - 14.1

Note: The parentheses that normally enclose the list of values on the right side of IN can be
omitted if there is only one value in the list. Similarly, you should avoid joins by converting
queries.

assignee.last_name LIKE 'Smith'

to:

assignee = U'913B485771E1B347968E530276916387'

This avoids the join with some loss in clarity. Using IN, the same partition can be written as follows,
with the clarity of the first version and almost the same efficiency as the second version:

assignee.last_name IN 'Smith'

The NOT keyword cannot be in conjunction with IN, for example, NOT IN.

Lists
Some Web Services methods return lists, represented by a unique integer handle. A list is simply a
collection of same-type objects. Lists are especially useful when dealing with a large collection of
objects (for example, all the contacts in the system) because you can retrieve information about
items in a range of the list. The disadvantage is that you must make more method calls to obtain a list
handle, retrieve information, and finally, free the list handle. If the expected number of list rows is
small, use methods that do not involve list handles, such as doSelect().

The following describes more details about lists:

Lists are homogenous


List may only contain objects of a single type, for example, lists of contacts, list of organizations,
and so on.

Lists are Static


For example, if a list object is obtained for all contacts and another contact is added to the
system, the update is not reflected in the list. Another list handle must be obtained to get the
most current data.

List Handles
A request for a list returns an integer handle representing the list of same-type objects. No other
information is sent to the client. The client may query the list for specific information about its
rows. When a client is finished with a list, the handle must be released with freeListHandles(). The
CA SDM server maintains the list, consuming system resources. Therefore, it is important to free
lists. Unlike object handles, list handles are not persistent across sessions.

Integer Index
Several methods require an integer index into a list. Lists are zero-based so the first element is at
index = 0.

02-Aug-2016 176/403
CA Service Management - 14.1

As previously mentioned, using list handles is most useful for larger sets of data that may be queried
multiple times. For some operations, however, lists are excessive. Several methods are provided, but
the most notable is doSelect(), as it returns requested information about a set of data without the
overhead of list handles.

The decision to use list handles versus methods, such as doSelect(), is one of performance and
convenience. For example, suppose your application does processing on all 15,000 Contacts in your
system. The doSelect() method can retrieve all the contact data in one call, but the reply will be
delayed and will negatively impact overall system performance while it assembles and returns a very
large data set. The doQuery() method, in this case, will return a list reference very quickly. Ranges of
data can be queried from the list to improve response times from the server. A good practice to
follow is to use list references if the data set exceeds 250 items.

Sometimes it does not make sense to use list handles. For example, an issue has a list of Activity Logs.
Depending on the installation, the number of logs can range from a few to several dozen. It is
probably faster to request the data all at once instead of requesting a list reference, querying it for
data, and then releasing the list.

Examples of methods that return data sets instead of list references include the following:

doSelect()

getRelatedListValues()

getLrelValues()

getTaskListValues()

getValidTaskTransitions()

As previously stated, queries that return a large number of rows can severely impact the
performance of the server. To protect against this, CA SDM limits the number of rows returned to
250. This affects all CA SDM Web Services methods that return lists of objects, including the
following:

doSelect()

doSelectKD()

getGroupMemberListValues()

getListValues()

getPropertyInfoForCategory()

getRelatedListValues()

getTaskListValues()

getValidTaskTransitions()

This limit applies even if you request one of these methods to retrieve more than 250 rows.

02-Aug-2016 177/403
CA Service Management - 14.1

To retrieve large numbers of rows, you should obtain a handle to the list of results and use
getListValues() to retrieve chunks of 250 or fewer rows each. This strategy helps keep the server from
becoming slow while serving huge amounts of data.

02-Aug-2016 178/403
CA Service Management - 14.1

Attribute Data Types


This article contains the following topics:
Integer (see page 179)
String (see page 180)
Duration (see page 180)
Date (see page 180)
SREL (see page 180)
List (QREL/BREL) (see page 181)
LREL (see page 181)
UNKNOWN (see page 181)
UUID (see page 181)

Each attribute of an object is of a specific type that has meaning to the CA SDM application, such as
string, date, or integer. Knowing the attribute type is essential to correctly retrieving and updating
attribute values.

The CA SDM uses an enumeration to identify each data type. These enumeration values are returned
in various web methods, as illustrated by the following table:

Data Type Value

Integer 2001

String 2002
Duration 2003
Date 2004
SREL 2005
UNKNOWN 2006
List (QREL/BREL) 2007
Lrel (many-to-many) 2008
UUID 2009

Integer
The Integer data type represents a 32-bit signed integer. Null an integer attribute by passing the
empty string.

02-Aug-2016 179/403
CA Service Management - 14.1

String
The String data type represents a character string, where the maximum length is defined by the
database storage allocated for a particular string attribute.

If you attempt to set a string attribute to a value that exceeds its length, the value is truncated and an
error message is written to the CA SDM log.

Duration
The Duration data type is an integer representing time duration in seconds. For example, 90
represents one minute and 30 seconds. To set a duration type, use an integer representing the
number of seconds for the duration. Negative values are not permitted. To make a duration attribute
null, pass the empty string.

Date
The Date data type represents a date value. This is stored as a UNIX-like UTC value in the database
(the number of seconds since 1-1-1970). When retrieving date values, the integer UTC is returned.
Similarly, use a UTC value to set a date. Negative values are not permitted. Null a date attribute by
passing the empty string.

SREL
The SREL data type represents an SREL (Single RELation), which is a pointer to another object. It is a
foreign key to another table in a database. For example, an Issue object has a pointer attribute to a
Contact representing the Assignee.

Most CA SDM Web Services methods permit dot-notation to retrieve information about objects to
which an SREL points. For example, to specify the name of a Contacts organization from the context
of the Contact, use the following:

organization.name

You may expand to an arbitrary number of levels as shown in the following example:

organization.contact.first_name

Dot-notation can only be used to retrieve attribute values, such as using getObjectValues(), or in a
Where clause. You cannot use dot-notation to set values.

02-Aug-2016 180/403
CA Service Management - 14.1

To set an SREL attribute, such as with updateObject(), you can pass the persistent id of the object to
which you want to point. In order to simplify this action, this release of CA SDM has been enhanced
so that the REL_ATTR (foreign key) value may be used to set an SREL.

For example, as the REL_ATTR of the crt object (Request Type) is its code attribute, the values R, I
and P can be used to set the type attribute of a cr object to specify that the ticket is a Request,
Incident or Problem. The crs type attribute can be set to R instead of crt:180, I instead of crt:
182 and P instead of crt:181.

To set an SREL attribute to null, pass the empty string ().

List (QREL/BREL)
An object can have a list attribute that represents a one-to-many relationship. These are defined in
majic files with the QREL or BREL keywords. A list exists at the object level -- it does not take any
additional storage in the DBMS.

The CA SDM system handles list collections as abstract data types. The Web Services provides several
methods to interact with lists -- for references and queries to lists defined in an object, use
getRelatedList() and getRelatedListValues(). For more information about lists, see CA SDM Lists in this
chapter.

LREL
The LREL data type represents a many-to-many relationship between two object types. An LREL has
two names, one for each side of the relationship. The CA SDM Web Services provides special
functions for interacting with LRELs.

UNKNOWN
The Unknown data type represents an unknown data type.

UUID
A UUID is a 128-bit integer (16 bytes) or a 32-byte character that can be used across all computers
and networks wherever a unique identifier is required. Such an identifier has a very low probability of
being duplicated (for example, a contact ID). UUIDs are used mostly with primary keys.

02-Aug-2016 181/403
CA Service Management - 14.1

Web Services Methods


This article contains the following topics:
Web Services Method Summary (see page 182)
XML Object Returns (see page 192)

This section provides the details for using the Web Services methods. Each method explains the
parameters, description, and returns.

Web Services Method Summary


The following table provides a summary of web services methods in the product:

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
addAssetLog void Adds a new log
(int sid, String assetHandle, String contactHandle, String entry to an asset.
logText)
addBookmark String Adds a bookmark
(int sid, String contactId, int docId) [UDSObj to a knowledge
ect] document.
addComment String Adds a comment to
(int sid, String comment, int docId, String email, String [UDSObj a knowledge
username, String contactId) ect] document.
addMemberToGroup void Adds a contact to a
(int sid, String contactHandle, String groupHandle) group.
attachChangeToRequest String Attaches a new or
(int sid, String creator, String requestHandle, String existing change
changeHandle, ArrayOfString changeAttrVals, String order to a request.
description)
attachURLLink int Attaches a URL link
(int sid, int docId, String url, String attmntName, String to a knowledge
description) document.
attmntFolderLinkCount int Returns the
(int sid, int folderId) number of
attachment links
for a folder.
callServerMethod String Invokes any
(int sid, String methodName, String factoryName, String [ServerR arbitrary server-
formatList, ArrayOfString parameters) eturn] side method.

02-Aug-2016 182/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
changeStatus String Performs an
(int sid, String creator, String objectHandle, String [UDSObj update status
description, String newStatusHandle) ect activity on a ticket.
(Handle
only)]
clearNotification int Clears a
(int sid, String lrObject, String clearBy) notification
message.
closeTicket String Sets the status of
(int sid, String description, String ticketHandle) [UDSObj the ticket to
ect Closed.
(Handle
only)]
createActivityLog String Creates an activity
(int sid, String creator, String objectHandle, String [UDSObj log entry for a
description, String logType, int timeSpent, boolean ect ticket.
internal) (Handle
only)]
createAsset void createAssetR Creates a
(int sid, ArrayOfString attrVals, ArrayOfString attributes, esult configuration item
StringHolder createAssetResult, StringHolder [UDSObject] (asset).
newAssetHandle, StringHolder newExtensionHandle, newAssetHan
StringHolder newExtensionName) dle
newExtension
Handle
newExtension
Name
createAssetParentChildRelationship String Creates an asset
(int sid, String parentHandle, String childHandle) parent-child
relationship.
createAttachment String Uploads a file to
(int sid, String repositoryHandle, String objectHandle, the back-end
String description, String fileName) server and attaches
it to a ticket.
createAttmnt String Uploads a file to
(int sid, String repositoryHandle, int folderId, int the back-end
objectHandle, String description, String fileName) server and attaches
it to a knowledge
document.
String newChangeH Creates a Change
[UDSObj andle Order ticket.
ect] newChangeN
umber

02-Aug-2016 183/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
createChangeOrder
(int sid, String creatorHandle, ArrayOfString attrVals,
ArrayOfString propertyValues, String template,
ArrayOfString attributes, StringHolder
newChangeHandle, StringHolder newChangeNumber)
createDocument String Creates a
(int sid, ArrayOfString kdAttributes) [UDSObj knowledge
ectList] document.
createFolder String Creates a folder in
(int sid, int parentFolderId, int repId, int folderType, [UDSObj an attachment
String description, String folderName) ect] repository.
createIssue String newIssueHan Creates an Issue
(int sid, String creatorHandle, ArrayOfString attrVals, [UDSObj dle ticket.
ArrayOfString propertyValues, String template, ect] newIssueNu
ArrayOfString attributes, StringHolder newIssueHandle, mber
StringHolder newIssueNumber)
createLrelRelationships void Adds one or more
(int sid, String contextObject, String lrelName, many-to-many
ArrayOfString addObjectHandles) relationships.
createObject void createObject Creates any CA
(int sid, String objectType, ArrayOfString attrVals, Result SDM object.
ArrayOfString attributes, StringHolder [UDSObject]
createObjectResult, StringHolder newHandle) newHandle
createQuickTicket String newTicketHa Creates a ticket
(int sid, String customerHandle, String description, [UDSObj ndle based on the
StringHolder newTicketHandle, StringHolder ect] newTicketNu preferred
newTicketNumber) mber document type of
the given end user.
createRequest String newRequestH Creates a Request
(int sid, String creatorHandle, ArrayOfString attrVals, [UDSObj andle ticket.
ArrayOfString propertyValues, String template, ect] newRequestN
ArrayOfString attributes, StringHolder umber
newRequestHandle, StringHolder newRequestNumber)
createTicket String newTicketHa Creates a ticket
(int sid, String description, String problem_type, String [UDSObj ndle based on the rules
userid, String asset, String duplication_id, StringHolder ect newTicketNu defined in the
newTicketHandle, StringHolder newTicketNumber, (empty)] mber Service Aware
StringHolder returnUserData, StringHolder returnUserDa Policy and the
returnApplicationData) ta given Problem
returnApplica Type.
tionData
void Creates Workflow
Task.

02-Aug-2016 184/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
createWorkFlowTask createWorkFl
(int sid, ArrayOfString attrVals, String objectHandle, owTaskResult
String creatorHandle, String selectedWorkFlow, String [UDSObject]
taskType, ArrayOfString attributes, StringHolder newHandle
createWorkFlowTaskResult, StringHolder newHandle)
deleteBookmark int Deletes a
(int sid, String contactId, int docId) bookmark from a
knowledge
document.
deleteComment int Deletes a comment
(int sid, int commentId) for a knowledge
document.
deleteDocument int Flags a knowledge
(int sid, int docId) document for
deletion.
deleteWorkFlowTask void Removes a
(int sid, String workFlowHandle, String objectHandle) workflow task from
its associated
ticket.
detachChangeFromRequest String Detaches a change
(int sid, String creator, String requestHandle, String order from a
description) request.
doQuery ListResul Performs a SQL-like
(int sid, String objectType, String whereClause) t select on the
[listHand specified object
le, type.
listLengt
h]
doSelect String Performs a SQL-like
(int sid, String objectType, String whereClause, int [UDSObj select on the
maxRows, ArrayOfString attributes) ectList] specified object
type.
doSelectKD String Performs a SQL-like
(int sid, String whereClause, String sortBy, boolean desc, [UDSObj select on the
int maxRows, ArrayOfString attributes, int skip) ectList] knowledge
document object.
escalate String Performs an
(int sid, String creator, String objectHandle, String [UDSObj escalate activity on
description, boolean setAssignee, String ect a ticket.
newAssigneeHandle, boolean setGroup, String (Handle
newGroupHandle, boolean setOrganization, String only)]
newOrganizationHandle, boolean setPriority, String
newPriorityHandle)

02-Aug-2016 185/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
faq String Performs a faq
(int sid, String categoryIds, int resultSize, String [UDSObj search on
propertyList, String sortBy, boolean descending, String ectList] knowledge
whereClause, int maxDocIDs) documents.
findContacts String Retrieves a list of
(int sid, String userName, String lastName, String [UDSObj contacts.
firstName, String email, String accessType, int ectList]
inactiveFlag)
freeListHandles void Frees the server-
(int sid, ArrayOfInt handles) side resources for
lists and invalidates
the list handles.
getAccessTypeForContact String Returns a handle
(int sid, String contactHandle) for the Access Type
of a contact.
getArtifact String Returns an artifact
(int sid, String contact, String password) for appending to
URLs.
getAssetExtensionInformation void getAssetExtIn Returns extension
(int sid, String assetHandle, ArrayOfString attributes, foResult information for an
StringHolder getAssetExtInfoResult, StringHolder [UDSObject] asset.
extensionHandle, StringHolder extensionName) extensionHan
dle
extensionNa
me
getAttmntInfo String Returns the
(int sid, int attmntId) [UDSObj attributes for an
ectList] attachment.
getAttmntList String Returns a list of
(int sid, int folderId, int repId) [UDSObj attachments under
ectList] a given attachment
folder.
getAttmntListPerKD String Returns a list of
(int sid, int docId) [UDSObj attachments for a
ectList] given knowledge
document.
getBookmarks String Retrieves
(int sid, String contactId) [UDSObj bookmarks for a
ectList] given contact.
getBopsid String Returns a token for
(int sid, String contact) appending to URLs.

02-Aug-2016 186/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
getCategory String Retrieves
(int sid, int catId, boolean getCategoryPaths) [UDSObj information for a
ectList] knowledge
category.
getComments String Retrieves all
(int sid, String docIds) [UDSObj comments from
ectList] the list of
knowledge
documents.
getConfigurationMode String Returns
(int sid) confirmation if CA
SDM is running in
ITIL mode.
getContact String Retrieves
(int sid, String contactId) [UDSObj information for a
ect] given contact.
getDecisionTrees String Retrieves all
(int sid, String propertyList, String sortBy, boolean [UDSObj Decision Tree
descending) ectList] knowledge
documents.
getDependentAttrControls String Returns a list of
(int sid, String handle, ArrayOfString attrVals) [UDSObj locked and
ectList] required attributes
for the Status
object.
getDocument String Retrieves
(int sid, int docId, String propertyList, boolean [UDSObj information for a
relatedDoc, boolean getAttmnt, boolean getHistory, ect] knowledge
boolean getComment, boolean getNotiList) document.
getDocumentsByIDs String Retrieves
(int sid, String docIds, String propertyList, String sortBy, [UDSObj information for one
boolean descending) ectList] or more knowledge
documents.
getDocumentTypes String Returns a list of all
(int sid) [UDSObj knowledge
ectList] document types.
getFolderInfo String Retrieves
(int sid, int folderId) [UDSObj information for a
ect] given attachment
folder.
getFolderList
(int sid, int parentFolderId, int repId)

02-Aug-2016 187/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
String Returns a list of
[UDSObj folders under a
ectList] given parent folder.
getGroupMemberListValues String Queries the group
(int sid, String whereClause, int numToFetch, [UDSObj of the system and
ArrayOfString attributes) ectList] member
relationship.
getHandleForUserid String Returns the
(int sid, String userID) persistent handle
for a contact.
getKDListPerAttmnt String Returns a list of
(int sid, int attmntId) [UDSObj knowledge
ectList] documents with
reference to a
given attachment.
getListValues String Returns attribute
(int sid, int listHandle, int startIndex, int endIndex, [UDSObj values for a range
ArrayOfString attributeNames) ectList] of objects in a list.
getLrelLength int Returns the
(int sid, String contextObject, String lrelName) number of objects
on one side of a
many-to-many
relationship.
getLrelValues String Returns attribute
(int sid, String contextObject, String lrelName, int [UDSObj values for a range
startIndex, int endIndex, ArrayOfString attributes) ectList] of objects in a
many-to-many
relationship.
getNotificationsForContact ListResul Returns a list
(int sid, String contactHandle, int queryStatus) t handle of
[listHand notifications (lr
le, objects) for a given
listLengt contact.
h]
getObjectTypeInformation String Returns a list of all
(int sid, String factory) [UDSObj attribute names for
ect a given object.
(special)]
getObjectValues String Returns the
(int sid, String objectHandle, ArrayOfString attributes) [UDSObj attribute values for
ect] a given object
handle.

02-Aug-2016 188/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
getPendingChangeTaskListForContact ListResul Returns all the
(int sid, String contactHandle) t pending change
[listHand order workflow
le, tasks assigned to a
listLengt given contact.
h]
getPendingIssueTaskListForContact ListResul Returns all the
(int sid, String contactHandle) t pending issue
[listHand workflow tasks
le, assigned to a
listLengt contact.
h]
getPermissionGroups String Retrieves info for a
(int sid, int groupId) [UDSObj permission group.
ectList]
getPolicyInfo String Returns
(int sid) [SAPolicy information about
] the access policy
for the current
session.
getPriorities String Retrieves all the
(int sid) [UDSObj knowledge
ectList] priorities.
getPropertyInfoForCategory String Retrieves property
(int sid, String categoryHandle, ArrayOfString attributes) [UDSObj information for a
ectList] given category.
getQuestionsAsked String Retrieves historical
(int sid, int resultSize, boolean descending) [UDSObj knowledge
ectList] document search
text.
getRelatedList ListResul Returns a list
(int sid, String objectHandle, String listName) t handle for a list
[listHand (QREL or BREL) of
le, an object.
listLengt
h]
getRelatedListValues void getRelatedLis Returns values for
(int sid, String objectHandle, String listName, int tValuesResult lists of an object.
numToFetch, ArrayOfString attributes, StringHolder [UDSObjectLis
getRelatedListValuesResult, IntHolder numRowsFound) t]
numRowsFou
nd
(IntHolder)

02-Aug-2016 189/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
getRepositoryInfo String Returns
(int sid, int repositoryId) [UDSObj information of a
ect] repository.
getStatuses String Retrieves all the
(int sid) [UDSObj knowledge
ectList] statuses.
getTaskListValues String Returns values for
(int sid, String objectHandle, ArrayOfString attributes) [UDSObj tasks associated
ectList] with a given issue
or change order.
getTemplateList String Retrieves all the
(int sid) [UDSObj document
ectList] templates.
getValidTaskTransitions String Returns all possible
(int sid, String taskHandle, ArrayOfString attributes) [UDSObj status transitions
ectList] for a particular
task.
Returns all possible status transitions for a particular String Returns all possible
task. [UDSObj status transitions
ectList] for a particular
ticket.
getWorkflowTemplateList String Retrieves all the
(int sid) [UDSObj knowledge
ectList] workflow
templates.
getWorkFlowTemplates String Returns all the
(int sid, String objectHandle, ArrayOfString attributes) [UDSObj workflow
ectList] templates
associated with the
category of a
change order or
issue.
impersonate int Invalidates the old
(int sid, String userid) session and returns
a new session ID
for the new user.
isAttmntLinkedKD int Returns the
(int sid, int attmntId) number of
attachment links to
all knowledge
documents.
void

02-Aug-2016 190/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
logComment Performs a log
(int sid, String ticketHandle, String comment, int comment activity
internalFlag) on a ticket.
login int Authenticates a
(String username, String password) user and returns a
unique session ID.
loginService int Authenticates a
(String username, String password, String policy) user and returns a
unique session ID.
loginServiceManaged String Performs user
(String policy, String encrypted_policy) authentication for
PKI configurations
and returns a
session ID.
loginWithArtifact int Authenticates a
(String userid, String artifact) user with artifact
and returns a
unique session ID.
logout void Invalidates and
(int sid) frees a session ID.
modifyDocument String Updates a
(int sid, int docId, ArrayOfString kdAttributes) [UDSObj knowledge
ect] document.
notifyContacts String Sends a notification
(int sid, String creator, String contextObject, String [UDSObj to one or more
messageTitle, String messageBody, int notifyLevel, ect contacts.
ArrayOfString notifyees, boolean internal) (Handle
only)]
rateDocument String Rates a particular
(int sid, int docId, int rating, int multiplier, String [UDSObj knowledge
ticketPerId, boolean onTicketAccept, boolean ectList] document.
solveUserProblem, boolean isDefault)
removeAttachment int Removes an
(int sid, String attHandle) attachment from a
ticket.
removeLrelRelationships void Removes one or
(int sid, String contextObject, String lrelName, more many-to-
ArrayOfString removeObjectHandles) many relationships.
removeMemberFromGroup void Removes a contact
(int sid, String contactHandle, String groupHandle) from a group.

02-Aug-2016 191/403
CA Service Management - 14.1

Method Name (Input Parameters) Return Output Description


Type Parameters
[XML (Type:
Root StringHolder)
Element] [XML Root
Element]
search String Searches for
(int sid, String problem, int resultSize, String properties, [UDSObj knowledge
String sortBy, boolean descending, boolean ectList document
relatedCategories, int searchType, int matchType, int (nested)] solutions.
searchField, String categoryPath, String whereClause, int
maxDocIDs)
serverStatus int Returns the status
(int sid) (up or down) of the
CA SDM server.
transfer String Performs a transfer
(int sid, String creator, String objectHandle, String [UDSObj activity on a ticket.
description, boolean setAssignee, String ect
newAssigneeHandle, boolean setGroup, String (Handle
newGroupHandle, boolean setOrganization, String only)]
newOrganizationHandle)
updateObject String Updates one or
(int sid, String objectHandle, ArrayOfString attrVals, [UDSObj more attributes for
ArrayOfString attributes) ect] a given object.
updateRating String Updates an existing
(int sid, int buId, int rate) [UDSObj rating of a
ect] knowledge
document.
loginWithArtifact int Authenticates a
(String userid, String artifact) user with artifact
and returns a
unique session ID.
getArtifact String Returns an artifact
(int sid, String contact, String password) for appending to
URLs.

XML Object Returns


Many of the Web Services methods return an XML representation of CA SDM objects. The Web
Services uses a standard XML structure beginning with the following root element:

<UDSObject>

The format of the XML representation is described in the following table:

02-Aug-2016 192/403
CA Service Management - 14.1

XML Element Type Description


<UDSObject> N/A Identifies the root node.
<Handle> Strin Identifies the objects handle.
g
<Attributes> Sequ Identifies the attribute values. This holds zero or more elements for the
ence objects attribute values.
<attrName0 DataType Strin Identifies the AttrName0, which is an object attribute name as defined
= typeEnum"> g in the CA SDM majic (.maj) or mod (.mod) file.
This name may use dot-notation depending on the web method used.
The elements value is the attributes value. An empty element
indicates a null/empty value for this objects attribute.
The DataType attribute is an integer indicating the attributes data type
in the CA SDM environment.

For example, a call to getObjectValues() can return information illustrated by the following:

<UDSObject>
<Handle>cnt:555A043EDDB36D4F97524F2496B35E75</Handle>
<Attributes>
<Attribute DataType="2003">
<AttrName>first_name</AttrName>
<AttrValue>first name</AttrValue>
<DisplayValue>Yaakov</DisplayValue>
</Attribute>
<Attribute DataType="2005">
<AttrName>organization</AttrName>
<AttrValue>342</AttrValue>
<DisplayValue>Accounting Crew</DisplayValue>
</Attribute>
</Attributes>
<Lists> <List name="mylist1">
<UDSObject>...</UDSObject>
<UDSObject>...</UDSObject>
</List>
</Lists>
</UDSObject>

Some methods, such as doSelect(), return a sequence of <UDSObject> elements contained inside a
<UDSObjectList> element.

The <Lists> section holds zero or more <List> nodes. A <List> node holds zero or more <UDSObject>
nodes. <List> elements are generally returned only when a specific request for list values is made.

When you want to return a list of values related to a specific object, you should use the
getRelatedListValues method.

If a request is made just for a list with no attribute name, such as actlog, then the entire <UDSObject>
is returned in the <List> section.

02-Aug-2016 193/403
CA Service Management - 14.1

Specialized methods, like getDocument(), can of course be different. When a request is made for an
attribute, the database value is returned. For SREL attributes, this may not be so useful. Requesting
the assignee attribute of a Request returns an integer because the Contact REL_ATTR (foreign key) is
its ID. For CA Service Desk Manager r11.0, the return data for attributes includes elements for the
DBMS and common name value of SREL references.

02-Aug-2016 194/403
CA Service Management - 14.1

REST HTTP Methods


This article contains the following topics:
Sample URI Paths for CRUD Operations (see page 197)
REST Considerations (see page 198)
REST Limitations (see page 198)
REST and Object Access (see page 198)
rest_access resource (see page 199)
REST_OPERATIONS Keyword (see page 199)
REST_OPERATIONS Syntax Examples (see page 200)
Working with BLRELs (see page 200)
WHERE Clause Resource Search (see page 201)
Valid URI Path Patterns (see page 202)
Search Result Sorting (see page 203)
Search Result Navigation (see page 203)
Example Request Returns a Specific Number of Records (see page 203)
HTTP Status and Error Codes (see page 204)
Code Matching Limitations (see page 205)
Known Status Codes (see page 205)
Atom Feeds (see page 206)
Additional REST Support when Requesting Data Formats (see page 208)
CA SDM Role Authorization (see page 208)
REST Java Sample Code (see page 209)
Build and Execute the Sample Programs (see page 210)
CA SDM Authentication Scheme (see page 210)
REST Secret Key Authentication (see page 210)
REST BOPSID Authentication (see page 212)
REST Basic Authentication (see page 212)
External CA EEM Artifact Authentication (see page 213)
CRUD Operations on Tickets (see page 213)
BREL, QREL, and BLREL Processing (see page 213)
Managing Attachments for Tickets (see page 214)
CA SDM Resource Examples (see page 214)
Example Create a Change Order With an Attachment (see page 214)
Example Create a Resource (see page 215)
Example Delete a Resource (see page 216)
Example Delete an Access Key (see page 216)
Example Mark a Resource Inactive (see page 216)
Example Obtain a BOPSID Token (see page 217)
Example Obtain an Access Key (see page 218)
Example Retrieve a Collection of Resources (see page 218)
Example Retrieve a Collection of Resources Using a Where Clause (see page 219)

02-Aug-2016 195/403
CA Service Management - 14.1

Example Retrieve a Collection of Resources Using a Where Clause (see page 219)
Example Retrieve a Specific Resource (see page 220)
Example Retrieve a Subresource (see page 221)
Example Update a Resource (see page 221)
Example Get a BLREL Record (see page 222)
Example Retrieve a List of LREL Records Associated with a Group (see page 224)
Example Create a BLREL Record (see page 225)
Example Update a BLREL Record (see page 226)
Example Delete a BLREL Record (see page 227)

The REST API supports the following HTTP methods to manipulate resources:

POST (CREATE) creates a resource.

GET (READ) returns a representation of a resource.

PUT (UPDATE) updates an existing resource.

DELETE deletes the resource.

Refer to this basic set of methods as CRUD. Each method works in the same manner on all CA SDM
resources. You require an HTTP client library, available with most programming languages. Use the
HTML client library to complete the following tasks:

Access and modify associated (or related) resources using a multilevel URI path.

Send an HTTP request to the server for the resource that you want to manipulate.

Control the object attributes to be returned by using HTTP headers.

After you update Majic object definitions and recycle CA SDM, the product automatically regenerates
and redeploys the corresponding Plain Old Java Objects (POJOs) into the REST Tomcat webapps
directory.

Note: The pdm_rest_util command line utility lets you manually generate, compile, and
deploy Java code that REST web services require.

Important! Requests for attributes that do not respond indicate a null attribute value.
Modify your client code accordingly because REST does not display null attribute values in
responses.

REST Web Services provide a scalable configuration and better flexibility to our users by letting you
connect to a dedicated domsrvr on the local server. By default, CA SDM Release 12.9 provides the
NX_REST_WEBSERVICE_DOMSRVR variable to domsrvr. You can edit NX.env to change this setting.

CA SDM disables the REST sample mobile user interface and exposes all Majic factories through REST

02-Aug-2016 196/403
CA Service Management - 14.1

CA SDM disables the REST sample mobile user interface and exposes all Majic factories through REST
Web Services by default.

Important! The REST API does not support Majic attributes of type DOUBLE.

The following table shows how the REST API uses HTTP methods on resources.

Resource CREATE READ UPDATE DELETE


Collection Creates an entry in the Lists the URLs and N/A N/A
URL collection. Assigns a new other details of
For example: entry URL automatically the collection
http://mywe and returns it by the members.
bsite.com operation.
/resources/
Element URL N/A Retrieves a Updates the addressed Deletes the
For example: representation of member of the collection, addressed
http://mywe the addressed and when the member member of
bsite.com member of the does not exist, creates it. the
/resources collection. collection.
/item1

Sample URI Paths for CRUD Operations


The following table shows sample URI paths for CRUD operations:

CRUD Operation HTTP Method Noun Sample URI Path


CREATE Post URI /caisd-rest/chg
READ (Multiple) GET Collection URI /caisd-rest/chg
Read (Multiple with Filter) GET Collection URI /caisd-rest/chg?WC=status%3D6001
Read (Single ID) GET Entry URI /caisd-rest/chg/400001
Read (Single COMMON_NAME) GET Entry URI /caisd-rest/chg/COMMON_NAME-21
Read (Single REL_ATTR) GET Entry URI /caisd-rest/chgstat/REL_ATTR-OP
Update PUT Entry URI /caisd-rest/chg/40001
Delete DELETE Entry URI /caisd-rest/grpmem/400001

Important! COMMON_NAME and REL_ATTR are case-sensitive. If you do not use upper
case, REST returns the HTTP-404 error code.

02-Aug-2016 197/403
CA Service Management - 14.1

REST Considerations
Consider the following information about REST methods:

POST operations create a resource from the provided representation, but CA SDM can add or
modify attribute values internally. These values are based on business object logic that attribute
triggers, SPEL code, methods, or both set. The result causes the POST operation to return the
actual representation that it created to the client. This behavior lets clients reconcile the
representation that they sent to the server with the actual representation that they created.

For GET operations, enter %20 instead of a space in the WHERE clause.

REST Limitations
The REST API does not support dotted attribute name references in its resource queries or attributes.
REST does not expose any BREL, QREL or LREL attribute that contains a dotted attribute in its
relationship query. For example, the chg object in base.maj contains the following QREL attributes:

workload_chg QREL chg DYNAMIC {


WHERE "assignee = ? and active = 1" ;
PARAM_NAMES { id } ;
DOMSET chg_list;
} ;
change_tasks QREL wf DYNAMIC {
WHERE "assignee = ? AND status.allow_task_update = 1 " ;
PARAM_NAMES { id } ;
DOMSET wf_list ;
} ;

In this example, workload_chg QREL attributes are available. The change_tasks QREL is unavailable
because it contains a dotted attribute (status.allow_task_update) in its WHERE clause.

REST and Object Access


Many CA SDM components consist of objects. A metalanguage named Majic defines these objects.
Majic statements let you create objects and modify existing objects, so you can customize these
objects to meet your business requirements. You can customize the exposure of the CA SDM objects
through REST to determine the following:

Objects accessible through REST

Permitted operations for each object

After you install CA SDM, all objects are accessible through REST. The REST_OPERATIONS keyword
specifies the operations that you can perform on an object. By default, all objects allow the CREATE,
READ, and UPDATE operations. Some default objects also permit the DELETE operation, as indicated
in the REST_OPERATIONS list in their object definition. You do not need to use the REST_OPERATIONS
keyword for the default setup. You can refine object access to perform the following tasks:

02-Aug-2016 198/403
CA Service Management - 14.1

Override the REST_OPERATIONS list by using a Majic MODIFY statement to remove or add
operations, except for the DELETE operation.
Note: You cannot add the DELETE operation to any default object.

Remove an object from REST entirely by specifying NONE in the REST_OPERATIONS list.

rest_access resource
The rest_access resource contains REST API access information for the authenticated users. It is an
administrative table and contains the list of users allowed through the REST API.

The following list shows the deviations from the default behavior:

POST
Creates a REST access object and returns access key, secret key and expiration date as part of
default values.

GET
Retrieves REST access information (except for secret key).

DELETE
Deletes the REST access object.

PUT
Does not allow updates to secret_key, access_key, and contact due to the Majic WRITE_NEW
property.

REST_OPERATIONS Keyword
The Majic keyword, REST_OPERATIONS, uses a parenthesized list of tokens. These tokens let you
specify the REST operations that are permitted for an object. You use an object definition and a
MODIFY clause to customize the keyword.

The REST_OPERATIONS keyword has the following syntax:

REST_OPERATIONS "[<OP>],[<OP>] | NONE";

OP
Specifies the CREATE, READ, UPDATE, and DELETE operations.

This keyword produces the following statements:

REST_OPERATIONS "CREATE, READ, UPDATE DELETE";


REST_OPERATIONS "NONE";

At run time, CA SDM allows overrides by using the following Majic MODIFY statement:

MODIFY FACTORY cr {
REST_OPERATIONS "READ, UPDATE";

02-Aug-2016 199/403
CA Service Management - 14.1

};

REST_OPERATIONS Syntax Examples


The following example modifies the cr object to limit the operations to READ and UPDATE. Any
attempt to create or delete the object returns an error of HTTP error code 405 Method Not Allowed.

Important! CA SDM sets the default value for a REST_OPERATIONS property as CREATE
READ UPDATE for most Objects. For example, cr, iss, and chg. For some object, CA SDM
sets the default REST_OPERATIONS value to CREATE READ UPDATE DELETE. For example,
rest_access and KCAT.

MODIFY FACTORY cr {
REST_OPERATIONS "READ UPDATE";
};

The following example removes announcements from REST completely:

MODIFY FACTORY cnote {


REST_OPERATIONS "NONE";
};

Note: You cannot use DELETE in a MODIFY statement. The NONE operation is standalone and not
allowed with the CREATE READ UPDATE combination in the MODIFY statement.

Working with BLRELs


The BLREL keyword refers to Majic attributes that point to an LREL table. These attributes are part of
a three-factory relationship. BLREL attributes were known as LREL attributes in previous releases of
CA SDM, but they have changed to BREL attributes. This name helps distinguish BLRELs from the
classic BREL attributes which are only a two-factory relationship.

An example of this three-factory relationship is the group and members relationship. This
relationship consists of a grp object, a cnt object, and the LREL table object that the grpmem object
represents. In this three-factory relationship, two BLREL attributes always point to a common LREL
table. In the group/member relationship, both BLREL attributes are frequently part of the same
object, but not always.

The following example shows how CA SDM defines BLREL attributes in Majic files.

OBJECT cnt {
...
member_list BREL grpmem group DYNAMIC { LREL member; } ;
group_list BREL grpmem member DYNAMIC { LREL group; } ;
}

02-Aug-2016 200/403
CA Service Management - 14.1

You can always view the attributes of an object by executing the bop_sinfo command on an active
system:

bop_sinfo -d grpmem

The LREL table record creates an association between records of two other tables. For the group
/member relationship, the grpmem record is the LREL table that creates this association. It is a many-
to-many relationship, where groups can have many members, and members can be part of many
groups.

WHERE Clause Resource Search


REST Web Services let you use a WC (WHERE clause) query for the GET request. REST only supports
the SQL query notation, not the Majic query notation. For example, you cannot use a dotted attribute
notation. If you do not add a WC parameter to the URL, all records return up to the page size and
maximum size limits.

Consider the following information:

Use percent-encoding for all requests before you send them to the server. For example, enter %
3D instead of =, the equals sign.

The WC parameter is part of the URI instead of a message header to allow bookmarking.

The WC query parameter only applies to Collection GET requests.

Example: Search for Contact Records with a Last Name that Equals ServiceDesk

http://<host>:<REST port>/caisd-rest/cnt?WC=last_name%3D'ServiceDesk'

Example: Search for Priority 2 Incidents

/in?WC=priority%3D4

The 4 value in the example specifies the REL_ATTR value for the Priority 2 record.

Important! Use REL_ATTR values in the WC parameter when you reference SREL attributes
such as priority.

Example: Search for Incidents that Contain test% in the Summary Field

/in?WC=summary%20LIKE%20'test%25'

02-Aug-2016 201/403
CA Service Management - 14.1

Valid URI Path Patterns


Not all resource paths and subresource paths expose all four HTTP methods, depending on the URI
path level and the resource. The following list shows the exposed methods:

/caisd-rest/<factory>

Example: /caisd-rest/cr

GET searches for objects and returns a collection of objects.

POST creates an object and returns the object that you created.

/caisd-rest/<factory>/<object id>

Example: /caisd-rest/cr/400001

GET returns details for one object.

PUT updates the object.

DELETE removes the object. If allowed.

/caisd-rest/<factory>/<object id>/<attribute name (SREL)>

Example: /caisd-rest/chg/400001/status

GET returns Details for the SREL attribute object, same as going directly to the SREL object if you
know the ID. For example, /caisd-rest/crs/5200

/caisd-rest/<object>/<object id>/<attribute name (BREL)>

Example: /caisd-rest/chg/400001/act_log

GET returns a collection of objects of the type the BREL points to.

/caisd-rest/<factory>/<object id>/<attribute name (BLREL)>

Example: /caisd-rest/chg/400001/attachments

GET returns a collection of objects of the type the BLREL points to (the LREL record).

/caisd-rest/<factory>/<object id>/<attribute name (QREL)>

Example: /caisd-rest/chg/400001/workflow

GET returns a collection of objects of the type the QREL points to.

02-Aug-2016 202/403
CA Service Management - 14.1

Search Result Sorting


CA SDM Web Services let you sort search results by using the SORT query parameter, included as part
of the URI. You can specify a list of attributes as the sort order. You can also specify ASC for ascending
order, or specify DESC for descending order.

For default behavior, the SORT parameter provides that same support that the DBMS provides for the
ORDER BY clause. For example, if you omit ASC or DESC, the DBMS may use ASC automatically. If you
do not provide a SORT parameter in the URI, the DBMS uses id ASC by default.

This behavior only applies to collection GET requests, such as the example:

GET http://<host>:<REST-port>/caisd-rest/<fac name>


GET http://myserver:8080/caisd-rest/cr?SORT=priority DESC, severity ASC

Consider the following information:

You must encode all requests before sending them to the server. For example, enter %20 instead
of spaces.

All object attributes specified in the SORT parameter add to the X-Obj-Attrs list of object
attributes automatically. This behavior helps ensure that the attributes selected for sorting are
part of the response.

The SORT parameter is part of the URI instead of a message header to allow for bookmarking.

Note: If you do not provide the X-Obj-Attrs header, id, REL_ATTR, and COMMON_Name list by
default, as they always appear as part of the response.

Search Result Navigation


Provide ATOM links to improve navigating search and list results. These links take the user to the
previous or next step when more records become available. By default, the Collection GET result
contains up to 25 records. Use the rest_webservice_list_page_length and
rest_webservice_list_max_length options to configure the page length and maximum number of
records to display.

The ATOM links appear only for available records for that purpose. REST does not provide the
previous link if the current page contains the first record in the list. Similarly, REST only provides the
next and all links when you have more available records.

Users can also provide their own list return size with the size parameter. If the user does not provide
size, REST defaults to the value of rest_webservice_list_page_length. If you do not provide start, REST
defaults to 1.

Example Request Returns a Specific Number of Records


In this example, you request a return of 10 records:

02-Aug-2016 203/403
CA Service Management - 14.1

http://myserver:8050/caisd-rest/cnt?start=11&size=10

If this result set contained 50 records, the following links appear:

<link href="http://myserver:8050/caisd-rest/cnt?start=1&size=10" rel="previous"/>


<link href="http://myserver:8050/caisd-rest/cnt?start=21&size=10" rel="next"/>
<link href="http://myserver:8050/caisd-rest/chg?start=1&size=50" rel="all"/>

Note: When the result set contains more than the maximum number allowed, the all link does not
appear.

HTTP Status and Error Codes


Every HTTP response contains an HTTP status code. Successful HTTP response code numbers range
from 200 to 399. Standard HTTP error response code numbers range from 400 to 599.

The following list shows the successful and error code numbers that the REST API returns for each of
the HTTP methods.

GET (single)
200, 400, 401, 404, 409

GET (collection)
200, 400, 401

PUT
200, 400, 401, 404, 409

DELETE
204, 400, 401, 409

POST
201, 400, 401, 409

Note: For the PUT and DELETE operations, the API does not try to determine the validity of the ID
initially. Instead, the API tries to run the update and delete queries directly. If an error occurs, the API
returns the 409 Conflict code. If the API returns a 404 Not Found code in this situation, performance
degrades.

In addition, the following error messages return under the following cases:

If the HTTP request contains an invalid or inaccessible URI address, the server responds with a
404 Not Found response code.

If the HTTP request contains an unsupported HTTP method for a valid URI, the server responds
with a 405 Method Not Allowed response code.

If the HTTP request requests an unsupported media type (Accept header), the server responds
with a 406 Not Acceptable response code.

02-Aug-2016 204/403
CA Service Management - 14.1

If the HTTP request sends an unsupported media type (Content-Type header), the server
responds with a 415 Unsupported Media Type response code.

Various syntax or internal Web Server errors can return a 500 internal error.

Code Matching Limitations


Because of a limited number of available HTTP codes, not all CA SDM errors match to an HTTP error
code. Matching errors return the corresponding HTTP error codes whenever possible, but most
backend process errors return a generic 400 Bad Request code. A message summarizes the error.

The following error messages match the corresponding HTTP error code. All others use error code
400.

A request for a resource that does not exist in CA SDM returns a 404 Not Found error code.

A request for a resource that returns multiple matches, such as when using a nonunique
COMMON_NAME value returns a 409 Conflict error code.

A request for an unaccessible resource due to Authentication Failure or Function Access security
return a 401 Unauthorized error code.

Known Status Codes


The following list describes the known status codes that the API returns. Other codes may exist from
the web server or the CXF framework, but it depends on the type of error.

200
OK
Indicates a successful return.

201
Created
Indicates a new record.

204
No Content
Indicates an empty response body.

304
Not Modified
Indicates that the record did not update.

400
Bad Request
Indicates that an error occurred due to a user or backend server issue.

02-Aug-2016 205/403
CA Service Management - 14.1

401
Unauthorized
Indicates a function Access error or any authentication failure.

404
Not Found
Indicates that a record is not found.

405
Method Not Allowed
Indicates an unsupported HTTP method.

406
Not Acceptable
Indicates an unsupported requested format.

409
Conflict
Indicates that multiple records were found for the given identifier.

415
Unsupported Media Type
Indicates that the provided format is not supported.

500
Internal Server Error
Indicates an error on the server or CXF framework.

Atom Feeds
CA SDM supports Atom feeds through the collection GET URI path because Atom feeds represent a
list of records. This implementation supports all query parameters that REST Web Services support,
such as the WC, start, and size query parameters. This implementation supports two additional query
parameters, EntryTitle and EntrySummary, which let you specify a mapping between the Atom entry
Title and Summary elements to Majic attributes.

EntryTitle=<Majic attribute name>


EntrySummary=<Majic attribute name>

Note: If you do not specify these parameters, REST uses the COMMON_NAME as the default title and
summary values.

The following sample displays these query parameters:

GET /caisd-rest/cnt?size=2&EntryTitle=userid&EntrySummary=notes HTTP/1.1


Accept: application/atom+xml

The following sample displays the Atom response:

<?xml version="1.0" encoding="UTF-8"?>

02-Aug-2016 206/403
CA Service Management - 14.1

<feed xmlns="http://www.w3.org/2005/Atom">
<author>
<name>CA Service Desk Manager</name>
</author>
<title type="text">REST API Atom feed</title>
<id>http://myserver:8050/caisd-rest/cnt</id>
<updated>2012-01-17T17:56:04.301Z</updated>
<link href="http://myserver:8050/caisd-rest/cnt?start=3&amp;size=2"
rel="next"/>
<link href="http://myserver:8050/caisd-rest/cnt?start=1&amp;size=12"
rel="all"/>
<link href="http://myserver:8050/caisd-rest/cnt"
rel="self"/>
<entry>
<author>
<name>CA Service Desk Manager</name>
</author>
<title type="text">System_AM_User</title>
<id>http://myserver:8050/caisd-rest/cnt/U'16226C765005B94E957E0F477DEF1B1C'</id>
<updated>1970-01-01T00:00:00.000Z</updated>
<summary type="text"> User for Asset Management Integration</summary>
<content type="application/xml">
<cnt id="U'16226C765005B94E957E0F477DEF1B1C'" REL_ATTR="
U'16226C765005B94E957E0F477DEF1B1C'"
COMMON_NAME="System_AM_User" xmlns="">
<link href="http://myserver:8050/caisd-rest/cnt
/U'16226C765005B94E957E0F477DEF1B1C'"
rel="self"/>
</cnt>
</content>
</entry>
<entry>
<author>
<name>CA Service Desk Manager</name>
</author>
<title type="text">cavizuser</title>
<id>http://myserver:8050/caisd-rest/cnt/U'17DEA1027C7C3746B6F25DB6604EEE23'</id>
<updated>1970-01-01T00:00:00.000Z</updated>
<summary type="text">Username used by Visualizer for
accessing CA Service Desk Manager using Web Services</summary>
<content type="application/xml">
<cnt id="U'17DEA1027C7C3746B6F25DB6604EEE23'" REL_ATTR="
U'17DEA1027C7C3746B6F25DB6604EEE23'"
COMMON_NAME="System_CMDB_Visualizer_User" xmlns="">
<link href="http://myserver:8050/caisd-rest/cnt
/U'17DEA1027C7C3746B6F25DB6604EEE23'"
rel="self"/>
</cnt>
</content>
</entry>
</feed>

02-Aug-2016 207/403
CA Service Management - 14.1

Additional REST Support when Requesting Data


Formats
REST Web Services also supports other ways of specifying the representation format using the URI.
The Web Services work similarly specifying the representation format in the Accept HTTP header.

Example 1:

GET /caisd-rest/chg/400001.xml HTTP/1.1

GET /caisd-rest/chg/400001.json HTTP/1.1

GET /caisd-rest/chg.feed HTTP/1.1

Example 2:

GET /caisd-rest/chg/400001?_type=xml HTTP/1.1

GET /caisd-rest/chg/400001?_type=json HTTP/1.1

GET /caisd-rest/chg?_type=atom HTTP/1.1

Consider the following information:

If the representation format is specified on the URI and through the Accept header, the one in
the URI takes precedence over the Accept header.

If a representation format is not specified in any way, the representation returns in the XML
format by default.

The _type= query parameter supersedes all parameters.

CA SDM Role Authorization


As with SOAP Web Services, part of the REST Web Services Access Key creation (login operation)
includes verifying the user has authorization to access REST Web Services. In SOAP, the Web Service
and API Role lookup field controls this verification in the Access Type detail form. In REST, a new
lookup field named REST Web Service API Role controls the verification for REST. You can only
associate one role to this field, and this field is the default role for the user. If this lookup field is
empty, the users belonging to this Access Type do not have access to CA SDM through the REST Web
Services interface.

In addition, REST Web Services supports the same list of Attached Roles that are part of the Web
Client interface. A REST user can select a different role from the list of Attached Roles (including the
roles in its Contact record) by passing in an additional message header as part of the request.

Example: Use the Administrator role for the request

POST /caisd-rest/cnt HTTP/1.1

02-Aug-2016 208/403
CA Service Management - 14.1

Host: hostname
Date: Mon, 21 Apr 2011 19:37:58 +0000
X-Role: 10002

REST Java Sample Code


CA SDM provides REST Java sample code in the NX_ROOT\samples\sdk\rest\java directory. These
sample files let you build custom Java client code in your environment, similar to SOAP web service
samples. This directory contains instructions for compiling and executing the sample programs in the
README.txt file. Each Java file documents additional instructions and sample input parameters. The
following directories in \rest\java provide the following samples:

test1_basic

SampleBasicAuth.java
Demonstrates how to get an Access Key using a username/password through the Basic
Authentication scheme.

SampleCRUDOperations.java
Demonstrates how to perform simple CRUD operations (Create, Read, Update and Delete) on
Incident tickets. The same can be used for any other object in CA SDM.

test2_auths

SampleBOPSIDAuth.java
Demonstrates how to get an Access Key using a BOPSID token. This CA SDM token can be
obtained from other CA SDM Interfaces such as SOAP Web Services.

SampleEEMAuth.java
Demonstrates how to get an Access Key using an CA EEM artifact/token. This token can be
obtained from other applications that use CA EEM as their authentication server.

SampleSDMAuth.java
Demonstrates how to get an Access Key and a Secret Key using a username/password through
the CA SDM custom authentication scheme.

SampleUsingSecretKey.java
Demonstrates how to make a REST API request (get a list of Contacts) using the Secret Key. It uses
the Secret Key obtained from the CA SDM custom authentication operation to encrypt a
configurable amount of data. All requests using this scheme are verified against the Secret Key.

test3_attachments

SampleNewResourceWithAttachment.java
Demonstrates how to create a new Change Order ticket with an attachment document all in one
step.

SampleAttachFileToResource.java
Demonstrates how to attach a document to an existing Change Order ticket.

test4_xrels

02-Aug-2016 209/403
CA Service Management - 14.1

SampleGetQRELDetails.java
Demonstrates how to retrieve details on a QREL attribute. In this sample, details for chg.children
are retrieved. The same approach works for BREL and BLREL attributes.

SampleCreateBRELResource.java
Demonstrates how to create a new record for a BREL attribute. In this sample, a new Log
Comment activity is added to an existing Change Order. The same approach works for creating a
new record for BLREL attributes.

Build and Execute the Sample Programs


You can build and execute the sample Java programs to test them in your environment.

Follow these steps:

1. Copy rest_java_test.bat.txt (Windows) or rest_java_test.sh.txt (UNIX) to the subdirectory


where the sample program exists.

2. Rename the copied file by removing the .txt extension.

3. Edit the copied file and verify that the first three SET variables are correct for your CA SDM
installation.

4. In addition, edit the Java file that you want to run and verify that the configurable variables
are set for your CA SDM installation. Also, read the comments at the top of the page.

CA SDM Authentication Scheme


CA SDM provides sample code in the NX_ROOT/samples/sdk/rest/java directory. This directory also
contains instructions about how to compile and execute the sample programs. REST Web Services
support the following security authentication schemes:

REST Secret Key Authentication (see page 210) that uses SSL and HMAC for login

REST BOPSID Authentication (see page 212) that validates CA SDM BOPSIDs

REST Basic Authentication (see page 212) that uses clear text encoded username and password

External (CA EEM) Artifact Authentication (see page 213) that uses a CA EEM artifact token

REST Secret Key Authentication


REST Secret Key authentication uses a custom, secure HMAC mechanism. This authentication lets CA
SDM verify the identity of a user and also verifies that the request came from a registered, verified
user. To complete this authentication successfully, each request must provide information about the
identity of the request sender.

02-Aug-2016 210/403
CA Service Management - 14.1

HMAC_ALGORITHM supports the HmacSHA1, HmacSHA256, HmacSHA384, HmacSHA512, and


HmacMD5 valid HMAC algorithms. By default, REQUEST_METHOD, REQUEST_URI, and
QUERY_STRING (if present) are used to compute the signature. You can also use other header fields
to compute the signature, such as date, x-obj-attrs, and content-type. To add these fields set the
following NX variable in NX.env file:

@NX_STRING_TO_SIGN_FIELDS=date,x-obj-attrs,content-type

Note: When you compute the signature on the Client side, use the same fields exactly in the same
order as specified the fields for the STRING_TO_SIGN_FIELDS option.

Access Key
The Access Key is an assigned value to CA SDM clients after a successful login authentication.
Requests use the Access Key to identify the client responsible for the request. However, because
an Access Key is sent as a request parameter, the Access Key is not secret. A possibility exists that
anyone could use the Access Key by sending a request to CA SDM. As a result, this authentication
requires a Secret Key. REST uses the CA SDM session ID as the Access Key.

Secret Key
After you log in to CA SDM successfully, the product assigns a Secret Key and Access Key to the
client. To protect users from impersonation, the client must provide additional information that
CA SDM can use to verify the identity. CA SDM generates the 40-character Secret Key during the
REST Access Key creation automatically.

The following steps describe the authentication process:

1. The client obtains the Access Key and Secret Key through the REST URI (POST /caisd-rest
/rest_access) by providing user credentials using the basic authentication style over SSL.

2. For every subsequent HTTP request, the client uses the Secret Key,
NX_STRING_TO_SIGN_FIELDS provides the header fields, and the NX_HMAC_ALGORITHM
variable provides the hash function. This function calculates the request signature, a Keyed-
Hash based Message Authentication Code (HMAC).

3. The client sends the request data, the signature, and the Access Key to CA SDM.

4. CA SDM uses the Access Key to look up the Secret Key from the persistence store.

5. CA SDM uses the request data and the Secret Key to generate the signature using the same
hash algorithm that the client used.

6. If the signature that CA SDM generates matches the signature that the Client sent, CA SDM
considers the request as authentic. Otherwise, CA SDM discards the request and returns an
error response.

02-Aug-2016 211/403
CA Service Management - 14.1

REST BOPSID Authentication


After a user logs in to CA SDM through one interface, they can access CA SDM from a different
interface by using a BOPSID token. The BOPSID token provides a way for the invoked application to
authenticate the user without requiring a login, such as Single Sign-On. After CA SDM authenticates a
user, the application can request a BOPSID from boplgin. This single-use token identifies the user and
session. Boplgin returns the userid and session when it receives the BOPSID. Boplgin also cancels the
BOPSID if it does not receive a verification request within 5 minutes of token creation.

The following example shows the HTTP message header for passing the BOPSID token:

POST /caisd-rest/rest_access HTTP/1.1


Host: hostname
Date: Mon, 21 Apr 2012 19:37:58 +0000

X-BOPSID: <BOPSID token>

Note: To obtain a BOPSID token through REST Web Services, you send a POST request (see page 217)
to /caisd-rest/bopsid.

REST Basic Authentication


The basic authentication scheme assumes that the credentials of a client contain a username and
password, where the password is a secret known only to the client and server.

If the incoming request does not contain the client credentials, the server sends back a 401 response
that contains an authentication challenge. This challenge consists of the "Basic" token and a name-
value pair that specifies the name of the protected realm, such as the following example:

WWW-Authenticate: Basic realm="<USDK> 12.9"

After receiving the 401 response from the server, the client (such as a browser) prompts for the
username and password associated with that realm. The Authentication header of the client follow-
up request should contain the "Basic" token and the base64-encoded group of the username,
password, and a colon.

POST /caisd-rest/rest_access HTTP/1.1


Host: hostname
Date: Mon, 21 Apr 2012 19:37:58 +0000

Authorization: Basic QWRtaW46Zm9vYmFy

REST decodes credentials using base64 and compares them against the username/password and
validates the credentials through boplgin. If this validation succeeds, the server provides access to
the requested resource.

If the user sends the BOPSID instead of the username and password, CA SDM uses the the boplgin
method validate_bopsid(). If you are concerned about using basic authentication scheme, you can
disable it by setting the Options Manager option NX_REST_WEBSERVICE_DISABLE_BASIC_AUTH to
Yes.

02-Aug-2016 212/403
CA Service Management - 14.1

Important! Basic authentication is not as secure as the Secret Key method. However, you can use
Basic authentication over an SSL connection for increased security.

External CA EEM Artifact Authentication


You can use CA EEM Artifact Authentication for REST requests. Clients send the CA EEM Artifact with
the username using predefined customer headers (X-ExtAuthArtifact, X-UserName). When this
header entry appears in an incoming request, the security interceptor performs the login validation
by sending a VALIDATE_ARTIFACT message to boplgin.

The following example shows how to use the CA EEM Artifact:

POST /caisd-rest/rest_access HTTP/1.1


Host: hostname
Date: Mon, 21 Apr 2012 19:37:58 +0000

X-ExtAuthArtifact: <EEM Artifact token>


X-UserName: <username>

CRUD Operations on Tickets


The REST API provides sample Java code (see page 209) for the user to work with tickets through the
REST API. These files contain the following operations:

Create a Change Order with hard-coded sample data.

Update a recent Change Order with a status update.

Create an Incident and display the Incident number on the console.

Get a list of Incident numbers using a where clause and display on the console.

BREL, QREL, and BLREL Processing


The REST API provides the sample Java code (see page 209) for the user to work with tickets through
the REST API with BREL and QREL attributes. The BREL, QREL, and BLREL attributes only support the
Get operation. The files contain the following operations:

Create BREL using the documented, multistep process. For example, add activity logs to a Change
Order. For QREL, create multiple Change Orders as children to a Change Order. For BLREL, add
multiple CIs to a Change Order.

Get a list of attributes that returns the URI for a BREL, QREL, or BLREL attribute, and display them
on the console.

Get the collection of the BREL, QREL, or BLREL attribute with the URI and display it on the
console. For example, /caisd-rest/chg/40001/act_log.

02-Aug-2016 213/403
CA Service Management - 14.1

Managing Attachments for Tickets


The REST API provides the sample Java code (see page 209) for the user to work with tickets through
the REST API. The files contain the following operations:

Create an Incident.

Create an attachment.

Add the attachment to the Incident (2 step).

Create an Incident with the attachment (1 step).

Delete the attachment from the Incident.

CA SDM Resource Examples


Examples demonstrate how REST API uses basic Create, Read, Update, and Delete (CRUD) HTTP
operations on CA SDM objects. Use the examples to understand how each REST operation works in
the same manner on all CA SDM objects.

Note: For readability, the examples do not show all HTTP message headers -- only the
relevant information.

Example Create a Change Order With an Attachment


This REST API example provides a complex use case: create a change order ticket and an attachment.

Note: MIME types application/xml and text/xml are often used interchangeably. We
recommend that you use application/xml. All text/*-MIME types have an us-ascii character
set unless otherwise explicitly specified in the HTTP headers. In effect, any encoding
defined in the XML prolog (for example, <?xml version=1.0 encoding=UTF-8?>) is
ignored.

The following example shows the request:

POST /caisd-rest/chg/?
repositoryId=1002&AttachmentId=att1&serverName=HOSTNAME&mimeType=doc&description=Desc
HTTP/1.1
Content-Type: multipart/form-data
X-AccessKey: 51461077
User-Agent: Jakarta Commons-HttpClient/3.0.1

02-Aug-2016 214/403
CA Service Management - 14.1

Host: hostname:8050
Content-Length: 1045

--Vschb1Sy2JD93ODUnWVAkRxp3IoXIMgXd
Content-Disposition: form-data; name="chg"
Content-Type: application/xml; charset=US-ASCII
Content-Transfer-Encoding: 8bit

<chg><description>Attachments Testing</description><status COMMON_NAME="RFC"


REL_ATTR="RFC" id="40020"><link rel="self" href="http://hostname:8050/caisd-rest
/chgstat/40020"/></status><summary>Attachment test</summary><requestor COMMON_NAME="
ServiceDesk" REL_ATTR="U'279B25DD051D0A47B54880D86700397F'" id="
U'279B25DD051D0A47B54880D86700397F'"><link rel="self" href="http://hostname:8050
/caisd-rest/cnt/U'279B25DD051D0A47B54880D86700397F'"/></requestor></chg>
--Vschb1Sy2JD93ODUnWVAkRxp3IoXIMgXd
Content-Disposition: form-data; name="Test.txt"; filename="Test.txt"
Content-Type: application/octet-stream; charset=ISO-8859-1
Content-Transfer-Encoding: binary

The following example shows the response:

HTTP/1.1 201 Created


Content-Type: application/xml;charset=UTF-8
Location: http://hostname:8050/caisd-rest/chg/400202

<chg id="400202" REL_ATTR="400202" COMMON_NAME="1047">


<link href="http://hostname:8050/caisd-rest/chg/400202" rel="self"/>
</chg>

Example Create a Resource


This REST API example demonstrates how to create a resource. In this example, the REST API creates
a change order ticket.

The following example shows the request:

POST /caisd-rest/chg HTTP/1.1


Host: hostname
Accept: application/xml
Content-Type: application/xml;charset=UTF-8
X-Obj-Attrs: chg_ref_num
<chg>
<summary>Created via REST API</summary>
<requestor REL_ATTR="U'793ED69B4E87A545BD8E911834D829FC'"/>
</chg>

The following example shows the response:

HTTP/1.1 201 Created


Content-Type: application/xml;charset=UTF-8
Location: http://hostname:8050/caisd-rest/chg/400001

02-Aug-2016 215/403
CA Service Management - 14.1

<?xml version="1.0" encoding="UTF-8"?>


<chg id="400003" REL_ATTR="400003" COMMON_NAME="23">
<link href="http://hostname:8050/caisd-rest/chg/400003"
rel="self"/>
<chg_ref_num>23</chg_ref_num>
</chg>

Example Delete a Resource


This REST API example demonstrates how to delete a resource.

Note: Not all objects are available for deletion. Most objects only support updating the
delete_flag to true or false, or status equal to active or inactive. You perform these actions
using an UPDATE request rather than a DELETE request.

The following example shows the request:

DELETE /caisd-rest/grpmem/400001 HTTP/1.1


Host: hostname

The following example shows the response:

HTTP/1.1 204 No Content


Content-Type: application/xml;charset=UTF-8
Content-Length: 0

Example Delete an Access Key


This REST API example demonstrates how to delete a CA SDM access key.

The following example shows the request:

DELETE /caisd-rest/rest_access/1201703106 HTTP/1.1


Host: hostname

The following example shows the response:

HTTP/1.1 204 No Content


Content-Type: application/xml;charset=UTF-8
Content-Length: 0

Example Mark a Resource Inactive


This REST API example demonstrates how to mark a resource as inactive.

02-Aug-2016 216/403
CA Service Management - 14.1

Note: Most CA SDM objects only support marking them inactive and not actually deleting
them.

The following example shows the request:

PUT /caisd-rest/loc/U'0502D608F9122B48B7C9DAB9E0457F94' HTTP/1.1


Host: hostname
Content-Type: application/xml;charset=UTF-8
X-Obj-Attrs: delete_flag

<loc id="U'0502D608F9122B48B7C9DAB9E0457F94'">
<delete_flag COMMON_NAME="Inactive"/>
</loc>

The following example shows the response:

HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?>


<loc id="U'0502D608F9122B48B7C9DAB9E0457F94'"
REL_ATTR="U'0502D608F9122B48B7C9DAB9E0457F94'"
COMMON_NAME="Stadium 1">
<link href="http://hostname:8050/caisd-rest/loc/U'0502D608F9122B48B7C9DAB9E0457F94'"
rel="self"/>
<delete_flag id="4552" REL_ATTR="1"
COMMON_NAME="Inactive">
<link href="http://hostname:8050/caisd-rest/actbool/4552"
rel="self"/>
</delete_flag>
</loc>

Example Obtain a BOPSID Token


A BOPSID token is single use authentication token that provides a single sign-on capability. This REST
API example demonstrates how to obtain a BOPSID token to use for logging in to the web client.

The following example shows the request:

POST /caisd-rest/bopsid HTTP/1.1


Host: hostname.ca.com
Accept: application/xml
<bopsid/>

The following example shows the response:

HTTP/1.1 201 OK
Content-Type: application/xml;charset=UTF-8

02-Aug-2016 217/403
CA Service Management - 14.1

<bopsid>
<bopsid_val>987982618</bopsid_val>
</bopsid>

Example Obtain an Access Key


This REST API example demonstrates how to obtain an access key (login) for userid ServiceDesk.
Perform this operation using SSL to avoid risking an unauthorized user stealing your secret key. Keep
the force_unique_userid Options Manager option enabled at all times. When you disable this option,
and multiple contact records with the same login ID exist, problems with data partitions, multi-
tenancy, security, and other functions can occur.

The following example shows the request:

POST /caisd-rest/rest_access HTTP/1.1


Host: hostname
Content-Type: application/xml;charset=UTF-8
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<rest_access/>

The following example shows the response:

HTTP/1.1 201 Created


Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>


<rest_access id="400001" REL_ATTR="400001" COMMON_NAME="770921656">
<link href="http://hostname:8050/caisd-rest/rest_access/400001"
rel="self"/>
<access_key>770921656</access_key>
<expiration_date>1335276895</expiration_date>
</rest_access>

Example Retrieve a Collection of Resources


This REST API example demonstrates how to retrieve a collection of resources. In this example, the
REST API retrieves a collection of all change order ticket objects.

Note: The root node (for example, collection_chg) also has other link elements such as
previous, next, and all for navigating lists.

The following example shows the request:

GET /caisd-rest/chg HTTP/1.1


Host: hostname
Accept: application/xml

The following example shows the response:

02-Aug-2016 218/403
CA Service Management - 14.1

The following example shows the response:

HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?>


<collection_chg>
<chg id="400001" REL_ATTR="400001" COMMON_NAME="21">
<link href="http://hostname:8050/caisd-rest/chg/400001"
rel="self"/>
</chg>
<chg id="400002" REL_ATTR="400002" COMMON_NAME="22">
<link href="http://hostname:8050/caisd-rest/chg/400002"
rel="self"/>
</chg>
</collection_chg>

Example Retrieve a Collection of Resources Using a Where


Clause
This REST API example demonstrates how to retrieve a collection of resources using a where clause.
In this example, the REST API retrieves a collection of all request (cr) ticket objects with the Closed
status.

Note: BREL queries are supported.

The following examples show the request:

GET /caisd-rest/cr?WC=status%3D'cl'
GET /caisd-rest/cr?WC=status%3D'op'%20and%20active%3D0
Host: hostname
Accept: application/xml
X-Obj-Attrs: ref_num, priority

The following example shows the response:

HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?>


<collection_cr COUNT="3" TOTAL_COUNT="3">
<cr id="2903" REL_ATTR="cr:2903" COMMON_NAME="AM:12">
<link href="http://hostname:8050/caisd-rest/cr/2903"
rel="self"/>
<priority id="502" REL_ATTR="3" COMMON_NAME="3">
<link href="http://hostname:8050/caisd-rest/pri/502"
rel="self"/>

02-Aug-2016 219/403
CA Service Management - 14.1

</priority>
<ref_num>AM:12</ref_num>
</cr>
<cr id="2907" REL_ATTR="cr:2907" COMMON_NAME="AM:14">
<link href="http://hostname:8050/caisd-rest/cr/2907"
rel="self"/>
<priority id="502" REL_ATTR="3" COMMON_NAME="3">
<link href="http://hostname:8050/caisd-rest/pri/502"
rel="self"/>
</priority>
<ref_num>AM:14</ref_num>
</cr>
<cr id="3105" REL_ATTR="cr:3105" COMMON_NAME="UAPM:13">
<link href="http://hostname:8050/caisd-rest/cr/3105"
rel="self"/>
<priority id="502" REL_ATTR="3" COMMON_NAME="3">
<link href="http://hostname:8050/caisd-rest/pri/502"
rel="self"/>
</priority>
<ref_num>UAPM:13</ref_num>
</cr>
</collection_cr>

Example Retrieve a Specific Resource


This REST API example demonstrates how to retrieve a specific resource using ID, COMMON_NAME,
or REL_ATTR. In this example, the REST API retrieves details about the unique change order ticket
object ID 400001.

The following example shows the request when you use ID:

GET /caisd-rest/chg/400001 HTTP/1.1


Host: hostname.ca.com
Accept: application/xml
X-Obj-Attrs: chg_ref_num, summary, requestor, status

The following example shows the request when you use COMMON_NAME:

GET /caisd-rest/chg/COMMON_NAME-32 HTTP/1.1

The following example shows the request when you use REL_ATTR:

GET /caisd-rest/chg/REL_ATTR-chg:400001 HTTP/1.1

The following example shows the response:

HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?>


<chg id="400001" REL_ATTR="400001" COMMON_NAME="21">
<link href="http://hostname:8050/caisd-rest/chg/400001"

02-Aug-2016 220/403
CA Service Management - 14.1

rel="self"/>
<chg_ref_num>21</chg_ref_num>
<requestor id="U'793ED69B4E87A545BD8E911834D829FC'"
REL_ATTR="U'793ED69B4E87A545BD8E911834D829FC'"
COMMON_NAME="System_AHD_generated">
<link href="http://hostname:8050/caisd-rest/cnt
/U'793ED69B4E87A545BD8E911834D829FC'"
rel="self"/>
</requestor>
<status id="40020" REL_ATTR="RFC" COMMON_NAME="RFC">
<link href="http://hostname:8050/caisd-rest/chgstat/40020"
rel="self"/>
</status>
<summary>Testing</summary>

Example Retrieve a Subresource


This REST API example demonstrates how to retrieve a subresource.

The following example shows the request:

GET /caisd-rest/chg/400001/status HTTP/1.1


Host: hostname
Accept: application/xml
X-Obj-Attrs: code, sym, description
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?>


<chgstat id="40020" REL_ATTR="RFC" COMMON_NAME="RFC">
<link href="http://hostname:8050/caisd-rest/chgstat/40020"
rel="self"/>
<code>RFC</code>
<description>Request for Change is in draft form</description>
<sym>RFC</sym>
</chgstat>

Example Update a Resource


This REST API example demonstrates how to update a resource. In this example, the REST API
updates the summary field for the change order ticket ID 400003.

The following example shows the request:

PUT /caisd-rest/chg/400003 HTTP/1.1


Host: hostname
Content-Type: application/xml;charset=UTF-8
X-Obj-Attrs: chg_ref_num, summary
<chg id="400003">
<summary>Summary updated via REST API</summary>

02-Aug-2016 221/403
CA Service Management - 14.1

</chg>

The following example shows the response:

HTTP/1.1 200 OK
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>


<chg id="400003" REL_ATTR="400003" COMMON_NAME="23">
<link href="http://hostname:8050/caisd-rest/chg/400003"
rel="self"/>
<chg_ref_num>23</chg_ref_num>
<summary>Summary updated via REST API</summary>
</chg>

Example Get a BLREL Record


This example shows how to retrieve a BLREL record:

The following example shows the request:

GET /caisd-rest/grpmem HTTP/1.1


Host: localhost
Accept: application/xml
X-Obj-Attrs: *

The following example shows the response:

HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
<?xml version="1.0" encoding="UTF-8"?>
<collection_grpmem COUNT="3" START="1" TOTAL_COUNT="3">
<grpmem id="400001" REL_ATTR="grpmem:400001" COMMON_NAME="400001">
<link href="http://localhost:8050/caisd-rest/grpmem/400001"
rel="self"/>
<group id="U'CFCC2DC94B3A66448C085B07E7286CAA'" REL_ATTR="
U'CFCC2DC94B3A66448C085B07E7286CAA'"
COMMON_NAME="Unicef">
<link href="http://localhost:8050/caisd-rest/grp
/U'CFCC2DC94B3A66448C085B07E7286CAA'"
rel="self"/>
</group>
<manager_flag>0</manager_flag>
<member id="U'3F05B7450203AD449BFB8088D991A03E'" REL_ATTR="
U'3F05B7450203AD449BFB8088D991A03E'"
COMMON_NAME="System_SD_User">
<link href="http://localhost:8050/caisd-rest/cnt
/U'3F05B7450203AD449BFB8088D991A03E'"
rel="self"/>
</member>
<notify_flag>1</notify_flag>
<persistent_id>grpmem:400001</persistent_id>

02-Aug-2016 222/403
CA Service Management - 14.1

<producer_id>grpmem</producer_id>
</grpmem>
<grpmem id="400002" REL_ATTR="grpmem:400002" COMMON_NAME="400002">
<link href="http://localhost:8050/caisd-rest/grpmem/400002"
rel="self"/>
<group id="U'55E3CCE805756B4F8084D63E05E6C216'" REL_ATTR="
U'55E3CCE805756B4F8084D63E05E6C216'"
COMMON_NAME="Apache">
<link href="http://localhost:8050/caisd-rest/grp
/U'55E3CCE805756B4F8084D63E05E6C216'"
rel="self"/>
</group>
<manager_flag>0</manager_flag>
<member id="U'FCF9A8AC6381AA4386C9B10EE382E10B'" REL_ATTR="
U'FCF9A8AC6381AA4386C9B10EE382E10B'"
COMMON_NAME="System_MA_User">
<link href="http://localhost:8050/caisd-rest/cnt
/U'FCF9A8AC6381AA4386C9B10EE382E10B'"
rel="self"/>
</member>
<notify_flag>1</notify_flag>
<persistent_id>grpmem:400002</persistent_id>
<producer_id>grpmem</producer_id>
</grpmem>
<grpmem id="400003" REL_ATTR="grpmem:400003" COMMON_NAME="400003">
<link href="http://localhost:8050/caisd-rest/grpmem/400003"
rel="self"/>
<group id="U'55E3CCE805756B4F8084D63E05E6C216'" REL_ATTR="
U'55E3CCE805756B4F8084D63E05E6C216'"
COMMON_NAME="Apache">
<link href="http://localhost:8050/caisd-rest/grp
/U'55E3CCE805756B4F8084D63E05E6C216'"
rel="self"/>
</group>
<manager_flag>0</manager_flag>
<member id="U'16226C765005B94E957E0F477DEF1B1C'" REL_ATTR="
U'16226C765005B94E957E0F477DEF1B1C'"
COMMON_NAME="System_AM_User">
<link href="http://localhost:8050/caisd-rest/cnt
/U'16226C765005B94E957E0F477DEF1B1C'"
rel="self"/>
</member>
<notify_flag>1</notify_flag>
<persistent_id>grpmem:400003</persistent_id>
<producer_id>grpmem</producer_id>
</grpmem>
</collection_grpmem>

This sample returns three grpmem records that represent the following associations:

Group Unicef <-> Member System_SD_User

Group Apache <-> Member System_MA_User

02-Aug-2016 223/403
CA Service Management - 14.1

Group Apache <-> Member System_AM_User

Example Retrieve a List of LREL Records Associated with a


Group
The following example returns two grpmem records associated with the Group Apache whose
REL_ATTR value is U'55E3CCE805756B4F8084D63E05E6C216'. Note that

Group Apache <-> Member System_MA_User

Group Apache <-> Member System_AM_User

The WHERE clause (WC) query parameter does not support dotted notation.

The following example shows the request:

GET /caisd-rest/grpmem?WC=group%3DU%2755E3CCE805756B4F8084D63E05E6C216%27 HTTP/1.1


Host: hostname
Accept: application/xml
X-Obj-Attrs: *

The following example shows the response:

HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
<?xml version="1.0" encoding="UTF-8"?>
<collection_grpmem COUNT="2" START="1" TOTAL_COUNT="2">
<grpmem id="400002" REL_ATTR="grpmem:400002" COMMON_NAME="400002">
<link href="http://hostname:8050/caisd-rest/grpmem/400002"
rel="self"/>
<group id="U'55E3CCE805756B4F8084D63E05E6C216'" REL_ATTR="
U'55E3CCE805756B4F8084D63E05E6C216'"
COMMON_NAME="Apache">
<link href="http://hostname:8050/caisd-rest/grp
/U'55E3CCE805756B4F8084D63E05E6C216'"
rel="self"/>
</group>
<manager_flag>0</manager_flag>
<member id="U'FCF9A8AC6381AA4386C9B10EE382E10B'" REL_ATTR="
U'FCF9A8AC6381AA4386C9B10EE382E10B'"
COMMON_NAME="System_MA_User">
<link href="http://hostname:8050/caisd-rest/cnt
/U'FCF9A8AC6381AA4386C9B10EE382E10B'"
rel="self"/>
</member>
<notify_flag>1</notify_flag>
<persistent_id>grpmem:400002</persistent_id>
<producer_id>grpmem</producer_id>
</grpmem>
<grpmem id="400003" REL_ATTR="grpmem:400003" COMMON_NAME="400003">
<link href="http://hostname:8050/caisd-rest/grpmem/400003"

02-Aug-2016 224/403
CA Service Management - 14.1

rel="self"/>
<group id="U'55E3CCE805756B4F8084D63E05E6C216'" REL_ATTR="
U'55E3CCE805756B4F8084D63E05E6C216'"
COMMON_NAME="Apache">
<link href="http://hostname:8050/caisd-rest/grp
/U'55E3CCE805756B4F8084D63E05E6C216'"
rel="self"/>
</group>
<manager_flag>0</manager_flag>
<member id="U'16226C765005B94E957E0F477DEF1B1C'" REL_ATTR="
U'16226C765005B94E957E0F477DEF1B1C'"
COMMON_NAME="System_AM_User">
<link href="http://hostname:8050/caisd-rest/cnt
/U'16226C765005B94E957E0F477DEF1B1C'"
rel="self"/>
</member>
<notify_flag>1</notify_flag>
<persistent_id>grpmem:400003</persistent_id>
<producer_id>grpmem</producer_id>
</grpmem>
</collection_grpmem>

Example Create a BLREL Record


The following example adds an existing contact System_SA_User as a member of group Apache. It
uses the COMMON_NAME value of each of those records.

Group Apache <-> Member System_SA_User

The following example shows the request:

POST /caisd-rest/grpmem HTTP/1.1


Host: hostname
Accept: application/xml
Content-Type: application/xml;charset=UTF-8
X-Obj-Attrs: *
<grpmem>
<group id="U'55E3CCE805756B4F8084D63E05E6C216'"/>
<manager_flag>0</manager_flag>
<member id="U'E70DFE4817614C06BE9E5991A96A6015'"/>
<notify_flag>1</notify_flag>
</grpmem>

The following example shows the response:

HTTP/1.1 201 Created


Content-Type: application/xml;charset=UTF-8
<?xml version="1.0" encoding="UTF-8"?>
<grpmem id="400005" REL_ATTR="grpmem:400005" COMMON_NAME="400005">
<link href="http://hostname:8050/caisd-rest3/grpmem/400005"
rel="self"/>

02-Aug-2016 225/403
CA Service Management - 14.1

<group id="U'55E3CCE805756B4F8084D63E05E6C216'" REL_ATTR="


U'55E3CCE805756B4F8084D63E05E6C216'"
COMMON_NAME="Apache">
<link href="http://hostname:8050/caisd-rest3/grp
/U'55E3CCE805756B4F8084D63E05E6C216'"
rel="self"/>
</group>
<manager_flag>0</manager_flag>
<member id="U'E70DFE4817614C06BE9E5991A96A6015'" REL_ATTR="
U'E70DFE4817614C06BE9E5991A96A6015'"
COMMON_NAME="System_SA_User">
<link href="http://hostname:8050/caisd-rest3/cnt
/U'E70DFE4817614C06BE9E5991A96A6015'"
rel="self"/>
</member>
<notify_flag>1</notify_flag>
<persistent_id>grpmem:400005</persistent_id>
<producer_id>grpmem</producer_id>
</grpmem>

Example Update a BLREL Record


The following example updates the relationship of the added record and sets member
System_SA_User as a Manager.

The following example shows the request:

PUT /caisd-rest/grpmem/400005 HTTP/1.1


Host: hostname
Accept: application/xml
Content-Type: application/xml;charset=UTF-8
X-Obj-Attrs: *
<grpmem>
<manager_flag>1</manager_flag>
</grpmem>

The following example shows the response:

HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
<?xml version="1.0" encoding="UTF-8"?>
<grpmem id="400005" REL_ATTR="grpmem:400005" COMMON_NAME="400005">
<link href="http://hostname:8050/caisd-rest3/grpmem/400005"
rel="self"/>
<group id="U'55E3CCE805756B4F8084D63E05E6C216'" REL_ATTR="
U'55E3CCE805756B4F8084D63E05E6C216'"
COMMON_NAME="Apache">
<link href="http://hostname:8050/caisd-rest3/grp
/U'55E3CCE805756B4F8084D63E05E6C216'"
rel="self"/>
</group>
<manager_flag>1</manager_flag>

02-Aug-2016 226/403
CA Service Management - 14.1

<member id="U'E70DFE4817614C06BE9E5991A96A6015'" REL_ATTR="


U'E70DFE4817614C06BE9E5991A96A6015'"
COMMON_NAME="System_SA_User">
<link href="http://hostname:8050/caisd-rest3/cnt
/U'E70DFE4817614C06BE9E5991A96A6015'"
rel="self"/>
</member>
<notify_flag>1</notify_flag>
<persistent_id>grpmem:400005</persistent_id>
<producer_id>grpmem</producer_id>
</grpmem>

Example Delete a BLREL Record


The following example removes member System_MA_User from group Apache. This example does
not delete the member record or the group record. It only removes the association between them. It
does physically remove the grpmem record.

The following example shows the request:

DELETE /caisd-rest/grpmem/400002 HTTP/1.1


Host: hostname

The following example shows the response:

HTTP/1.1 204 No Content


Content-Type: application/xml;charset=UTF-8
Content-Length: 0

02-Aug-2016 227/403
CA Service Management - 14.1

Web Services Attachment-Related Methods


This article contains the following topics:
createAttachment (see page 228)
removeAttachment (see page 230)
attachURLLinkToTicket (see page 230)

This section describes the Web Services attachment-related methods. Only file attachments are
handled by these methods; link type attachments are handled by generic methods, such as
CreateObject(). In addition, file uploads through Web Services employ the Direct Internet Message
Encapsulation (DIME) protocol. Your SOAP implementation must support DIME in order to use these
methods.

createAttachment
The following parameters apply to the createAttachment method:

Parameter Data Description


Type
SID INTE Identifies the session retrieved from logging in.
GER
repository STRI Identifies the object handle of a document repository.
Handle NG
objectHan STRI Identifies the object handle of a call request, change order, or issue, to which this
dle NG attachment is attached.
This parameter can be NULL, however, you must manage the attachment ID that is
returned because the attachment is not associated to a ticket when NULL is passed
in.
descriptio STRI Identifies the description for the attachment object.
n NG
fileName STRI Identifies the full path of the file to be uploaded.
NG

Description

Uploads a file to the back-end server. An uploaded file is stored in a document repository specified by
the repositoryHandle. An attachment object is then created and attached to a ticket object specified
by the objectHandle. The attachment object has all the information for accessing the newly uploaded
file in the repository.

Returns

createAttachment has the following returns:

02-Aug-2016 228/403
CA Service Management - 14.1

Parameter Type Description


<Handle> STRING Identifies the object handle of the newly created attachment object.

Could not perform the operation, policy limit exceeded

Symptom:

When using the createAttachment() web service method to attach a document to an existing request
or incident, you receive this error, even when the web services policy setting for attachments is set to
-1(unlimited), which is the out-of-the-box default setting. You may receive this error when calling the
web service method when there are no attached files in the received SOAP message. You must attach
at least one file to the SOAP message before calling the createAttachment() web service method.

Solution:

Set your SOAP implementation to support Direct Internet Message Encapsulation (DIME), and attach
the file to be uploaded manually using DIME support before calling the createAttachment() method.

You can refer to the examples on how to support DIME from the
$NX_ROOT\samples\sdk\websvc\java\test3_attachments directory.

Example: Visual Basic .NET

This code example illustrates sample Visual Basic .NET code to attach a file using DIME support
before calling the createAttachment() web service method.

Dim reqContext As SoapContext = objCA SDM_WS.RequestSoapContext


Dim dimeAttach As New DimeAttachment("image/gif",
TypeFormat.MediaType, "c:\test.txt")
reqContext.Attachments.Add(dimeAttach)

strResult = objCA SDM_WS.createAttachment(sid, "doc_rep:1002",


"cr:400001", "my desc", "c:\test.txt")

Note: For information about the DIME attachment methods used in the previous sample
code, see the Microsoft website. For programs written in other languages, see your
documentation for the SOAP implementation that supports DIME.

Example: Java

This code example illustrates sample Java code to attach a file using DIME support before calling the
createAttachment() web service method.

FileDataSource fds = new FileDataSource(filename);


DataHandler dhandler = new DataHandler(fds);
CA SDM._setProperty(Call.ATTACHMENT_ENCAPSULATION_FORMAT,
Call.ATTACHMENT_ENCAPSULATION_FORMAT_DIME);
CA SDM.addAttachment(dhandler);

02-Aug-2016 229/403
CA Service Management - 14.1

String handle = CA SDM.createAttachment(sid, repHandle, objHandle,


description, filename);

removeAttachment
The following parameters apply to the removeAttachment method:

Parameter Type Description


SID Integer Identifies the SID of the current login session.
attHandle String Identifies the object handle of an attachment to be removed.

Description

Removes an attachment from a ticket object. The attached file is then removed from the repository.

Returns

Nothing.

attachURLLinkToTicket
The following parameters apply to the attachURLLinkToTicket method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
docId Integer Identifies the unique ID of the ticket.
URL String Indicates the URL to attach to the ticket.
attmntName String Identifies the name of the attachment.
Description String Indicates the description of the attachment.

Description

Attaches a URL link to a ticket.

Example:

CA SDM.attachURLLinkToTicket(sid, "cr:400001", "http://www.ca.com", "ca.com", "CA


Technologies Website");

02-Aug-2016 230/403
CA Service Management - 14.1

Web Services Knowledge Attachment


Methods
This article contains the following topics:
createAttmnt (see page 231)
attmntFolderLinkCount (see page 232)
attachURLLink (see page 232)
getKDListPerAttmnt (see page 233)
getAttmntListPerKD (see page 233)
isAttmntLinkedKD (see page 233)
createFolder (see page 234)
getFolderList (see page 235)
getFolderInfo (see page 235)
getAttmntList (see page 236)
getAttmntInfo (see page 236)
getRepositoryInfo (see page 237)

This section describes the Web Services Knowledge attachment methods.

createAttmnt
The following parameters apply to the createAttmnt method:

Parameter Data Description


Type
SID Integer Identifies the session retrieved from logging in.
repositoryHa String Identifies the object handle of a document repository.
ndle
folderId Integer Identifies the folder handle ID.
objectHandle Int Identifies the object handle of a Knowledge document to which this
attachment is attached.
description String Identifies the description for the attachment object.
fileName String Identifies the name of the full path of the file to be uploaded.

Description

Uploads a file to the back-end server. An uploaded file is stored in a document repository specified by
the repositoryHandle. An attachment object is then created and attached to a document object
specified by the objectHandle. The attachment object has all the information for accessing the newly
uploaded file in the repository.

Returns

02-Aug-2016 231/403
CA Service Management - 14.1

Returns

The following:

Parameter Type Description


<Handle> String Identifies the object handle of the newly created attachment object.

attmntFolderLinkCount
The following parameters apply to the attmntFolderLinkCount method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
folderId Integer Identifies the unique ID of the folder

Description

Describes the number of attachment links under a specific folder to be attached.

Returns

Returns the number of attachments found under the specific folder.

attachURLLink
The following parameters apply to the attachURLLink method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
docId Integer Identifies the unique ID of the Knowledge document.
URL String Indicates the URL to attach to the Knowledge document.
attmntName String Identifies the name of the attachment.
Description String Indicates the description of the attachment.

Description

Attaches a URL link to a Knowledge document.

Returns

Returns error codes only for individual errors. For additional information, see Error Codes.

02-Aug-2016 232/403
CA Service Management - 14.1

getKDListPerAttmnt
The following parameters apply to the getKDListPerAttmnt method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
attmntId Integer Identifies the unique ID of the attachment.

Description

Returns a list of Knowledge documents with reference to a given attachment.

Returns

A <UDSObject> node with zero or more <UDSObject> nodes describing the Knowledge document
with the following <Attributes> child nodes:

XML Element Value Type Description


id Integer Identifies the unique ID of the Knowledge document.

getAttmntListPerKD
The following parameters apply to the getAttmntListPerKD method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
docId Integer Identifies the unique ID of the Knowledge document.

Description

A list of attachments with reference to a given Knowledge document.

Returns

A <UDSObject> node with zero or more <UDSObject> nodes describing the attachment with the
following <Attributes> child nodes:

XML Element Value Type Description


id Integer Identifies the unique ID of the attachment

isAttmntLinkedKD
The following parameters apply to the AttmntLinkedKD method:

02-Aug-2016 233/403
CA Service Management - 14.1

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
attmntId Integer Identifies the unique ID of the attachment.

Description

Checks if an attachment is linked to any Knowledge document, and returns the number of links
found.

Returns

Any number of links found.

createFolder
The following parameters apply to createFolder method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
parentFolderId Integer Identifies the unique ID of the parent folder (zero if no parent).
repId Integer Identifies the unique ID of the repository.
folderType Integer Identifies the type of folder to be created.
description String Identifies the description of the folder.
folderName String Identifies the name of the folder.

Description

Creates a new folder in the Service Desk repository that is accessed through the Attachments Library.

Note: Folder types other then 0 are hidden folders and can be viewed only by navigating to
Attachments Library on the Administration tab. These folders are automatically created by the
system during upload and should not be created by the user or Web Services, because their files are
private and cannot be shared with other Knowledge Documents, QA or Knowledge Files.

Returns

A <UDSObject> describing the folder created, with some of the following child <Attributes> nodes:

XML Element Value Type Description


repository SREL Identifies the repository name.
parent_id SREL Identifies the unique ID of the parent folder.
folder_type Integer Identifies the type of folder created.
folder_name String Identifies the name of the folder.
description String Identifies the description of the folder.

02-Aug-2016 234/403
CA Service Management - 14.1

getFolderList
The following parameters apply to getFolderList method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
parentFolderId Integer Identifies the unique ID of the parent folder (0 if no parent).
repId Integer Identifies the unique ID of the repository.

Description

Returns a list of folders under a given parent folder

Returns

A <UDSObjectList> with zero or more <UDSObject> describing the attachment folder, with some of
the following child <Attributes> nodes:

XML Element Value Type Description


repository SREL Identifies the repository name.
parent_id SREL Identifies the unique ID of the parent folder.
folder_type Integer Identifies the type of folder created.
folder_name String Identifies the name of the folder.
description String Identifies the description of the folder.

getFolderInfo
The following parameters apply to the getFolderInfo method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
folderId Integer Identifies the unique ID of the attachment folder.

Description

Returns the attributes of a folder.

Returns

A <UDSObject> describing the attachment folder, with some of the following child <Attributes>
nodes:

02-Aug-2016 235/403
CA Service Management - 14.1

XML Element Value Type Description

repository SREL Identifies the repository name.


parent_id SREL Identifies the unique ID of the parent attachment folder.
folder_type Integer Identifies the type of attachment folder.
folder_name String Identifies the name of the attachment folder.
description String Identifies the description of the attachment folder.

getAttmntList
The following parameters apply to the getAttmntList method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
folderId Inte Identifies the unique ID of the attachment folder.
ger
repId Inte Identifies the unique ID of the repository. This parameter is required only when the
ger folder ID is zero, which indicates the root folder.

Description

Returns a list of attachments under a given attachment folder.

Returns

A <UDSObjectList> with zero or more <UDSObject> describing the attachment, with some of the
following child <Attributes> nodes:

XML Element Value Type Description


repository SREL Identifies the repository name.
parent_id SREL Identifies the unique ID of the parent folder.
folder_type Integer Identifies the type of folder created.
folder_name String Identifies the name of the folder.
description String Identifies the description of the folder.

getAttmntInfo
The following parameters apply to the getAttmntInfo method:

02-Aug-2016 236/403
CA Service Management - 14.1

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
attmntId Integer Identifies the unique ID of the attachment folder.

Description

Returns the attributes of an attachment.

Returns

A <UDSObject> describing the attachment, with some of the following child <Attributes> nodes:

XML Element Value Type Description


id Integer Identifies the unique ID of the attachment.
description String Identifies the description of the attachment.
attmnt_name String Identifies the name of the attachment.
file_name String Identifies the name of the file.
folder_id Integer Identifies the unique ID of the attachment folder.
repository SREL Identifies the unique ID of the repository.

getRepositoryInfo
The following parameters apply to the getRepositoryInfo method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
repositoryId Integer Identifies the unique ID of the repository.

Description

Returns the attributes of a repository.

Returns

A <UDSObject> describing the repository, with some of the following child <Attributes> nodes:

XML Element Value Type Description


repository SREL Identifies the repository name.
parent_id SREL Identifies the unique ID of the parent attachment folder.
folder_type Integer Identifies the type of attachment folder.
folder_name String Identifies the name of the attachment folder.
description String Identifies the description of the attachment folder.

02-Aug-2016 237/403
CA Service Management - 14.1

Web Services Miscellaneous Methods


This article contains the following topics:
callServerMethod (see page 238)
createObject (see page 240)
serverStatus (see page 241)
updateObject (see page 242)

This section describes the Web Services Miscellaneous methods.

callServerMethod
The following parameters apply to the callServerMethod method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
methodNa Strin Identifies the name of the method to call.
me g
factoryNa Strin Identifies the factory name of the object type containing the method.
me g
formatList Strin Identifies the format list, a series of characters describing the intended data types
g for the incoming parameters. It is related to the Parameter() description in this
table).
parameter Strin Indicates zero or more parameter values for the method.
s g[]

Description

Use this method to invoke an arbitrary server-side method. These are methods defined in the
proprietary spell scripting language.

Only factory methods can be called and the caller must be logged in with full administrative rights.

The format list is a series of zero or more characters that indicate (in order) the data types of the
parameters to follow. The character codes are as follows:

0 S -- string

0 I -- integer (covers dates and duration)

0 N -- null

For example, suppose a spell method is defined as follows:

02-Aug-2016 238/403
CA Service Management - 14.1

cr::DoStuff(int in_one, string in_two, string in_three);

Invoke it with the following:

callServerMethod("DoStuff", "cr", "ISS", [3, "a string", "another one"]);

This method is intended for CA Development and services for customizations only; it is not
recommended for most sites.

Returns

Each return message component in its own XML element. The elements are all string representations
of the value. The elements are ordered in the return order from the server using the following
format:

<ServerReturn>
<Paramx>

This call does not support object reference returns. If an object reference is returned by the spell
method, the return data is the string, OBJECT. This is not an error and any other parameters are
also returned.

XML Type Description


Element
<ServerRe N/A Indicates the outer element, which contains zero or more <ParamX> elements for
turn> return values.
<Paramx> Strin Indicates zero or more for the return values, where x is an integer starting at zero
g and increments for each return element.

You can validate BOPSIDs using check_bopsid. This is invoked with callServerMethod as follows:

String bopsid; // somehow gets populated with the BOPSID value


String [] stuff = new String [] { bopsid };

String ret = usd.callServerMethod


(sid, "check_bopsid", "api", "I", stuff);

If the BOPSID validation fails, a SOAP Fault is returned. If validation succeeds, the return value is a
small XML structure of the following form:

<ServerReturn>
<Param0>CONTACT_PERSID</Param0>
<Param1>SESSION_TYPE</Param1>
<Param2>SESSION_ID</Param2>
</ServerReturn>

CONTACT_PERSID
Defines the unique persistent id of the validated/trusted contact. It is of the form, "cnt:<uuid>".

SESSION_TYPE
Defines a small integer id indicating the type of session that generated the BOPSID. This is
typically not used by integrators

02-Aug-2016 239/403
CA Service Management - 14.1

SESSION_ID
Defines an optional session id. This is the id of the session that generated the BOPSID. It may or
may not be set. This is useful to maintain a user's logical session within CA SDM, especially if the
user is "passed" back to CA SDM by another BOPSID.

Note: If the BOPSID validation returns a success, log into CA Support Automation bypassing
the login screen, else the CA Support Automation Login screen will be displayed.

createObject
The following parameters apply to the createObject method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
ObjectTyp String Identifies the type of object to create (the majic factory name).
e
attrVals String Identifies a sequence of name-value pairs used to set the initial attribute values for
[] the new issue.
Note: Dotted names are not permitted.
attributes String Identifies a sequence of attribute names from the new object for which to return
[] values. Dot-notation is permitted. If this field is empty, all attribute values are
returned.
createObj String Identifies the String Holder object for capturing returned data. See the XML
ectResult Holde Element Return list below for details.
r
newHandl String Identifies the String Holder object for capturing returned data. See the XML
e Holde Element Return list below for details.
r

Description

Creates a CA SDM object. The caller is responsible for setting any required fields in the attrVals
parameter. Dotted-names are not permitted.

ObjectType
Identifies the name for an object type (factory).

attrVals
Describes the array of name-value pairs used to initialize the new object. For example, the
following pseudo-code shows how to create a contact and return a <UDSObject> element with
values for all its attributes:

String [4] attrVals;

02-Aug-2016 240/403
CA Service Management - 14.1

attrVals[0] = "first_name"; // attribute name

attrVals[1] = "Edgar";

attrVals[2] = "last_name";

attrVals[3] = "Martin";

string [0] emptyArray;

CreateObject(sid, "cnt", attrVals, emptyArray, createObjectReturn, newHandle);

Note: Do not use this method for new assets, issues, requests, or change orders. Use the
specialized createXXX() methods for those object types. This comment also applies if you
are using the ITIL methodology -- use the appropriate methods to create Configuration
Items, Incidents, and Problems.

Returns

A <UDSObject> element containing the new objects handle, along with attribute values specified in
the attributes parameter. If the attributes parameter is empty, all attribute values are returned. List
and LREL types are also returned, but as empty elements.

XML Element Type Description


<createObjectRe N/A Identifies the standard UDSObject element containing the handle and
sult> requested attribute values.
<newHandle> Strin Identifies the new objects handle.
g

serverStatus
The following parameter applies to the serverStatus method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.

Description

Returns the status of the CA SDM server, that is, whether it is up and ready or shut down.

Note: This method executes rapidly on the server. Calling this method periodically is a good
way to keep a SID active.

Returns

The following values apply:

02-Aug-2016 241/403
CA Service Management - 14.1

The following values apply:

1 -- Indicates the Service Desk server is not available


Note: Any non-zero return code indicates that the server is unavailable, such as 1010.

0 -- Indicates the Service Desk server it is running

XML Element Type Description


<ServerStatus> Integer Identifies the value associated with the server status, zero or 1.

updateObject
The following parameters apply to the updateObject method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
objectHan Strin Identifies the handle of a CA SDM object to update.
dle g
attrVals Strin Identifies the name-value pairs for the update.
g[]
attributes Strin Identifies the sequence of attribute names from the object for which to return
g[] values. Dot-notation is permitted. If this field is empty, all attribute values are
returned.

Description

Updates one or more attributes for the specified object.

To set values for the object, the caller passes a single-dimensional array of attribute name-value
pairs. The first half of the pair is an attribute name; the second is the actual value. Dotted-names are
not permitted.

To update an attribute that is a Pointer type (for example, the customer field on a request) a handle
must be used for the value. For Integer, Date, and Duration types, pass the string representation of
an integer.

For example, to update a request with a new assignee, description and priority, the array would
appear as follows:

[0] - "assignee"
[1] - "cnt:555A043EDDB36D4F97524F2496B35E75" (a contact Handle)
[2] - "description"
[3] - "My new description"
[4] - "priority"
[5] - "pri:38903" (a priority Handle)

If the update fails for any reason, the entire operation aborts and no changes occur.

02-Aug-2016 242/403
CA Service Management - 14.1

If the update fails for any reason, the entire operation aborts and no changes occur.

Note: When updating a task, set the status value last in the attribute array.

Returns

A <UDSObject> element containing the updated objects handle, along with attribute values specified
in the attributes parameter. If the attributes parameter is empty, all of the attribute values are
returned. List and LREL types are also returned (see page 192), but as empty elements.

02-Aug-2016 243/403
CA Service Management - 14.1

Web Services Knowledge Management


This article contains the following topics:
Table Types (see page 244)
Knowledge Management General Methods (see page 245)
faq (see page 246)
search (see page 247)
doSelectKD (see page 248)
createDocument (see page 249)
modifyDocument (see page 252)
deleteDocument (see page 255)
Use the Knowledge Management Web Services (see page 255)
Access the Knowledge Management Web Services (see page 255)
addComment (see page 256)
deleteComment (see page 257)
rateDocument (see page 257)
updateRating (see page 258)
getQuestionsAsked (see page 258)
getBookmarks (see page 259)
addBookmark (see page 260)
deleteBookmark (see page 260)
getStatuses (see page 260)
getPriorities (see page 261)
getDocumentTypes (see page 261)
getTemplateList (see page 262)
getWorkflowTemplateList (see page 263)

To use the Web Services Knowledge Management, it is helpful if you are familiar with the database
structure.

Table Types
Some of the more important tables are described as follows:

Table Description
Type
skelet Stores all information pertaining to documents with each row representing one document.
on Field names from this table can be used when passing the PropertyList and SortBy parameters
to methods such as FAQ() and Search(). The field names are case-sensitive so make sure you
pass them just as they are in the database.
Stores all information pertaining to categories with each row representing one category.

02-Aug-2016 244/403
CA Service Management - 14.1

Table Description
Type
o_ind
exes

Knowledge Management General Methods


This section describes Knowledge Management general methods. Valid Knowledge document sorting
properties (when available) are as follows:

RELEVANCE

AUTHOR_ID

BU_RESULT

CREATION_DATE

DOC_TYPE_ID

EXPIRATION_DATE

HITS

id

MODIFY_DATE

OWNER_ID

PRIORITY_ID

ACCEPTED_HITS

ASSET_ID

SD_ASSET_ID

ASSIGNEE_ID

PRODUCT_ID

START_DATE

STATUS_ID

SUBJECT_EXPERT_ID

02-Aug-2016 245/403
CA Service Management - 14.1

faq
The following parameters apply to the faq method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
categoryId Strin Identifies the category ID used to perform the faq. Use 1 for the Root category.
s g Note: Multiple ids are supported, for example, "1, 2, 3.
resultSize Inte Identifies the number of documents for which you want to retrieve detailed
ger information. For the rest of the documents, only their IDs return. Detailed
information for these documents can be accessed later using the
getDocumentsByIDs() method. The default is 10.
propertyLi Strin Identifies the comma-separated list of database fields from which you want to
st g retrieve information. The following fields are always returned, regardless of the
propertyList parameter:
id
DOC_TYPE_ID
BU_RESULT
sortBy Strin Identifies the database field that you want to use for sorting the results. Multiple
g sort fields are not supported. The default is BU_RESULT, meaning that the faq rating
sorts it. When id is used as a secondary sort, it always sorts the results.
descendin Bool Identifies an indicator available for sorting the results in descending order.
g ean
whereClau Strin Use this to add your own SQL where clause for filtering the results of the search.
se g
maxDocId Inte Identifies the maximum amount of document IDs to be returned (the default is 100).
s ger For example, if you specify a resultSize of 10 and a maxDocIds of 50, if there are 100
matching documents in the database, then 10 have their detailed information
retrieved and 40 have just their IDs returned. The remaining 50 are not returned at
all.

Description

Use to perform a faq search. Documents are retrieved based on the category ID that is passed. Any
documents residing in that category or in any sub-category are returned. To improve performance,
these methods only retrieve detailed information on a user-defined set of documents, which is
controlled through the resultSize parameter. The rest of the documents return their IDs only. Using
this method, you can for example, set up a paging mechanism where the user can click on Top,
Previous, Next, and Bottom links. When you need to retrieve the next set of information, you can
use the getDocumentsByIDs() method. The maximum number of 100 IDs is returned.

Returns

A <UDSObjectList> node with the following sections:

<UDSObject> node from the <UDSObject> Node Description section of this chapter. There is a
<UDSObject> node with all the given properties for the first n documents that the method finds
where n equals the resultSize parameter.

02-Aug-2016 246/403
CA Service Management - 14.1

For example, if the resultSize parameter is 10, the maxDocIDs parameter is 50, and the method finds
100 documents, then there are 10 <UDSObject> with <Attributes> nodes in the first<UDSObject>
section with detail attribute information from propertyList parameter and 40 <UDSObject> nodes
with only ID <Attributes> in the following section. If you want to retrieve detailed ID <AttrName>
information for documents numbering 11-20, you have to make a call to the getDocumentsByIDs()
method and pass it those IDs from <AttrValue>.

search
The following parameters apply to the search method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
problem Strin Identifies the problem description to which you want to find solutions.
g
resultSize Inte Identifies the number of documents for which you want to retrieve detailed
ger information. The remaining documents have their IDs returned only. Detailed
information for these documents can be accessed later using the
getDocumentsByIDs() method. The default is 10.
propertyLi Strin Identifies the comma-separated list of database fields from which you want to
st g retrieve information. The following fields are always returned, regardless of the
propertyList parameter:
id
DOC_TYPE_ID
sortBy Strin Identifies the database field that you want to use for sorting the results. Multiple
g sort fields are not supported. The default is RELEVANCE. When id is a secondary sort,
it always sorts the results. For a valid sort property, see the faq method.
descendin Bool Identifies an indicator you can use for sorting the results in descending order.
g ean
relatedCat Bool Returns a list of all related categories for the documents found.
egories ean
searchTyp Inte Type of search to perform:
e ger 1 = Natural Language Search (NLS)
2 = Knowledge Management search
matchTyp Inte Represents the type of match:
e ger 0 = OR type match
1 = AND type match
2 = Exact match
Note: If NLS is selected for the searchType parameter, then only the OR and AND
matchTypes are valid.
searchFiel Inte Represents the binary combination of fields in which to search:
d ger Title = 1
Summary = 2
Problem = 4
Resolution = 8

02-Aug-2016 247/403
CA Service Management - 14.1

Parameter Type Description


For example, to search all fields, specify 15 (1+2+4+8). To search in Summary and
Problem only, specify 6 (2+4).
Note: The default is to search Problem.
If you set the searchType parameter to NLS, the searchFields parameter is ignored
because NLS searches can only search the Problem field.
categoryP Strin Limits the results of the search to a specific category or categories. You need to
ath g specify the full ID path to the category and separate multiple categories with
commas. For example, 1-3-5, 1-4-8 to limit the search to categories 5 and 8 (and
their sub-categories).
whereClau Strin Use this to add your own SQL where clause for filtering the results of the search.
se g
maxDocId Inte Represents the maximum amount of document IDs allowed to be returned. For
s ger example, if you specify a resultSize of 10 and a maxDocIds of 50, if there are 100
matching documents in the database, then 10 have their detailed information
retrieved, and 40 have just their IDs returned. The remaining 50 are not returned at
all. The default is 100.

Description

Searches for solutions to a problem. Documents are retrieved based on the problem that is passed.
Any documents matching the description of the problem or a similar description, are returned. To
improve performance, these methods only retrieve detailed information on a user-defined set of
documents, which is controlled through the resultSize parameter. The rest of the documents return
their ids only. Using this method, you can for example, set up a paging mechanism, where the user
can click on Top, Previous, Next, and Bottom links. When you need to retrieve the next set of
information, you can use the getDocumentsByIDs() method.

Returns

A <UDSObjectList> node with the following sections:

<UDSObject> node from the <UDSObject> Node Description section of this chapter. There will be a
<UDSObject> node with all the given properties for the first n documents that the method finds,
where n equals the resultSize parameter. For example, if the resultSize parameter is 10, the
maxDocIds parameter is 50, and the method finds 100 documents, then there are 10 <UDSObject>
nodes with all the properties requested in the <Attributes> section and 40 <UDSObject> with only the
ID property in the <Attributes> section. If you want to retrieve detailed <UDSObject> information for
documents 11-20, you need to make a call to the getDocumentsByIDs() method and pass it those IDs.

If the getRelatedCategories parameter is set to True, the <UDSObjectList> node is included in the
<Attributes> section for related categories. Each <INDEX_DOC_LINKS> node contains the relational ID
of the category, as shown by the following example:

1-70

doSelectKD
The following parameters apply to the doSelectKD method:

02-Aug-2016 248/403
CA Service Management - 14.1

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
whereClau Strin (Optional) Identifies the where clause for the query.
se g
sortBy Strin Identifies the database field that you want to use for sorting the results. Multiple
g sort fields are not supported. The default is BU_RESULT, meaning that the faq rating
sorts it. When id is used as the secondary sort, it always sorts the results.
desc Bool Identifies the indicator available for sorting the results in descending order. Use True
ean for descending and False for ascending the document order.
maxRows Inte Indicates the maximum number of rows to return. Specify -1 to return all rows.
ger Note: Regardless of the integer specified, CA SDM will return a maximum of 250
rows per call.
attributes Strin Identifies the attribute list from which to fetch values. Dotted-attributes are
g[] permitted. If this field is blank, all value-based attributes are returned. These
attributes cannot be defined as LOCAL in the majic definition file. LOCAL attributes
are temporal; they have no database storage.
skip Inte Identifies the number of knowledge documents to skip from the beginning. Enter
ger zero (0) to return all documents.

Description

Performs an SQL-like select on a Knowledge Document table. Supply one or more attributes you want
fetched from the objects that match the supplied where clause.

Returns

A sequence of <UDSObject> elements. The following format applies:

<UDSObjectList>
<UDSObject>
<Handle>
<Attributes>
<AttributeName0>
<AttributeName1>

XML Type Description


Element
<UDSObject Sequen Contains a <Handle> element and an <Attributes> sequence.
> ce
<UDSObject Signifies the outer element, which contains a sequence of <UDSObject (see
List> page 192)> elements.

createDocument
The following parameters apply to the createDocument method:

02-Aug-2016 249/403
CA Service Management - 14.1

Parameter Type Description


SID Strin Identifies the session retrieved from logging in.
g
kdAttribut Strin Identifies an array of name-value pairs used to set the initial attribute values for the
es g[] new Knowledge document, as illustrated by the following:

"SUMMARY","Summary text",

"TITLE","Title text"

As part of the createDocument method, the following table reflects examples of valid, commonly
used attribute values for a document. Data in the Type column reflect the actual type, which must be
parsed to the method in string format in the attrVals string array.

Attribute Type Description


Value
PRIMARY Inte Identifies the category ID in which to create the document. Use 1 for the Root categor
_INDEX ger y.
USER_DE Strin Identifies any ID that you would like to use to represent the document.
F_ID g
TITLE Strin Identifies the title of the document.
g
SUMMAR Strin Identifies the summary of the document.
Y g
PROBLEM Strin Identifies the problem of the document.
g
RESOLUTI Strin Identifies the resolution of the document. This can contain html.
ON g
STATUS_I Inte Identifies the status ID for the document. The default is 10 (Draft).
D ger
PRIORITY Inte Identifies the priority ID for the document. The default is 20 (Normal).
_ID ger
CREATIO Date Identifies the date and time the document was created. Leave blank to assign current
N_DATE (Stri date.
ng)
MODIFY_ Date Identifies the date and time the document was last modified. Leave blank to assign
DATE (Stri the current date.
ng)
START_D Date Identifies the date the document becomes active and is used in conjunction with
ATE (Stri Expiration_Date. Leave blank to specify no start date and the document will be active
ng) as long as the expiration date has not been reached.
EXPIRATI Date Identifies the date the document expires, and it is used in conjunction with
ON_DATE (Stri Start_Date. Leave blank to specify no expiration date.
ng)

02-Aug-2016 250/403
CA Service Management - 14.1

Attribute Type Description


Value
PUBLISHE Date Identifies the date and time the document was published. Leave blank to assign
D_DATE (Stri current date if the status is Published. If the status is not Published, this parameter is
ng) ignored.
SD_PROD Inte Identifies the product ID from CA SDM with which to associate this document.
UCT_ID ger
ASSIGNEE UUI Identifies the unique assignee ID from CA SDM to which this document is assigned.
_ID D
SD_ASSE UUI Identifies the asset ID from CA SDM with which to associate this document.
T_ID D
SD_ROOT Inte Identifies the root cause ID from CA SDM with which to associate this document.
CAUSE_I ger
D
SD_PRIO Inte Identifies the priority ID from CA SDM with which to associate this document.
RITY_ID ger
SD_SEVE Inte Identifies the severity ID from CA SDM with which to associate this document.
RITY_ID ger
SD_IMPA Inte Identifies the impact ID from CA SDM with which to associate this document.
CT_ID ger
SD_URGE Inte Identifies the urgency ID from CA SDM with which to associate this document.
NCY_ID ger
AUTHOR_ UUI Identifies the unique ID of the contact who authored this document. If the author is
ID D not an internal contact, you can set this field to zero and use the Author parameter
instead.
OWNER_I UUI Identifies the unique ID of the contact who owns this document.
D D
SUBJECT_ UUI Identifies the unique ID of the contact who is the subject expert for this document.
EXPERT_I D
D
NOTES Strin Identifies the notes for the document.
g
READ_GR Strin Identifies the dash-separated list of group IDs that have read permission for this
OUP_LIST g document (for example: 1-3-4). Use A to assign permission to everyone.
WRITE_G Strin Identifies the dash-separated list of group IDs that have write permission for this
ROUP_LIS g document (for example: 1-3-4). Use A to assign permission to everyone.
T
INHERITP Bool Indicates the status of the flag to inherit permissions from the category in which the
ERMISSIO ean document is being created.
NS Set to True if you want to inherit permissions, and then ReadPermissions and the
WritePermissions parameters will be ignored.
DOC_TYP Inte Identifies the ID for the type of document that this document will be; a regular
E_ID ger document or a tree document. The default is a regular document.
HITS Inte Identifies the number of times that the document has been viewed.
ger

02-Aug-2016 251/403
CA Service Management - 14.1

Attribute Type Description


Value
DOC_TE Inte Identifies the ID for the template you want to assign to this document.
MPLATE_ ger
ID
WF_TEM Inte Identifies the ID for the workflow template you want to assign to this document.
PLATE ger
CUSTOM Strin Specifies a custom field.
1 g
CUSTOM Strin Specifies a custom field.
2 g
CUSTOM Strin Specifies a custom field.
3 g
CUSTOM Strin Specifies a custom field.
4 g
CUSTOM Strin Specifies a custom field.
5 g
CUSTOM Dou Specifies a numeric custom field.
_NUM1 ble
CUSTOM Dou Specifies a numeric custom field.
_NUM2 ble

Description

Creates a new document.

Returns

A <UDSObject> node describing the Knowledge Document created.

modifyDocument
The following parameters apply to the modifyDocument method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
docId Integ Identifies the unique ID of the document you want to modify.
er
kdAttribut Strin Specifies the name-value pairs for the update, for example, SUMMARY,
es g[] Summary text, TITLE, and Title text.

As part of the modifyDocument method, the following table reflects examples of valid, commonly
used attribute values for a document. Data in the Type column reflect the actual type, which must be
parsed to the method in string format in the attrVals string array.

02-Aug-2016 252/403
CA Service Management - 14.1

Parameter Type Description


MODIFY_ (Stri Indicates a special field used for "record locking" purposes to make sure that
DATE ng) someone else is not updating the document at the same time that you are. You must
pass in the existing MODIFY_DATE of the document. If you leave the modify date
blank, you receive an error that another user has updated the document.
USER_DEF Strin Specifies any ID that you want to use to represent the document.
_ID g
TITLE Strin Indicates the title of the document.
g
SUMMAR Strin Indicates the summary of the document.
Y g
PROBLEM Strin Indicates the problem of the document.
g
RESOLUTI Strin Indicates the resolution of the document. This can contain html.
ON g
STATUS_I Inte Indicates the status ID for the document. The default is 10 (Draft).
D ger
PRIORTY_I Inte Indicates the priority ID for the document. The default is 20 (Normal).
D ger
START_DA Date Indicates the date that the document becomes active, which is also used in
TE (Stri conjunction with ExpirationDate. Leave blank to specify no start date and the
ng) document becomes active as long as the expiration date is not exceeded.
EXPIRATIO Date Indicates the date that the document expires, which is used in conjunction with
N_DATE (Stri StartDate. Leave blank to specify no expiration date.
ng)
SD_PROD Inte Indicates the product ID from CA SDM with which to associate this document.
UCT_ID ger
ASSIGNEE UUI Indicates the unique ID from CA SDM to which this document is assigned.
_ID D
SD_ASSET UUI Indicates the asset ID from CA SDM with which to associate this document.
_ID D
SD_ROOT Inte Indicates the root cause ID from CA SDM with which to associate this document.
CAUSE_ID ger
SD_PRIORI Inte Indicates the priority ID from CA SDM with which to associate this document.
TY_ID ger
SD_SEVERI Inte Indicates the severity ID from CA SDM with which to associate this document.
TY_ID ger
SD_IMPAC Inte Indicates the impact ID from CA SDM with which to associate this document.
T_ID ger
SD_URGE Inte Specifies the urgency ID from CA SDM with which to associate this document.
NCY_ID ger
AUTHOR_I UUI Identifies the unique ID of the contact who authored this document. If the author is
D D not an internal contact, you can set this filed to zero (0) and use the Author
parameter instead.
Identifies the unique ID of the contact who owns this document.

02-Aug-2016 253/403
CA Service Management - 14.1

Parameter Type Description


OWNER_I UUI
D D
SUBJECT_ UUI Indicates the unique ID of the contact who is the subject expert for this document.
EXPERT_I D
D
NOTES Strin Indicates notes for the document.
g
READ_GR Strin Indicates the dash-separated list of group ids that have read permission for this
OUP_LIST g document (for example: 1-3-4). Use A to assign permission to everyone.
WRITE_GR Strin Indicates the dash-separated list of group IDs that have write permission for this
OUP_LIST g document (for example: 1-3-4). Use A to assign permission to everyone.
INHERIT_P Bool Indicates the status of the inherit permissions flag. Set to True if you want to inherit
ERMISSIO ean permissions from the category in which the document is being created. If set to
N True, the ReadPermissions and WritePermissions parameters are ignored.
DOC_TYPE Inte Identifies the ID for the type of document that this document is to become; a regular
_ID ger document or a tree document. The default is a regular document.
HITS Inte Indicates the number of times that the document has been viewed.
ger
DOC_TEM Inte Identifies the ID for the template you want to assign to this document.
PLATE_ID ger
WF_TEMP Inte Identifies the ID for the workflow template you want to assign to this document.
LATE ger
WF_ACTIO Strin Identifies the action for the workflow you want to assign to this document. For
N g example, wf_unpublish lets the document become unpublished.
WF_COM Strin Identifies the comment for the workflow you want to assign to this document. For
MENT g example, unpublish.
WF_CONT UUI Identifies the user id for the workflow you want to assign to this document.
ACT_ID D
WF_REJEC Inte Identifies the task id for the workflow you want to assign to this document,
T_TO_ID ger matching its approval process. Task ids are stored in the CI_ACTIONS table.
CUSTOM1 Strin Indicates a custom field.
g
CUSTOM2 Strin Indicates a custom field.
g
CUSTOM3 Strin Indicates a custom field.
g
CUSTOM4 Strin Indicates a custom field.
g
CUSTOM5 Strin Indicates a custom field.
g
CUSTOMN Dou Indicates a numeric custom field.
UM1 ble
Indicates a numeric custom field.

02-Aug-2016 254/403
CA Service Management - 14.1

Parameter Type Description


CUSTOMN Dou
UM2 ble

Description

Modifies a document.

Returns

A <UDSObject> node describing the Knowledge Document modified.

deleteDocument
The following parameters apply to the deleteDocument method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
docId Integer Identifies the unique ID of the document you want to delete.

Description

Flags a document for deletion. The Knowledge Management Windows Service permanently deletes
the document.

Returns

Returns error codes only when there are individual errors. For additional information, see Error
Codes.

Use the Knowledge Management Web Services


The login process and any error codes that may display for the Knowledge Management Web
Services are the same as those found for the CA SDM Web Services. For additional information, see
Login and Error Codes.

Access the Knowledge Management Web Services


The Knowledge Management Web Services uses Apache Axis implementation of standards set forth
by the W3C. Ideally, a client on any type of platform should be able to access the services, but vendor
implementations vary. For example, Java and .NET both provide tools for generating proxy classes
from a WSDL service description. If you experience any issues using the Web Services with a different
technology, consult your platform vendor or Microsoft's knowledge base.

02-Aug-2016 255/403
CA Service Management - 14.1

addComment
The following parameters apply to the addComment method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
comment Strin Identifies the comment to add.
g
docId Inte Identifies the document ID for the comment you want to add.
ger
email Strin Indicates the email address of the person who submitted the comment. Leave blank
g if you want the email address retrieved from the database based on the user ID
parameter.
username Strin Indicates the user name of the person who submitted the comment. Leave blank if
g you want the user name retrieved from the database based on the user id
parameter.
contactId Strin Indicates the ID of the person submitting the comment. If this contact ID exists in
g the database, the associated email and user name are retrieved and placed in the
email and user name fields. If this ID does not exist, the email and user name
parameters are used instead, if supplied. Use zero (0) if you are not using this
parameter. Contact ID is UUID in string format.

Description

Adds a comment to a particular document.

Returns

A <UDSObject> node with the following<Attributes> child nodes describing the comment most
recently added:

XML Element Value Data Type Description


id Integer Identifies the unique identifier for the comment most recently
added.
DOC_ID Integer Identifies the document ID for the comment most recently added.
USER_ID Integer Identifies the ID of the person who submitted the comment.
USER_NAME String Identifies the user name of the person who submitted the
comment.
EMAIL_ADDRESS String Identifies the email address of the person who submitted the
comment.
COMMENT_TEXT String Identifies the text for the comment recently added.
COMMENT_TIMESTA Date Identifies the date and time the comment was added.
MP

02-Aug-2016 256/403
CA Service Management - 14.1

deleteComment
The following parameters apply to the deleteComment method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
commentId Integer Identifies the unique ID for the comment you want to delete.

Description

Deletes a comment.

Returns

Returns error codes only for individual errors. For additional information, see Error Codes.

rateDocument
The following parameters apply to the rateDocument method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
docId Inte Identifies the document ID to rate.
ger
rating Inte Identifies the rating to give the document (a scale of 0-4, where 0 is the worst and 4
ger is the best).
multiplier Inte Identifies the multiplier parameter. This parameter can be used to simulate many
ger ratings at once. Use the default of 1 for a single rating and any other number for
multiples.
For example, if you submit 3, it acts as if you called the method 3 times. Three
ratings with the value you supplied in the rating parameter is added to the database.
ticketPerI Strin Identifies the persistent ID of a ticket related to this Knowledge document.
d g
onTicketA Bool Identifies whether the document was accepted as a solution for the ticket.
ccept ean
solveUser Bool Identifies whether this document solved the user's problem. It signifies how the user
Problem ean responded to the question "Did this document solve your problem?" on the Solution
Survey.
isDefault Bool Indicates a default rating status. If you are setting the rating just because the user
ean viewed the document and not because he actually rated it, set this to True. This is
used for reporting reasons.

Description

Rates a particular document.

02-Aug-2016 257/403
CA Service Management - 14.1

Rates a particular document.

Returns

A <UDSObject> node with the following <Attributes> children nodes describing the rating BU_TRANS
:

XML Data Description


Element Type
Value
id Integ Identifies the unique identifier for the rating most recently added. Use this with the
er updateRating() method if you want to modify the rating at a later time.
DOC_ID Integ Identifies the document ID.
er
INDEX_ID Integ Identifies the category ID.
er
BU_RATIN Strin Identifies the rating given to the document.
G g
HIT_NO_V Integ Identifies the rating set because a user viewed the document and not actually rated
OTE er it, or vice versa.

updateRating
The following parameters apply to the updateRating method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
buID Integ Identifies the unique ID of the rating you want to modify. This ID is returned by the
er rateDocument() method.
rate Integ Identifies the new rating to apply to the document (a scale of 0 -- 4, where 0 is the
er worst and 4 is the best).

Description

Updates one of the ratings of a particular document.

Returns

A <UDSObject> node describing BU_TRANS with the updated rating attribute.

getQuestionsAsked
The following parameters apply to the getQuestionsAsked method:

02-Aug-2016 258/403
CA Service Management - 14.1

Parameter Type Description


SID String Identifies the session retrieved from logging in.
resultSize Integer Identifies the number of searched text for which you want to retrieve detailed
information.
Descendin Boolea Indicates an option available for sorting the results in descending order of the
g n ASKED_DATE.

Description

Retrieves historical Knowledge document search text.

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing EBR_LOG with the
following <Attributes> child nodes:

XML Element Value Data Type Description


id Integer Indicates the unique identifier of the question asked.
SEARCH_TEXT Integer Indicates the search text of the question asked.

getBookmarks
The following parameters apply to the getBookmarks method:

Parameter Type Description


SID Strin Identifies the session retrieved from logging in.
g
contactId Strin Identifies the unique ID of the contact for which you want to retrieve bookmarks.
g Contact ID is UUID in string format.

Description

Retrieves bookmarks for a particular contact.

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing CI_BOOKMARKS with the
following <Attributes> child nodes:

XML Element Name Type Description


DOCUMENT_ID Integer Identifies the unique ID of the document.
id Integer Identifies the bookmark ID
USER_ID String Identifies the user ID for the owner of this bookmark.
BOOKMARK_TITLE String Identifies the bookmark title from the document.

02-Aug-2016 259/403
CA Service Management - 14.1

addBookmark
The following parameters apply to the addBookmark method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
contactId Strin Identifies the unique ID of the contact for which you want to retrieve bookmarks.
g Contact ID is UUID in string format.
docId Inte Identifies the document ID you want to bookmark.
ger

Description

Adds a bookmark for a particular contact.

Returns

A <UDSObject> node describing the newly created bookmark.

deleteBookmark
The following parameters apply to the deleteBookmark method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
contactId Strin Identifies the unique ID of the contact for which you want to delete a bookmark.
g Contact ID is UUID in string format
docId Inte Identifies the document ID of the bookmark you want to remove.
ger

Description

Deletes a bookmark for a particular contact.

Returns

Returns error codes only for individual errors. For additional information, see Error Codes.

getStatuses
The following parameter applies to the getStatuses method:

Parameter Type Description


SID String Identifies the session retrieved from logging in.

Description

02-Aug-2016 260/403
CA Service Management - 14.1

Retrieves the list of statuses.

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing CI_STATUSES with the
following <Attributes> child nodes:

XML Data Description


Element Type
Values
id Integ Identifies the unique ID of the status.
er
STATUS String Identifies the name for the status.
STATUS_DE String Identifies the description for the status.
SCRIPTION
PREDEFINE Integ Indicates whether the status is predefined by the Knowledge Management
D er system, meaning that it cannot be deleted.
STATUS_OR Integ Describes the order by which the status should appear in the Workflow task list.
DER er Workflows can only be created when they follow this order.

getPriorities
The following parameter applies to the getPriorities method:

Parameter Type Description


SID String Identifies the session retrieved from logging in.

Description

Retrieves the list of priorities.

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing CI_PRIORITIES with the
following <Attributes> child nodes:

XML Element Values Data Type Description


id Integer Identifies the unique ID of the priority.
PRIORITY String Identifies the name for the priority.

getDocumentTypes
The following parameter applies to the getDocumentTypes method:

02-Aug-2016 261/403
CA Service Management - 14.1

Parameter Type Description


SID String Identifies the session retrieved from logging in.

Description

Retrieves the list of document types.

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing CI_DOC_TYPES with the
following <Attributes> child nodes:

XML Element Values Data Type Description


id Integer Identifies the unique ID of the document type.
DOC_TYPE_TXT String Identifies the name for the document type.

getTemplateList
The following parameter applies to the getTemplateList method:

Parameter Type Description


SID String Identifies the session retrieved from logging in.

Description

Retrieves the list of document templates

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing CI_DOC_TEMPLATES with
the following <Attributes> child nodes:

XML Element Type Description


Value
id Integ Identifies the unique ID of the document type.
er
TEMPLATE_NA Strin Identifies the name for the document template.
ME g
IS_PREDEFINE Integ Indicates whether the template is predefined by the Knowledge Management
D er system and cannot be deleted.
IS_DEFAULT Integ Indicates whether the template is the default that will be assigned to new
er documents.

02-Aug-2016 262/403
CA Service Management - 14.1

getWorkflowTemplateList
The following parameter applies to the getWorkflowTemplateList method:

Parameter Type Description


SID String Identifies the session retrieved from logging in.

Description

Retrieves the list of workflow templates.

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing WF_TEMPLATE with the
following <Attributes> child nodes:

XML Element Value Type Description


id Intege Identifies the unique ID of the workflow template.
r
WF_NAME String Identifies the name for the workflow template.
WF_DESCRIPTION String Identifies the description for the workflow template.
IS_DEFAULT Intege Indicates that the default template is to be assigned to new documents.
r

02-Aug-2016 263/403
CA Service Management - 14.1

getCategory Method
This article contains the following topics:
getPermissionGroups (see page 264)
getComments (see page 265)
getDecisionTrees (see page 266)
getDocument (see page 266)
getDocumentsByIDs (see page 267)
getBopsid (see page 268)
getConfigurationMode (see page 269)
getObjectValues (see page 269)
getObjectTypeInformation (see page 270)
getArtifact (see page 271)

The following parameters apply to the getCategory method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
categoryId Inte Identifies the category ID in which to create the document.
ger
getCatego Bool Indicates the path for which to get category information. It returns category
ryPaths ean information and the full text category path for each category.

Description

Retrieves information for a category, including a listing of all of its child categories.

Returns

A <UDSObjectList> node with an <UDSObject> node describing the category requested.

getPermissionGroups
The following parameters apply to the getPermissionGroups method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
groupID Integ Returns only the group with this ID. Pass zero (0) when you do not want to use this
er parameter.
Note: This groupID relates to a knowledge category, and differs from the groupID
for contacts.

02-Aug-2016 264/403
CA Service Management - 14.1

Description

Retrieves the list of Permission Groups.

Returns

A <UDSObject> node with zero or more <UDSObject> nodes describing Permission Group with the
following <Attributes> child nodes:

XML Element Value Type Description


id Integer Identifies the unique ID of the group.
GRP_LIST_KEY String Shows a list of the IDs of CA SDM groups, separated by commas.
GRP_LIST String Displays a field containing the entire group list.

getComments
The following parameters apply to the getComments method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
docIds String Identifies the document IDs for all the comments you want to retrieve.
Note: Use commas to separate, for example, "400001,400002".

Description

Gets all the comments from documents.

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing O_COMMENTS with the
following <Attributes> child nodes:

XML Element Value Data Type Description


id Integer Identifies the unique identifier for the comment most recently
added.
DOC_ID Integer Identifies the document IDs for the comment recently added.
USER_ID Integer Identifies the ID of the person who submitted the comment.
USER_NAME String Identifies the user name of the person who submitted the
comment.
EMAIL_ADDRESS String Identifies the email address of the person who submitted the
comment.
COMMENT_TEXT String Identifies the text for the comment recently added.
Date Identifies the date and time the comment was added.

02-Aug-2016 265/403
CA Service Management - 14.1

XML Element Value Data Type Description


COMMENT_TIMESTA
MP

getDecisionTrees
The following parameters apply to the getDecisionTrees method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
propertyLi Strin Identifies the comma-separated list of database fields for which you want to retrieve
st g information. The following fields are always returned, regardless of the propertyList
parameter:
id
DOC_TYPE_ID
BU_RESULT
sortBy Strin Identifies the database field that you want to use for sorting the results. The default
g is id. Multiple sort fields are not supported.
If you specify another field, id as a secondary sort always sorts the results.
descendin Bool Identifies an indicator available for sorting the results in descending order.
g ean

Description

Retrieves all Decision Trees. Decision trees are Knowledge Documents that provide users with
resolutions after answering specific questions on the document.

Returns

A <UDSObjectList> node with the following sections:

<UDSObject> nodes with requested <Attributes> nodes

getDocument
The following parameters apply to the getDocument method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
docId Inte Identifies the document ID to retrieve.
ger

02-Aug-2016 266/403
CA Service Management - 14.1

Parameter Type Description


propertyLi Strin Identifies the comma-separated list of database fields from which you want to
st g retrieve information. Leave blank to retrieve all fields.
relatedDo Bool Indicates whether to retrieve a list of documents that are related to this document.
c ean
getAttmnt Bool Indicates whether to retrieve the list of attachments and URL links for the
ean document.
getHistory Bool Indicates whether you want to retrieve the complete history for the document.
ean
getComm Bool Indicates whether you want to retrieve all comments for the document.
ent ean
getNotiLis Bool Indicates whether you want to retrieve the email notification list for the document.
t ean

Description

Retrieves information for a document.

Returns

A <UDSObject> node, as described in the <UDSObject> Node Description, with requested


<Attributes> provided by the propertList parameter.

getDocumentsByIDs
The following parameters apply to the getDocumentsByIDs method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
docIds Strin Identifies the comma-separated list of document IDs to retrieve.
g
propertyLi Strin Identifies the comma-separated list of database fields for which you want to retrieve
st g information. The following fields are always returned, regardless of the propertyList
parameter:
id
DOC_TYPE_ID
BU_RESULT
sort By Strin Identifies the database field that you want to use for sorting the results. The default
g is id, but multiple sort fields are not supported. If you specify another field, id as a
secondary sort always sorts the results.
descendin Bool Identifies an indicator available for sorting the results in descending order.
g ean

Description

Retrieves information on one or more documents by passing the document IDs for which you want to

02-Aug-2016 267/403
CA Service Management - 14.1

Retrieves information on one or more documents by passing the document IDs for which you want to
retrieve information. This is usually used after calling the faq() or search() methods. In order to
improve performance, these methods only retrieve detailed information on a user-defined set of
documents. The rest of the documents return their IDs only. For example, you can set up a paging
mechanism, where the user can click on Top, Previous, Next, and Bottom links. When you need to
retrieve the next set of information, you can use the getDocumentsByIDs() method.

Returns

A <UDSObjectList> node with the following section:

<UDSObject> nodes with requested <Attributes> nodes describing Knowledge Document

You should pass the IDs into the getDocumentsByIDs() docIds parameter in this same format.

getBopsid
The following parameters apply to the getBopsid method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
contact String Identifies the name of the user associated with the returned BOPSID.
Note: This is the system login name, not the CA SDM contact name.

Description

Facilitate the building of Web Interface URLs, which may be used to launch the Web Interface in the
context of a given user without a login challenge. The URL may look similar to the following:

http://host/CAisd/pdmweb.exe?BOPSID=nnnnn+OP=xxxx...

To launch the Web Interface in the context of a given user (for example, an analyst), a calling
application must first construct a Web Interface URL, which includes a BOPSID token (a web-interface
security token). Failure to provide a BOPSID token may result in an interactive login challenge when
attempting to launch the Web Interface in the chosen context (such as, a detail view of a given
ticket). The getBopsid method allows the BOPSID to be generated in the context of the user provided
by the Name parameter. If the Name parameter is not provided, it uses the user associated with the
current Web Interface BOPSID.

Note: To prevent unauthorized elevation of privileges, the BOPSID of the current login
must have equal or greater access rights than the name of the user entered.

Returns

A BOPSID based on the name of the user entered. You must use the BOPSID to launch the Web
Interface within 30 seconds of it being generated.

02-Aug-2016 268/403
CA Service Management - 14.1

Note: The BOPSID of the current login must have equal or greater access rights than the
name of the user entered.

getConfigurationMode
The following parameters apply to the getConfigurationMode method:

Parameter Type Description


SID Integer Identifies the SID of the current login session.

Description

This method returns a string indicating if the CA SDM installation is in the ITIL mode.

Returns

A string "itil" if the installation is in ITIL mode. Otherwise, an empty string is returned.

getObjectValues
The following parameters apply to the getObjectValues method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
objectHan Strin Identifies the handle of a CA SDM object to query.
dle g
attributes Strin Identifies the names of attributes to fetch. If this field is empty, all the attributes for
g[] the object are returned.
Note: Dot-names for attributes are only supported for SREL type attributes, and not
for LREL/BREL/QREL type attributes.

Description

This method returns the attribute values of an object. The caller passes one or more attribute names
to fetch the object and dotted-names are permitted.

All values are returned as a string. Empty/null attributes are returned as empty strings.

Returns

A <UDSObject (see page 192)> element.

02-Aug-2016 269/403
CA Service Management - 14.1

XML Element Type Description

<UDSObject> N/A Contains a <Handle> element and zero or more <AttributeNameX> elements.

getObjectTypeInformation
The following parameters apply to the getObjectTypeInformation method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
factory Strin Identifies the object type (known as factory) to query. This is the majic name of
g the object, for example:
cr = Request

Description

A list of all attribute names for a given object type, along with type information for each attribute.
Information returned for the attributes type includes the Integer, String, Date, Pointer, List, and so
on, if the attribute is required for back-storing its storage space requirements (if appropriate).

Callers should cache the type information requested per object type to avoid multiple, redundant
(and expensive) calls. The attribute information can change only after modifications are performed
on the CA SDM server and the service is recycled.

Returns

The following:

XML Element Type Description


<UDSObject> N/A Indicates the root node.
<Attributes> Sequ Indicates zero or more elements for each attribute.
ence
<attrName DataType=dataType Emp Indicates an element with a name matching an object
Size=storageSize Required= tyEle attribute name. The element has several attributes:
Boolean Factory=factoryName> men DataTypeSignifies the integer representation of the data
t type.
SizeRepresents the maximum size needed to store this
attribute in a string.
RequiredRepresents the flag status of True if this attribute
must be set for the object to back store.
FactoryRepresents the Type name of the object if the
attribute is a List, Lrel or Pointer type. It is not written
unless it is a Llist, Lrel, or Pointer type data type.

02-Aug-2016 270/403
CA Service Management - 14.1

getArtifact
The following parameters apply to the getArtifact method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
contact String Identifies the name of the user associated with the returned ARTIFACT.
Note: This is the system login name, not the contact name for CA Service Desk
Manager.
password String Identifies the password.

Description

Facilitates the building of Web Interface URLs, which may be used to launch the Web Interface in the
context of a given user without a login challenge. The URL may look similar to the following:

http://host/CAisd/pdmweb.exe?USERNAME=xxxxx+ARTIFACT=nnnnn+OP=xxxx....

To launch the Web Interface in the context of a given user (for example, an analyst), a calling
application must first construct a Web Interface URL, which includes an CA EEM ARTIFACT token (a
web-interface security token). Failure to provide a CA EEM ARTIFACT token may result in an
interactive login challenge when attempting to launch the Web Interface in the chosen context (such
as, a detail view of a given ticket). The getArtifact method allows the CA EEM ARTIFACT to be
generated in the context of the user provided by the contact parameter.

Note: Service Desk needs to be integrated with CA EEM to perform this operation.

Returns

An CA EEM ARTIFACT based on the name of the user entered. You can use the ARTIFACT to launch
the Web Interface only once.

02-Aug-2016 271/403
CA Service Management - 14.1

LREL Methods
This article contains the following topics:
getLrelLength (see page 273)
getLrelValues (see page 273)
createLrelRelationships (see page 274)
removeLrelRelationships (see page 275)

LREL methods supply information about object relationships. Objects with relationships have a left-
hand side (lhs) and right-hand side (rhs) definition to describe many-to-many relationships. Some
examples of many-to-many relationships include the following:

Issues and configuration items

Contacts and configuration items

Task types and status codes

When working with LREL methods, the BREL or LREL attribute describe many-to-many relationships.
The BREL attribute replaces the LREL attribute to define many-to-many relationships. However, the
LREL attribute remains backward compatible with previous releases. You declare each relationship in
a .maj file and then your code uses the LREL methods, such as CreateLrelRelationship(), with the
existing web service client code.

Note: When working with group object management, you can use the special web methods
to define a member that belongs to a group.

You declare the relationship using the BREL attribute to define relationships in majic files. For
example, the following statement declares a many-to-many relationship for the Change Order (chg)
object in change.maj:

asset BREL lrel_asset_chgnr chg {LREL nr;};

The BREL attribute for the change order named, "asset" is a list of all associated configuration items.
The optional, LREL flag is an attribute that describes a set of owned resources. The corresponding
majic definition of the Configuration Item (nr) includes the following:

chgnr BREL lrel_asset_chgnr nr {LREL chg;};

The chgnr attribute is a list of all change orders for a configuration item.

In your code, you can discover how many configuration items are associated with a change order, call
getLrelLength() with the following parameters:

getLrelLength(sid, ChangeHandle, "asset")

You use the sid parameter for the Service ID from a login method. The ChangeHandle parameter is a

02-Aug-2016 272/403
CA Service Management - 14.1

You use the sid parameter for the Service ID from a login method. The ChangeHandle parameter is a
string handle to a particular change order. Similarly, the following statement describes how to get the
names of all configuration items that are related to a change order:

String attrs[] = {"name"};


getLrelValues(sid, ChangeHandle, "asset", 0, -1, attrs);

The getLrelValues() method provides the relationships in the attrs array.

Note: For more information about LREL tables and objects, see the Data Element
Dictionary and Objects and Attributes.

getLrelLength
The following parameters apply to the getLrelLength method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
contextObject String Identifies the object on one side of the LREL.
LrelName String Identifies the LrelName. Use the name.

Description

Returns the number of objects on one side of a many-to-many relationship:

contextObject
Specifies it as a handle to an object on one side of the LREL relationship.

LrelName
Specifies it as the name of the side of the relationship identified by ObjHandle.

Returns

The following:

XML Element Type Description


<Length> Integer Specifies the number of objects.

getLrelValues
The following parameters apply to the getLrelValues method:

02-Aug-2016 273/403
CA Service Management - 14.1

Parameter Type Description

SID Intege Identifies the session retrieved from logging in.


r
contextObj String Identifies the object on one side of the LREL.
ect
LrelName String Identifies the Lrel Name. Use the name.
startIndex Intege Identifies the position in the list from which to begin fetching.
r
endIndex Intege Identifies the Last list position from which to fetch. Specify -1 to fetch all rows
r from startIndex.
attributes String Identifies an array of one or more attribute names for which to fetch values.
[]

Description

Returns attribute values for a range of objects in an LREL relationship. Remember that items involved
in an LREL relationship have no specific ordering. In fact, it is not really a list, as defined in this
document.

The start and end index parameters are there to help throttle a large number of items. The format is
as follows:

< UDSObjectList >


<UDSObject>
<Handle>
<AttributeName0>
<AttributeName1>

Returns

This method has the following returns:

XML Element Type Description


<UDSObjectList> Array Specifies the outer element, which contains a sequence of
<UDSObject> elements.
<UDSObject (see page 192Sequen Contains a <Handle> element and zero or more <AttributeNameX>
192)> ce elements.

createLrelRelationships
The following parameters apply to the createLrelRelationships method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.

02-Aug-2016 274/403
CA Service Management - 14.1

Parameter Type Description


contextObject String Identifies the object on one side of the LREL.
LrelName String Identifies the Lrel Name as seen by contextObject.
addObectHandl String Identifies the handles of objects for the other side of the LREL relationships.
es []

Description

Adds one or more many-to-many relationships. contextObject is one side of the LREL relation. The
caller passes one or more object handles for the other side.

If a relationship already exists between the two objects, no change is made and the system continues
to process the addObjectHandles array. If an invalid object handle is passed, the entire operation is
canceled.

The following example shows how to add several assets to a contacts environment:

createLrelRelationships(sid, ContactHandle, "cenv",


["nr:655A043EDDB36D4F97524F2496B35E75", "nr:755A043EDDB36D4F97524F2496B35E75"])

ContactHandle is a string handle to a contact, and


"nr:655A043EDDB36D4F97524F2496B35E75" and
"nr:755A043EDDB36D4F97524F2496B35E75" are Asset handles.

Returns

Nothing.

removeLrelRelationships
The following parameters apply to the removeLrelRelationships method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
contextObject String Identifies the object on one side of the LREL.
LrelName String Identifies the Lrel Name (as seen by contextObject).
removeObjectHa String Identifies the handles of objects to remove from the other side of the LREL
ndles [] relationships.

Description

Removes one or more many-to-many relationships. contextObject is one side of the LREL
relationship. The caller passes one or more object handles for the other side.

It is not an error if no relationship existed between the two objects. If an invalid object handle is
passed, the entire operation is canceled.

02-Aug-2016 275/403
CA Service Management - 14.1

For a usage example, see createLrelRelationships() in this chapter.

Returns

Nothing.

02-Aug-2016 276/403
CA Service Management - 14.1

dbmonitor_nxd--Database Monitoring
Daemon
The Database Monitoring daemon (dbmonitor_nxd) provides a mechanism to allow CA SDM cache of
specific database tables to be refreshed when changes are made externally from CA SDM.

The main function of dbmonitor_nxd is to generate CHANGE notifications for changes in specified
tables that did not occur through CA SDM. In order to perform this function, the monitor periodically
queries the database, determines what was changed externally and then sends CHANGE notifications
to the bpvirtdb_nxd server. The bpvirtdb_nxd server notifies all domsrvr servers of the change, which
causes each domsrvr to update its cache of specific database objects and then notify all other
processes that subscribe for changes in the specified tables.

This mechanism works well for the occasional external change in tables that are monitored. However,
in cases where mass updates are made externally a storm of CHANGE notifications are broadcast
which leads to many database queries from various CA SDM processes which significantly impacts CA
SDM's performance.

In order to eliminate this impact on CA SDM performance, dbmonitor_nxd has been updated for this
release of the product. The Monitor supports a command line interface that allows the user to start
and stop the monitoring of specified tables.

Syntax

This command has the following format:

dbmonitor_nxd -c <command> -t <tables>

<command>
Enter start or stop.

<tables>
Specifies a table name or a comma delimited list of table names that must match one or more of
the tables specified in the NX_DBMONITOR_TABLES environment variable.

Each request is sent to the dbmonitor_nxd daemon. The daemon takes the appropriate action and
returns a message to the user indicating the action taken.

If a start request is invoked for a table that is already started, no action is taken.

If a stop request is made for a table that is already stopped, no action is taken.

If monitoring is successfully stopped or started for a table, a log message is also written to stdlog.

Note: When the Monitor is paused for a table, all CA SDM processes that cache data from
these tables may become out of date and no provision is made to update this cache.

02-Aug-2016 277/403
CA Service Management - 14.1

For example, BOPLGIN caches Contact records (from the ca_contact and usp_contact tables) and this
cache would not be updated if the Monitor was paused for the ca_contact table during the time
external updates were loaded into the database. In the BOPLGIN case this will have little
consequence because the essential Contact attributes cached in BOPLGIN are taken from the
usp_contact table and not the ca_contact table.

Note: When the Monitor is paused for a table, Web Users will not be able to see changes in
the table while viewing a detail form that were made externally while the Monitor was
paused.

02-Aug-2016 278/403
CA Service Management - 14.1

List/Query Methods
This article contains the following topics:
doSelect (see page 279)
doQuery (see page 281)
getListValues (see page 282)
freeListHandles (see page 283)
getRelatedList (see page 283)
getRelatedListValues (see page 284)
getPendingChangeTaskListForContact (see page 285)
getPendingIssueTaskListForContact (see page 285)
getNotificationsForContact (see page 286)

Two paradigms are available for working with lists. One paradigm uses a list handle for referring to
and making queries on a server-side list and the other simply performs a SQL-like select.

If you need to maintain reference to a static list, use the methods that return list handles. These
methods are especially useful when working with very large lists. For example, your application may
need to perform operations using the entire table of 10,000 Contacts. Downloading values for all
10,000 at once could result in an unacceptable performance lag (this condition is actually prevented
by the system -- see Where Clauses). With a list handle, however, you can select a range of rows
upon which to query.

The primary drawback to using a list handle is the extra method calls it requires. At least two or three
calls are necessary, as indicated by the following:

One to get the handle

A second (or third) to retrieve values

A final call to free the list

You need to balance the amount of remote method calls versus the expected amount of data
returned.

Note: CA SDM restricts the amount of data that can be returned from any one list. For
more information, see Where Clauses.

doSelect
The following parameters apply to the doSelect method:

02-Aug-2016 279/403
CA Service Management - 14.1

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
objectTyp Strin Identifies the object type (factory) to query.
e g
whereClau Strin (Optional) Identifies the where clause for the query.
se g
maxRows Inte Indicates the maximum number of rows to return. Specify -1 to return all rows.
ger Note: Regardless of the integer specified, CA SDM will return a maximum of 250
rows per call.
attributes Strin Identifies the attribute list for which to fetch values. Dotted-attributes are
g[] permitted. If this field is blank, all value-based attributes are returned. These
attributes cannot be defined as LOCAL in the majic definition file. LOCAL attributes
are temporal; they have no database storage.

Description

Performs an SQL-like select on a specified object table. Supply one or more attributes you want
fetched from the objects that match the supplied where clause.

Returns

A sequence of <UDSObject> elements. The following format applies:

<UDSObjectList>
<UDSObject>
<Handle>
<Attributes>
<AttributeNameA>
<AttributeValueA0>
<AttributeValueA1>
<AttributeNameB>
<AttributeValueB0>
...

XML Element Type Description


<UDSObject (see N/A Specifies the standard UDSObject element containing the handle and
page 192)> requested attribute values.
<UDSObjectList> Seque Contains a <Handle> element and an <Attributes> sequence.
nce

For example, if the method used is the following:

String[] myArray = ["last_name", "first_name"]


doSelect(mySID, "cnt", "last_name LIKE 'J%'", 2, myArray)

The return could be the following:

02-Aug-2016 280/403
CA Service Management - 14.1

<UDSObjectList>
<UDSObject>
<Handle>cnt:555A043EDDB36D4F97524F2496B35E75</Handle>
<Attributes>
<AttributeName>last_name</AttributeName>
<AttributeValue>Johnson</AttributeValue>
<AttributeName>first_name</AttributeName>
<AttributeValue>Carol</AttributeValue>
</Attributes>
</UDSObject>
<UDSObject>
<Handle>cnt:555A043EDDB36D4F97524F2496B35E76</Handle>
<Attributes>
<AttributeName>last_name</AttributeName>
<AttributeValue>Jones</AttributeValue>
<AttributeName>first_name</AttributeName>
<AttributeValue>Ron</AttributeValue>
</Attributes>
</UDSObject>
</UDSObjectList>

doQuery
The following parameters apply to the doQuery method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
ObjectType String Identifies the object type (factory) to query.
WhereClause String (Optional) Identifies the where clause for the query.

Description

Performs an SQL-like select for the specified object type. It also returns a list handle that points to a
list of the rows returned from the query, where each row represents a CA SDM object that matched
the supplied where clause. The caller can fetch values for the list rows using getListValues ().

Note: For more information about where clauses, see Where Clauses.

Important! The object list is stored on the CA SDM server and consumes system resources.
The caller is responsible for freeing the list with freeListHandles(). Leaving a list in memory
may increase memory for the process beyond the 2GB limit, resulting in memory leaks and
can cause system failure.

Lists created with this function are homogenous, meaning the objects are all the same type, and they

02-Aug-2016 281/403
CA Service Management - 14.1

Lists created with this function are homogenous, meaning the objects are all the same type, and they
are static, meaning the list never changes even if a data change to an object excludes it from the
initial where clause.

Returns

A list handle that must be freed with freeListHandle().

XML Element Type Description


<listHandle> Integer Identifies the list handle.
<listLength> Integer Identifies the length of the list generated.

getListValues
The following parameters apply to the getListValues method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
ListHandle Integ Identifies the list handle obtained with a previous call.
er
StartIndex Integ Identifies the position in the list from which to begin fetching.
er
EndIndex Integ Identifies the last list position from which to fetch. Specify -1 to fetch all rows
er from StartIndex.
Note: Regardless of the integer specified, Web Services will return a maximum of
250 rows per call.
AttributeNa String Identifies an array of one or more attribute names for which you want to fetch
mes [] values.

Description

Returns attribute values for a range of objects in a list. For example:

< UDSObjectList >


<UDSObject>
<Handle>
<Attributes>
<AttributeName0>
<AttributeName1>

Returns

This method has the following returns:

02-Aug-2016 282/403
CA Service Management - 14.1

XML Element Type Description


<UDSObjectList> Sequen Identifies the outer Element, which contains a sequence of
ce <UDSObject> elements.
<UDSObject (see page 192N/A Contains a <Handle> element and <Attributes> sequence.
192)>

freeListHandles
The following parameters apply to the freeListHandles method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
Handles Integer[] Identifies an array of list handles to free.

Description

Frees the server-side resources for a list and invalidates the list handles. This method should be called
whenever a list reference is no longer needed.

Returns

Nothing.

getRelatedList
The following parameters apply to the getRelatedList method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
ObjectHandle String Identifies the object handle.
ListName String Identifies a list-type attribute name of the object.

Description

Returns a list handle for list (QREL or BREL) attribute of an object. For example, the request object
has a related list named children, which is a list of its child requests. The Requests Activity Log
(act_log or act_log_all) is another example.

To retrieve information about an objects list attributes, refer to the object schema (majic)
documentation or use getObjectTypeInformation().

Returns

The following:

02-Aug-2016 283/403
CA Service Management - 14.1

The following:

XML Element Type Description


<listHandle> Integer Identifies the list handle.
<listLength> Integer Identifies the length of the list generated.

getRelatedListValues
The following parameters apply to the getRelatedListValues method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
objectHandle String Identifies the object handle.
listName String Identifies a list-type attribute name for the object.
numToFetch Integer Signifies the maximum number of rows to return.
Cannot be zero
Specify -1 to return all rows
Note: Regardless of the integer specified, Web Services can return a
maximum of 250 rows per call.
attributes String[] Identifies an array of one or more attribute names for which to fetch
values. Dotted names are permitted.
getRelatedListVal String Identifies the String Holder object for capturing returned data.
uesResult Holder
numRowsFound Integer Identifies the Integer Holder object for capturing returned data.
Holder

Description

Returns values for lists related to a specific object. The lists must be defined as a QREL or BREL. Use
the LREL methods to query LREL types.

For example, the request object has a related list named children, that is a list of its child requests.
This method is a list handle-free alternative to getRelatedList(). The return format is similar to
getListValues(), as indicated by the following:

<numRowsFound>
< UDSObjectList >
<UDSObject>
<Handle>
<AttributeName0>
<AttributeName1>

You can retrieve information for object list attributes using object schema (majic). An alternative
method is to use getObjectTypeInformation().

Returns

02-Aug-2016 284/403
CA Service Management - 14.1

Returns

This method has the following returns:

XML Type Description


Element
<getRelate N/A Identifies the outer element, <UDSObjectList>, that contains a sequence of
dListValue <UDSObject> elements. Each <UDSObject (see page 192)> element contains a
sResult> <Handle> element and zero or more <AttributeNameX> elements.
<numRow Inte Indicates the total number of rows in the queried list.
sFound> ger Note: The total number of rows is not necessarily the number of rows returned.

getPendingChangeTaskListForContact
The following parameters apply to the getPendingChangeTaskListForContact method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
contactHandle String Identifies the contact handle.

Description

Returns a list handle representing all the pending change order workflow tasks assigned to a
contact. A pending task is an active workflow task with a status that permits task updates.

Returns

The following:

XML Element Type Description


<listHandle> Integer Identifies the list handle.
<listLength> Integer Identifies the length of the list generated.

getPendingIssueTaskListForContact
The following parameters apply to the getPendingIssueTaskListForContact method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
contactHandle String Identifies the contact handle.

Description

02-Aug-2016 285/403
CA Service Management - 14.1

Description

Returns a list handle representing all the pending Issue tasks assigned to a contact. A pending
task is an active task with a status that permits task updates.

Returns

The following:

XML Element Type Description


<listHandle> Integer Identifies the list handle.
<listLength> Integer Identifies the length of list generated.

getNotificationsForContact
The following parameters apply to the getNotificationsForContact method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
contactHandle String Identifies the contact handle.
queryStatus Integer (Optional) Identifies the target of the notifications.

Description

Returns a list of notifications (lr objects) for a contact.

You can query on a specific status for the notifications with the queryStatus field, which is useful for
returning, for example, only non-cleared messages. The possible queryStatus values are as follows:

-1 -- Fetch all notifications

0 -- Fetch non-cleared notifications (those with a status value of less than 7)

1 -- Fetch cleared notifications (those with a status value of 7, 8 or 9)

Returns

The following:

XML Element Type Description


<listHandle> Integer Identifies the list handle.
<listLength> Integer Identifies the length of the list generated.

02-Aug-2016 286/403
CA Service Management - 14.1

Asset Management Methods


This article contains the following topics:
createAsset (see page 287)
getAssetExtensionInformation (see page 289)
addAssetLog (see page 289)
createAssetParentChildRelationship (see page 290)

It is possible for a client site to enhance the asset object using extensions. Asset extensions are
separate tables that hold extra attribute information for an asset. The extension table is linked to a
particular asset by using the asset ID as a foreign key. CA SDM Web Services ships two predefined
extensions, Computer and Software. For more information, read the text executed by the following
command:

/bopcfg/majic/assetx.maj

The assets family attribute determines if the asset has an extension. Setting the Class attribute
generally sets the family at asset creation time. To determine if an asset has an extension, query the
extension_name attribute of the assets family (for example, family.extension_name).

To retrieve values from an extension object, query it like any other object by using the following
method:

getObjectValues()

To get the handle for a particular extension object, use the following method:

getAssetExtensionInformation()

Update an extension object like you would any other object by using the following method:

updateObject()

We do not recommend that you create your own extension objects. One is created for you, if
needed, when createAsset() is called. Because of this automatic creation, we recommend that you
only use createAsset() to create asset objects.

Note: If you are using the ITIL methodology, remember that Asset and Configuration Item
are interchangeable in this context.

createAsset
The following parameters apply to the createAsset method:

02-Aug-2016 287/403
CA Service Management - 14.1

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
attrVals String Identifies the array of name-value pairs used to set the initial attribute
values for the new asset.
attributes String Identifies the String Holder object for caputring returned data.
Holder
createAssetRe String Identifies the name for the new assets extension. If no extension was
sult created, this field is empty.
newAssetHand String Identifies the String Holder object for capturing returned data.
le Holder
newExtension String Identifies the String Holder object for capturing returned data.
Handle Holder
newExtension String Identifies the String Holder object for capturing returned data.
Name Holder

Description

Describes the recommend method for creating an asset. If you intend to create an asset with an
extension, be sure to set the Asset Class attribute in the attrVals section.

Note: If you are using the ITIL methodology, use this method to create a Configuration
Item.

Returns

A <UDSObject> element containing the handle for the new object, with attribute values specified in
the attributes parameter. If the attributes parameter is empty, all attribute values are returned (see
page 192). List and LREL types are also returned, but as empty elements.

XML Element Type Description


<createAssetRes N/A Identifies the standard <UDSObject> element containing the handle and
ult> requested attribute values.
<newAssetHandl Strin Identifies the new requests handle.
e> g
<newExtensionH Strin Identifies the handle for the new Assets extension. If no extension was
andle> g created, this field is empty.
<newExtensionN Strin Identifies the name for the new assets extension. If no extension was
ame> g created, this field is empty.

02-Aug-2016 288/403
CA Service Management - 14.1

getAssetExtensionInformation
The following parameters apply to the getAssetExtensionInformation method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
assetHand String Identifies the asset to query.
le
attributes String Identifies the standard array of attributes from the asset extension object from
[] which to request values. If this value is empty, all attributes are returned.
getAssetEx String Identifies the String Holder object for capturing returned data.
tInfoResul Holder
t
extension String Identifies the String Holder object for capturing returned data.
Handle Holder
extension String Identifies the String Holder object for capturing returned data.
Name Holder

Description

Returns extension information for an asset. If the asset does not have an extension, nothing is
returned.

An asset has an extension if a value exists for its family.extension_name property. This property is
empty if the asset does not have an extension.

Returns

The following elements return (see page 192)with empty values when the asset does not have an
extension:

XML Element Type Description


<getAssetExtInfoResult> String Identifies all the attribute values for the extension.
<extensionHandle> String Identifies the extensions handle.
<extensionName> String Identifies the name for the assets extension.

addAssetLog
The following parameters apply to the addAssetLog method:

02-Aug-2016 289/403
CA Service Management - 14.1

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
assetHandle String Identifies the asset handle.
contactHandle String (Required) Identifies the handle of the contact used for the logs author.
logText String Identifies the text for the new asset log.

Description

Adds a new log entry for an asset. The logs author is the user associated with the SID.

Returns

Nothing.

createAssetParentChildRelationship
The following parameters apply to the createAssetParentChildRelationship method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
parentHandle String Identifies the asset handle for the parent.
childHandle String Identifies the asset handle for the child.

Description

Makes assetParent a parent of assetHandle. Web Services creates a separate object (the hier object,
which is the Assignment table) for parent-child relationships between assets. These are stored in
related lists, child_hier and parent_hier, in the Asset (nr) object.

Returns

Handle of the new hier (Assignment) object.

02-Aug-2016 290/403
CA Service Management - 14.1

Web Services Business Methods


This article contains the following topics:
createIssue (see page 291)
createRequest (see page 292)
createChangeOrder (see page 294)
createActivityLog (see page 295)
transfer (see page 296)
escalate (see page 297)
changeStatus (see page 298)
getPropertyInfoForCategory (see page 299)
logComment (see page 300)

This section describes the Web Services Business methods.

createIssue
The following parameters apply to the createIssue method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
creatorHa String Identifies the handle of the contact responsible for the creation of the issue (the
ndle log agent). Pass an empty string to specify the default CA SDM user.
attrVals String Identifies the array of name-value pairs that is used to set the initial attribute
[] values for the new issue.
Note: Dotted names are not permitted.
propertyV String (Optional) Identifies the array of values for any properties that are attached to the
alues [] new issue.
template String (Optional) Identifies the handle of an issue template (iss_tpl object) from which to
create the issue.
attributes String Identifies the sequence of attribute names from the new object for which to return
[] values. Dot-notation is permitted. If this field is empty, all attribute values are
returned.
newIssue String Identifies the String Holder object for capturing returned data. See the XML
Handle Holde Element Return list below for details.
r
newIssue String Identifies the String Holder object for capturing returned data. See the XML
Number Holde Element Return list below for details.
r

Description

02-Aug-2016 291/403
CA Service Management - 14.1

Creates a CA SDM Issue (iss) object. For more information about creating an Issue object with
properties, see createRequest().

Note: You must use this function to create a Issue; do not use createObject().

Returns

Returns the new object handle, along with all of its attribute values. List and LREL types are also
returned, but as empty elements.

XML Element Type Description


<UDSObject> N/A Identifies the standard UDSObject element containing the handle and
requested attribute values.
<newIssueHan Strin Identifies the new issues handle.
dle> g
<newIssueNum Strin Identifies the new issues number (its ref_num attribute).
ber> g

createRequest
The following parameters apply to the createRequest method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
creatorHa String Identifies the handle of the contact responsible for the creation of the request
ndle (the log agent). Pass an empty string to specify the default CA SDM user.
attrVals String Identifies an array of name-value pairs that is used to set the initial attribute
[] values for the new request.
Note: Dotted names are not permitted.
propertyV String Identifies the array of values for any properties that are attached to the new
alues [] request.
template String (Optional) Identifies the handle of the request template (cr_tpl) from which to
create the request.
attributes String Specifies the sequence of attribute names from the new object for which to return
[] values.
Dot-notation is permitted. If this field is empty, all value-based attribute values are
returned.
newReque String Specifies the String Holder object for capturing returned data. See the XML
stHandle Holder Element Return list below for details.

02-Aug-2016 292/403
CA Service Management - 14.1

Parameter Type Description


newReque String Specifies the String Holder object for capturing returned data. See the XML
stNumber Holder Element Return list below for details.

Description

Creates a CA SDM Request (cr) object. You must use this function to create a Request; do not use
createObject().

propertyValues is a list of values for each Property object that will be attached to the new Request.
The Properties that are attached are determined by the new Requests category attribute value. All
properties created from the CA SDM Web Services interface will have a default value (for more
information, see Categories and Properties), which is important because a Request will not save until
all of its Properties marked required have a value.

You may override the default by supplying values for any properties that will be attached when the
Request is created. You must supply this information before the Request is created, since
createRequest() attempts to back-store the object you most recently create. Use
getPropertyInfoForCategory() to get a list of properties for a specific Category. This function returns
the properties in order of their sequence attribute, which is the expected order of the
propertyValues array. For example, if the sequences and symbols of the properties are as follows:

100 - Hard Drive Size


200 - CPU
300 - Memory

The propertyValues array, depending on the programming language, may appear as follows:

["40 GB", "Pentium 4 1.7 Ghz", "256"]

getPropertyInfoForCategory() indicates which Properties are marked required.

If you do not set the Request category or do not want to set any Property values, pass an empty
string for propertyValues.

If you do not want to rely on the default property values, the following is the suggested order for
creating a new Request (or Issue or Change Order):

1. Retrieve a list of Categories/Areas. The object name for Request Area is pcat.

2. Call getPropertyInfoForCategory() and examine the list of properties for the category of the
new Request/Issue/Change.

3. Create a value array for each of the properties returned. This is identified by the
propertyValues parameter for the create operation.

4. Assemble the attrVals array and call the create method.

As an alternative to the previous procedure, you can retrieve the list of properties using
getRelatedListValues() after createRequest() returns. Properties are stored in the properties list for a
Request.

Depending upon the application, it may be faster to at least cache the list of Categories, since this

02-Aug-2016 293/403
CA Service Management - 14.1

Depending upon the application, it may be faster to at least cache the list of Categories, since this
data does not change often at many client sites.

Note: By default, this method creates a Request. If you are using the ITIL methodology, you
need to set the type attribute in the attrVals array to define whether you are creating an
Incident or a Problem ticket. For more information about ITIL procedures, see ITIL
Methodology (https://docops.ca.com/display/CASM1401/ITIL+Methodology).

Returns

Returns the new objects handle with all of its attribute values. List and LREL types are also returned,
but as empty elements.

XML Element Type Description


<UDSObject (see page N/A Identifies the standard UDSObject element containing the handle and
192)> requested attribute values.
<newRequestHandle> Strin Identifies the new request handle.
g
<newRequestNumber> Strin Identifies the new requests number (its ref_num attribute).
g

createChangeOrder
The following parameters apply to the createChangeOrder method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
creatorHa String Identifies the handle of the contact responsible for the creation of the change
ndle order (the log agent). Pass an empty string to specify the default CA SDM user.
attrVals String Identifies an array of name-value pairs that is used to set the initial attribute
[] values for the change order.
Note: Dotted names are not permitted.
propertyV String (Optional) Identifies the array of values for any properties that are attached to the
alues [] new change order.
template String (Optional) Identifies the handle of the change template (chg_tpl object) from
which to create the change order.
attributes String Specifies the sequence of attribute names from the new object for which to return
[] values.
Dot-notation is permitted. If this field is empty, all value-based attribute values are
returned.

02-Aug-2016 294/403
CA Service Management - 14.1

Parameter Type Description


newChang String Specifies the String Holder object for capturing returned data.
eHandle Holde
r
newChang String Specifies the String Holder object for capturing returned data.
eNumber Holde
r

Description

Creates a CA SDM Change Order (chg) object. You must use this function to create a change order
(see page 292); do not use createObject().

Returns

The new object handle with all of its attribute values. List and LREL types are also returned (see page
192), but as empty elements.

XML Element Type Description


<UDSObject> N/A Identifies the standard UDSObject element containing the handle and request
attribute values.
<newChangeHan Strin Identifies the new change order handle.
dle> g
<newChangeNu Strin Identifies the new change order number (its chg_ref_num attribute).
mber> g

createActivityLog
The following parameters apply to the createActivityLog method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
creator String Identifies the handle of the contact responsible for the activity.
objectHan String Identifies the handle for a request, issue, or change order. Any other object type is
dle rejected.
descriptio String Identifies the description for the activity, which will appear in the activity log.
n
LogType String Identifies the type of log to create -- see the following Description.
TimeSpent Integ Sets the Time Spent field for the activity log, which is the duration of the activity.
er Pass zero for the default.
Internal Boole Identifies the values that apply:
an True = Internal-only activity
False = Non-internal activity that can be viewed by everyone.

02-Aug-2016 295/403
CA Service Management - 14.1

Description

Creates an activity log for a specified request, issue or change order. This method corresponds to,
Activities - Log Comment/Research/Callback on a Change/Request/Issue detail in the CA SDM
interface. LogType is the code attribute for the activity type of the new log. The most common codes
are as follows:

CB (Callback)

RS (Research)

LOG (Log Comment)

The CA SDM Administrative Client also shows the code values. To access the code values, select from
the Main Menu Administration, then select Notification, Activity Notifications.

Returns

The handle to the activity log object created.

XML Element Type Description


<LogHandle> String Identifies the handle for the new activity log.

transfer
The following parameters apply to the transfer method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
creator String Identifies the handle of the contact responsible for the activity.
objectHandle String Identifies the handle for a request, issue, or change order. Any other object
type is rejected.
description String Identifies the description for the activity, which will appear in the activity
log.
setAssignee Boole Used to update the assignee field with the value in newAssignee, if the
an value is true.
newAssigneeHan String Identifies the new assignee for the object.
dle
setGroup Boole Updates the group field, if true.
an
newGroupHandle String Identifies the new group for the object.
setOrganization Boole Update the organization, if the value is true.
an

02-Aug-2016 296/403
CA Service Management - 14.1

Parameter Type Description


newOrgnizationH String (Issues and Change Orders only) Identifies the new organization for the
andle object.

Description

Performs a transfer activity on an Issue, Request or Change Order. This method corresponds to the
Activities -- Transfer command in the CA SDM interface. This method generates an activity log and
optionally sets a new assignee, group, or organization.

The assignee, group or organization is not updated unless one or more of the corresponding
setAssignee/setGroup/setOrganization parameters is set to true.

If the companion parameter is false, then transfer will not attempt to update the field, even if a value
is passed for that field. For example, if setAssignee is passed as false, transfer will not update the
assignee even if newAssignee specifies a value. If the setXXXX parameter is true, then the field is
updated. Pass the empty string to set a field to empty/null.

Returns

One or more handles to the activity log objects created. The returns are under a parent element
named <Logs>.

XML Type Description


Element
<LogHandle> Strin Identifies the handle for the new activity log (zero or more of these can be
g returned).

escalate
The following parameters apply to the escalate method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
creator String Identifies the handle of the contact responsible for the activity.
objectHandle String Identifies the handle for a request, issue, or change order. Any other object
type is rejected.
description String Identifies the description for the activity, which will appear in the activity
log.
setAssignee Boole Updates the assignee field, if true.
an
newAssigneeHan String Identifies the handle of the new assignee for the object.
dle
setGroup Updates the group field with the value in newGroupHandle, if true.

02-Aug-2016 297/403
CA Service Management - 14.1

Parameter Type Description


Boole
an
newGroupHandl String Identifies the handle of the new group for the object.
e
setOrganization Boole Sets the organization field with the value specified in the
an newOrganizationHandle, if true.
newOrgnizationH String (Issues and Change Orders only) Identifies the handle of the new
andle organization for the object.
setPriorityHandle Boole Updates the priority field with the value specified in newPriority, if true.
an
newPriority String Identifies the handle of the new priority for the object.

Description

Performs an escalate activity on an Issue, Request or Change Order. This method generates an
activity log and optionally sets a new assignee, group, priority and/or organization.

It corresponds to the Activities -- Escalate command in the CA SDM interface.

The assignee, group, or organization is not updated unless one or more of the corresponding
setAssignee/setGroup/setOrganization parameters is set to true. If the companion parameter is false,
then escalate will not attempt to update the field, even if a value is passed for that field. For example,
if setAssignee is passed as false, escalate will not update the assignee even if newAssignee specifies a
value. If the setXXXX parameter is true, then the field is updated. Pass the empty string to set a field
to empty/null.

Note: Organization is not used for Requests.

Returns

One or more handles to the activity log objects created.

XML Type Description


Element
<LogHandle> Strin Identifies the handle for the new activity log (zero or more of these can be
g returned).

changeStatus
The following parameters apply to the changeStatus method:

02-Aug-2016 298/403
CA Service Management - 14.1

Parameter Type Description

SID Integ Identifies the session retrieved from logging in.


er
creator String Identifies the handle of the contact responsible for the activity.
objectHandle String Identifies the handle for a request, issue, or change order. Any other object
type is rejected.
description String Identifies the description for the activity, which will appear in the activity log.
newStatusHa String Identifies the handle of the status for the object.
ndle

Description

Performs a status change activity on an issue, request, or change order. This method generates an
activity log and optionally sets the status value. It corresponds to the Activites -- Update Status
command in the CA SDM interface.

Returns

The handle to the activity log object created.

XML Type Description


Element
<LogHandle> Strin Identifies the handle for the new activity log (zero or more of these can be
g returned).

getPropertyInfoForCategory
The following parameters apply to the getPropertyInfoForCategory method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
categoryH Strin Identifies a category handle.
andle g
attributes Strin Identifies the names of one or more attributes from the property template object
g[] for which to fetch values. If this is empty, all value-based attributes are fetched.

Description

Information about Properties for the specified category. This method is used to help pre-populate
Request/Issue/Change Order properties on insert operations with user-defined data.

02-Aug-2016 299/403
CA Service Management - 14.1

Depending on the category, this method queries either the prptpl or the cr_prptpl object types.
Both types are nearly identical. The suggested attributes to fetch are sequence, label, description
and required.

Returns

A <UDSObject> element containing a sequence of <UDSObject> elements, in the order of the


sequence attribute.

logComment
The following parameters apply to the logComment method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
ticketHand String Identifies the handle of the ticket where the activity log should be added.
le
Comment String Identifies the comment text.
internal_fl String Identifies the internal flag. Set to True if the new activity log should be marked as
ag internal.

Description

Attaches a Log Comment activity log to a ticket. It is a simplified version of createActivityLog().

Returns

Nothing.

02-Aug-2016 300/403
CA Service Management - 14.1

notifyContacts Method
This article contains the following topics:
clearNotification (see page 301)

The following parameters apply to the notifyContacts method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
creator Strin Identifies the handle of the contact responsible for the activity.
g
contextOb Strin Identifies the handle for a request, issue, or change order. The following applies:
ject g It is the context for the notification. Any other object type is rejected.
An activity log is added to the object to record the notification.
messageTi Strin Identifies the title of the notification message.
tle g
messageB Strin Identifies the body of the notification message.
ody g
notifyLeve Integ Indicates the notification level. Specify an integer from 1 (Low) to 4 (Emergency).
l er
notifyees Strin Identifies the array of contact handles to notify.
g[]
Internal Bool Indicates internal-only notification. Set to True to flag for an internal-only
ean notification, which guarantees that the message is sent only to those who can view
internal logs, and the resulting activity log is flagged as internal.

Description

Sends a notification to one or more contacts. This is equivalent to the Manual Notify activity on
requests, issues, and change orders.

Returns

The following is returned:

XML Element Type Description


<LogHandle> String Identifies the handle for new activity log.

clearNotification
The following parameters apply to the clearNotification method:

02-Aug-2016 301/403
CA Service Management - 14.1

Parameter Type Description

SID Integer Identifies the session retrieved from logging in.


lrObject String Identifies the handle to a Notify Log Header (lr) object.
clearBy String Identifies the name of the contact responsible for the clear operation.

Description

Clears a notification message.

Returns

The new status of the notification message.

02-Aug-2016 302/403
CA Service Management - 14.1

attachChangeToRequest Method
This article contains the following topics:
detachChangeFromRequest (see page 304)

The following parameters apply to the attachChangeToRequest method:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
creator String Identifies the handle of the contact responsible for the activity.
requestHan String Identifies the request to which you attach the change.
dle
changeHan String Identifies the handle of the change to add. If this is blank, a new change order is
dle created.
changeAttr String Identifies the attribute-value pairs used to initialize a new change order if the
Vals [] changeHandle is blank.
description String (Optional) Identifies the description of the activity.

Description

Attaches a new or existing change order to a request. It corresponds with Activities -- New Change
Request or Activities -- Attach to Existing Request on a Request detail in the CA SDM interface.

To create a new change order, pass the empty string in changeHandle. The system will create a new
change order with values initialized from the request, including the changes Requestor, Affected End
User, Description, and Priority (you can see this effect in the CA SDM interface). You can override
these or set additional values with changeAttrVals, which is a name-value array similar to what is
passed for createObject().

To attach an existing change order, specify a handle in the changeHandle parameter. In this case,
changeAttrVals is ignored.

If a new change order is created, description is used on the new change orders activity log. If an
existing change is attached, description is used on the requests activity log.

If the request already has an attached change order, the following error is returned:

UDS_CREATION_ERROR

Note: This method works exactly the same for the ITIL methodology -- simply verify that
you are passing the appropriate handle of an ITIL Incident or Problem to the method.

Returns

02-Aug-2016 303/403
CA Service Management - 14.1

Returns

The following is returned:

XML Element Type Description


<changeHandle> String Identifies the handle for the change order, created or attached.

detachChangeFromRequest
The following parameters apply to the detachChangeFromRequest method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
creator String Identifies the handle of the contact responsible for the activity.
requestHandle String Identifies the handle of a request.
Description String (Optional) Identifies the description of the activity.

Description

Detaches a change order from a request. This method corresponds with Activities -- Detach Change
Order on the CA SDM client. The change order is not deleted from the system.

There is no effect if the request did not have an attached change.

Returns

The handle of the requests activity log marking the event.

02-Aug-2016 304/403
CA Service Management - 14.1

createTicket Method
This article contains the following topics:
createQuickTicket (see page 306)
closeTicket (see page 307)

The following parameters apply to the createTicket method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
Descriptio Strin (Optional) Identifies the description of the ticket.
n g
problem_t Strin Specifies the code (not the persistent ID) for an existing problem type for the policy
ype g under which a Web Services application is running. If this is blank or contains a bad
value, the default problem type is used.
Userid Strin (Optional) Specifies the user ID of the end user for the new ticket. If this is blank or
g the supplied user ID is not found, the proxy contact defined in the access policy is
used and the ticket is still created.
Asset Strin (Optional) Identifies the handle of an asset to be attached to the ticket.
g
Duplicatio Strin (Optional) Allows callers to assist the duplication handling routines used for
nID g classifying tickets as being unique or different. If duplicate handling is on, this string
is inspected after other duplicate handling criteria match to determine whether this
is a unique or duplicate call to this method.
newTicket Strin Identifies the String Holder object for capturing returned data. See the XML Element
Handle g Return list on this page for details.
Hold
er
newTicket Strin Identifies the String Holder object for capturing returned data. See the XML Element
Number g Return list on this page for details.
Hold
er
returnUse Strin Identifies the String Holder object for capturing returned data. See the XML Element
rData g Return list on this page for details.
Hold
er
returnApp Strin Identifies the String Holder object for capturing returned data. See the XML Element
licationDa g Return list on this page for details.
ta Hold
er

Description

02-Aug-2016 305/403
CA Service Management - 14.1

Creates a ticket based on the rules defined in both the Service Aware Policy and the specified
Problem Type. The Problem Type specifies the type of ticket created by a Request/Change/Issue
template. The supplied description is copied in and the user is set from the access policy proxy
contact.

If input problem_type does not exist, the policy default problem type is used. The problem type also
defines how to handle duplicate ticket creation, and additional returned data.

Returns

Returns the new ticket handle, ticket number, and the user-specified return data defined in the
problem type that is used to create the ticket.

XML Type Description


Element
<UDSOb N/A Returns the XML element so that it is consistent with the returns of these other
ject> methods:
createRequest()
createChange()
createIssue()
The body of this tag is empty.
<newTic Strin Identifies the new ticket handle.
ketHan g
dle>
<newTic Strin Identifies the new ticket number (its ref_num or chg_ref_num attribute).
ketNum g
ber>
<return Strin Identifies the user-specified data for the problem type intended for display to the end
UserDat g user, or for log entries. You can set this value in the User Data Return field on the
a> Returned Data tab of the Problem Type Detail window.
<return Strin Identifies the user-specified data for the problem type intended for use within the
Applicat g application code, especially for actions. You can set this value in the Application Data
ionData Return field on the Returned Data tab of the Problem Type Detail window.
>

createQuickTicket
The following parameters apply to the createQuickTicket method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
customerHa String Identifies the customer handle used to create the ticket.
ndle
description String (Optional) Identifies the description of the ticket.
newTicketH String String Holder object for capturing returned data. See the XML Element Return
andle Holder list on this page for details.

02-Aug-2016 306/403
CA Service Management - 14.1

newTicketN String String Holder object for capturing returned data. See the XML Element Return
umber Holder list on this page for details.

Description

Creates a ticket based on the preferred document type of the user represented by customerHandle.
Contact access rights are determined by an Access Type record, which also sets the contact preferred
document type (Request, Incident, Problem, Issue or Change Order). If a contact document type is
Issue, this method will create an Issue; if the document type is Request, a Request is created, and so
on. The contact represented by customerHandle is used to set the end user/customer field of the
new ticket. The ticket description is set to the input description value.

Returns

Returns the new ticket handle, ticket number, and a brief representation of the new ticket in
<UDSObject> format.

XML Type Description


Element
<UDSOb N/A Returns a partial set of attributes because it is a high-level method designed to simplify
ject> the process. Their values come from the following methods, and the XML element is
returned so it is consistent with the returns of these methods:
createRequest()
createChange()
createIssue()
<newTic Strin Identifies the new ticket handle.
ketHan g
dle>
<newTic Strin Identifies the new ticket number (its ref_num or chg_ref_num attribute).
ketNum g
ber>

closeTicket
The following parameters apply to the closeTicket method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
descriptio String (Optional) Identifies the description of the ticket, which can be used in the Close
n activity log.
ticketHan String Identifies the ticket to close.
dle

Description

02-Aug-2016 307/403
CA Service Management - 14.1

Sets the status of the ticket to Closed and adds an activity log with the input description.

Returns

The handle to the activity log object created. It provides the same return as the changeStatus()
method.

XML Element Type Description


<LogHandle> String Specifies the handle for new activity log (0 or more of these can be returned).

02-Aug-2016 308/403
CA Service Management - 14.1

Group Management Methods


This article contains the following topics:
addMemberToGroup (see page 309)
removeMemberFromGroup (see page 309)
getGroupMemberListValues (see page 310)

This section explains the Web Services Group Management Methods.

addMemberToGroup
The following parameters apply to the addMemberToGroup method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
ContactHandle String Identifies the handle of the contact to add as a member.
GroupHandle String Identifies the group to which you will add the contact.

Description

Adds a contact to a group. Nothing happens if the contact is already a member.

Returns

Nothing.

removeMemberFromGroup
The following parameters apply to the remove MemberFromGroup method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
ContactHandle String Identifies the handle of the contact to remove.
GroupHandle String Identifies the group from which you will remove the contact.

Description

Removes a contact from a group. Nothing happens if the contact is not a member.

Returns

Nothing.

02-Aug-2016 309/403
CA Service Management - 14.1

Nothing.

getGroupMemberListValues
The following parameters apply to the getGroupMemberListValues method:

Parameter Type Description


SID Intege Identifies the session retrieved from logging in.
r
whereClau String Identifies the SQL where clause.
se
numToFet Intege Determines the maximum number of records to return. This cannot be zero (0).
ch r Use 1 to return all.
attributes String Identifies the array of attribute names for which to retrieve values.
[]

Description

Functions similarly to getListValues(), except that it queries the systems group and member
relationships. The system uses a special Group Member (grpmem) object for each group/member
relationship. The CA SDM system administers grpmem objects behind the scenes (you do not
manipulate them directly), and they are essential for certain queries.

The grpmem object simply contains two pointers, one to a Contact and the other to a Group, which in
itself is a Contact object. The attribute names are member and group, respectively. Because these
are pointers, you must use dot-notation to form a query as normal. For example, to find all Contacts
with a last name beginning with B and in a group with the name, Seattle, you would use the
following:

member.last_name LIKE 'B%' AND group.last_name = 'Seattle'

You may also use handles as normal, illustrated by the following:

member.last_name LIKE 'A%' AND group.id = U'555A043EDDB36D4F97524F2496B35E75'

It is important to note that this method can retrieve values from all members and groups, not just a
single group. To simply get information about all the members of a specific group or member, just
specify a handle in the where clause. For example, the following would retrieve values from a specific
group:

group.id = U'555A043EDDB36D4F97524F2496B35E75'

The following concepts are important to remember:

grpmem object contains two pointer attributes, one is to member and the other is to group

grpmem object exists for each group/member relationship

02-Aug-2016 310/403
CA Service Management - 14.1

The grpmem method actually queries the grpmem object table, thereby returning an object
representing a relationship between two contacts. Therefore, the attribute values you want to fetch
in attributes must use dot-notation from the grpmem object. To fetch values from the member, all
your attribute names should be of the form, member.ATTRNAME, as illustrated by the following
example:

'member.last_name'

To fetch values from the group, use group.ATTRNAME.

Note: For an example of efficient querying of groups and members, see Where Clauses.

Returns

Automatically returns no handles. The <Handle> element in the return is always empty. To request
the member or group handle for each row, use one of the following in the attributes parameter
described in the table.

member.persistent_id

group.persistent_id

XML Type Description


Element
<UDSObj N/A Identifies the outer element, which contains an array of <UDSObject (see page 192)>
ectList> elements. Each object is really a grpmem object.

02-Aug-2016 311/403
CA Service Management - 14.1

Contact Management Methods


This article contains the following topics:
login (see page 312)
loginService (see page 312)
impersonate (see page 313)
logout (see page 314)
loginWithArtifact (see page 314)

This section explains the Web Services Contact Management methods.

login
The following parameters apply to the login method:

Parameter Type Description


username String Identifies the user ID.
password String Identifies the password.

Description

Login validates a user with CA SDM login validation and returns a unique session ID that is required
for most other web method calls. This key should be freed with logout(). A SID may expire if it is not
used before a time out elapses.

The username/password is validated exactly the same as the CA SDM Web client; the contacts
Access Type specifies the validation method. The default access policy will be applied to control and
manage all subsequent accesses after a successful call of this function. The login user (not proxy
contact specified in the default policy) is then responsible for subsequent web service activities. All
function group security and data partition are enforced for the login user.

Returns

The following is returned:

Parameter Type Description


<SID> Integer Identifies the unique SID to use for all other Web Services calls.

loginService
The following parameters apply to the loginService method:

02-Aug-2016 312/403
CA Service Management - 14.1

Parameter Type Description


username Strin Identifies the user ID.
g
password Strin Identifies the password.
g
policy Strin (Required) Identifies the policy code, which must be in plain text. Although it is
g required, it may be empty.

Description

Lets users log in with a conventional username/password authentication scheme where if valid, the
system returns a unique session ID. This key should be freed with logout(). A SID may expire if it is not
used before a timeout elapses.

User authentication is performed on the username and password while access control is applied
based on the policy specified. The authentication is performed as described in login(). Empty policy
will allow default policy to be applied automatically. The login user (not the proxy contact specified in
the policy) is responsible for subsequent web service activities. All function group security and data
partitions are enforced for the login user.

Returns

The following is returned:

Parameter Type Description


SID Integer Specifies the unique SID to use for all other Web Services calls.

impersonate
The following parameters apply to the impersonate method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
username String (Required) Identifies the user name of the user being impersonated.

Description

Lets an administrator switch the user responsible for all web services activities in a current web
services session without additional user authentication. Invoking this method is allowed only if the
current web services session is started by using the PKI access authentication scheme and the access
policy is defined to allow impersonation.

The Access Type of the user to be impersonated is checked against the Access Type of the proxy user
of the policy used in the current web services session. If the access_level of the new users access
type is less than or equal to the grant_level of the proxy users access type, this method will replace
the current user with the new user. A new web services session starts while the old session ends. A
new SID is then returned. In addition, the new user is given the responsibility for all subsequent

02-Aug-2016 313/403
CA Service Management - 14.1

new SID is then returned. In addition, the new user is given the responsibility for all subsequent
activities initiated in this new session. The function group security and data partition are enforced for
the new user.

Returns

The following is returned:

Parameter Type Description


SID Integer Identifies the unique SID to use for all other Web Services calls.

logout
The following parameter applies to the logout method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.

Description

Invalidates a SID obtained from login(), loginService(), and loginServiceManaged().

Returns

Nothing.

loginWithArtifact
The following parameters apply to the loginWithArtifact method:

Parameter Type Description


userid String Identifies the user ID.
artifact String Identifies the Artifact obtained from CA EEM.

Description

Performs the user authentication by the provided CA EEM Artifact and opens a session with the back-
end server. The Artifact can be used only once for authentication. The returned session ID (SID) can
be used for subsequent web services method invocations. The Artifact can be acquired directly from
CA EEM or can be obtained by the getArtifact method.

Note: Service Desk needs to be integrated with CA EEM to perform this operation.

02-Aug-2016 314/403
CA Service Management - 14.1

The SID should be freed with logout(). A SID may expire if it is not used before a timeout elapses.

Returns

The following is returned:

Parameter Type Description


SID Strin Identifies the unique session ID (SID) to use for all other Web Services calls. It is in
g plain text format.

02-Aug-2016 315/403
CA Service Management - 14.1

getPolicyInfo
This article contains the following topics:
getTaskListValues (see page 317)
getValidTaskTransitions (see page 317)
getValidTransitions (see page 318)
getDependentAttrControls (see page 319)
getHandleForUserid (see page 320)
getAccessTypeForContact (see page 320)
getContact (see page 321)
findContacts (see page 322)

The following parameters apply to the getPolicyInfo method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.

Description

Returns information about the access policy that is controlling and managing the current CA SDM
Web Services session.

Returns

The following XML string:

XML Type Description


Element
<SAPolicy> N/A Identifies the detailed information of this access policy and its related problem
types.

The content of <SAPolicy> is shown as follows:

<SAPolicy>
<Name> name of policy </Name>
<Code> policy code </Code>
<ContactName> policy proxy contact's combo name </ContactName>
<ContactHandle> handle of policy's contact </ContactHandle>
<Access>
<TicketCreation> limitation </TicketCreation>
<ObjectCreation> limitation </ObjectCreation>
<ObjectUpdate> limitation </ObjectUpdate>
<Attachments> limitation </Attachments>
<Queries> limitation </Queries>
<Knowledge> limitation </Knowledge>
</Access>

02-Aug-2016 316/403
CA Service Management - 14.1

<ProblemTypes> (zero or more <ProblemType> elements)


<ProblemType>
<Code>code of a problem type </Code>
<Status>active or inactive </Status>
</ProblemType>
</ProblemTypes>
</SAPolicy>

getTaskListValues
The following parameters apply to the getTaskListValues method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
objectHan Strin Identifies the object handle for an issue or change order.
dle g
attributes Strin Identifies the sequence of attribute names for which to fetch values. Dotted-
g attributes are permitted. If this is blank, all attributes are fetched.

Description

Returns values for all the tasks associated with the specified issue or change order.

Note: This is a convenience method. The same list could be obtained using doSelect().

Returns

This method has the following returns:

XML Type Description


Element
<UDSOb N/A Outer element -- contains zero or more <UDSObject (see page 192)> elements. Each
jectList> <UDSObject> node represents a Task. The nodes are ordered by the Tasks sequence
attribute.

getValidTaskTransitions
The following parameters apply to the getValidTaskTransitions method:

02-Aug-2016 317/403
CA Service Management - 14.1

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
taskHandl Strin Identifies the handle to a Workflow task (for an issue or change order).
e g
attributes Strin Identifies the names of attributes to fetch from the tskstat object. If this field is
g[] empty, all value-based attributes are returned.

Description

Returns all of the possible values for the status attribute of a particular task. The Status codes to
which a task may be set depend upon several factors, such as the current status of the task, and
restrictions set by the administrator.

Note: taskHandle can be a task owned by either a change order or an issue. The objects
returned are Task Status (tskstat) objects used for both types of tasks.

Returns zero or more Status objects to which a task can be set.

Returns

This method has the following returns:

XML Type Description


Element
<UDSObj N/A Identifies the outer element, which contains zero or more <UDSObject (see page 192)
ectList> > elements with the requested attribute values.

getValidTransitions
The getValidTransitions method lets you list the transitions for a ticket.

The following parameters apply:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
handle Strin Identifies the handle for a ticket or status. If a ticket handle is provided, the method
g retrieves the valid transitions for the current status of the ticket.
ticketFact Strin Identifies the factory of the ticket. Valid values are only cr for Request, in for
ory g Incident, pr for Problem, chg for Change Order and iss for Issue.

02-Aug-2016 318/403
CA Service Management - 14.1

Description

Returns all of the possible transition values for the status of a ticket. Administrators can configure
valid status transitions for all ticket types.

Returns zero or more request/incident/problem/change/issue transition objects, depending on the


values passed for handle and ticketFactory. If zero objects are returned, there are no transitions on
the status of the ticket.

Returns

This method has the following return:

XML Type Description


Element
<UDSObjectL N/A Identifies the outer element, which contains zero or more <UDSObject (see page 192
ist> 192)> elements.

getDependentAttrControls
The getDependentAttrControls method lets you list the locked and required attributes for the Status
record (either the tickets current status or any status record). At this time, the only attribute
supported is the Status attribute. If the attrVals parameter is passed as empty, the method returns
the dependent attributes for the current status of the ticket (assuming that a valid handle is used).
Otherwise, you can request the dependent attributes for any status record by using the attrVals
parameter.

Enter the attrVals parameter syntax as follows:

Specify the word "status" for the first item.

For the second item, specify the code of the status record, for example, WIP.

The following parameters apply:

Parameter Type Description


SID Integ Identifies the session retrieved from logging in.
er
handle Strin Identifies the handle for a ticket.
g
attrVals Strin Identifies the name-value pairs of a ticket attribute for this method to get its
g dependent attribute controls.

Description

Returns all of the possible dependent attribute controls for the Status field of a ticket. Administrators
can configure attribute restrictions.

Returns zero or more attribute control objects depending on the values specified. If zero objects are

02-Aug-2016 319/403
CA Service Management - 14.1

Returns zero or more attribute control objects depending on the values specified. If zero objects are
returned, there are no attribute restrictions on the object.

Returns

The following:

XML Type Description


Element
<UDSObjectL N/A Identifies the outer element, which contains zero or more <UDSObject (see page 192
ist> 192)> elements.

getHandleForUserid
The following parameters apply to the getHandleForUserid method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
userID String Identifies the user ID upon which to query.

Description

Returns the persistent handle for a Contact represented by userID.

Returns

The following is returned:

Parameter Type Description


<Handle> String Identifies the contacts handle.

getAccessTypeForContact
The following parameters apply to the getAccessTypeForContact method:

Parameter Type Description


SID Integer Identifies the session retrieved from logging in.
ContactHandle String Identifies the contact handle upon which to query.

Description

Returns a handle for the Access Type for a Contact.

02-Aug-2016 320/403
CA Service Management - 14.1

Every Contact is assigned an Access Type object, which defines a Contacts permissions and security.
Note the access_type field on a Contact is not required. To accommodate this, a single Access Type is
marked as the default for Contacts who do not have an object specifically assigned.

This method returns the Access Type directly assigned to a Contact (that is, the information to which
the access_type field points in the Contact record) or it returns the default. Typical value methods,
such as getObjectValues() or getListValues(), may not return the correct Access type; therefore, these
are not the accurate methods for retrieving the Contacts Access.

Returns

A string handle for an Access Type object.

getContact
The following parameter applies to the getContact method:

Parameter Type Description


SID Strin Identifies the session retrieved from logging in.
g
contactId Strin Identifies the unique ID of the contact to retrieve. contactId is UUID in string
g format.

Description

Retrieves information on all contacts.

Returns

A <UDSObject> node with a <UDSObject> node describing a contact with some of the following child
<Attributes> nodes:

XML Element Value Type Description


contactid String Specifies a unique ID of the contact. contactId is UUID in string format.
userid String Indicates the user name of the contact.
last_name String Indicates the last name of the contact.
first_name String Specifies the first name of the contact.
middle_name String Specifies the middle name of the contact.
location String Indicates the location of the contact.
dept String Identifies the department of the contact.
organization String Identifies the organization of the contact.
email_address String Identifies the email address of the contact.
pemail_address String Signifies the alternate email address of the contact.
phone_number String Indicates the phone number of the contact.

02-Aug-2016 321/403
CA Service Management - 14.1

XML Element Value Type Description


alt_phone String Indicates the alternate phone number of the contact.
address1 String Specifies the address of the contact.
address2 String Specifies the alternate address of the contact.
city String Identifies the city of the contact.
state String Identifies the state of the contact.
zip String Indicates the ZIP code of the contact.
country String Indicates the country of the contact.
delete_flag Integer Indicates whether the contact is active:
0 -- Active
1 -- Inactive

findContacts
The following parameters apply to the findContacts method:

Parameter Type Description


SID Inte Identifies the session retrieved from logging in.
ger
userName Strin Returns only the contacts with this user name. You can do wildcard searches by
g using the percent (%) sign.
For example, to search for all contacts where the User Name begins with Smi,
specify Smi%.
lastName Strin Returns only the contacts with this last name. You can do wildcard searches by using
g the percent (%) sign.
firstName Strin Returns only the contacts with this first name. You can do wildcard searches by using
g the percent (%) sign.
email Strin Returns only the contacts with this email address. You can do wildcard searches by
g using the percent (%) sign.
accessTyp Strin Returns only the contacts with this access type. You can specify multiple roles by
e g separating them with commas. Specify the following:
10002 - Administration
10004 - Customer
10005 - Employee
10009 - IT Staff
10013 - Knowledge Management
10014 - Process Management
10010 - Service Desk Management
10008 - Service Desk Staff
10020 - Vendor Staff
inactiveFla Inte Returns only the contacts that are inactive or active. Specify the following:
g ger 0 for active
- 999 for all
other for inactive

02-Aug-2016 322/403
CA Service Management - 14.1

Description

Retrieves the list of contacts.

Returns

A <UDSObjectList> node with zero or more <UDSObject> nodes describing contacts with the
following <Attributes> child nodes:

XML Element Value Type Description


id UUID Specifies the unique ID of the contact.
userid String Specifies the user name of the contact.
last_name String Identifies the last name of the contact.
first_name String Identifies the first name of the contact.
access_type Integer Specifies the Role ID of the contact.
delete_flag Integer Indicates whether the contact is active or inactive:
0 - Active
1 - Inactive

02-Aug-2016 323/403
CA Service Management - 14.1

loginServiceManaged Method
This article contains the following topics:
Implement loginServiceManaged in Java (see page 324)
Generate Stub Classes with WSDL2Java (see page 326)

The following parameters apply to the loginServiceManaged method:

Parameter Type Description


policy Strin (Required) Identifies the policy, which must be must be in plain text.
g
encrypted Strin (Required) Identifies the digital signature of the policy code, encrypted with the
_policy g policyholders private key. It is in BASE64 text format.

Description

Performs the user authentication by locating the policy through the plain text policy code, finding the
policyholders public key associated with the policy, decrypting the encrypted policy code, matching
decrypted content with the policy code, and finally, opening a session with a back-end server. The
returned session ID (SID) can be used for subsequent web services method invocations. Proxy contact
specified in the policy is responsible for all subsequent web service activities initiated. All function
group security and data partition are enforced for the proxy contact defined in the policy.

It is also important to note that the encrypted_policy parameter is in the BASE64 text format, and it is
necessary to perform proper conversion from the binary format. The SID should be freed with
logout(). A SID may expire if it is not used before a timeout elapses.

Returns

The following is returned:

Parameter Type Description


SID Strin Identifies the unique session ID (SID) to use for all other Web Services calls. It is in
g plain text format.

Implement loginServiceManaged in Java


The following shows how to generate Certificates and then use these generated Certificates to access
the CA SDM web services.

In the following example, the login process completes using the CA SDM Certificate and then
performs two common web services calls. The getBopsid() web services method call allows you to
obtain a token that is linked to a specific user. This token can be used to login to the CA SDM web
interface as the linked user without being prompted for a password. This allows seamless integration
to be enabled between different applications.

02-Aug-2016 324/403
CA Service Management - 14.1

Important! The generated BOPSID token expires after 30 seconds, so it must be used
promptly.

Important! There is a known issue when using the 1.4 version of the AXIS tool. For more information,
see the Release Notes.

Follow these steps:

1. Generate the stub classes with AIXS Tool WSDL2Java. For more information, see the
Generating Stub Classes with AXIS Tool WSDL2Java section from the
PKI_loginServiceManaged_JAVA_steps file. Find the file in the following location:

$NX_ROOT/samples/sdk/websvc/java/test1_pki

2. Start the CA SDM service.

3. Run pdm_pki -p DEFAULT.


DEFAULT.p12 is created in the current directory. This policy will have the password equal to
the policy name (in this case DEFAULT).

Note: This command will also add the Certificate's public key to the field pub_key
field (public_key attribute) in the sapolicy table/object.

4. Log into CA SDM

5. Select SOAP Web Services Policy, Policies on the Administration tab.


The SOAP Web Services Access Policy List page opens.

6. Click DEFAULT.
The SOAP Web Services Access Policy Detail page opens.

7. Complete the Proxy Contact field (in this example, ServiceDesk) and confirm that the
DEFAULT policy record Has Key field displays "Yes."

8. Copy DEFAULT.p12 (from the directory where command pdm_pki is executed), the JSP file
called pkilogin.jsp and the HTML file called pkilogin.htm (from the $NX_ROOT/samples/sdk
/websvc/java/test1_pki directory) to the following directory:

$NX_ROOT/bopcfg/www/CATALINA_BASE/webapps/axis

9. Open the HTML form (from the axis directory). For example, http://localhost:8080/axis
/pkilogin.htm
Complete the appropriate fields.

Note: The Directory field identifies the location of the Certificate file. Modify the

02-Aug-2016 325/403
9.

CA Service Management - 14.1

Note: The Directory field identifies the location of the Certificate file. Modify the
path to the correct location.

10. Click Log me in!


The results page opens.

11. Click the BOPSID URL.

Important! Click this immediately! The BOPSID has a limited life token of about 30
seconds.

The format of a URL using a BOPSID is as follows:


http://<server name>:CA Portal/CAisd/pdmweb.exe?BOPSID=<BOPSID value>

Note: In order to use the loginServiceManaged method for a Java client program running
on AIX, you may need to replace a pair of security policy files within your JAVA_HOME. Go
to http://www.ibm.com (http://www.ibm.com) and search for "developerworks java
technology security information AIX". In the "developerWorks : Java technology : Security"
document, follow the link to "IBM SDK Policy files". Download the unrestricted policy files,
local_policy.jar and US_export_policy.jar. Use these files to replace the original files in your
JAVA_HOME/lib/security directory."

Generate Stub Classes with WSDL2Java


You can generate the stub classes for the CA SDM web services.

To generate stub classes with WSDL2Java

1. Open a command prompt and navigate to the "<drive>:\program files\CA" directory.


The directory appears.

2. Run the dir /x command.


The short form of the CA SDM directory appears. For example, the short name is "SERVIC~1."

3. Search for javac.exe on all of the server's local drives. If you locate the file, make note of its
location because you will need to reference it in a batch file.

Note: If you do not locate javac.exe, go to Http://java.sun.com and search for Java
J2SE SDK to download. This may require a reboot.

4. Build a batch file called build_wsdl.bat and place it in the following directory:

02-Aug-2016 326/403
CA Service Management - 14.1

4. Build a batch file called build_wsdl.bat and place it in the following directory:

$NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\axis

5. Use the following code for the batch file, updating the bold items as appropriate:

@echo off
::##################################################################
::# Simple bat file to Build Unicenter Service Desk Version 11.0 USD Stub classes
::# Use it to create the required USD Unicenter Service Desk Version 11.0 Java Web
Services classes
::#
::# Usage: build_wsdl
::#################################################################
@REM Update this with the PATH to USD NX_ROOT location
@SET USD_SHORT_PATH=C:\Progra~1/CA/Servic~1/

@REM Update this with the PATH to the JDK javac.exe compiler
@REM (this is used in the 2nd part of this file)
@SET JAVAC_EXE="C:\j2sdk1.4.2_13\bin\javac.exe"
@REM Update this to the path to the USD <USDK> <rellevel> NX_ROOT/java/lib location
@SET USD_TOMCAT=%USD_SHORT_PATH%java/lib
@SET CP=%USD_TOMCAT%/axis.jar;%USD_TOMCAT%/commons-discovery.jar;%USD_TOMCAT%/commons-
logging.jar;%USD_TOMCAT%/jaxrpc.jar;%USD_TOMCAT%/saaj.jar;%USD_TOMCAT%/log4j-1.2.8.
jar;%USD_TOMCAT%/xml-apis.jar;%USD_TOMCAT%/xercesImpl.jar;%USD_TOMCAT%/wsdl4j.jar;%
USD_TOMCAT%/axis-ant.jar
@REM Please specify the path to java.exe file below
@REM You can obtain this by reviewing the NX.env file use the @NX_JRE_INSTALL_DUR
@REM variable to derive this info
@SET JAVA_PATH=C:\Program Files(x86)\CA\SC\JRE\1.6.0_30
@SET JAVA_EXE="%JAVA_PATH%\bin\java.exe"
@cd WEB-INF\classes
%JAVA_EXE% -cp %CP% org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/services
/USD_Unicenter Service Desk Version 11.0_WebService?wsdl
@cd ..\..
::##################################################################
::# This next section compiles the Service Desk stub code
::# Once complete, you should recycle tomcat with the following
::# commands or by recycling Service Desk:
::# pdm_tomcat_nxd -c STOP
::# pdm_tomcat_nxd -c START
::##################################################################
@SET CP=".\classes;%CP%"
@SET STUBS_DIR=classes\com\ca\www\UnicenterServicePlus\ServiceDesk
@cd WEB-INF
%JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\ArrayOfInt.java
%JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\ArrayOfString.java
%JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\ListResult.java
%JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\USD_WebService.java
%JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\USD_WebServiceLocator.
java
%JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%\USD_WebServiceSoap.
java

02-Aug-2016 327/403
CA Service Management - 14.1

%JAVAC_EXE% -classpath %CP% -deprecation -d classes %STUBS_DIR%


\USD_WebServiceSoapSoapBindingStub.java
@cd ..

After running the batch file from the command prompt, the stub classes are in place and compiled.

Recycle Tomcat as follows:

pdm_tomcat_nxd -c STOP

pdm_tomcat_nxd -c START

02-Aug-2016 328/403
CA Service Management - 14.1

Using the Automated Tasks Editor


This article contains the following topics:
Edit an Automated Task (see page 329)
Upload an Automated Task (see page 330)

You can author, debug, test, and upload automated tasks in your support environment using the
Automated Tasks Editor. You can create automated tasks by customizing default templates and
components. Modifying these defaults requires minimal or no coding, but if any errors occur, the
application displays the line of code reporting the error.

The editor uses web services to access automated tasks depending on provided credentials during CA
SDM authentication. An Administrator can permit analysts to access the server with the Automated
Task Editor, and allow analysts to modify and upload public or tenant-specific scripts. The editor
provides dialogs to edit the basic automated task settings, security settings, and dependencies on
libraries and static content items. The automated task framework implements three objects used by
the automated task author: Task, Step, and Logger.

You can do the following with automated tasks:

Create and customize steps based on automated task step templates provided by CA
Technologies.

Customize an automated task by editing the step template properties in a property sheet, or by
editing the code directly. The code editor supports syntax highlighting and automatic code
completion functionality while typing.

An Administrator can run reports that show whether automated tasks were successful or not. The
definition of success varies considerably depending on what the automated task is trying to do.
CA SDM provides the Functions.SetExecutionState() function call that enables the task to declare
its execution state as being success, fail, or not setting it at all. The automated task execution
state field filters the report.

Send emails to end users or to an external system using the CA SDM mail daemon.

Localize automated tasks by declaring all strings to localize as automated task step properties. You
can edit these step properties in the Automated Task Editor for each supported locale separately. The
values of these properties are accessed from automated task step script code using Step.
GetProperty() which returns the correct localized version of the specified property based on the
localization ID of the customer running the automated task.

Edit an Automated Task


You can download automated tasks from the server and edit them in the Automated Task Editor. Any
content that is newer in the version than the existing content on the server is imported into the
database and made available to administrators of that tenant.

To edit an automated task

02-Aug-2016 329/403
CA Service Management - 14.1

To edit an automated task

1. Open the Automated Task Editor.


The Support Automation Task Editor appears.

2. On the toolbar, select the Upload Automated Task icon.


The Open Automated Task from Server pane appears.

3. Select the automated task that you want to download.


Note: If you are a privileged user in a multi-tenancy environment, you can edit public or
tenant-specific automated tasks.

4. Click Open Task.


The Support Automation Task Editor downloads the task to the client and opens it in the
application.
The download creates a text file on the computer of the task author that contains the
dependent content.

Upload an Automated Task


You can upload automated tasks that you created in the application. When you select a task, all
dependent content automatically uploads, such as libraries and static content.

To upload an automated task

1. Open the Automated Task Editor.


The Support Automation Task Editor appears.

2. Select the automated task you want to upload.

3. Select the classification where you want to upload the task.


Note: If you are a privileged user in a multi-tenancy environment, select the appropriate
tenant when uploading the automated task, or make the task public.

4. On the toolbar, select the Upload Automated Task icon.


The Support Automation Task Editor uploads the task to the server.

02-Aug-2016 330/403
CA Service Management - 14.1

How an Automated Task Runs


This article contains the following topics:
How Analysts Receive Data (see page 331)

CA SDM provides a framework which is a block of script code responsible for the code that deals with
presenting user interfaces and retrieving user input from user interface steps. The framework exists
so that you can do complex things with automated tasks, interface-related, using simple code, rather
than complex code that would otherwise be necessary. The framework includes two objects (Task
and Step). You can use these objects to interact with the framework and control how automated
tasks execute, including setting up and accessing the user interface.

Note: When running an automated task in the Automated Task Editor, the editor acts as both server
and client.

The following process describes what happens when you execute an automated task:

1. Use the framework to assemble the script code to execute together with the step code in the
automated task definition, and any dependent library code.

2. The server assembles and distributes the code to the end-user environments.

3. Both the end user and the analyst receive the entire assembled automated task.

4. The server initiates each step in turn at the relevant client.

How Analysts Receive Data


You can have an automated task gather data and store it in the Support Automation database
associated to the specific task execution. The data can be picked up by a post session integration that
can use the data or pass it to an external system. In such a case, typically you construct this data as
an XML fragment.

Use Functions.SetAcquiredData() to store data (text), associated with a task execution. Support
Automation allows one such text field of any length to be stored for each execution of an automated
task. You can store data in one step and access it in a subsequent step as follows:

1. The server sends the initial state of this data storage to the client with the instruction to
execute a step.

2. At the end of the step, the client sends the persisted data state back to the server so the
server can send this data to whichever client is executing the next step.

3. An analyst user interface step can gather input from the analyst and store it.

4. The end-user user interface step can access the data that was supplied by the analyst.

02-Aug-2016 331/403
CA Service Management - 14.1

Automated Task Elements


This article contains the following topics:
Example Default CSS Styles (see page 333)
Task Object Reference (see page 334)
Step Object Reference (see page 334)
Logger Object Reference (see page 336)
Global Functions (see page 337)
Automated Task Step Templates (see page 337)
User Interface Steps (see page 337)
Example Text Input Box as an HTML Component (see page 338)
Example End-User Input Handling (see page 340)

You create automated tasks by defining steps in an automated process. Automated tasks predefine
routines with specific actions on the end-user computer without the need for the analyst or end user
to do the process. Common routines include gathering telemetry information, diagnosing problems,
and implementing resolutions.

An automated task consists of the following elements:

Task Settings
Specifies the title, description, dimensions of the step windows, HTML headers and footers, and a
CSS style sheet applied to the end-user interface.

Dependencies
Specifies the libraries and static content items that the task depends on, such as images or CSS
files.

Task Steps
Specifies the executed code for each step. You can author steps by selecting automated task step
templates and modify them to fit your needs.

Security Settings
Specifies the appropriate security settings to run the automated task on an end-user computer,
such as read/write permissions, registry privileges, and so on.

XSDF Files
Specifies automated task definitions saved to an XML schema in XSDF files (XML Script Definition
Format). The XSDF file contains all automated task settings, dependencies, security settings, and
step code information.
If the automated task is dependent on a particular library, the full script code of that library is
written to the XSDF file, not only the dependency information. Dependencies are also imported
when XSDF files are loaded into the Automated Task Editor or imported into CA SDM, unless a
later version of the same dependent library exists in the target environment. The same is true for
dependent static content. Script libraries can also be saved on their own to XSDF files for
distribution between systems.

02-Aug-2016 332/403
CA Service Management - 14.1

The editor lets you define CSS styles for all automated task elements. You can control the appearance
by using CSS Styles.

Example Default CSS Styles


The following CSS styles are defined by default.

Note: If you use a custom CSS file, you can override the default values.

#header {
padding: 2px 8px;
font-size: 16pt;
font-weight: bold;
border-bottom: 2px solid green;
}
#title {
background-color: #eee;
padding: 2px 8px;
font-size: 12pt;
font-weight: bold;
border-bottom: 1px solid green;
}
#content {
padding: 8px;
}
#buttons {
background-color: #eee;
border-top: 1px solid green;
text-align: right;
padding: 2px 8px;
}
#buttons input {
font-family: Verdana;
font-size: 10pt;
}
#footer {
border-top: 2px solid green;
padding: 2px 8px;
font-size: 9pt;
}

The supplied HTML components declare a CSS Style for an HTML DIV that encloses the component.
This declaration allows all elements of the components to be styled through CSS.

The name of this style can usually be set through automated task step template properties for steps
that use these HTML components.

02-Aug-2016 333/403
CA Service Management - 14.1

Task Object Reference


The task object is directly referenced as Task [e.g., Task.End();]

Methods

Task Description
End() Ends the Task immediately.
GetNam Returns the value previously stored with the specified key.
edDataIt
em(key)
SetName Stores the value against the specified key. These values can be stored in one step and
dDataIte accessed in another using GetNamedDataItem(). The specified value can be JavaScript
m(key, primitive type (number, boolean, string) or an object or an array of objects. In VBScript,
value) only primitive types can be stored.
GetNext Returns a unique identifier that can be used for HTML DOM objects.
ElementI
d()
GetPage Returns the HTML DOM object corresponding to the specified ID.
BodyEle
mentByI
d(id)
Replace Returns a copy of the specified string with all instances of stored data items in the format
DataIte ${key} replaced by their stored values.
ms
(string)
CloseIE Closes the UI window if it is open.
Window(
)

Properties

Property Description
Title The title of the automated task.
HeaderHtml The HTML placed in the header section of the UI window.
FooterHtml The HTML placed in the footer section of the UI window.
Height The height, in pixels, of the UI window.
Width The width, in pixels, of the UI window.
NextStepIndex The index (0-based) of the next step to be executed.

Step Object Reference


The step object is directly referenced as Step [e.g., Step.End();]

02-Aug-2016 334/403
CA Service Management - 14.1

Methods

Step Object Description


End() Ends the step immediately. The next step will be invoked.
Controls.Add() Adds a string or HTML component to the UI content. Strings are automatically
converted to Label HTML components.
GetProperty Returns the value of the specified property key for the current localization. If no
(propertyKey) value exists for the current localization, the value of the property in the default
localization will be returned.
SetProperty Sets the value of the specified property to the specified value for the specified
(localizationID, localization ID.
propertyKey,
value)
RegisterEventHa Registers the specified event handler as the function to be invoked when the IE
ndler(controlId, window's raiseUIEvent(controlId) function is called. Any data passed as tag will be
eventHandler, made available when the event handler is dispatched as Step.EventData.
tag)
IsUIStep() Returns true if the current step is a UI step; false otherwise.

Properties

Prope Description
rty
Title The title of the step - displayed in the UI header section.
NextB The label for the "Next" button. Defaults to "Next".
utton
Label
NextB True to show the "Next" button. False to hide it.
utton
Visibl
e
Previ The label for the "Previous" button. Defaults to "Previous."
ousB
utton
Label
Previ True to show the "Previous" button. False to hide it.
ousB
utton
Visibl
e
Finish The label for the "Finish" button. Defaults to "Finish."
Butto
nLabe
l
True to show the "Finish" button. False to hide it.

02-Aug-2016 335/403
CA Service Management - 14.1

Finish
Butto
nVisib
le
Event When a UI event is raised (by calling raiseUIEvent() from HTML within the IE window) the
Data event handler function previously registered with RegisterEvenHandler() is invoked. The data
stored as the "tag" when the event handler was registered will be available as Step.EventData
when the handler is dispatched.

Logger Object Reference


The Logger object is accessed as Trace.Framework.

Example:

Trace. Framework.Level = TraceLevels.Info

Trace.Framework.Error("An error has occurred")

Methods

Logger Description
Object
Fatal(msg) Log the specified message if the current trace level is set at Fatal, Error, Warning, Info,
Debug, or Verbose.
Error(msg) Log the specified message if the current trace level is set at Error, Warning, Info, Debug,
or Verbose.
Warning Log the specified message if the current trace level is set at Warning, Info, Debug, or
(msg) Verbose.
Info(msg) Log the specified message if the current trace level is set at Info, Debug, or Verbose.
Debug Log the specified message if the current trace level is set at Debug or Verbose.
(msg)
Verbose Log the specified message if the current trace level is set at Verbose.
(msg)

Properties

Prope Description
rty
Level The current trace level. Set to one of the values in the TraceLevels enumeration (None, Fatal,
Error, Warning, Info, Debug, or Verbose).

02-Aug-2016 336/403
CA Service Management - 14.1

Global Functions
The following global functions are used in Support Automation procedures.

Function Description
AnyArrayToV Converts any array (VBScript or JavaScript) to a VBArray. Arrays in JavaScript are
BArray different objects to VBScript arrays so it is necessary to convert between them.
(array)
AnyArrayToJS Converts any array to JavaScript array.
Array(array)
CreateHashM Returns an object that can be used as a hashmap for storing arbitrary data (key/value
ap() pairs). The returned object implements the following methods:
Get(key) - Returns the value stored against the specified key.
Set(key,value) - Stores the value for the specified key.
GetAllKeys() - Returns an array of the keys.

Automated Task Step Templates


Automated task step templates are the script code for a given automated task step that can also
define automated task step properties. You can customize the behavior of the automated task step
template by changing the values of automated task step properties in the property sheet. You can
accomplish more extensive customization by editing the code directly, but the intent is to minimize
the amount of coding you do.

Steps are end-user action steps or user interface steps that show either to the end user or analyst.
The automated task step templates are either end-user action, analyst interface, or end-user
interface templates. CA Technologies provides automated task step templates, both action and user
interface, to form the building blocks of tasks and enable you to create functional automated tasks
with minimal coding.

For steps that define properties, you are prompted to provide values for these properties when the
step is first created from the template. You can modify these values using the property sheet.

User Interface Steps


All user interface steps must implement an OnLoad function called by the framework before the step
is displayed. The OnLoad function sets up the user interface. The step object exposes several
properties and methods that you can use to set up the user interface.

You can control the visibility of the buttons on the step footer using Step.NextButtonVisible, Step.
FinishButtonVisible, and Step.PreviousButtonVisible. When you set these properties to True, it makes
the button appear. If a button is shown, a handler must be implemented for it. You can add the
actual user interface controls to the page body using HTML components.

02-Aug-2016 337/403
CA Service Management - 14.1

Example Text Input Box as an HTML Component


The step object has a controls array that is populated with a series of HTML components. These script
objects render in HTML, and when the framework renders a user interface page, each HTML
component in its controls array renders itself and adds the returned HTML fragment to the HTML
body of the page.

HTML components let you write complex user interfaces without extensive HTML knowledge. Using
an HTML component, you can create and configure commonly used controls with minimal coding.

Example: Text Input box as an HTML Component

An example of an HTML component is a text input box. The following example combines a label
called PromptText and an HTML input box. If you want to prompt the customer or technician to
supply a user name for example, the user interface page is constructed in an OnLoad function as
follows:

Function OnLoad
Dim myInputBox
Set myInputBox = UI.MakeInputBox()
myInputBox.PromptText = "Please enter your name:"
Step.Controls.Add(myInputBox)
End Function

CA Technologies supplies samples, but you can also create custom HTML components. An HTML
component is a script object that implements a method called GetHtml. Here, for example, is the
implementation of that MakeInputBox() method call used in the previous example:

function InputBox() {
// public properties
this.PromptText = "";
this.CssClass = "UIInputBox";
this.InputMaxLength =50;
this.InputSize = 50;

// private member props


var textboxId = Task.GetNextElementId();

// privileged methods
// (For example, publicly accessible with access to private props)
this.GetHtml = function () {
var inputHtml =
"<DIV class = '" + this.CssClass + "'>\n";
if(this.PromptText.length>0) {
inputHtml +=
"<SPAN class ='PromptText'>" + this.PromptText + "</SPAN>\n" +
"<BR>\n";
}
inputHtml +=
"<INPUT type = text class = 'InputText' id = '"+textboxId+
"' size = '"+this.InputSize+
"' maxlength='"+this.InputMaxLength+"'></INPUT>" +

02-Aug-2016 338/403
CA Service Management - 14.1

"<BR><BR>\n" +
"</DIV>\n";
return inputHtml;
}

this.GetUserInput = function() {
var textBox = Task.GetPageBodyElementById(textboxId);
if (textBox) {
return textBox.value;
}
else {
throw new Exception (Severity.Error,
"Could not read textbox value",
"Could not read textbox value");
}
}
}
return new InputBox();

This automated task library function defines a constructor for an object of type InputBox. The last line
of the function constructs an instance of the InputBox class and returns it.

Object definitions differ in JavaScript and VBScript. In VBScript, the class keyword is used to declare a
class. In JavaScript the function keyword declares the class, because in JavaScript functions are
objects. Both languages let the class have public and private member variables and methods. A full
description of how object syntax is handled in the two languages is beyond the scope of this chapter,
but the internet can provide examples and tutorials on this subject.

In the example above, the code declares the InputBox class with some public and private properties
and two public methods, GetHtml and GetUserInput.

The Framework calls GetHtml when rendering user interface steps. The InputBox control also exposes
GetUserInput which you can use to access the value that the end user enters into the text box. Each
HTML component can expose different methods for configuring it and accessing any user input
values.

The HTML coding is abstracted from you by these HTML components so that creating user interface
pages is simplified.

You can write your own HTML entirely for a particular automated task. In such a case, you have two
choices: Write a new HTML component for the case you require, or construct the HTML code in a
string variable and wrap it in a special HTML component called RawHTMLContainer as follows:

Function OnLoad
Dim myRawHtmlContainer, myHtml
myHtml = "<H1>Hello <B>World</B></H1>"
Set myRawHtmlContainer = UI.MakeRawHtmlContainer(myHtml)
Step.Controls.Add(myRawHtmlContainer)
End Function

02-Aug-2016 339/403
CA Service Management - 14.1

Example End-User Input Handling


After the user interface page displays, in many cases it is necessary to handle end-user input when
the user clicks one of the footer buttons, such as Next, Previous, or Finish. You implement handler
functions to handle end-user input. You implement a function named NextButtonHandler to handle
the clicking of the Next button. You can use the PreviousButtonHandler and FinishButtonHandler
functions to handle the Previous and Finish buttons.

The handler performs the following actions:

Retrieves input data from HTML components on the page

Validates the end-user input

If end-user input is invalid, display an error message and refresh the page

If end-user input is valid, logs stores it for use in a later step

Controls the sequence of step execution

Example: End-User Input Handling

HTML components that wrap input controls, such as the InputBox component, expose methods to
access the values supplied by the end user. In this case, the GeUserInput() function is exposed.

You can control the next step that the framework presents as follows:

Return True from the handler to present the default next step (currentStep+1 for
NextButtonHandler, currentStep-1 for PreviousButtonHandler, end the automated task for
FinishButtonHandler).

Return False from the handler to refresh the current step.

Set Step.NextStepIndex to the step index (1 based) to skip or repeat steps.

You can handle the Next button being clicked by supplying a NextButtonHandler. Because the
NextButtonHandler has to access the HTML component that was created in the OnLoad, the
declaration (Dim statement) of this variable is placed outside these functions. Thus, the entire step
code would look as follows:

Dim myInputBox

Function OnLoad
Set myInputBox = UI.MakeInputBox()
myInputBox.PromptText = "Please enter your name:"
Step.Controls.Add(myInputBox)
End Function
Function NextButtonHandler
Dim userInputValue

' Retrieve the data supplied by the user

02-Aug-2016 340/403
CA Service Management - 14.1

userInputValue = myInputBox.GetUserInput()

' Validate the data


If Len(userInputValue) = 0 Then
' Show error message
Functions.ShowMessage "You must supply a name"

' Re-present current step


NextButtonHandler=False
Else
' Log the data
Functions.LogMessage "User name set to: " & userInputValue

' Store the data


Task.SetNamedDataItem "UserName", userInputValue

' Proceed to next step


NextButtonHandler=True
End If
End Function

02-Aug-2016 341/403
CA Service Management - 14.1

Script Library Management


This article contains the following topics:

Return Objects from Library Functions (see page 342)


Local File System/Registry Access (see page 343)
Windows Management Instrumentation (WMI) Support (see page 343)
Static Content Management (see page 344)
Functions and WScript Usage (see page 344)
Functions (see page 344)

You can use the same script functionality that gathers specific data or impacts certain changes on a
remote machine in many various automated tasks. Support Automation provides the concept of
script library to package such reusable code. You use script libraries to help you reuse and maintain
code. These libraries contain functions written in JavaScript or VBScript that automated tasks can call.
The automatic code completion feature of the Automated Task Editor provides a function description
text and argument descriptions when you edit automated task step script code.

You can create your own libraries. The Automated Task Editor displays defined JavaScript and
VBScript libraries on the left pane. Script libraries let you do the following:

Create libraries and functions

Provide descriptions of the Function arguments

Export and Import from XSDF files or directly from the Support Automation server

Define the function name, description, arguments, and script text

Return Objects from Library Functions


You can return an instance of an object from a library function, such as for library functions that
manufacture HTML Components. Returning an object requires you to declare a class and instantiate
an instance of that class. Class declarations are done differently in JavaScript and VBScript.

In JavaScript, you define classes by declaring a function that is actually the constructor for the class.
Public properties and methods are added to the class using the this keyword. You declare private
properties by using the var keyword. In JavaScript, you can declare a class inside a function definition.

In VBScript, class definitions are not permitted inside functions, however, you can provide the code
that forms the implementation of a given function. You create class definitions using one of the
following techniques:

Constructing the class definition code in a string and executing it with ExecuteGlobal.

Calling a second function and returning whatever it returns. End the function. Declare the class,
then the second function.

02-Aug-2016 342/403
CA Service Management - 14.1

Local File System/Registry Access


Many automated tasks require reading or modifying the file system or registry. The Windows Script
Host (WSH) provides some scriptable COM components (such as FileSystemObject) to enable scripts
to read or modify the file system or registry. Some antivirus programs implement script blocker
utilities that interfere with those COM components, often flagging any script that tries to instantiate
the relevant component as being malicious. Clearly, it is not desirable to have script blockers
interfere with the activities of analysts who are trusted and trying to repair a problem. The CA SDM
functions library contains functions for interacting with the file system and registry that enable much
the same functionality that the Windows components expose, without being subject to the action of
script blocker programs.

The standard WSH components are used when you write automated tasks for an internal corporate
environment where the end-user computer state is known, and assumed that script blockers are not
present. You can use the functionality in the CA SDM Functions COM component to implement any
file system or registry activity for external environments (customers at home or on the public
Internet) when the organization that is providing support does not control the end-user computer
configuration.

Windows Management Instrumentation (WMI)


Support
Automated tasks support Windows Management Instrumentation (WMI), a component of the
Windows operating system that provides management information and control in an enterprise
environment. By using industry standards, you can use WMI to query and set information about
desktop systems, applications, networks, and other enterprise components.

WMI lets you access and modify the operating system. WMI is based upon SQL-style queries that
allow an automated task to query information from the operating system and then, using objects, to
manipulate that data. WMI is a powerful system and is often the preferred method for automated
tasks to carry out their purposes.

Example: Script fragment that enumerates the currently configured Operating System Services.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colRunningServices = objWMIService.ExecQuery("Select * from Win32_Service")

For Each objService in colRunningServices


Wscript.Echo objService.DisplayName & VbTab & objService.State
Next

02-Aug-2016 343/403
CA Service Management - 14.1

Static Content Management


Automated tasks can present a user interface that requires you to use images or CSS files to appear
correctly. This static content (images and CSS files) is associated with the automated task definition
as the task is dependent on them. You can do the following:

Import static content and associate it to automated tasks.

Add, edit, delete, and upload to the Support Automation server.

Select an image or text file to import and assign a globally unique identifier (GUID).

Use the Automated Task Editor to assign static content items to automated tasks.

When you assign the static content item, you associate the automated task and it is saved in the XSDF
with the task. The static content automatically deploys to the server when the dependent automated
task deploys.

Static content is stored in the Support Automation database on the server. A servlet provides access
to these images based on their ID. The Functions library call Functions.GetStaticContentItemRef()
returns the URL to that servlet, which takes the ID as a parameter. The Automated Task Editor
provides a toolbar button that brings up the Static Content Items dialog, which allows you to select
the desired item. When you click OK, the Functions.GetStaticContentItemRef() call is automatically
inserted into the code with the relevant ID.

Note: Status content has a limit of 50 KB per item.

Functions and WScript Usage


The framework provides two scriptable COM components that are accessible to all automated tasks
running in CA SDM. These COM components are Functions and WScript.

Functions
The functions component is a collection of procedure calls that are used for the following:

Accessing the local file system and or registry without triggering antivirus script blocker programs

Accessing the Support Automation server functionality such as:

Writing session log entries

Storing automated task acquired data

02-Aug-2016 344/403
CA Service Management - 14.1

Setting automated task execution state

Sending email

Escalating between products

Executing custom server routines

02-Aug-2016 345/403
CA Service Management - 14.1

Functions COM Object Methods


This article contains the following topics:
WScript (see page 351)

The following Functions COM Object Methods are available for use in Support Automation
automated tasks.

Function Description
B64Encode (BSTR data, VARIANT Base64 encodes the specified data.
*varResult)
B64Decode (BSTR data, VARIANT Decodes the specified data.
*varResult)
CheckIfServerExists (BSTR URL, USHORT Makes a request on the specified server to determine if
port, VARIANT *varResult) it is accepting connections.
Eof (LONG fileno, VARIANT *varResult) Determines if there is unread data in the specified text
file
EscalateToLive (VARIANT *varResult) Escalates the customers session from Self-Serve to Live
Session
ExecuteRC (BSTR MethodName, BSTR Executes a RuleConduit call on the server allowing
ParamStr, int ParamCount, VARIANT arbitrary server methods to be executed.
*varResult)
ExecuteWaitAndCaptureStream (BSTR Executes the specified command and waits for the
strProg, int nStream, VARIANT *varResult) process to exit, capturing the output from the process
execution.
FileAddAttributes (BSTR szFilePath, LONG Call to add attributes (Read-Only, Compressed, Archived,
dwAttr, VARIANT *bvarResult) etc) to a file without changing attributes already there.
FileCloseTextFile (LONG fileno) Closes a text file previously opened with
FileCreateTextFile or FileOpenTextFile.
FileCopyTo (BSTR szSourceFilePath, BSTR Call FileCopyTo to copy a file from one place to another.
szDestFilePath, VARIANT_BOOL
bcanOverwrite, VARIANT *bvarResult)
FileCreateTextFile (BSTR szFilePath, BOOL Creates a new text file in the specified location returning
overwrite, VARIANT *varResult) a handle that can be used to interact with the file.
FileDelete (BSTR szFilePath, VARIANT Call to permanently delete a file.
*bvarResult)
FileExecute (BSTR szCommand, VARIANT Call to execute a file.
*bvarResult)
FileExecuteAndWait (BSTR szCommand, Call to execute a file and wait for it to exit.
LONG dwMilliseconds, VARIANT
*bvarResult)
FileExists (BSTR szFilePath, VARIANT Checks whether a file exists or not.
*bvarResult)

02-Aug-2016 346/403
CA Service Management - 14.1

FileGetAttributes (BSTR szFilePath, Call to retrieve the attributes (Read-only, archive,


VARIANT *dwvarResult) compressed, etc) of a file.
FileGetDirectoryContents (BSTR Returns the selected contents of the specified directory.
pathName, BOOL showFiles, BOOL
showDirs, VARIANT *varResult)
FileGetDrives (VARIANT *varResult) Call to get a list of drives mounted.
FileGetDriveType (BSTR driveName, Returns the type of the specified drive.
VARIANT *varResult)
FileGetInfo (BSTR szFilePath, VARIANT Call to get the size and date information for a file.
*varResult)
FileGetINISectionContents (BSTR filename, Gets a pipe delimited list of the contents of the specified
BSTR sectionName, VARIANT *varResult) INI section.
FileGetINIValue (BSTR fileName, BSTR Gets the value of the specified item in the INI file.
sectionName, BSTR keyName, BSTR
defaultValue, VARIANT *varResult)
FileGetInternetFile (BSTR szURL, BSTR Call to download a file from the internet.
szFilePath, VARIANT *bvarResult)
FileGetSize (BSTR szPath, VARIANT Gets the size of a file in bytes.
*varResult)
FileGetVersion (BSTR szFilePath, VARIANT Retrieves the version number of a file.
*szvarResult)
FileGetVolumeInfo (BSTR Gets the information for a drive.
szVolumeRootPath, VARIANT *varResult)
FileMakeDir (BSTR szDirPath, VARIANT Creates a directory.
*bvarResult)
FileMoveTo (BSTR szSourceFilePath, BSTR Moves a file from one place to another.
szDestFilePath, VARIANT_BOOL
bcanOverwrite, VARIANT *bvarResult)
FileOpenTextFile (BSTR szFilePath, BSTR Opens the specified text file returning a handle that can
szMode, VARIANT *varResult) be used to interact with the file.
FileReadLine (LONG fileno, VARIANT Reads a line of text from the text file.
*varResult)
FileRecycle (BSTR szFilePath, VARIANT Recycles a file. Recycling places the file in the recycle bin
*bvarResult) and removes it from its original folder.
FileRenameTo (BSTR szSourceFilePath, Call FileRenameTo to change the name of a file.
BSTR szDestFilePath, VARIANT_BOOL
bcanOverwrite, VARIANT *bvarResult)
FileSetAttributes (BSTR szFilePath, LONG Sets the attributes (Read-only, archived, compressed,
dwAttr, VARIANT *bvarResult) etc) of a file.
FileSetINIData (BSTR filename, BSTR Sets the data for the specified key in the INI file.
sectionName, BSTR keyName, BSTR data,
VARIANT *varResult)
FileWriteLine (LONG fileno, BSTR value, Writes a line of text into the text file.
VARIANT *varResult)
Gets the caption for the specified child window.

02-Aug-2016 347/403
CA Service Management - 14.1

GetChildWindowCaption (int index,


VARIANT *varResult)
GetChildWindowHandle (int index, Gets the handle for the specified child window.
VARIANT *varResult)
GetChildWindowProcessName (int index, Gets the name of the process that owns the specified
VARIANT *varResult) child window.
GetChildWindows (int hwnd, VARIANT Enumerates the windows that are children of the
*varResult) specified window storing the results for future querying,
returning the count.
GetExecutionEnvironment (VARIANT Gets a string indicating where the script is being
*varResult) executed.
GetLocalization (VARIANT *varResult) Gets the localization of the current user.
GetRootUrl (VARIANT *result) Return the Server Root URL.
GetStaticContentUrl (VARIANT *result) Return the Server Static Content URL.
GetStaticItemURL (BSTR itemGuid, Retrieves the root URL of the given static content item.
VARIANT *varResult)
GetSupportDeskOpen (VARIANT Gets the hours of operation status of the support desk.
*varResult)
GetWindowCaption (int index, VARIANT Gets the caption for the specified window.
*varResult)
GetWindowHandle (int index, VARIANT Gets the handle for the specified window.
*varResult)
GetWindowProcessName (int index, Gets the name of the process that owns the specified
VARIANT *varResult) window.
GetWindows (VARIANT *varResult) Enumerates the system top level window handles, stores
the results for future calls and returns the count.
HttpGet (BSTR szUrl, VARIANT *varResult) Makes a request on the specified URL and returns the
results.
HttpPost (BSTR szUrl, BSTR szBody) Posts the specified request body to the specified URL.
InternetCheckConnection (VARIANT Determines if the customer machine appears to have a
*varResult) working internet connection.
LogMessage (BSTR szMessage) Adds a message to the session log for the script
execution.
OutlookGetPSTContents (BSTR szPSTPath, Gets the contents of the specified Outlook PST file.
VARIANT *varResult)
PromptUser (LONG Timeout, BOOL Prompts the user with given message.
DefaultResult, BSTR Message, VARIANT
*varResult)
ReadLine (LONG fileno, VARIANT Reads a line of text from the text file. (deprecated, use
*varResult) FileReadLine instead).
RegCopyKey (BSTR szSourceRoot, BSTR Copies the entire contents of one key to another.
szSourceKey, BSTR szDestRoot, BSTR
szDestKey, VARIANT_BOOL bCanOverwrite,
VARIANT *varResult)

02-Aug-2016 348/403
CA Service Management - 14.1

RegCopyValue (BSTR szSourceRoot, BSTR Copy the contents of one key/value to another. The user
szSourceKey, BSTR szSourceValue, BSTR must have the ability to query keys for the root
szDestRoot, BSTR szDestKey, BSTR specified.
szDestValue, VARIANT *bvarResult)
RegCreateKey (BSTR szRootPath, BSTR Creates a key entry in the user's registry.
szKeyPath, VARIANT *bvarResult)
RegDeleteKey (BSTR szRootPath, BSTR Removes a key from the registry. The user must have the
szKeyPath, VARIANT *bvarResult) ability to remove keys from the root specified.
RegDeleteValue (BSTR szRootPath, BSTR Removes a key value from the registry. The user must
szKeyPath, BSTR szValueName, VARIANT have the ability to query keys for the root specified.
*bvarResult)
RegGetDWORD (BSTR szRootPath, BSTR Retrieves the a DWORD value from a specified key in the
szKeyPath, BSTR szValueName, VARIANT registry. The user must have the ability to query keys for
*dwvarResult) the root specified.
RegGetString (BSTR szRootPath, BSTR Retrieves a string value from a registry key. The user
szKeyPath, BSTR szValueName, VARIANT must have the ability to query keys for the root
*szvarResult) specified.
RegGetSubkeyByIndex (BSTR szRoot, BSTR Retrieves the name of a subkey based on its index. The
szKey, LONG idxSubkey, VARIANT user must have the ability to query keys for the root
*varResult) specified.
RegGetSubkeysCount (BSTR szRoot, BSTR Gets the number of keys underneath any given key. The
szKey, VARIANT *varResult) user must have the ability to query keys for the root
specified.
RegGetValueByIndex (BSTR szRoot, BSTR Retrieves a key value given its index. The user must have
szKey, LONG idxValue, VARIANT the ability to query keys for the root specified.
*varResult)
RegGetValuesCount (BSTR szRoot, BSTR Gets the number of values for a given key. The user must
szKey, VARIANT *varResult) have the ability to query keys for the root specified.
RegGetValueType (BSTR szRootPath, BSTR Finds out the type of value for a given Registry key. The
szKeyPath, BSTR szValueName, VARIANT user must have the ability to query keys for the root
*dwvarResult) specified.
RegKeyExists (BSTR szRootPath, BSTR Queries a key from the registry. The user must have the
szKeyPath, VARIANT *bvarResult) ability to query keys from the root specified.
RegMoveKey (BSTR szSourceRoot, BSTR Moves the entire contents of one key to another.
szSourceKey, BSTR szDestRoot, BSTR
szDestKey, VARIANT_BOOL bCanOverwrite,
VARIANT *varResult)
RegMoveValue (BSTR szSourceRoot, BSTR Moves the contents of one key value to another. The
szSourceKey, BSTR szSourceValue, BSTR user must have the ability to query keys for the root
szDestRoot, BSTR szDestKey, BSTR specified and write to the destination.
szDestValue, VARIANT *bvarResult)
RegRenameValue (BSTR szRootPath, BSTR Changes the name of a registry value. Note: The user
szKeyPath, BSTR szOldValueName, BSTR must have the ability to query keys for the root
szNewValueName, VARIANT *bvarResult) specified.
RegRestoreKeyFromFile (BSTR szRootPath, Restores the entire contents of a key from a file into the
BSTR szKeyPath, BSTR szFilePath, VARIANT registry. The user must have the ability to query and
*bvarResult) write keys for the root specified.

02-Aug-2016 349/403
CA Service Management - 14.1

RegSaveKeyToFile (BSTR szRootPath, BSTR Saves the entire contents of a key from the registry into
szKeyPath, BSTR szFileName, VARIANT a file. This file may then be restored using
*bvarResult) RegRestoreKeyFromFile. The user must have the ability
to query keys from the root specified.
RegSetDWORD (BSTR szRootPath, BSTR Sets a DWORD value in the registry. The user must have
szKeyPath, BSTR szValueName, LONG the ability to query keys for the root specified.
dwValue, VARIANT *bvarResult)
RegSetString (BSTR szRootPath, BSTR Sets a string value for a key in the registry. The user
szKeyPath, BSTR szValueName, BSTR must have the ability to query keys for the root
szValue, VARIANT *bvarResult) specified.
RegValueExists (BSTR szRootPath, BSTR Checks for the existence of a key/value pair in the
szKeyPath, BSTR szValueName, VARIANT registry. The user must have the ability to query keys for
*bvarResult) the root specified.
RunCommandAsImpersonatedUser (BSTR Runs an application with the same credentials the script
bapp, BSTR bargs, VARIANT_BOOL block, has (deprecated). Returns 0 on success.
LONG timeout, VARIANT *varResult)
RunCommandAsUser (BSTR domain, BSTR Runs an application as another user. Returns 0 on
user, BSTR password, BSTR app, BSTR args, success.
VARIANT_BOOL block, LONG timout,
VARIANT *varResult)
SaveLog (BSTR fileName) Saves the session log.
SendEmail (BSTR toAddress, BSTR Sends an email via CA Service Desk Manager mail
emailSubject, BSTR emailBody) daemon.
SetAcquiredData (BSTR data) Save a chunk of script specific character data on the
server for later use.
SetScriptSuccess (BOOL bSuccess, VARIANT Indicates whether the script executed successfully from
*varResult) the script's point of view.
ShowFileBrowseDlg (BSTR browseType, Shows the standard windows file browse dialog and
BSTR fileExt, VARIANT *varResult) returns the selected file.
ShowMessage (BSTR szMessage) Displays the message to the user in a message box.
Sleep (LONG time) Causes the execution thread to sleep.
TransferToQueue (BSTR queueID, BSTR Sets the customer's current queue, this is the queue that
queueName) the customer will enter if escalated to live.
UtilAttachDll (BSTR szDllPath, BSTR Loads a dll into the process space so that functions may
szHTTPLocation, VARIANT *varResult) be called from it.
UtilCloseTask (BSTR szProcName, VARIANT Closes a running task.
*bvarResult)
UtilDetachDll (LONG idDll, VARIANT Unloads a DLL from memory.
*varResult)
UtilEndProcess (BSTR szProcName, Terminates the process with the specified name.
VARIANT *bvarResult)
UtilExitWindows (LONG lAction, Exits windows either by log off, restart, or shutdown.
VARIANT_BOOL bForce, VARIANT_BOOL
bRelogin)
Executes a function from a loaded DLL.

02-Aug-2016 350/403
CA Service Management - 14.1

UtilExternalMethodCall (LONG idDll, BSTR


szFuncName, LONG lFuncType, BSTR
szParams, VARIANT *varResult)
UtilGetComputerName (VARIANT Gets the current computer name.
*varResult)
UtilGetEnvironmentVariable (BSTR Gets the value of a defined environment variable.
szVarName, VARIANT *varResult)
UtilGetOSVersion (VARIANT *varResult) Gets the OS version.
UtilGetProcessByIndex (LONG idxProcess, Retrieves process information for the specified process.
VARIANT *varResult)
UtilGetProcesses (VARIANT *varResult) Gets a list of all processes running on the customer
machine.
UtilGetProcessesCount (VARIANT Gets the number of processes currently running on the
*varResult) customer machine.
UtilGetProcessMemory (LONG processID, Gets the amount of memory used by the specified
VARIANT *varResult) process.
UtilGetRunningTask (LONG idxWnd, Gets information related to a task running on the
VARIANT *varResult) customer machine. UtilGetRunningTasksCount should be
called first to determine the number of tasks available.
UtilGetRunningTasksCount (VARIANT Gets a count of the tasks running on the customer
*varResult) machine.
UtilGetSystemDir (VARIANT *varResult) Gets the windows system directory.
UtilGetSystemMetrics (LONG nIndex, Gets the value of the specified system metric.
VARIANT *varResult)
UtilGetUserName (VARIANT *varResult) Gets the current user's logon name.
UtilGetWindowsDir (VARIANT *varResult) Gets the directory for windows.
UtilGlobalMemoryStatus (VARIANT Gets information on global memory availability.
*varResult)

WScript
Many public domain script examples are available from sources such as Microsoft TechNet
ScriptCenter, which are typically aimed at a system administrator audience, but are often useful for
use in automated tasks. They often assume that the existence of an object called WScript, which
Microsoft provides as part of their command-line script execution engine, but not part of the
Windows Script Host in itself.

CA SDM implements a simple version of the WScript object providing the Echo, Sleep, GetObject, and
CreateObject methods, providing compatibility for the most commonly used WScript methods.
WScript.Echo(), which usually writes to the command line, is implemented in CA SDM to write to the
automated task log, and thus WScript.Echo() is synonymous with Functions.LogMessage().

02-Aug-2016 351/403
CA Service Management - 14.1

WScript COM Object Methods


The following WScript COM Object Methods are available for use in Support Automation automated
tasks.

Object Method Description


CreateObject Creates an instance of the specified COM object.
(objDescription)
Echo(msg) Logs the specified message. Equivalent to Functions.LogMessage(msg).
GetObject Used to get an instance of an object from a string reference to it.
(objDescription)
Quit() Ends the executing task immediately.
Sleep(time) Pauses execution for the specified number of milliseconds. Equivalent to
Functions.Sleep(time).

02-Aug-2016 352/403
CA Service Management - 14.1

EBR_DICTIONARY Table
This article contains the following topic:
EBR_DICTIONARY_ADM Table (see page 353)

SQL Name -- EBR_DICTIONARY

Object -- EBR_DICTIONARY

Field Data Type Reference Remarks


id INTEGER UNIQUE KEY
WORD_ID INTEGER
WORD STRING 50 NOT_NULL S_KEY
WORD_TYPE INTEGER
WORD_TOTAL_COUNT INTEGER
DF INTEGER
WORD_IDF INTEGER
last_mod_dt LOCAL_TIME

EBR_DICTIONARY_ADM Table
SQL Name -- EBR_DICTIONARY_ADM

Object -- EBR_DICTIONARY_ADM

Field Data Type Reference Remarks


id INTEGER UNIQUE KEY
WORD_ID INTEGER
WORD STRING 50 NOT_NULL S_KEY
WORD_TYPE INTEGER
WORD_TOTAL_COUNT INTEGER
DF INTEGER
WORD_IDF INTEGER
last_mod_dt LOCAL_TIME

02-Aug-2016 353/403
CA Service Management - 14.1

EBR_FULLTEXT Table
This topic contains the following topics:
EBR_FULLTEXT_ADM Table (see page 354)
EBR_FULLTEXT_SD Table (see page 355)
EBR_FULLTEXT_SD_ADM Table (see page 356)

Program control table used by Knowledge Management.

SQL Name -- EBR_FULLTEXT

Object -- EBR_FULLTEXT

Field Data Type Reference Remarks


DOC_TYPE INTEGER
ENTITY_ID INTEGER
FULL_WORD STRING 50
FULL_WORD_ REVERSE STRING 50
ID INTEGER NOT_NULL KEY Unique (to the table) Numeric ID
PERMISSION_INDEX_ID INTEGER
PRODUCT STRING 50
SHORT_WORD STRING 50
TABLE_ID INTEGER
WORD_COUNT INTEGER
WORD_COUNT_ PROBLEM INTEGER
WORD_COUNT_ INTEGER
RESOLUTION
WORD_COUNT_ SUMMARY INTEGER
WORD_COUNT_ TITLE INTEGER
WORD_IDF INTEGER
WORD_ORDER INTEGER
WORD_TYPE INTEGER

EBR_FULLTEXT_ADM Table
Program control table used by Knowledge Management.

SQL Name -- EBR_FULLTEXT_ADM

Object -- EBR_FULLTEXT_ADM

02-Aug-2016 354/403
CA Service Management - 14.1

Object -- EBR_FULLTEXT_ADM

Field Data Type Reference Remarks


DOC_TYPE INTEGER
ENTITY_ID INTEGER
FULL_WORD STRING 50
FULL_WORD_ REVERSE STRING 50
ID INTEGER NOT_NULL KEY Unique (to the table) Numeric ID
PERMISSION_ INDEX_ID INTEGER
PRODUCT STRING 50
SHORT_WORD STRING 50
TABLE_ID INTEGER
WORD_COUNT INTEGER
WORD_COUNT_ PROBLEM INTEGER
WORD_COUNT_ INTEGER
RESOLUTION
WORD_COUNT_ SUMMARY INTEGER
WORD_COUNT_ TITLE INTEGER
WORD_IDF INTEGER
WORD_ORDER INTEGER
WORD_TYPE INTEGER

EBR_FULLTEXT_SD Table
Program control table used by Knowledge Management.

SQL Name -- EBR_FULLTEXT_SD

Object -- EBR_FULLTEXT_SD

Field Data Type Reference Remarks


ENTITY_ID INTEGER
FULL_WORD INTEGER
ID INTEGER NOT_NULL KEY Unique (to the table) Numeric ID
SHORT_WORD STRING 50
TABLE_ID INTEGER
WORD_COUNT INTEGER
WORD_COUNT_ PROBLEM INTEGER
INTEGER

02-Aug-2016 355/403
CA Service Management - 14.1

Field Data Type Reference Remarks


WORD_COUNT_
RESOLUTION
WORD_COUNT_ SUMMARY INTEGER
WORD_COUNT_ TITLE INTEGER
WORD_IDF INTEGER
WORD_ORDER INTEGER
WORD_TYPE INTEGER

EBR_FULLTEXT_SD_ADM Table
Program control table used by Knowledge Management.

SQL Name -- EBR_FULLTEXT_SD_ADM

Object -- EBR_FULLTEXT_SD_ADM

Field Data Type Reference Remarks


ENTITY_ID INTEGER
FULL_WORD INTEGER
ID INTEGER NOT_NULL KEY Unique (to the table) Numeric ID
SHORT_WORD STRING 50
TABLE_ID INTEGER
WORD_COUNT INTEGER
WORD_COUNT_ PROBLEM INTEGER
WORD_COUNT_ INTEGER
RESOLUTION
WORD_COUNT_ SUMMARY INTEGER
WORD_COUNT_TITLE INTEGER
WORD_IDF INTEGER
WORD_ORDER INTEGER
WORD_TYPE INTEGER

02-Aug-2016 356/403
CA Service Management - 14.1

EBR_INDEX Table
This article contains the following topics:
EBR_INDEX_ADM Table (see page 357)
EBR_INDEXING_QUEUE Table (see page 358)

Program control table used by Knowledge Management.

SQL Name -- EBR_INDEX

Object -- EBR_INDEX

Field Data Type Reference Remarks


id INTEGER
UNIQUE KEY
ENTITY_ID INTEGER
NOT_NULL
S_KEY
WORD_ID INTEGER
NOT_NULL
S_KEY
WORD_TYPE INTEGER
NOT_NULL
S_KEY
WORD_ORDER INTEGER
WORD_COUNT INTEGER
WORD_COUNT_ TITLE INTEGER
WORD_COUNT_ SUMMARY INTEGER
WORD_COUNT_ PROBLEM INTEGER
WORD_COUNT_ RESOLUTION INTEGER

EBR_INDEX_ADM Table
Program control table used by Knowledge Management.

SQL Name -- EBR_INDEX_ADM

Object -- EBR_INDEX_ADM

Field Data Type Reference Remarks


id INTEGER UNIQUE KEY

02-Aug-2016 357/403
CA Service Management - 14.1

Field Data Type Reference Remarks


ENTITY_ID INTEGER NOT_NULL S_KEY
WORD_ID INTEGER NOT_NULL S_KEY
WORD_TYPE INTEGER NOT_NULL S_KEY
WORD_ORDER INTEGER
WORD_COUNT INTEGER
WORD_COUNT_ TITLE INTEGER
WORD_COUNT_ SUMMARY INTEGER
WORD_COUNT_ PROBLEM INTEGER
WORD_COUNT_ RESOLUTION INTEGER

EBR_INDEXING_QUEUE Table
Program control table used by Knowledge Management.

SQL Name -- EBR_INDEXING_QUEUE

Object -- EBR_INDEXING_QUEUE

Field Data Type Reference Remarks


ACTION INTEGER
ACTION_DATE DATE
ID INTEGER NOT_NULL KEY Unique (to the table) Numeric ID
INDEXED INTEGER
OBJ_PERSID STRING 30 Persistent ID (SystemObjectName:id)
PRIORITY INTEGER
TEXT STRING 32768
TEXT STRING 32768

02-Aug-2016 358/403
CA Service Management - 14.1

EBR_SYNONYMS Table
This article contains the following topics:
EBR_SYNONYMS_ADM Table (see page 359)

Program control table used by Knowledge Management.

SQL Name -- EBR_SYNONYMS

Object -- EBR_SYNONYMS

Field Data Type Reference Remarks


ID INTEGER NOT_NULL Unique (to the table) Numeric ID
KEY
KEYWORD1 STRING 50
KEYWORD2 STRING 50
LAST_MOD_ LOCAL_TIME Indicates the timestamp of when this record was last
DT modified.

EBR_SYNONYMS_ADM Table
Program control table used by Knowledge Management.

SQL Name -- EBR_SYNONYMS_ADM

Object -- EBR_SYNONYMS_ADM

Field Data Type Reference Remarks


ID INTEGER NOT_NULL Unique (to the table) Numeric ID
KEY
KEYWORD1 STRING 50
KEYWORD2 STRING 50
LAST_MOD_ LOCAL_TIME Indicates the timestamp of when this record was last
DT modified.

02-Aug-2016 359/403
CA Service Management - 14.1

bop_sinfo--Display System Information


The bop_sinfo utility displays information about a single Majic-defined object. You can run this utility
on the objects listed under Technical Reference (see page 16).

Syntax

This command has the following format:

bop_sinfo [-s server] [-p] [-l] [-d] [f] [-q] [-t] [-m] [-a] object [-h]

-s server
Specifies the server to query.

-p
Displays the producer information.

-l
Displays the domset list.

-d
Displays database object information, including the name and type of all attributes.

-f
Displays factory information, including the rel_attr and common_name.

-q
Displays the schema name of the associated table.

-t
Displays triggers on the object.

-m
Displays methods used by the object.

-a
Displays attribute details.

object
The name of the object to query

-h
Displays help on the utility.

Example: Display System Information for the dmn object

bop_sinfo -d dmn
Factory dmn
Attributes
id INTEGER

02-Aug-2016 360/403
CA Service Management - 14.1

producer_id LOCAL STRING(20)


persistent_id STRING(30)
sym STRING(60) REQUIRED
delete_flag SREL -> actbool.enum REQUIRED
desc STRING(40)
tables BREL <- dcon.dom_id {dom_id = ?}
last_mod DATE
last_mod_by SREL -> cnt.id
audit_userid LOCAL SREL -> cnt.id

02-Aug-2016 361/403
CA Service Management - 14.1

ES_CONSTANTS Object
This article contains the following topics:
ES_NODES Object (see page 362)
ES_RESPONSES Object (see page 363)
ES_SESSIONS Object (see page 364)

The object details are as follows:

1. Associated Table: ES_CONSTANTS

2. Factories: default

3. REL_ATTR: id

4. Common Name: NAME

5. Function Group:

6. REST Operations: CREATE READ UPDATE

Attribute DB Field Data Type SREL References Flags


Comments COMMENTS STRING
id ID INTEGER REQUIRED KEY
Last Modified Date LAST_MOD_DT LOCAL_TIME
Name NAME STRING
Property ID PROPERTYID INTEGER
Property Value PROPVALUE INTEGER

ES_NODES Object
The object details are as follows:

1. Associated Table: ES_NODES

2. Factories: default

3. REL_ATTR: id

4. Common Name: NODE_SHORT_DESC

5. Function Group:

6. REST Operations: CREATE READ UPDATE

02-Aug-2016 362/403
CA Service Management - 14.1

Attribute DB Field Data Type SREL References Flags


DISPLAYED_TEXT DISPLAYED_TEXT STRING
id ID INTEGER REQUIRED KEY
last_mod_dt LAST_MOD_DT LOCAL_TIME
LINK_ID LINK_ID INTEGER ES_NODES id
NODE_ID NODE_ID INTEGER
NODE_SHORT_ DESC NODE_SHORT_ DESC STRING
NODE_TYPE NODE_TYPE INTEGER
PARENT_NODE_ID PARENT_NODE_ID INTEGER
QUERY_RESP_ NUMBER QUERY_RESP_ NUMBER INTEGER
QUERY_RESP_ TYPE QUERY_RESP_ TYPE STRING
RESPLINKID1 RESPLINKID1 INTEGER
RESPLINKID2 RESPLINKID2 INTEGER
RESPLINKID3 RESPLINKID3 INTEGER
RESPLINKID4 RESPLINKID4 INTEGER
RESPLINKID5 RESPLINKID5 INTEGER
RESPLINKID6 RESPLINKID6 INTEGER
RESPLINKID7 RESPLINKID7 INTEGER
RESPONSE1 RESPONSE1 STRING
RESPONSE2 RESPONSE2 STRING
RESPONSE3 RESPONSE3 STRING
RESPONSE4 RESPONSE4 STRING
RESPONSE5 RESPONSE5 STRING
RESPONSE6 RESPONSE6 STRING
RESPONSE7 RESPONSE7 STRING
ROOT_ID ROOT_ID INTEGER ES_NODES id
TREE_ID TREE_ID INTEGER SKELETONS id

ES_RESPONSES Object
The object details are as follows:

1. Associated Table: ES_RESPONSES

2. Factories: default

3. REL_ATTR: id

4. Common Name: RESPONSE_LINK_TEXT

02-Aug-2016 363/403
CA Service Management - 14.1

4. Common Name: RESPONSE_LINK_TEXT

5. Function Group:

6. REST Operations: CREATE READ UPDATE

Attribute DB Field Data Type SREL References Flags


id ID INTEGER REQUIRED KEY
last_mod_dt LAST_MOD_ DT LOCAL_TIME
PARENT_ NODE_ID PARENT_ NODE_ID INTEGER ES_NODES id
RESPONSE_LINK_ID RESPONSE_ LINK_ID INTEGER ES_NODES id
RESPONSE_ LINK_ORDER RESPONSE_ LINK_ORDER INTEGER
RESPONSE_ LINK_TEXT RESPONSE_ LINK_TEXT STRING

ES_SESSIONS Object
The object details are as follows:

1. Associated Table: ES_SESSIONS

2. Factories: default

3. REL_ATTR: id

4. Common Name: EXTERNAL_ID

5. Function Group: reference

6. REST Operations: CREATE READ UPDATE

Attribute DB Field Data Type SREL References Flags


COMMENT_TEXT COMMENT_TEXT STRING
EVALUATION EVALUATION INTEGER
EXTERNAL_ID EXTERNAL_ID STRING
id ID INTEGER REQUIRED KEY
last_mod_dt LAST_MOD_DT LOCAL_TIME
PATH_IDS PATH_IDS STRING
PATH_QAS PATH_QAS STRING
SESSION_ID SESSION_ID INTEGER
TREE_ID TREE_ID INTEGER ES_NODES id

02-Aug-2016 364/403
CA Service Management - 14.1

BSVC--func_access Object
This article contains the following topics:
BSVC--func_access_level Object (see page 365)
BSVC--func_access_role Object (see page 366)
func_access_type Object (see page 366)

The object details are as follows:

1. Associated Table: usp_functional_access

2. Factories: default

3. REL_ATTR: code

4. Common Name: sym

5. Function Group: security

6. REST Operations: CREATE READ UPDATE

Attribute DB Field Data Type SREL References Flags


code code STRING 30 REQUIRED
UNIQUE
type type SREL func_access_type.id REQUIRED
sym sym STRING 60 REQUIRED
description description STRING 1000
last_mod_dt last_mod_dt DATE
last_mod_by last_mod_by UUID cnt.id

BSVC--func_access_level Object
The object details are as follows:

1. Associated Table: usp_functional_access_level

2. Factories: default

3. REL_ATTR: id

4. Common Name: sym

5. Function Group: security

6. REST Operations: CREATE READ UPDATE

02-Aug-2016 365/403
CA Service Management - 14.1

6. REST Operations: CREATE READ UPDATE

Attribute DB Field Data Type SREL References Flags


access_level access_level INTEGER REQUIRED
type type SREL func_access_type.id REQUIRED
sym sym STRING 60 REQUIRED
description description STRING 1000
last_mod_dt last_mod_dt DATE
last_mod_by last_mod_by UUID cnt.id

BSVC--func_access_role Object
The object details are as follows:

1. Associated Table: usp_functional_access_role

2. Factories: default

3. REL_ATTR: id

4. Common Name: sym

5. Function Group: security

6. REST Operations: CREATE READ UPDATE

Attribute DB Field Data Type SREL References Flags


access_level access_level SREL func_access_level.id
func_access func_access SREL func_access.code
role role SREL role.id
description description STRING 1000
last_mod_dt last_mod_dt DATE
last_mod_by last_mod_by UUID cnt.id

func_access_type Object
The object details are as follows:

1. Associated Table: usp_functional_access_type

2. Factories: default

02-Aug-2016 366/403
CA Service Management - 14.1

3. REL_ATTR: id

4. Common Name: sym

5. Function Group: security

6. REST Operations: CREATE READ UPDATE

Attribute DB Field Data Type SREL References Flags


sym sym STRING 60
default_access default_access SREL func_access_level.id
description description STRING 1000
last_mod_dt last_mod_dt DATE
last_mod_by last_mod_by UUID cnt.id

02-Aug-2016 367/403
CA Service Management - 14.1

Table and Object Cross-References


This article contains the following topics:
Table to SQL Name and Object (see page 368)
SQL Name to Table and Object (see page 376)
Object to Table and SQL Name (see page 383)
CA SDM Object List Table for Multi-Tenancy (see page 391)

This chapter provides several tables that allow you to easily cross-reference table names, SQL names,
and object names. The chapter Data Element Dictionary lists a complete definition of the tables in
the schema. The chapter Objects and Attributes lists the object definitions.

Table to SQL Name and Object


This table provides a cross-reference of each table in the database schema to its corresponding SQL
and object names:

Table SQL Name (AKA) Object


Access_Levels acc_lvls acc_lvls
Access_Type_v2 acctyp_v2 acctyp
Act_Log act_log alg
Act_Type act_type aty
Act_Type_Assoc atyp_asc act_type_assoc
Active_Boolean_Table actbool actbool
Active_Reverse_Boolean_Table actrbool actrbool
admin_tree admin_tree ADMIN_TREE
Am_Asset_Map am_map am_asset_map
Animator anima ANI
Archive_Purge_History arcpur_hist arcpur_hist
Archive_Purge_Rule arcpur_rule arcpur_rule
Asset_Assignment hier hier
Atomic_Condition atomic_cond atomic_cond
Attached_Events att_evt atev
Attached_SLA attached_sla attached_sla
Attachment attmnt attmnt
attmnt_folder attmnt_folder attmnt_folder
Attribute_Name atn
Audit_Log audit_log audlog

02-Aug-2016 368/403
CA Service Management - 14.1

Table SQL Name (AKA) Object


Behavior_Template bhvtpl bhvtpl
Boolean_Table bool_tab bool
Bop_Workshift bpwshft wrkshft
BU_TRANS BU_TRANS BU_TRANS
Business_Management busmgt bmhier
Business_Management_Class buscls bmcls
Business_Management_Repository busrep bmrep
Business_Management_Status busstat bms
ca_asset_type ca_asset_type
ca_company ca_company ca_cmpny
ca_company_type ca_company_type vpt
ca_contact ca_contact cnt
ca_contact_type ca_contact_type ctp
ca_country ca_country country
ca_job_function ca_job_function job_func
ca_job_title ca_job_title position
ca_location ca_location loc
ca_model_def ca_model_def mfrmod
ca_organization ca_organization org
ca_owned_resource ca_owned_resource nr
ca_resource_class ca_resource_class grc
ca_resource_cost_center ca_resource_cost_center cost_cntr
ca_resource_department ca_resource_department dept
ca_resource_family ca_resource_family nrf
ca_resource_gl_code ca_resource_gl_code gl_code
ca_resource_operating_system ca_resource_operating_system opsys
ca_resource_status ca_resource_status rss
ca_schema_info ca_schema_info
ca_site ca_site site
ca_state_province ca_state_province state
ca_tenant ca_tenant tenant
ca_tenant_group ca_tenant_group tenant_group
ca_tenant_group_member ca_tenant_group_member tenant_group_member
Call_Req call_req cr
Call_Req_Type crt crt
Call_Solution crsol crsol

02-Aug-2016 369/403
CA Service Management - 14.1

Table SQL Name (AKA) Object


Change_Act_Log chgalg chgalg
Change_Category chgcat chgcat
Change_Request chg chg
Change_Status chgstat chgstat
Chg_Template chg_template chg_tpl
CI_ACTIONS CI_ACTIONS CI_ACTIONS
CI_ACTIONS_ALTERNATE CI_ACTIONS_ALTERNATE CI_ACTIONS_ALTERNATE
CI_BOOKMARKS CI_BOOKMARKS CI_BOOKMARKS
CI_DOC_LINKS CI_DOC_LINKS CI_DOC_LINKS
CI_DOC_TEMPLATES CI_DOC_TEMPLATES CI_DOC_TEMPLATES
CI_DOC_TYPES CI_DOC_TYPES CI_DOC_TYPES
CI_PRIORITIES CI_PRIORITIES CI_PRIORITIES
CI_STATUSES CI_STATUSES CI_STATUSES
CI_WF_TEMPLATES CI_WF_TEMPLATES CI_WF_TEMPLATES
Column_Name cn
Contact_Method ct_mth cmth
Controlled_Table ctab ctab
Cr_Call_Timers crctmr ctimer
Cr_Status cr_stat crs
Cr_Stored_Queries crsq crsq
Cr_Template cr_template cr_tpl
D_PAINTER D_PAINTER
Delegation_Server dlgtsrv dlgsrvr
Document_Repository doc_rep doc_rep
Domain dmn dmn
Domain_Constraint dcon dcon
Domain_Constraint_Type dcon_typ dcon_typ
EBR_ACRONYMS EBR_ACRONYMS EBR_ACRONYMS
EBR_FULLTEXT EBR_FULLTEXT EBR_FULLTEXT
EBR_FULLTEXT_ADM EBR_FULLTEXT_ADM EBR_FULLTEXT_ADM
EBR_FULLTEXT_SD EBR_FULLTEXT_SD EBR_FULLTEXT_SD
EBR_FULLTEXT_SD_ADM EBR_FULLTEXT_SD_ADM EBR_FULLTEXT_SD_ADM
EBR_INDEXING_QUEUE EBR_INDEXING_QUEUE EBR_INDEXING_QUEUE
EBR_KEYWORDS EBR_KEYWORDS EBR_KEYWORDS
EBR_LOG EBR_LOG EBR_LOG
EBR_METRICS EBR_METRICS EBR_METRICS

02-Aug-2016 370/403
CA Service Management - 14.1

Table SQL Name (AKA) Object


EBR_NOISE_WORDS EBR_NOISE_WORDS EBR_NOISE_WORDS
EBR_PATTERNS EBR_PATTERNS EBR_PATTERNS
EBR_PREFIXES EBR_PREFIXES EBR_PREFIXES
EBR_PROPERTIES EBR_PROPERTIES EBR_PROPERTIES
EBR_SUBSTITS EBR_SUBSTITS EBR_SUBSTITS
EBR_SUFFIXES EBR_SUFFIXES EBR_SUFFIXES
EBR_SYNONYMS EBR_SYNONYMS EBR_SYNONYMS
EBR_SYNONYMS_ADM EBR_SYNONYMS_ADM EBR_SYNONYMS_ADM
ES_CONSTANTS ES_CONSTANTS ES_CONSTANTS
ES_NODES ES_NODES ES_NODES
ES_RESPONSES ES_RESPONSES ES_RESPONSES
ES_SESSIONS ES_SESSIONS ES_SESSIONS
Event_Delay evt_dly evtdly
Event_Delay_Type evtdlytp evtdlytp
event_log event_log event_log
event_type event_type event_type
Events evt evt
ext_appl ext_appl
External_Entity_Map xent_map ext_entity_map
Form_Group frmgrp fmgrp
Global_Change_Extension g_chg_ext g_chg_ext
Global_Change_Queue g_chg_queue g_chg_queue
Global_Contact g_contact g_cnt
Global_Issue_Extension g_iss_ext g_iss_ext
Global_Issue_Queue g_iss_queue g_iss_queue
Global_Location g_loc g_loc
Global_Organization g_org g_org
Global_Product g_product g_prod
Global_Queue_Names g_queue_names g_qname
Global_Request_Extension g_req_ext g_cr_ext
Global_Request_Queue g_req_queue g_cr_queue
Global_Servers g_srvr g_srvrs
Global_Table_Map g_tbl_map g_tblmap
Global_Table_Rule g_tbl_rule g_tblrule
Group_Member grpmem grpmem
Impact impact imp

02-Aug-2016 371/403
CA Service Management - 14.1

Table SQL Name (AKA) Object


INDEX_DOC_LINKS INDEX_DOC_LINKS INDEX_DOC_LINKS
Interface interface intfc
Iss_Template iss_template iss_tpl
Issue issue iss
Issue_Act_Log issalg issalg
Issue_Category isscat isscat
Issue_Property issprp iss_prp
Issue_Status issstat issstat
Issue_Workflow_Task isswf iss_wf
KD_ATTMNT KD_ATTMNT KD_ATTMNT
kdlinks kdlinks kdlinks
Key_Control kc
Knowledge_Keywords km_kword kwrd
KT_REPORT_CARD KT_REPORT_CARD KT_REPORT_CARD
LONG_TEXTS LONG_TEXTS LONG_TEXTS
Managed_Survey managed_survey mgs
Mgs_Act_Log mgsalg mgsalg
Mgs_Status mgsstat mgsstat
Note_Board cnote cnote
NOTIFICATION NOTIFICATION NOTIFICATION
Notification_Urgency noturg noturg
Notify_Log_Header not_log lr
Notify_Object_Attr ntfl ntfl
NR_Comment nr_com nr_com
Object_Promotion object_promotion object_promotion
O_COMMENTS O_COMMENTS O_COMMENTS
O_EVENTS O_EVENTS O_EVENTS
O_INDEXES O_INDEXES KCAT
Options options options
Promo_Hist promo_hist promo_hist
P_GROUPS P_GROUPS P_GROUPS
Pcat_Loc pcat_loc pcat_loc
Person_Contacting perscon perscnt
Priority pri pri
Prob_Category prob_ctg pcat
Product product prod

02-Aug-2016 372/403
CA Service Management - 14.1

Table SQL Name (AKA) Object


Property prp prp
Property_Template prptpl prptpl
Queued_Notify not_que notque
Quick_Template_Types quick_tpl_types quick_tpl_types
Remote_Ref rem_ref rrf
Reporting_Method repmeth rptmeth
Req_Property cr_prp cr_prp
Req_Property_Template cr_prptpl cr_prptpl
Response response response
Reverse_Boolean_Table rbooltab rev_bool
Rootcause rootcause rc
Rpt_Meth rptmth rptm
SA_Policy sapolicy sapolicy
SA_Prob_Type saprobtyp saprobtyp
Sequence_Control seqctl seq
Server_Aliases srvr_aliases srvr_aliases
Server_Zones srvr_zones srvr_zones
Service_Contract svc_contract svc_contract
Service_Desc srv_desc sdsc
session_log session_log session_log
session_type session_type session_type
Severity sevrty sev
SHOW_OBJ SHOW_OBJ SHOW_OBJ
SKELETONS SKELETONS KD
SLA_Contract_Map sdsc_map sdsc_map
SLA_Template slatpl slatpl
Spell_Macro splmac macro
Spell_Macro_Type splmactp macro_type
SQL_Script sql_tab
Survey survey survey
Survey_Answer survey_answer svy_ans
Survey_Answer_Template survey_atpl svy_atpl
Survey_Question survey_question svy_ques
Survey_Question_Template survey_qtpl svy_qtpl
Survey_Stats survey_statistics svystat
Survey_Template survey_tpl svy_tpl

02-Aug-2016 373/403
CA Service Management - 14.1

Table SQL Name (AKA) Object


Survey_Tracking survey_tracking svytrk
Table_Name tn
target_tgttpls_srvtypes target_tgttpls_srvtypes tgt_tgttpls_srvtypes
target_time target_time tgt_time
target_time_tpl target_time_tpl tgt_time_tpl
Task_Status tskstat tskstat
Task_Type tskty tskty
Timespan tspan tspan
Timezone tz tz
Transition_Points nottrn
True_False_Table True_False_Table true_false
Type_Of_Contact toc typecnt
Urgency urgncy urg
User_Query usq usq
usp_caextwf_instances usp_caextwf_instances caextwf_inst
usp_caextwf_start_forms usp_caextwf_start_forms caextwf_sfrm
usp_ci_window usp_ci_window ci_window
usp_contact usp_contact cnt
usp_functional_access usp_functional_access func_access
usp_functional_access_level usp_functional_access_level func_access_level
usp_functional_access_role usp_functional_access_role func_access_role
usp_functional_access_type usp_functional_access_type func_access_type
usp_kpi usp_kpi kc
usp_kpi_data usp_kpi_data kcd
usp_lrel_asset_chgnr usp_lrel_asset_chgnr lrel_asset_chgnr
usp_lrel_asset_issnr usp_lrel_asset_issnr lrel_asset_issnr
usp_lrel_att_cntlist_macro_ntf usp_lrel_att_cntlist_macro_ntf lrel_att_cntlist_macro_ntf
usp_lrel_att_ctplist_macro_ntf usp_lrel_att_ctplist_macro_ntf lrel_att_ctplist_macro_ntf
usp_lrel_att_ntflist_macro_ntf usp_lrel_att_ntflist_macro_ntf lrel_att_ntflist_macro_ntf
usp_lrel_attachments_changes usp_lrel_attachments_changes lrel_attachments_changes
usp_lrel_attachments_issues usp_lrel_attachments_issues lrel_attachments_issues
usp_lrel_attachments_requests usp_lrel_attachments_requests lrel_attachments_requests
usp_lrel_aty_events usp_lrel_aty_events lrel_aty_events
usp_lrel_bm_reps_assets usp_lrel_bm_reps_assets lrel_bm_reps_assets
usp_lrel_bm_reps_bmhiers usp_lrel_bm_reps_bmhiers lrel_bm_reps_bmhiers
usp_lrel_cenv_cntref usp_lrel_cenv_cntref lrel_cenv_cntref

02-Aug-2016 374/403
CA Service Management - 14.1

Table SQL Name (AKA) Object


usp_lrel_false_action_act_f usp_lrel_false_action_act_f lrel_false_action_act_f
usp_lrel_dist_cntlist_mgs_ntf usp_lrel_dist_cntlist_mgs_ntf lrel_dist_cntlist_mgs_ntf
usp_lrel_dist_ctplist_mgs_ntf usp_lrel_dist_ctplist_mgs_ntf lrel_dist_ctplist_mgs_ntf
usp_lrel_dist_ntflist_mgs_ntf usp_lrel_dist_ntflist_mgs_ntf lrel_dist_ntflist_mgs_ntf
usp_lrel_false_bhv_false usp_lrel_false_bhv_false lrel_false_bhv_false
usp_lrel_kwrds_crsolref usp_lrel_kwrds_crsolref lrel_kwrds_crsolref
usp_lrel_notify_list_cntchgntf usp_lrel_notify_list_cntchgntf lrel_notify_list_cntchgntf
usp_lrel_notify_list_cntissntf usp_lrel_notify_list_cntissntf lrel_notify_list_cntissntf
usp_lrel_notify_list_cntntf usp_lrel_notify_list_cntntf lrel_notify_list_cntntf
usp_lrel_ntfr_cntlist_att_ntfrlist usp_lrel_ntfr_cntl_att_ntfrl lrel_ntfr_cntlist_att_ntfrlist
usp_lrel_ntfr_ctplist_att_ntfrlist usp_lrel_ntfr_ctplist_att_ntfrl lrel_ntfr_ctplist_att_ntfrlist
usp_lrel_ntfr_macrolist_att_ntfrl usp_lrel_ntfr_macrolist_att_ntfrl lrel_ntfr_macrolist_att_ntfrl
usp_lrel_ntfr_ntflist_att_ntfrlist usp_lrel_ntfr_ntflist_att_ntfrl lrel_ntfr_ntflist_att_ntfrlist
usp_lrel_oenv_orgref usp_lrel_oenv_orgref lrel_oenv_orgref
usp_lrel_status_codes_tsktypes usp_lrel_status_codes_tsktypes lrel_status_codes_tsktypes
usp_lrel_svc_grps_svc_chgcat usp_lrel_svc_grps_svc_chgcat lrel_svc_grps_svc_chgcat
usp_lrel_svc_grps_svc_isscat usp_lrel_svc_grps_svc_isscat lrel_svc_grps_svc_isscat
usp_lrel_svc_grps_svc_pcat usp_lrel_svc_grps_svc_pcat lrel_svc_grps_svc_pcat
usp_lrel_svc_grps_svc_wftpl usp_lrel_svc_grps_svc_wftpl lrel_svc_grps_svc_wftpl
usp_lrel_svc_locs_svc_chgcat usp_lrel_svc_locs_svc_chgcat lrel_svc_locs_svc_chgcat
usp_lrel_svc_locs_svc_groups usp_lrel_svc_locs_svc_groups lrel_svc_locs_svc_groups
usp_lrel_svc_locs_svc_isscat usp_lrel_svc_locs_svc_isscat lrel_svc_locs_svc_isscat
usp_lrel_svc_locs_svc_pcat usp_lrel_svc_locs_svc_pcat lrel_svc_locs_svc_pcat
usp_lrel_svc_schedules_chgcat_svc usp_lrel_svc_sch_chgcat_svc lrel_svc_schedules_chgcat_svc
usp_lrel_svc_schedules_isscat_svc usp_lrel_svc_sch_isscat_svc lrel_svc_schedules_isscat_svc
usp_lrel_svc_schedules_pcat_svc usp_lrel_svc_sch_pcat_svc lrel_svc_schedules_pcat_svc
usp_lrel_true_action_act_t usp_lrel_true_action_act_t lrel_true_action_act_t
usp_lrel_true_bhv_true usp_lrel_true_bhv_true lrel_true_bhv_true
usp_kpi_ticket_data usp_kpi_ticket_data ktd
usp_organization usp_organization org
usp_owned_resource usp_owned_resource nr
usp_pri_cal usp_pri_cal
USP_PREFERENCES USP_PREFERENCES USP_PREFERENCES
USP_PROPERTIES USP_PROPERTIES USP_PROPERTIES
Workflow_Task wf wf
Workflow_Task_Template wftpl wftpl

02-Aug-2016 375/403
CA Service Management - 14.1

Table SQL Name (AKA) Object


wspcol wspcol wspcol
wsptbl wsptbl wsptbl
Request_Workflow_Task crwf cr_wf

SQL Name to Table and Object


This table provides a cross-reference of the SQL name of each table in the database schema to its
corresponding table and object names:

SQL Name (AKA) Table Object


acc_lvls Access_Levels acc_lvls
acctyp_v2 Access_Type_v2 acctyp
act_log Act_Log alg
act_type Act_Type aty
actbool Active_Boolean_Table actbool
actrbool Active_Reverse_Boolean_Table actrbool
admin_tree admin_tree ADMIN_TREE
am_map Am_Asset_Map am_asset_map
anima Animator ANI
arcpur_hist Archive_Purge_History arcpur_hist
arcpur_rule Archive_Purge_Rule arcpur_rule
atn Attribute_Name
atomic_cond Atomic_Condition atomic_cond
att_evt Attached_Events atev
attached_sla Attached_SLA attached_sla
attmnt Attachment attmnt
attmnt_folder attmnt_folder attmnt_folder
atyp_asc Act_Type_Assoc act_type_assoc
audit_log Audit_Log audlog
bhvtpl Behavior_Template bhvtpl
bool_tab Boolean_Table bool
bpwshft Bop_Workshift wrkshft
BU_TRANS BU_TRANS BU_TRANS
buscls Business_Management_Class bmcls
busmgt Business_Management bmhier
busrep Business_Management_Repository bmrep
busstat Business_Management_Status bms

02-Aug-2016 376/403
CA Service Management - 14.1

ca_asset_type ca_asset_type
ca_company ca_company ca_cmpny
ca_company_type ca_company_type vpt
ca_contact ca_contact cnt
ca_contact_type ca_contact_type ctp
ca_country ca_country country
ca_job_function ca_job_function job_func
ca_job_title ca_job_title position
ca_location ca_location loc
ca_model_def ca_model_def mfrmod
ca_organization ca_organization org
ca_owned_resource ca_owned_resource nr
ca_resource_class ca_resource_class grc
ca_resource_cost_center ca_resource_cost_center cost_cntr
ca_resource_department ca_resource_department dept
ca_resource_family ca_resource_family nrf
ca_resource_gl_code ca_resource_gl_code gl_code
ca_resource_operating_system ca_resource_operating_system opsys
ca_resource_status ca_resource_status rss
ca_schema_info ca_schema_info
ca_site ca_site site
ca_state_province ca_state_province state
ca_tenant ca_tenant tenant
ca_tenant_group ca_tenant_group tenant_group
ca_tenant_group_member ca_tenant_group_member tenant_group_member
call_req Call_Req cr
chg Change_Request chg
chg_template Chg_Template chg_tpl
chgalg Change_Act_Log chgalg
chgcat Change_Category chgcat
chgstat Change_Status chgstat
CI_ACTIONS CI_ACTIONS CI_ACTIONS
CI_ACTIONS_ALTERNATE CI_ACTIONS_ALTERNATE CI_ACTIONS_ALTERNATE
CI_BOOKMARKS CI_BOOKMARKS CI_BOOKMARKS
CI_DOC_LINKS CI_DOC_LINKS CI_DOC_LINKS
CI_DOC_TEMPLATES CI_DOC_TEMPLATES CI_DOC_TEMPLATES

02-Aug-2016 377/403
CA Service Management - 14.1

SQL Name (AKA) Table Object


CI_DOC_TYPES CI_DOC_TYPES CI_DOC_TYPES
CI_PRIORITIES CI_PRIORITIES CI_PRIORITIES
CI_STATUSES CI_STATUSES CI_STATUSES
CI_WF_TEMPLATES CI_WF_TEMPLATES CI_WF_TEMPLATES
cn Column_Name
cnote Note_Board cnote
cr_prp Req_Property cr_prp
cr_prptpl Req_Property_Template cr_prptpl
cr_stat Cr_Status crs
cr_template Cr_Template cr_tpl
crctmr Cr_Call_Timers ctimer
crsol Call_Solution crsol
crsq Cr_Stored_Queries crsq
crt Call_Req_Type crt
ct_mth Contact_Method cmth
ctab Controlled_Table ctab
D_PAINTER D_PAINTER
dcon Domain_Constraint dcon
dcon_typ Domain_Constraint_Type dcon_typ
dlgtsrv Delegation_Server dlgsrvr
dmn Domain dmn
doc_rep Document_Repository doc_rep
EBR_ACRONYMS EBR_ACRONYMS EBR_ACRONYMS
EBR_FULLTEXT EBR_FULLTEXT EBR_FULLTEXT
EBR_FULLTEXT_ADM EBR_FULLTEXT_ADM EBR_FULLTEXT_ADM
EBR_FULLTEXT_SD EBR_FULLTEXT_SD EBR_FULLTEXT_SD
EBR_FULLTEXT_SD_ADM EBR_FULLTEXT_SD_ADM EBR_FULLTEXT_SD_ADM
EBR_INDEXING_QUEUE EBR_INDEXING_QUEUE EBR_INDEXING_QUEUE
EBR_KEYWORDS EBR_KEYWORDS EBR_KEYWORDS
EBR_LOG EBR_LOG EBR_LOG
EBR_METRICS EBR_METRICS EBR_METRICS
EBR_NOISE_WORDS EBR_NOISE_WORDS EBR_NOISE_WORDS
EBR_PATTERNS EBR_PATTERNS EBR_PATTERNS
EBR_PREFIXES EBR_PREFIXES EBR_PREFIXES
EBR_PROPERTIES EBR_PROPERTIES EBR_PROPERTIES
EBR_SUBSTITS EBR_SUBSTITS EBR_SUBSTITS

02-Aug-2016 378/403
CA Service Management - 14.1

SQL Name (AKA) Table Object


EBR_SUFFIXES EBR_SUFFIXES EBR_SUFFIXES
EBR_SYNONYMS EBR_SYNONYMS EBR_SYNONYMS
EBR_SYNONYMS_ADM EBR_SYNONYMS_ADM EBR_SYNONYMS_ADM
ES_CONSTANTS ES_CONSTANTS ES_CONSTANTS
ES_NODES ES_NODES ES_NODES
ES_RESPONSES ES_RESPONSES ES_RESPONSES
ES_SESSIONS ES_SESSIONS ES_SESSIONS
event_log event_log event_log
event_type event_type event_type
evt Events evt
evt_dly Event_Delay evtdly
evtdlytp Event_Delay_Type evtdlytp
ext_appl ext_appl
frmgrp Form_Group fmgrp
g_chg_ext Global_Change_Extension g_chg_ext
g_chg_queue Global_Change_Queue g_chg_queue
g_contact Global_Contact g_cnt
g_iss_ext Global_Issue_Extension g_iss_ext
g_iss_queue Global_Issue_Queue g_iss_queue
g_loc Global_Location g_loc
g_org Global_Organization g_org
g_product Global_Product g_prod
g_queue_names Global_Queue_Names g_qname
g_req_ext Global_Request_Extension g_cr_ext
g_req_queue Global_Request_Queue g_cr_queue
g_srvr Global_Servers g_srvrs
g_tbl_map Global_Table_Map g_tblmap
g_tbl_rule Global_Table_Rule g_tblrule
grpmem Group_Member grpmem
hier Asset_Assignment hier
impact Impact imp
INDEX_DOC_LINKS INDEX_DOC_LINKS INDEX_DOC_LINKS
interface Interface intfc
iss_template Iss_Template iss_tpl
issalg Issue_Act_Log issalg
isscat Issue_Category isscat

02-Aug-2016 379/403
CA Service Management - 14.1

SQL Name (AKA) Table Object


issprp Issue_Property iss_prp
issstat Issue_Status issstat
issue Issue iss
isswf Issue_Workflow_Task iss_wf
kc Key_Control
KD_ATTMNT KD_ATTMNT KD_ATTMNT
kdlinks kdlinks kdlinks
km_kword Knowledge_Keywords kwrd
KT_REPORT_CARD KT_REPORT_CARD KT_REPORT_CARD
LONG_TEXTS LONG_TEXTS LONG_TEXTS
managed_survey Managed_Survey mgs
mgsalg Mgs_Act_Log mgsalg
mgsstat Mgs_Status mgsstat
not_log Notify_Log_Header lr
not_que Queued_Notify notque
NOTIFICATION NOTIFICATION NOTIFICATION
nottrn Transition_Points
noturg Notification_Urgency noturg
nr_com NR_Comment nr_com
ntfl Notify_Object_Attr ntfl
O_COMMENTS O_COMMENTS O_COMMENTS
O_EVENTS O_EVENTS O_EVENTS
O_INDEXES O_INDEXES KCAT
object_promotion Object_Promotion object_promotion
options Options options
P_GROUPS P_GROUPS P_GROUPS
pcat_loc Pcat_Loc pcat_loc
perscon Person_Contacting perscnt
pri Priority pri
promo_hist Promo_Hist promo_hist
prob_ctg Prob_Category pcat
product Product prod
prp Property prp
prptpl Property_Template prptpl
quick_tpl_types Quick_Template_Types quick_tpl_types
rbooltab Reverse_Boolean_Table rev_bool

02-Aug-2016 380/403
CA Service Management - 14.1

SQL Name (AKA) Table Object


rem_ref Remote_Ref rrf
repmeth Reporting_Method rptmeth
response Response response
rootcause Rootcause rc
rptmth Rpt_Meth rptm
sapolicy SA_Policy sapolicy
saprobtyp SA_Prob_Type saprobtyp
sdsc_map SLA_Contract_Map sdsc_map
seqctl Sequence_Control seq
session_log session_log session_log
session_type session_type session_type
sevrty Severity sev
SHOW_OBJ SHOW_OBJ SHOW_OBJ
SKELETONS SKELETONS KD
slatpl SLA_Template slatpl
splmac Spell_Macro macro
splmactp Spell_Macro_Type macro_type
sql_tab SQL_Script
srv_desc Service_Desc sdsc
srvr_aliases Server_Aliases srvr_aliases
srvr_zones Server_Zones srvr_zones
survey Survey survey
survey_answer Survey_Answer svy_ans
survey_atpl Survey_Answer_Template svy_atpl
survey_qtpl Survey_Question_Template svy_qtpl
survey_question Survey_Question svy_ques
survey_statistics Survey_Stats svystat
survey_tpl Survey_Template svy_tpl
survey_tracking Survey_Tracking svytrk
svc_contract Service_Contract svc_contract
tn Table_Name
toc Type_Of_Contact typecnt
tskstat Task_Status tskstat
tskty Task_Type tskty
tspan Timespan tspan
tz Timezone tz

02-Aug-2016 381/403
CA Service Management - 14.1

SQL Name (AKA) Table Object


urgncy Urgency urg
usp_caextwf_instances usp_caextwf_instances caextwf_inst
usp_caextwf_start_forms usp_caextwf_start_forms caextwf_sfrm
usp_ci_window usp_ci_window ci_window
usp_contact usp_contact cnt
usp_functional_access usp_functional_access func_access
usp_functional_access_level usp_functional_access_level func_access_level
usp_functional_access_role usp_functional_access_role func_access_role
usp_functional_access_type usp_functional_access_type func_access_type
usp_kpi usp_kpi kc
usp_kpi_data usp_kpi_data kcd
usp_kpi_ticket_data usp_kpi_ticket_data ktd
usp_lrel_asset_chgnr usp_lrel_asset_chgnr lrel_asset_chgnr
usp_lrel_asset_issnr usp_lrel_asset_issnr lrel_asset_issnr
usp_lrel_att_cntlist_macro_ntf usp_lrel_att_cntlist_macro_ntf lrel_att_cntlist_macro_ntf
usp_lrel_att_ctplist_macro_ntf usp_lrel_att_ctplist_macro_ntf lrel_att_ctplist_macro_ntf
usp_lrel_att_ntflist_macro_ntf usp_lrel_att_ntflist_macro_ntf lrel_att_ntflist_macro_ntf
usp_lrel_attachments_changes usp_lrel_attachments_changes lrel_attachments_changes
usp_lrel_attachments_issues usp_lrel_attachments_issues lrel_attachments_issues
usp_lrel_attachments_requests usp_lrel_attachments_requests lrel_attachments_requests
usp_lrel_aty_events usp_lrel_aty_events lrel_aty_events
usp_lrel_bm_reps_assets usp_lrel_bm_reps_assets lrel_bm_reps_assets
usp_lrel_bm_reps_bmhiers usp_lrel_bm_reps_bmhiers lrel_bm_reps_bmhiers
usp_lrel_cenv_cntref usp_lrel_cenv_cntref lrel_cenv_cntref
usp_lrel_false_action_act_f usp_lrel_false_action_act_f lrel_false_action_act_f
usp_lrel_dist_cntlist_mgs_ntf usp_lrel_dist_cntlist_mgs_ntf lrel_dist_cntlist_mgs_ntf
usp_lrel_dist_ctplist_mgs_ntf usp_lrel_dist_ctplist_mgs_ntf lrel_dist_ctplist_mgs_ntf
usp_lrel_dist_ntflist_mgs_ntf usp_lrel_dist_ntflist_mgs_ntf lrel_dist_ntflist_mgs_ntf
usp_lrel_false_bhv_false usp_lrel_false_bhv_false lrel_false_bhv_false
usp_lrel_kwrds_crsolref usp_lrel_kwrds_crsolref lrel_kwrds_crsolref
usp_lrel_notify_list_cntchgntf usp_lrel_notify_list_cntchgntf lrel_notify_list_cntchgntf
usp_lrel_notify_list_cntissntf usp_lrel_notify_list_cntissntf lrel_notify_list_cntissntf
usp_lrel_notify_list_cntntf usp_lrel_notify_list_cntntf lrel_notify_list_cntntf
usp_lrel_ntfr_cntlist_att_ntfrl usp_lrel_ntfr_cntlist_att_ntfrlist lrel_ntfr_cntlist_att_ntfrlist
usp_lrel_ntfr_ctplist_att_ntfrl usp_lrel_ntfr_ctplist_att_ntfrlist lrel_ntfr_ctplist_att_ntfrlist
usp_lrel_ntfr_macrolist_att_ntfrl usp_lrel_ntfr_macrolist_att_ntfrlist lrel_ntfr_macrolist_att_ntfrl

02-Aug-2016 382/403
CA Service Management - 14.1

SQL Name (AKA) Table Object


usp_lrel_ntfr_ntflist_att_ntfrl usp_lrel_ntfr_ntflist_att_ntfrlist lrel_ntfr_ntflist_att_ntfrlist
usp_lrel_oenv_orgref usp_lrel_oenv_orgref lrel_oenv_orgref
usp_lrel_status_codes_tsktypes usp_lrel_status_codes_tsktypes lrel_status_codes_tsktypes
usp_lrel_svc_grps_svc_chgcat usp_lrel_svc_grps_svc_chgcat lrel_svc_grps_svc_chgcat
usp_lrel_svc_grps_svc_isscat usp_lrel_svc_grps_svc_isscat lrel_svc_grps_svc_isscat
usp_lrel_svc_grps_svc_pcat usp_lrel_svc_grps_svc_pcat lrel_svc_grps_svc_pcat
usp_lrel_svc_grps_svc_wftpl usp_lrel_svc_grps_svc_wftpl lrel_svc_grps_svc_wftpl
usp_lrel_svc_locs_svc_chgcat usp_lrel_svc_locs_svc_chgcat lrel_svc_locs_svc_chgcat
usp_lrel_svc_locs_svc_groups usp_lrel_svc_locs_svc_groups lrel_svc_locs_svc_groups
usp_lrel_svc_locs_svc_isscat usp_lrel_svc_locs_svc_isscat lrel_svc_locs_svc_isscat
usp_lrel_svc_locs_svc_pcat usp_lrel_svc_locs_svc_pcat lrel_svc_locs_svc_pcat
usp_lrel_svc_sch_chgcat_svc usp_lrel_svc_schedules_chgcat_svc lrel_svc_schedules_chgcat_svc
usp_lrel_svc_sch_isscat_svc usp_lrel_svc_schedules_isscat_svc lrel_svc_schedules_isscat_svc
usp_lrel_svc_sch_pcat_svc usp_lrel_svc_schedules_pcat_svc lrel_svc_schedules_pcat_svc
usp_lrel_true_action_act_t usp_lrel_true_action_act_t lrel_true_action_act_t
usp_lrel_true_bhv_true usp_lrel_true_bhv_true lrel_true_bhv_true
usp_organization usp_organization org
usp_pri_cal usp_pri_cal
usp_owned_resource usp_owned_resource nr
USP_PREFERENCES USP_PREFERENCES USP_PREFERENCES
USP_PROPERTIES USP_PROPERTIES USP_PROPERTIES
usq User_Query usq
wf Workflow_Task wf
wftpl Workflow_Task_Template wftpl
wspcol wspcol wspcol
wsptbl wsptbl wsptbl
xent_map External_Entity_Map ext_entity_map
crwf Request_Workflow_Task cr_wf

Object to Table and SQL Name


This table provides a cross-reference of each object to its corresponding table and SQL name in the
database schema:

Object Table SQL Name (AKA)


acc_lvls Access_Levels acc_lvls
acctyp Access_Type_v2 acctyp_v2

02-Aug-2016 383/403
CA Service Management - 14.1

act_type_assoc Act_Type_Assoc atyp_asc


actbool Active_Boolean_Table actbool
actrbool Active_Reverse_Boolean_Table actrbool
ADMIN_TREE admin_tree admin_tree
alg Act_Log act_log
am_asset_map Am_Asset_Map am_map
ANI Animator anima
arcpur_hist Archive_Purge_History arcpur_hist
arcpur_rule Archive_Purge_Rule arcpur_rule
atev Attached_Events att_evt
atomic_cond Atomic_Condition atomic_cond
attached_sla Attached_SLA attached_sla
attmnt Attachment attmnt
attmnt_folder attmnt_folder attmnt_folder
aty Act_Type act_type
audlog Audit_Log audit_log
bhvtpl Behavior_Template bhvtpl
bmcls Business_Management_Class buscls
bmhier Business_Management busmgt
bmrep Business_Management_Repository busrep
bms Business_Management_Status busstat
bool Boolean_Table bool_tab
BU_TRANS BU_TRANS BU_TRANS
ca_cmpny ca_company ca_company
caextwf_inst usp_caextwf_instances usp_caextwf_instances
caextwf_sfrm usp_caextwf_start_forms usp_caextwf_start_forms
chg Change_Request chg
chg_tpl Chg_Template chg_template
chgalg Change_Act_Log chgalg
chgcat Change_Category chgcat
chgstat Change_Status chgstat
CI_ACTIONS CI_ACTIONS CI_ACTIONS
CI_ACTIONS_ALTERNATE CI_ACTIONS_ALTERNATE CI_ACTIONS_ALTERNATE
CI_BOOKMARKS CI_BOOKMARKS CI_BOOKMARKS
CI_DOC_LINKS CI_DOC_LINKS CI_DOC_LINKS
CI_DOC_TEMPLATES CI_DOC_TEMPLATES CI_DOC_TEMPLATES

02-Aug-2016 384/403
CA Service Management - 14.1

Object Table SQL Name (AKA)


CI_DOC_TYPES CI_DOC_TYPES CI_DOC_TYPES
CI_PRIORITIES CI_PRIORITIES CI_PRIORITIES
CI_STATUSES CI_STATUSES CI_STATUSES
CI_WF_TEMPLATES CI_WF_TEMPLATES CI_WF_TEMPLATES
ci_window usp_ci_window usp_ci_window
cmth Contact_Method ct_mth
cnote Note_Board cnote
cnt ca_contact ca_contact
cnt usp_contact usp_contact
cost_cntr ca_resource_cost_center ca_resource_cost_center
country ca_country ca_country
cr Call_Req call_req
cr_prp Req_Property cr_prp
cr_prptpl Req_Property_Template cr_prptpl
cr_tpl Cr_Template cr_template
crs Cr_Status cr_stat
crsol Call_Solution crsol
crsq Cr_Stored_Queries crsq
crt Call_Req_Type crt
ctab Controlled_Table ctab
ctimer Cr_Call_Timers crctmr
ctp ca_contact_type ca_contact_type
dblocks
dcon Domain_Constraint dcon
dcon_typ Domain_Constraint_Type dcon_typ
dept ca_resource_department ca_resource_department
dlgsrvr Delegation_Server dlgtsrv
dmn Domain dmn
doc_rep Document_Repository doc_rep
EBR_ACRONYMS EBR_ACRONYMS EBR_ACRONYMS
EBR_FULLTEXT EBR_FULLTEXT EBR_FULLTEXT
EBR_FULLTEXT_ADM EBR_FULLTEXT_ADM EBR_FULLTEXT_ADM
EBR_FULLTEXT_SD EBR_FULLTEXT_SD EBR_FULLTEXT_SD
EBR_FULLTEXT_SD_ADM EBR_FULLTEXT_SD_ADM EBR_FULLTEXT_SD_ADM
EBR_INDEXING_QUEUE EBR_INDEXING_QUEUE EBR_INDEXING_QUEUE
EBR_KEYWORDS EBR_KEYWORDS EBR_KEYWORDS

02-Aug-2016 385/403
CA Service Management - 14.1

Object Table SQL Name (AKA)


EBR_LOG EBR_LOG EBR_LOG
EBR_METRICS EBR_METRICS EBR_METRICS
EBR_NOISE_WORDS EBR_NOISE_WORDS EBR_NOISE_WORDS
EBR_PATTERNS EBR_PATTERNS EBR_PATTERNS
EBR_PREFIXES EBR_PREFIXES EBR_PREFIXES
EBR_PROPERTIES EBR_PROPERTIES EBR_PROPERTIES
EBR_SUBSTITS EBR_SUBSTITS EBR_SUBSTITS
EBR_SUFFIXES EBR_SUFFIXES EBR_SUFFIXES
EBR_SYNONYMS EBR_SYNONYMS EBR_SYNONYMS
EBR_SYNONYMS_ADM EBR_SYNONYMS_ADM EBR_SYNONYMS_ADM
ES_CONSTANTS ES_CONSTANTS ES_CONSTANTS
ES_NODES ES_NODES ES_NODES
ES_RESPONSES ES_RESPONSES ES_RESPONSES
ES_SESSIONS ES_SESSIONS ES_SESSIONS
event_log event_log event_log
event_type event_type event_type
evt Events evt
evtdly Event_Delay evt_dly
evtdlytp Event_Delay_Type evtdlytp
ext_entity_map External_Entity_Map xent_map
fmgrp Form_Group frmgrp
func_access usp_functional_access usp_functional_access
func_access_level usp_functional_access_level usp_functional_access_level
func_access_role usp_functional_access_role usp_functional_access_role
func_access_type usp_functional_access_type usp_functional_access_type
g_chg_ext Global_Change_Extension g_chg_ext
g_chg_queue Global_Change_Queue g_chg_queue
g_cnt Global_Contact g_contact
g_cr_ext Global_Request_Extension g_req_ext
g_cr_queue Global_Request_Queue g_req_queue
g_iss_ext Global_Issue_Extension g_iss_ext
g_iss_queue Global_Issue_Queue g_iss_queue
g_loc Global_Location g_loc
g_org Global_Organization g_org
g_prod Global_Product g_product
g_qname Global_Queue_Names g_queue_names

02-Aug-2016 386/403
CA Service Management - 14.1

Object Table SQL Name (AKA)


g_srvrs Global_Servers g_srvr
g_tblmap Global_Table_Map g_tbl_map
g_tblrule Global_Table_Rule g_tbl_rule
gl_code ca_resource_gl_code ca_resource_gl_code
grc ca_resource_class ca_resource_class
grpmem Group_Member grpmem
hier Asset_Assignment hier
imp Impact impact
INDEX_DOC_LINKS INDEX_DOC_LINKS INDEX_DOC_LINKS
intfc Interface interface
iss Issue issue
iss_prp Issue_Property issprp
iss_tpl Iss_Template iss_template
iss_wf Issue_Workflow_Task isswf
issalg Issue_Act_Log issalg
isscat Issue_Category isscat
issstat Issue_Status issstat
job_func ca_job_function ca_job_function
kc usp_kpi usp_kpi
KCAT O_INDEXES O_INDEXES
kcd usp_kpi_data usp_kpi_data
KD SKELETONS SKELETONS
KD_ATTMNT KD_ATTMNT KD_ATTMNT
kdlinks kdlinks kdlinks
KT_REPORT_CARD KT_REPORT_CARD KT_REPORT_CARD
ktd usp_kpi_ticket_data usp_kpi_ticket_data
kwrd Knowledge_Keywords km_kword
loc ca_location ca_location
LONG_TEXTS LONG_TEXTS LONG_TEXTS
lr Notify_Log_Header not_log
lrel_asset_chgnr usp_lrel_asset_chgnr usp_lrel_asset_chgnr
lrel_asset_issnr usp_lrel_asset_issnr usp_lrel_asset_issnr
lrel_att_cntlist_macro_ntf usp_lrel_att_cntlist_macro_ntf usp_lrel_att_cntlist_macro_ntf
lrel_att_ctplist_macro_ntf usp_lrel_att_ctplist_macro_ntf usp_lrel_att_ctplist_macro_ntf
lrel_att_ntflist_macro_ntf usp_lrel_att_ntflist_macro_ntf usp_lrel_att_ntflist_macro_ntf
lrel_attachments_changes usp_lrel_attachments_changes usp_lrel_attachments_changes

02-Aug-2016 387/403
CA Service Management - 14.1

Object Table SQL Name (AKA)


lrel_attachments_issues usp_lrel_attachments_issues usp_lrel_attachments_issues
lrel_attachments_requests usp_lrel_attachments_requests usp_lrel_attachments_requests
lrel_aty_events usp_lrel_aty_events usp_lrel_aty_events
lrel_bm_reps_assets usp_lrel_bm_reps_assets usp_lrel_bm_reps_assets
lrel_bm_reps_bmhiers usp_lrel_bm_reps_bmhiers usp_lrel_bm_reps_bmhiers
lrel_cenv_cntref usp_lrel_cenv_cntref usp_lrel_cenv_cntref
lrel_dist_cntlist_mgs_ntf usp_lrel_dist_cntlist_mgs_ntf usp_lrel_dist_cntlist_mgs_ntf
lrel_dist_ctplist_mgs_ntf usp_lrel_dist_ctplist_mgs_ntf usp_lrel_dist_ctplist_mgs_ntf
lrel_dist_ntflist_mgs_ntf usp_lrel_dist_ntflist_mgs_ntf usp_lrel_dist_ntflist_mgs_ntf
lrel_false_action_act_f usp_lrel_false_action_act_f usp_lrel_false_action_act_f
lrel_false_bhv_false usp_lrel_false_bhv_false usp_lrel_false_bhv_false
lrel_kwrds_crsolref usp_lrel_kwrds_crsolref usp_lrel_kwrds_crsolref
lrel_notify_list_cntchgntf usp_lrel_notify_list_cntchgntf usp_lrel_notify_list_cntchgntf
lrel_notify_list_cntissntf usp_lrel_notify_list_cntissntf usp_lrel_notify_list_cntissntf
lrel_notify_list_cntntf usp_lrel_notify_list_cntntf usp_lrel_notify_list_cntntf
lrel_ntfr_cntlist_att_ntfrlist usp_lrel_ntfr_cntlist_att_ntfrlist usp_lrel_ntfr_cntlist_att_ntfrl
lrel_ntfr_ctplist_att_ntfrlist usp_lrel_ntfr_ctplist_att_ntfrlist usp_lrel_ntfr_ctplist_att_ntfrl
lrel_ntfr_macrolist_att_ntfrl usp_lrel_ntfr_macrolist_att_ntfrl usp_lrel_ntfr_macrolist_att_ntfrl
lrel_ntfr_ntflist_att_ntfrlist usp_lrel_ntfr_ntflist_att_ntfrlist usp_lrel_ntfr_ntflist_att_ntfrl
lrel_oenv_orgref usp_lrel_oenv_orgref usp_lrel_oenv_orgref
lrel_status_codes_tsktypes usp_lrel_status_codes_tsktypes usp_lrel_status_codes_tsktypes
lrel_svc_grps_svc_chgcat usp_lrel_svc_grps_svc_chgcat usp_lrel_svc_grps_svc_chgcat
lrel_svc_grps_svc_isscat usp_lrel_svc_grps_svc_isscat usp_lrel_svc_grps_svc_isscat
lrel_svc_grps_svc_pcat usp_lrel_svc_grps_svc_pcat usp_lrel_svc_grps_svc_pcat
lrel_svc_grps_svc_wftpl usp_lrel_svc_grps_svc_wftpl usp_lrel_svc_grps_svc_wftpl
lrel_svc_locs_svc_chgcat usp_lrel_svc_locs_svc_chgcat usp_lrel_svc_locs_svc_chgcat
lrel_svc_locs_svc_groups usp_lrel_svc_locs_svc_groups usp_lrel_svc_locs_svc_groups
lrel_svc_locs_svc_isscat usp_lrel_svc_locs_svc_isscat usp_lrel_svc_locs_svc_isscat
lrel_svc_locs_svc_pcat usp_lrel_svc_locs_svc_pcat usp_lrel_svc_locs_svc_pcat
lrel_svc_schedules_chgcat_svc usp_lrel_svc_schedules_chgcat_svc usp_lrel_svc_sch_chgcat_svc
lrel_svc_schedules_isscat_svc usp_lrel_svc_schedules_isscat_svc usp_lrel_svc_sch_isscat_svc
lrel_svc_schedules_pcat_svc usp_lrel_svc_schedules_pcat_svc usp_lrel_svc_sch_pcat_svc
lrel_true_action_act_t usp_lrel_true_action_act_t usp_lrel_true_action_act_t
lrel_true_bhv_true usp_lrel_true_bhv_true usp_lrel_true_bhv_true
macro Spell_Macro splmac
macro_type Spell_Macro_Type splmactp

02-Aug-2016 388/403
CA Service Management - 14.1

Object Table SQL Name (AKA)


mfrmod ca_model_def ca_model_def
mgs Managed_Survey managed_survey
mgsalg Mgs_Act_Log mgsalg
mgsstat Mgs_Status mgsstat
NOTIFICATION NOTIFICATION NOTIFICATION
notque Queued_Notify not_que
noturg Notification_Urgency noturg
nr ca_owned_resource ca_owned_resource
nr usp_owned_resource usp_owned_resource
nr_com NR_Comment nr_com
nrf ca_resource_family ca_resource_family
ntfl Notify_Object_Attr ntfl
O_COMMENTS O_COMMENTS O_COMMENTS
O_EVENTS O_EVENTS O_EVENTS
object_promotion Object_Promotion object_promotion
opsys ca_resource_operating_system ca_resource_operating_system
options Options options
org ca_organization ca_organization
org usp_organization usp_organization
P_GROUPS P_GROUPS P_GROUPS
pcat Prob_Category prob_ctg
pcat_loc Pcat_Loc pcat_loc
perscnt Person_Contacting perscon
position ca_job_title ca_job_title
pri Priority pri
promo_hist Promo_Hist promo_hist
prod Product product
prp Property prp
prptpl Property_Template prptpl
quick_tpl_types Quick_Template_Types quick_tpl_types
rc Rootcause rootcause
response Response response
rev_bool Reverse_Boolean_Table rbooltab
rptm Rpt_Meth rptmth
rptmeth Reporting_Method repmeth
rrf Remote_Ref rem_ref

02-Aug-2016 389/403
CA Service Management - 14.1

Object Table SQL Name (AKA)


rss ca_resource_status ca_resource_status
sapolicy SA_Policy sapolicy
saprobtyp SA_Prob_Type saprobtyp
sdsc Service_Desc srv_desc
sdsc_map SLA_Contract_Map sdsc_map
seq Sequence_Control seqctl
session_log session_log session_log
session_type session_type session_type
sev Severity sevrty
SHOW_OBJ SHOW_OBJ SHOW_OBJ
site ca_site ca_site
slatpl SLA_Template slatpl
srvr_aliases Server_Aliases srvr_aliases
srvr_zones Server_Zones srvr_zones
state ca_state_province ca_state_province
survey Survey survey
svc_contract Service_Contract svc_contract
svy_ans Survey_Answer survey_answer
svy_atpl Survey_Answer_Template survey_atpl
svy_qtpl Survey_Question_Template survey_qtpl
svy_ques Survey_Question survey_question
svy_tpl Survey_Template survey_tpl
svystat Survey_Stats survey_statistics
svytrk Survey_Tracking survey_tracking
target_tgttpls_srvtypes target_tgttpls_srvtypes tgt_tgttpls_srvtypes
target_time target_time tgt_time
target_time_tpl target_time_tpl tgt_time_tpl
tenant ca_tenant ca_tenant
tenant_group ca_tenant_group ca_tenant_group
tenant_group_member ca_tenant_group_member ca_tenant_group_member
True_False_Table True_False_Table true_false
tskstat Task_Status tskstat
tskty Task_Type tskty
tspan Timespan tspan
typecnt Type_Of_Contact toc
tz Timezone tz

02-Aug-2016 390/403
CA Service Management - 14.1

Object Table SQL Name (AKA)


urg Urgency urgncy
USP_PREFERENCES USP_PREFERENCES USP_PREFERENCES
USP_PROPERTIES USP_PROPERTIES USP_PROPERTIES
usq User_Query usq
vpt ca_company_type ca_company_type
wf Workflow_Task wf
wftpl Workflow_Task_Template wftpl
wrkshft Bop_Workshift bpwshft
wspcol wspcol wspcol
wsptbl wsptbl wsptbl
Attribute_Name atn
ca_asset_type ca_asset_type
ca_schema_info ca_schema_info
Column_Name cn

D_PAINTER D_PAINTER
ext_appl ext_appl
Key_Control kc
Transition_Points nottrn
SQL_Script sql_tab
Table_Name tn
cr_wf Request_Workflow_Task crwf

CA SDM Object List Table for Multi-Tenancy


The following table lists all CA SDM objects and indicates whether each object has a tenant attribute,
and if so, if it is optional or required.

Note: The Rel_attr must be unique, regardless of tenant.

Object Rel_Attr Description Tenancy


acc_lvls enum Access Level No
acctyp id Access Type No
acctyp_role id Access Type Role No
act_type_assoc code Activity Type Association Optional

02-Aug-2016 391/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


actbool enum Active Boolean No
actlog_prod_list sym actlog_prod_list No
actrbool enum Active Reverse Boolean No
ADMIN_TREE id Administration Tree No
agt id Analyst contacts Require
d
alg persistent_id Request Activity Log Require
d
all_fmgrp id all_fmgrp No
all_lr persistent_id all_lr Require
d
am_asset_map persistent_id AM Asset Map No
ANI persistent_id Animator Optional
api persistent_id api No
app_extx id app_extx Optional
app_inhx id app_inhx Optional
arcpur_hist persistent_id Archive Purge History No
arcpur_rule persistent_id Archive Purge Rule No
arg_history persistent_id arg_history No
asset id asset No
assetx_prod_list sym assetx_prod_list No
atev persistent_id Attached Event Require
d
atomic_cond id Atomic Condition Optional
attached_sla id Attached Service Type Require
d
attmnt id Attachment Optional
attmnt_folder id Attachments Folder Optional
attmnt_lrel persistent_id Attachment LREL No
attr_alias id Attribute Alias No
aty code Activity Type Optional
audlog persistent_id Audit Log Require
d
bhvtpl id Behavior Template Optional
bhvtpl_wftpl id bhvtpl_wftpl Optional
bm_task id bm_task Optional
bmcls id Business Management Class No
bmhier id Business Management Hierarchy Optional

02-Aug-2016 392/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


bmlrel persistent_id Business Management LREL No
bmrep id Business Management Repository No
bms status_no Business Management Status No
bool enum Boolean No
BU_TRANS id Bubble Up Transaction Optional
ca_application_registration id ca_application_registration No
ca_asset id Asset No
ca_asset_source id Asset Source No
ca_asset_source_unrestricted id ca_asset_source_ unrestricted No
ca_asset_subschema id Asset Subschema No
ca_asset_type id Asset Type No
ca_cmpny id Company Optional
ca_logical_assst id Logical Asset No
ca_logical_asset_property id Logical Asset Property No
chg id chg Require
d
chg_tpl template_name Change Template Require
d
chgalg id Change Order Activity Log Require
d
chgaty code chgaty Optional
chgcat code Change Category Optional
chgcat_grp persistent_id Change Category Group LREL No
chgcat_loc persistent_id Change Category Location LREL No
chgcat_workshift persistent_id Change Category Workshift LREL No
chgstat code Change Status Optional
chgtype id Change Type No
CI_ACTIONS id Knowledge Workflow Task Optional
CI_ACTIONS_ALTERNATE id Alternate Knowledge Workflow Task Optional
CI_BOOKMARKS id Knowledge Document Bookmark Optional
CI_DOC_LINKS id Knowledge Document Link Optional
CI_DOC_TEMPLATES id Knowledge Document Template Optional
CI_DOC_TYPES id Knowledge Document Type No
ci_mdr_idmap id ci_mdr_idmap Optional
ci_mdr_provider id ci_mdr_provider Optional
CI_PRIORITIES id Approval Process Template Optional
ci_rel_type id ci_rel_type No

02-Aug-2016 393/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


CI_STATUSES id Knowledge Status No
CI_WF_TEMPLATES id Knowledge Workflow Template No
cmth id Contact Method No
cnote persistent_id Announcement Optional
cnt id Contact Require
d
cnt_role id Contact Role Require
d
cntx id cntx Optional
conx id conx Optional
cost_cntr id Cost Center Optional
country id Country No
cr persistent_id Request Require
d
cr_prp id Request Property Require
d
cr_prptpl id Request Property Template Optional
cr_tpl template_name Request Template Require
d
craty code craty Optional
crs code Request Status Optional
crs_cr code crs_cr Optional
crs_in code crs_in Optional
crs_pr code crs_pr Optional
crsol persistent_id Request Solution No
crsq code Stored Query Optional
crt code Request Type No
cst id Customer contacts Require
d
ctab id Controlled Table No
ctimer persistent_id Request Timer No
ctp id Contact Type No
dat_basx id dat_basx Optional
dcon id Data Partition Constraint No
dcon_typ enum Data Partition Constraint Type No
dept id Department Optional
dlgsrvr id Delegation Server No
dmn id Data Partition No

02-Aug-2016 394/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


doc_rep persistent_id Attachments Repository Optional
DOC_VERSIONS id Document Version Optional
docx id docx Optional
EBR_ACRONYMS id EBR Acronym No
EBR_DICTIONARY id EBR Dictionary No
EBR_DICTIONARY_ADM id EBR Dictionary Alternate No
EBR_FULLTEXT id EBR Knowledge Document Index No
EBR_FULLTEXT_ADM id EBR Knowledge Document Index No
Alternate
EBR_KS id Knowledge Source No
EBR_KS_ACCESS id Knowledge Source Access No
EBR_KS_INDEXING_QUEUE id Knowledge Source Indexing Queue No
EBR_LOG id EBR Log No
EBR_METRICS id EBR Metric No
EBR_NOISE_WORDS id EBR Noise Word No
EBR_PATTERNS id EBR Pattern No
EBR_PREFIXES id EBR Prefix No
EBR_PROPERTIES id EBR Property No
EBR_SUBSTITS id EBR Substitution No
EBR_SUFFIXES id EBR Suffix No
EBR_SYNONYMS id EBR Synonym No
EBR_SYNONYMS_ADM id EBR Synonyms Alternate No
edit_macros persistent_id edit_macros No
entservx id entservx Optional
enttx id enttx Optional
ES_CONSTANTS id ES_CONSTANTS No
ES_NODES id Decision Tree Node Optional
ES_RESPONSES id ES_RESPONSES Optional
ES_SESSIONS id ES_SESSIONS Optional
event_log id Event Log No
event_prod_list sym event_prod_list No
event_type id Event Type No
evt persistent_id Event Optional
evtdly persistent_id Event Delay Optional
evtdlytp enum Event Delay Type No
ext_entity_map persistent_id External Entity Map No
fac_acx id fac_acx Optional

02-Aug-2016 395/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


fac_firex id fac_firex Optional
fac_furnx id fac_furnx Optional
fac_othx id fac_othx Optional
fac_upsx id fac_upsx Optional
fmgrp id Form Group No
g_chg_ext id Global Change Extension Require
d
g_chg_queue id Global Change Queue No
g_cnt id Global Contact No
g_cr_ext id Global Request Extension Require
d
g_cr_queue id Global Request Queue No
g_iss_ext id Global Issue Extension Require
d
g_iss_queue id Global Issue Queue No
g_loc id g_loc No
g_org id Global Organization No
g_prod id Global Product No
g_qname id Global Queue No
g_srvrs remote_sys_id Global Server No
g_tblmap id Global Table Map No
g_tblrule id Global Table Rule No
g_tenant id Global Tenant No
gl_code id Resource Code No
grc id Resource Class No
grp id Group Contacts Require
d
grpmem persistent_id Group Member Require
d
har_lparx id har_lparx Optional
har_maix id har_maix Optional
har_monx id har_monx Optional
har_othx id har_othx Optional
har_prix id har_prix Optional
har_serx id har_serx Optional
har_stox id har_stox Optional
har_virx id har_virx Optional
har_worx id har_worx Optional

02-Aug-2016 396/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


help_content name help_content No
help_item id help_item No
help_lookup id help_lookup No
help_set id help_set No
hier id Asset Relation Optional
ical_alarm id iCalendar Alarm No
ical_event_prod_list sym ical_event_prod_list No
ical_event_template id iCalendar Event No
imp enum Impact No
in persistent_id Incident Require
d
INDEX_DOC_LINKS id Knowledge Category-Document Link Optional
interface_type id interface_type No
intfc id interface No
invidex id invidex Optional
invothx id invothx Optional
invprjx id invprjx Optional
iss persistent_id iss Require
d
iss_prp id Issue Property Require
d
iss_tpl template_name Issue Template Require
d
iss_wf id Issue Workflow Task Require
d
issalg id Issue Activity Log Require
d
issaty code issaty Optional
isscat code Issue Category Optional
isscat_grp persistent_id Issue Category Group LREL No
isscat_loc persistent_id Issue Category Location LREL No
isscat_workshift persistent_id Issue Category Workshift LREL No
issstat code Issue Status Optional
job_func id Job Function Optional
kc id KPI Optional
KCAT id Knowledge Category Optional
kcd id KPI Data Optional
KD id Knowledge Document Optional

02-Aug-2016 397/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


KD_ALL id KD_ALL Optional
KD_ATTMNT id Document-Attachment Link Optional
KD_FILE id KD_FILE Optional
KD_QA id KD_QA Optional
KD_SAVE_AS persistent_id KD_SAVE_AS No
KD_TASK persistent_id KD_TASK Optional
kdaty code kdaty Optional
kdlinks persistent_id Document-Ticket Link Optional
KEIT_IMPORT_PACKAGES id Knowledge Import Packages No
KEIT_TEMPLATES id Knowledge Export/Import Template Optional
KEIT_TRANSACTION_ id Knowledge Transaction Statuses No
STATUSES
KEIT_TRANSACTIONS id Knowledge Import Transactions Optional
kmlrel persistent_id Knowledge LREL No
KT_ACT_CONTENT id Action Content Optional
KT_BLC id Recommended Document Optional
KT_BLC_TYPE id KT_BLC_TYPE No
KT_FILE_TYPE id File Type No
KT_FLG_STATUS id Flag Status No
KT_FLG_TYPE id Comment Type Optional
KT_FREE_TEXT persistent_id Free Text No
KT_KCAT_NTF id Category Notification Optional
KT_LIFE_CYCLE_REP id KT Life Cycle Report Optional
KT_QA_RESP_TYPE id Forum Response Type No
KT_QA_STATUS id Forum Status No
KT_REPORT_CARD id Knowledge Report Card No
KT_STATUS_ROLE id Status Role No
ktd id KPI Ticket Data Require
d
kwrd id Keyword No
ldap id LDAP No
ldap_group id LDAP Group No
loc id Location Optional
locx id locx Optional
LONG_TEXTS id Forum Reply Optional
lr persistent_id Notification Log Require
d

02-Aug-2016 398/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


macro persistent_id Macro Optional
macro_prod_list sym macro_prod_list No
macro_type code Macro Type No
menu_bar id Menu Bar No
menu_tree id Menu Tree Node No
menu_tree_name id Menu Tree No
menu_tree_res id Menu Tree Resource No
mfrmod id Model Definition Optional
mgs id Managed Survey Optional
mgsalg id Managed Survey Activity Log Optional
mgsaty code mgsaty Optional
mgsstat code Managed Survey Status No
MSysConf Config MSysConf No
net_brix id net_brix Optional
net_clux id net_clux Optional
net_conx id net_clux Optional
net_frox id net_frox Optional
net_gatx id net_gatx Optional
net_hubx id net_hubx Optional
net_nicx id net_nicx Optional
net_othx id net_othx Optional
net_perx id net_perx Optional
net_porx id net_porx Optional
net_rgrpx id net_rgrpx Optional
net_roux id net_roux Optional
net_rsrcx id net_rsrcx Optional
no_contract_sdsc code no_contract_sdsc Optional
node_prod_list sym node_prod_list No
NOTIFICATION id Notification Optional
notque persistent_id Queued Notification No
noturg enum Notification Urgency No
nr id Configuration Item Optional
nr_com id Asset comment Optional
nrf id Resource Family No
ntfl id Notification Log No
ntfm persistent_id Notification Message Template Optional

02-Aug-2016 399/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


ntfm_prod_list sym ntfm_prod_list No
ntfr id Notification Rule Optional
ntfr_prod_list sym ntfr_prod_list No
O_COMMENTS id Knowledge Document Comment Optional
O_EVENTS id Document History Optional
OA_COLUMNS COLUMN_NAME OA_COLUMNS No
OA_FKEYS PKCOLUMN_NAM OA_FKEYS No
E
OA_INFO INFO_NAME OA_INFO No
OA_STATISTICS COLUMN_NAME OA_STATISTICS No
OA_TABLES TABLE_NAME OA_TABLES No
OA_TYPES TYPE_NAME OA_TYPES No
object_notify_prod_list sym object_notify_prod_list No
opsys id Operating System Optional
opsysx id opsysx Optional
options persistent_id Option No
org id Organization Require
d
orgx id orgx Optional
P_GROUPS id KT Permission Group Optional
pcat persistent_id Request Area Optional
pcat_cr persistent_id pcat_cr Optional
pcat_in persistent_id pcat_in Optional
pcat_loc persistent_id Request Area Location LREL No
pcat_pr persistent_id pcat_pr Optional
pcat_workshift persistent_id Request Area Workshift LREL No
perscnt id Person Contacting Optional
position id Position Optional
pr persistent_id Problem Require
d
pri enum Priority No
prio_service_type id Priority Service Type Require
d
prod id Product Optional
prod_list sym Object Name No
projex id projex_detail Optional
prp id Property Require
d

02-Aug-2016 400/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


prptpl id Property Template Optional
prptpl_chgcat id prptpl_chgcat Optional
prptpl_isscat id prptpl_isscat Optional
prpval id Property Value No
prpval_rule id Property Validation Rule No
prpval_type id Property Validation Type No
QUERY_POLICY id Query Policy Optional
QUERY_POLICY_ACTIONS id Query Policy Actions Optional
quick_tpl_types enum Quick Template Type No
rc id Root Cause Optional
response id Personalized Response Optional
rev_bool enum Reverse Boolean No
role id Role No
role_go_form id Role Go Form No
role_tab id Role Tab No
role_web_form id Role Web Form No
rptm persistent_id Report Method No
rptmeth id Reporting Method No
rrf code Remote Reference No
rss id Resource Status No
sapolicy id Web Services Access Policy Optional
saprobtyp id Web Services Error Type Optional
sd_chg_map persistent_id sd_chg_map No
sd_cr_map persistent_id sd_cr_map No
sdsc code Service Type Optional
sdsc_map id Service Type Map Require
d
secx id secx Optional
seq id Sequence Optional
serx id serx Optional
session_log id Session Log No
session_type id Session Type No
sev enum Severity No
SHOW_OBJ id Show Object No
site id Site Optional
slatpl id SLA Template Require
d

02-Aug-2016 401/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


slax id slax Optional
sqchg code sqchg Optional
sqcr code sqcr Optional
sqiss code sqiss Optional
srvr_aliases id Server Alias No
srvr_zones id Server Zone No
state id State No
stored_query_prod_list sym stored_query_prod_list No
survey id Survey Optional
svc_contract id Service Contract Require
d
svy_ans id Survey Answer Optional
svy_atpl id Survey Answer Template Optional
svy_qtpl id Survey Question Template Optional
svy_ques id Survey Question Optional
svy_tpl id Survey Template Optional
svystat id Survey Statistic Optional
svytrk id Survey Tracking Require
d
tab id Tab No
tel_cirx id tel_cirx Optional
tel_othx id tel_othx Optional
tel_radx id tel_radx Optional
tel_voix id tel_voix Optional
tel_wirx id tel_wirx Optional
tenant id Tenant Require
d
tenant_group id Tenant Group No
tenant_group_member persistent_id Tenant Group Member Require
d
text_api persistent_id text_api No
tgm_groups persistent_id Tenant Groups Require
d
tgm_members persistent_id Tenant Group Members Require
d
tkt persistent_id tkt Require
d
tskstat code Task Status Optional

02-Aug-2016 402/403
CA Service Management - 14.1

Object Rel_Attr Description Tenancy


tskty code Task Type Optional
tspan sym Time Span No
ttv_slas id ttv_slas Require
d
typecnt id Reason No
tz code Time Zone No
urg enum Urgency No
url persistent_id URL No
USP_PREFERENCES id Preference No
USP_PROPERTIES id Property Optional
usp_servers id usp_servers No
usq id User Stored Query Optional
vis_configuration persistent_id vis_configuration Optional
vis_graph_metadata persistent_id vis_graph_metadata Optional
vis_object_store_criteria persistent_id vis_object_store_criteria Optional
vis_object_store_master persistent_id vis_object_store_master Optional
vpt id Company Type No
web_form id Web Form No
web_form_pref id Web Form Preference Require
d
wf id Workflow Task Require
d
wftpl id Workflow Task Template Optional
wftpl_chgcat id wftpl_chgcat Optional
wftpl_isscat id wftpl_isscat Optional
workflow_prod_list sym workflow_prod_list No
wrkshft persistent_id Workflow Template Workshift LREL No
wspcol id Web Screen Painter Column No
wspdomset id wspdomset No
wsptbl id Web Screen Painter Table No
cr_wf id Request Workflow Task Require
d

02-Aug-2016 403/403

You might also like