Administering Maximo Asset 7.5
Administering Maximo Asset 7.5
Administering Maximo Asset 7.5
Version 7 Release 5
Note
Before using this information and the product it supports, read the information in Notices on page 445.
This edition applies to version 7, release 5, modification 0 of IBM Maximo Asset Management and to all subsequent
releases and modifications until otherwise indicated in new editions.
Copyright IBM Corporation 2008, 2013.
US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Chapter 1. Configuring the system . . . 1
Basic system configuration. . . . . . . . . . 1
Configuring clustered systems . . . . . . . . 2
Performance improvements with clusters . . . . 2
Preparing to create clusters . . . . . . . . 5
Creating properties files for clusters . . . . 6
Configuring message-driven beans for clusters 7
Creating build files for clusters . . . . . . 10
Building Maximo EAR files for clusters . . . 11
Building the RMI registry file . . . . . . 14
Creating and deploying clusters in WebSphere
Application Server . . . . . . . . . . . 14
Deploying the remote method invocation
registry file in WebSphere Application Server . 14
Creating clusters in WebSphere Application
Server . . . . . . . . . . . . . . 16
Configuring Java Message Service for
WebSphere Application Server . . . . . . 17
Deploying EAR files for clusters in WebSphere
Application Server . . . . . . . . . . 25
Creating and deploying clusters in WebLogic
Server . . . . . . . . . . . . . . . 26
Deploying the remote method invocation
registry file for WebLogic Server . . . . . 26
Creating clusters in WebLogic Server . . . . 28
Configuring the Java Message Service for
WebLogic Server. . . . . . . . . . . 29
Deploying EAR files for clusters in WebLogic
Server . . . . . . . . . . . . . . 35
Building and deploying EAR files for basic
configurations . . . . . . . . . . . . . 36
Building EAR files for basic configurations . . . 36
Deploying Maximo Enterprise Application
Archive files in WebSphere Application Server. . 37
Deploying Maximo Enterprise Application
Archive files in WebLogic Server . . . . . . 38
Configuring general settings . . . . . . . . . 38
Online help configuration . . . . . . . . 38
Web application archive files . . . . . . . 39
EAR files . . . . . . . . . . . . . . 39
Configuring application servers. . . . . . . 40
Memory settings for the application server
process . . . . . . . . . . . . . . 40
Load balancing . . . . . . . . . . . 41
Secure socket layer support . . . . . . . 41
Creating Java virtual machines . . . . . . 41
Application server documentation . . . . . 43
Configuring browser settings . . . . . . . 43
Configuring Internet Explorer settings . . . 43
Configuring session timeout periods . . . . 43
Migrating the administrative workstation . . . . 43
.
.
.
.
.
.
.
.
.
.
.
.
. 45
. 45
46
47
47
48
49
49
52
53
53
55
56
56
56
57
59
59
59
60
61
62
63
63
64
64
65
65
66
66
67
67
67
68
69
70
70
71
71
72
72
73
74
75
76
77
78
78
79
80
80
80
80
iii
85
85
86
87
87
88
88
88
89
89
90
91
92
92
93
95
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
103
103
104
105
105
107
108
109
110
110
111
112
113
115
. 116
. 118
. 120
. 121
. 122
. 122
. 123
. 124
. 126
. 127
. 127
.
.
.
.
.
.
129
130
130
130
131
132
. 132
139
140
141
141
141
143
146
147
149
150
151
152
152
152
153
153
154
154
155
155
155
156
156
157
157
158
159
160
160
161
161
161
163
163
164
165
165
166
167
168
168
168
169
170
171
171
172
173
174
174
175
176
177
178
179
179
180
182
183
. . . .
. . . .
. . . .
. . . .
for users.
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
185
185
186
187
187
188
Security controls . . . . . . . . . . .
Passwords for users . . . . . . . . .
Password hints for users . . . . . . .
Security authorizations for users . . . . .
Security profiles for users . . . . . . .
Database access for users . . . . . . .
Default insert sites for users . . . . . .
User statuses . . . . . . . . . . . .
Working with users . . . . . . . . . . .
Adding users . . . . . . . . . . . .
Assigning users to security groups . . . . .
Authorizing users to assign other users to
security groups . . . . . . . . . . . .
Changing persons associated with users . . .
Changing the status of multiple users . . . .
Changing the status of users . . . . . . .
Changing user settings . . . . . . . . .
Changing user settings for inactive site access
Changing user settings for language, locale,
and time zone . . . . . . . . . . .
Changing user settings for screen readers . .
Changing user settings for storerooms and
insert sites . . . . . . . . . . . .
Changing settings for storerooms and insert
sites for multiple users . . . . . . . .
Changing general ledger accounts for users
Implementing security for users . . . . . .
Specifying passwords for new users . . . .
Changing system and database passwords
for users . . . . . . . . . . . . .
Specifying password hints for users . . . .
Specifying security groups for users . . . .
Specifying security profiles for users . . .
Specifying security profiles for multiple users
Granting user access to Oracle and
Structured Query Language server databases .
Changing user access to Oracle and
Structured Query Language server databases .
Removing user access to Oracle and
Structured Query Language server databases .
Logging out and blocking users . . . . .
Enabling login tracking . . . . . . . .
Setting user defaults . . . . . . . . .
Copying users . . . . . . . . . . . .
Deleting users . . . . . . . . . . . .
Deleting security groups from user profiles . .
189
189
190
191
191
191
192
192
193
193
194
195
195
196
196
197
197
197
197
197
198
198
199
199
199
200
201
201
202
203
203
204
204
204
205
206
207
208
. 209
. 209
. 209
. 209
.
.
.
.
.
.
210
210
211
211
211
211
Contents
211
213
213
214
215
215
215
216
216
217
217
218
219
220
.
.
.
. 223
. 223
. 223
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
224
224
225
227
227
228
229
229
229
230
232
233
234
234
vi
237
238
238
239
239
240
240
241
242
246
247
248
248
E-mail messages . . . . . . . . . . .
Polling of mail servers for email messages
Status of e-mail records . . . . . . . .
E-mail attachments . . . . . . . . .
Message thresholds . . . . . . . . .
E-mail formats for e-mail listeners . . . .
Working with E-mail Listeners . . . . . . .
Purging e-mail records from the staging table
Customizing the e-mail listener preprocessor
Changing the object key delimiter . . . . .
Working with e-mail listeners definitions . . .
Creating e-mail listener definitions . . . .
Deleting e-mail listener definitions . . . .
Configuring the queues for WebSphere
Application Server . . . . . . . . . .
Adding servers to the Java Messaging
Service bus for e-mail listeners . . . . .
Creating the Java Messaging Service bus
destination for the listener inbound queue. .
Creating the Java Messaging Service
connection factory . . . . . . . . . .
Creating the listener inbound Java Messaging
Service queue . . . . . . . . . . .
Activating the listener inbound queue . . .
Configuring the Message Driven Bean in
WebSphere Application Server. . . . . .
Configuring the Java Messaging Service queues
for WebLogic Server . . . . . . . . . .
Adding file stores for e-mail listeners WebLogic Server . . . . . . . . . .
Adding Java Messaging Service servers for
e-mail listeners - WebLogic Server . . . .
Adding Java Messaging Service modules for
e-mail listeners - WebLogic Server . . . .
Adding Java Messaging Service connection
factories for e-mail listeners - WebLogic
Server . . . . . . . . . . . . . .
Adding Java Messaging Service queues for
e-mail listeners - WebLogic Server . . . .
Activating Java Messaging Service connection
factories for e-mail listeners - WebLogic
Server . . . . . . . . . . . . . .
Configuring the Message Driven Bean in
WebLogic Server . . . . . . . . . .
Activating workflow processes for e-mail
listeners . . . . . . . . . . . . . .
Configuring e-mail listeners to use Java
Messaging Service queues . . . . . . .
Creating communications for e-mail messages
Email listener does not process an email . . .
248
248
250
251
251
253
259
259
260
260
261
261
262
263
264
265
266
266
267
268
269
270
271
272
272
273
273
274
275
276
277
278
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
281
281
282
283
283
284
284
284
285
. . .
. . .
. . .
. . .
. . .
server
. . .
.
.
.
.
.
285
286
286
286
287
287
. 288
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
289
289
290
290
291
291
292
292
293
293
294
294
295
297
298
300
302
303
304
305
307
307
308
308
309
310
312
313
314
314
314
314
315
315
316
316
316
317
Contents
318
318
319
320
321
324
326
327
327
328
329
331
332
333
333
334
335
337
338
339
339
340
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
347
347
347
347
348
348
348
349
349
349
350
350
351
351
352
352
354
355
355
. 356
. 357
. 357
359
. 359
.
.
.
.
359
359
359
360
. 360
360
. 361
. 361
361
. 362
.
.
.
.
.
.
.
.
viii
.
.
.
.
.
.
. 363
. 364
365
.
.
.
. 365
. 365
. 366
.
.
.
.
.
.
.
.
.
.
.
.
366
366
367
368
369
369
371
372
372
372
373
373
373
. 374
. 374
. 374
. 375
. 376
. 377
. 377
. 378
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
379
379
379
380
380
380
381
381
382
382
383
383
383
. 383
385
Classifications overview . . . . . . . . .
Classification paths and hierarchies . . . .
Generate Description option . . . . . .
Associations of records with classifications .
Classification searches . . . . . . . .
Actual and authorized configuration item
classifications . . . . . . . . . . .
Actual configuration items . . . . . .
Authorized configuration items . . . .
Actual configuration item classifications and
authorized configuration item classifications
Attributes of classifications . . . . . . .
Groupings of attributes . . . . . . .
Apply Down Hierarchy option . . . .
Classifications planning . . . . . . . .
.
.
.
.
.
385
385
386
387
387
. 388
. 388
. 388
.
.
.
.
.
388
389
389
389
389
.
.
.
.
.
.
.
.
.
389
390
390
390
390
391
392
393
393
. 394
. 394
. 395
. 396
396
397
397
398
398
398
399
399
399
399
401
401
402
403
404
404
404
405
405
405
406
406
407
.
.
.
.
.
.
.
.
413
413
413
414
. 415
. 415
.
.
. 416
. 416
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
integration
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
419
419
421
422
422
422
422
423
423
423
423
427
428
429
429
429
430
430
430
.
.
.
.
.
.
.
.
.
.
.
.
430
431
432
433
434
434
435
437
440
442
443
444
Notices . . . . . . . . . . . . . . 445
Trademarks .
. 446
. 409
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 411
. 411
Contents
ix
resources, you can add JVMs to meet the increased need; hardware resource
increase might be required as well. For example, if your integrated framework
clustered environment routinely processes thousands of messages from external
systems, you can add more JVMs to the cluster. The reliability of a system
increases when the workload is distributed over multiple JVMs.
A typical deployment includes the following clusters:
User interface cluster
The user interface cluster is intended for users to access the system from a
web browser.
Integration framework cluster
The integration framework cluster processes integration messages from
message queues, and moves messages into the queues. This cluster uses
Java Message Service (JMS), Hyper Text Transfer Protocol (HTTP) POST
commands, web services, and Enterprise JavaBeans (EJB) technology.
Cron task cluster
The cron task cluster processes scheduled jobs. You can run scheduled jobs
for integration tasks, escalations, Lightweight Directory Access Protocol
(LDAP), or to run reports.
Report cluster
A dedicated reports cluster runs the Business Intelligence and Reporting
Tools (BIRT) report engine. If you do not create a report cluster, then the
BIRT report engine runs in each cluster, which can affect the performance
of user interactive applications.
The process for creating a clustered environment involves the completion of tasks
that are related to Maximo Asset Management and followed by the completion of
tasks that are related to the application server, which is either WebSphere
Application Server or WebLogic Server. The following table outlines the process of
creating clusters:
Task
Purpose
Task
Purpose
Deploy RMI.
Related concepts:
Implementing high availability
Related tasks:
Creating clusters in WebLogic Server on page 28
You can create as many clusters as your deployment requires.
Creating clusters in WebSphere Application Server on page 16
In the Integrated Solutions Console, you can create as many clusters as your
deployment requires. Each cluster can consist of two or more Java virtual machine
(JVM) cluster members.
Procedure
1. Navigate to the ibm\SMP\maximo directory. Create a backup copy of the existing
maximo.properties file, and then delete the existing maximo.properties file.
2. Create the copy of the properties file for the user interface cluster.
a. Copy the ibm\SMP\etc\maximo.properties_orig file to install_home\
applications\maximo\properties\maximo.properties.
b. Open the maximo.properties file in a text editor, add the donotrun option,
and list all of your cron tasks, except the JMSQSEQCONSUMER cron task,
for example:
mxe.crontask.donotrun=JMSQSEQCONSUMER, BBCron,
ESCALATION, ESCESCBLTNEXP, REPORTLOCKRELEASE, REPORTLOCKRELEASE1,
REPORTUSAGECLEANUP, REPORTUSAGECLEANUP1
e. Rename the maximo.properties file so that it is identified with the cron task
cluster, for example, maximocron.properties.
4. Create the copy of the properties file for the integration framework cluster.
a. Copy the ibm\SMP\etc\maximo.properties_orig file to install_home\
applications\maximo\properties\maximo.properties.
b. Open the maximo.properties file in a text editor, add the donotrun option
and set the value to all, for example:
mxe.crontask.donotrun=ALL
Procedure
1. Create a copy of the ejb-jar.xml file for each cluster that you plan to deploy.
For example, if you plan to deploy four clusters, create the following four
copies:
v ejb-jarui.xml for the user interface cluster
v ejb-jarcron.xml for the cron task cluster
v ejb-jarmif.xml for the integration cluster
v ejb-jarrpt.xml for the reports cluster
2. Open the ejb-jarmif.xml file that you created for the integration framework
cluster and uncomment the code for the following message-driven beans:
v MessageDriven_JMSContQueueProcessor_1
v MessageDriven_JMSContQueueProcessor_2
Chapter 1. Configuring the system
v JMSContQueueProcessor-1
v JMSContQueueProcessor-2
After you uncomment the section, the code in your file should match the
following code:
<!-- MEA MDB -->
<message-driven id="MessageDriven_JMSContQueueProcessor_1">
<ejb-name>JMSContQueueProcessor-1</ejb-name>
<ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
<env-entry>
<env-entry-name>MESSAGEPROCESSOR</env-entry-name>
<env-entry-type>java.lang.String </env-entry-type>
<env-entry-value>psdi.iface.jms.QueueToMaximoProcessor</env-entry-value>
</env-entry>
</message-driven>
<!-- MEA MDB for error queue -->
<message-driven id="MessageDriven_JMSContQueueProcessor_2">
<ejb-name>JMSContQueueProcessor-2</ejb-name>
<ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
<env-entry>
<env-entry-name>MESSAGEPROCESSOR</env-entry-name>
<env-entry-type>java.lang.String </env-entry-type>
<env-entry-value>psdi.iface.jms.QueueToMaximoProcessor</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>MDBDELAY</env-entry-name>
<env-entry-type>java.lang.Long </env-entry-type>
<env-entry-value>30000</env-entry-value>
</env-entry>
</message-driven>
<!-- MEA MDB -->
<container-transaction>
<method>
<ejb-name>JMSContQueueProcessor-1</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
<!-- MEA MDB for error queue -->
<container-transaction>
<method>
<ejb-name>JMSContQueueProcessor-2</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
5. If the application server for your deployment is WebLogic Server, create four
copies of install_home\applications\maximo\mboejb\ejbmodule\meta-inf\
weblogic-ejb-jar.xml. For example, if you plan to deploy four clusters on
WebLogic Server, create the following four copies:
v weblogic-ejb-jarui.xml for the user interface cluster
v weblogic-ejb-jarcron.xml for the cron task cluster
v weblogic-ejb-jarmif.xml for the integration cluster
v weblogic-ejb-jarrpt.xml for the reports cluster
6. If you are using WebLogic Server, open the weblogic-ejb-jarmif.xml file that
you created for the integration framework cluster and uncomment the code for
the JMSContQueueProcessor sections.
After you uncomment the section, the code in your file should match the
following code:
<!-- MEA MDB-->
<weblogic-enterprise-bean>
<ejb-name>JMSContQueueProcessor-1</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>3</max-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/maximo/int/queues/cqin</destination-jndi-name>
<connection-factory-jndi-name>jms/maximo/int/cf/intcf
</ connection-factory-jndi-name>
</message-driven-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>600</trans-timeout-seconds>
</transaction-descriptor>
<jndi-name>JMSContQueueProcessor-1</jndi-name>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>JMSContQueueProcessor-2</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>3</max-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/maximo/int/queues/cqinerr</destination-jndi-name>
Chapter 1. Configuring the system
<connection-factory-jndi-name>jms/maximo/int/cf/intcf
</ connection-factory-jndi-name>
</message-driven-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>600</trans-timeout-seconds>
</transaction-descriptor>
<jndi-name>JMSContQueueProcessor-2</jndi-name>
</weblogic-enterprise-bean>
Related concepts:
Integration framework overview
Procedure
1. Create a copy of the install_home\deployment\buildmaximoear.cmd file for
each cluster that you plan to deploy. For example, if you plan to deploy four
clusters, create the following four copies:
v buildmaximoearui.cmd
v buildmaximoearcron.cmd
v buildmaximoearmif.cmd
v buildmaximoearrpt.cmd
2. Open the buildmaximoear.cmd file for each cluster, and add the following shell
command at the beginning of the file where cluster is the cluster whose file you
are editing:
copy /Y install_home\applications\maximo\properties\
maximocluster.properties
install_home\applications\maximo\properties\maximo.properties
For example, for the user interface cluster, you add the following shell
commands:
copy /Y install_home\applications\maximo\properties\maximoui.properties
install_home\applications\maximo\properties\maximo.properties
3. In the buildmaximoear.cmd file for each cluster, add the following shell
command at the beginning of the file where cluster is the cluster whose file you
are editing:
copy /Y install_home\applications\maximo\mboejb\ejbmodule\meta-inf\ejbjarcluster.xml
install_home\applications\maximo\mboejb\ejbmodule\meta-inf\ejb-jar.xml
For example, for the user interface cluster, you add the following shell
commands:
copy /Y install_home\applications\maximo\mboejb\ejbmodule\meta-inf\ejbjarui.xml
install_home\applications\maximo\mboejb\ejbmodule\meta-inf\ejb-jar.xml
10
When you run the build script to build the EAR file, the resulting EAR file is
named maximoui.ear.
Related concepts:
EAR files on page 12
EAR files are archives that contain all the required files to run an application.
Web application archive files on page 13
Web application archive (WAR) files are part of EAR files. They contain, for
example, JSP or HTML pages.
11
Procedure
1. From the command prompt, navigate to install_home\maximo\deployment\ and
run each of the four build files that you created for the clusters, for example:
v buildmaximoearui.cmd
v buildmaximoearcron.cmd
v buildmaximoearmif.cmd
v buildmaximoearrpt.cmd
Each build files creates a separate Maximo EAR file for the cluster.
2. Navigate to install_home\maximo\deployment\ and run buildmxiehsear.cmd.
Related concepts:
EAR files
EAR files are archives that contain all the required files to run an application.
EAR files
EAR files are archives that contain all the required files to run an application.
Web application archive files on page 13
Web application archive (WAR) files are part of EAR files. They contain, for
example, JSP or HTML pages.
Related tasks:
Building and deploying EAR files for basic configurations on page 36
You can build and deploy EAR files for a basic configuration. In a clustered
configuration, each cluster has its own EAR file to build and deploy.
Building EAR files for basic configurations on page 36
The EAR files contains all the fields required to run an application. There are two
EAR files: maximo.ear and maximoiehs.ear. Both the EAR files contain one or more
web application modules. In a clustered configuration, each cluster requires a
separate build file to create an EAR file for the cluster.
EAR files:
EAR files are archives that contain all the required files to run an application.
The following two EAR files are used. Each EAR file contains one or more web
application modules (.war extension):
v maximo.ear
maximouiweb.war
mboweb.war
meaweb.war
v maximoiehs.ear
iehs.war
You rebuild and redeploy EAR files whenever you:
v Modify .xml files or custom class files (maximo.ear).
v Modify HTML help topics (online help) (maximoiehs.ear).).
v Modify settings in the maximo.properties file (Maximo.ear).
12
Related concepts:
Web application archive files
Web application archive (WAR) files are part of EAR files. They contain, for
example, JSP or HTML pages.
Related tasks:
Building EAR files for basic configurations on page 36
The EAR files contains all the fields required to run an application. There are two
EAR files: maximo.ear and maximoiehs.ear. Both the EAR files contain one or more
web application modules. In a clustered configuration, each cluster requires a
separate build file to create an EAR file for the cluster.
Creating build files for clusters on page 10
You must create a separate buildmaximoear.cmd file for each cluster. When you run
the separate buildmaximoear.cmd files, you create a separate EAR file for each
cluster.
Building Maximo EAR files for clusters on page 11
After you create a build file for each cluster, you must build a Maximo EAR file for
the cluster. The name of the EAR file is based on the set EAR_FILENAME statement
in the build file.
Web application archive files:
Web application archive (WAR) files are part of EAR files. They contain, for
example, JSP or HTML pages.
WAR file
Description
maximouiweb.war
mboweb.war
meaweb.war
iehs.war
rmireg.war
13
Related concepts:
EAR files on page 12
EAR files are archives that contain all the required files to run an application.
Related tasks:
Creating build files for clusters on page 10
You must create a separate buildmaximoear.cmd file for each cluster. When you run
the separate buildmaximoear.cmd files, you create a separate EAR file for each
cluster.
Building Maximo EAR files for clusters on page 11
After you create a build file for each cluster, you must build a Maximo EAR file for
the cluster. The name of the EAR file is based on the set EAR_FILENAME statement
in the build file.
Procedure
From a command prompt, navigate to the install_home/deployment directory, and
then run the following command: buildrmiregwar.cmd
Related concepts:
Java remote method invocation on page 15
Remote method invocation (RMI) is an application programming interface that
provides a way for objects in separate memory areas to interact. Separate memory
areas can be part of the same physical system or can be on different systems
connected by a network.
14
The install_home variable represents the installed location of the product folder.
Procedure
1. Log in as the administrative user to the Integrated Solutions Console by using
the address http://servername:9060/admin
2. In the navigation pane of the Integrated Solutions Console, select Servers >
Server Types > WebSphere Application Servers and then click New to create
a JVM for the RMI registry.
3. Specify RMIRegistry for the server name and use the default settings for the
server template and server properties.
4. Click Finish, and then save the server information.
5. In the navigation pane of the Integrated Solutions Console, click Applications
> Application Types > WebSphere Enterprise Applications.
6. Click WebSphere enterprise applications, and then click Install.
7. Click Browse and specify the install_home/deployment/default/rmireg.war
file.
8. In the Context Root field, specify RMI.
9. Select the Generate Default Bindings check box.
10. Continue to the next section without changing any selections. Do not change
the default application name rmireg_war.
11. In the Mapping Modules to Servers section, select the RMIRegistry server,
select the MBO Web Application check box, and click Apply.
12. Confirm that the MBO Web Application is mapped to the RMIRegistry.
13. Click Finish to complete the installation of the file.
14. Save the rmireg_war file to the master configuration.
15. Repeat steps 1-14 for every physical server or virtual machine that acts as a
server.
Related concepts:
Java remote method invocation
Remote method invocation (RMI) is an application programming interface that
provides a way for objects in separate memory areas to interact. Separate memory
areas can be part of the same physical system or can be on different systems
connected by a network.
Java remote method invocation:
Remote method invocation (RMI) is an application programming interface that
provides a way for objects in separate memory areas to interact. Separate memory
areas can be part of the same physical system or can be on different systems
connected by a network.
An RMI Registry is an area in memory that maintains the RMI address information
of a Java object server. By default, the RMI registry is created on port 1099. More
than one RMI registry can exist in memory. Each registry has a designated TCP/IP
port for access.
If the mxe.allowLocalObjects property is set to 1, then the user interface does not
use the RMI registry. The RMI registry is only needed if the RMI client program is
used.
15
When the EAR file is deployed, the Java objects search for an RMI registry in the
current memory area. If no RMI registry is found, then a registry is created and is
bound to the product instance.
In a clustered environment, creation of an RMI registry that is bound to an
instance of the product can be problematic. If the JVM fails, then the other JVMs
on the same physical server are not reachable by client programs.
The solution in a clustered environment is to deploy the RMI registry file,
rmireg.war, on the application server. The rmireg.war file is deployed on a
separate server and creates the registry independent of any product JVMs. If a JVM
is shut down or recycled, the RMI communication is not lost. In a clustered
environment that spans multiple physical servers, RMI must be deployed one time
on every server. But if the mxe.allowLocalObjects property is set to 1 and you do
not use the RMI client program in your environment, you do not need to deploy
the rmireg.war file.
Related tasks:
Deploying the remote method invocation registry file for WebLogic Server on
page 26
When you build the remote method invocation (RMI) registry file, the file must be
deployed each physical server. Deployment includes creating an RMI registry
service and, creating a batch file to start RMI. To run the process correctly, you
must update the start sequence for all servers so that all product ervers start after
the RMI server starts.
Deploying the remote method invocation registry file in WebSphere Application
Server on page 14
A server that has a remote method invocation (RMI) registry continues to run even
if another server in the cluster fails. When you build the RMI registry file, the file
must be deployed in the application server.
Building the RMI registry file on page 14
The rmireg.war file is used to create the remote method invocation (RMI) registry.
After you create the rmireg.war file, you can deploy the file on the application
server.
Procedure
1. Log in as the administrative user to the Integrated Solutions Console by using
the address http://servername:9060/admin
2. In the navigation pane, select Servers > Clusters > WebSphere application
server clusters
3. Click New and enter a name for the cluster, such as uicluster.
4. Specify the name of the first JVM cluster member, such as maximoui1.
5. Select MXServer to create the JVM cluster member based on an existing JVM.
6. Repeat steps 4-5 to create as many JVM cluster members as your environment
requires.
7. Save your changes. The JVM cluster members are created as application
servers, based on the settings in the MXServer application server.
8. Define the JVM parameter -Dmxe.name with the jvmname for each JVM cluster
member.
16
a. In the navigation pane, select Servers > Server Types > WebSphere
application servers and select a JVM cluster member.
b. Under Service Infrastructure, click Java and Process Management >
Process definition > Java Virtual Machine.
c. Scroll down and type 1536 for Initial Heap Size and 4096 for Maximum
Heap Size.
d. In the Generic JVM arguments field, specify the JVM parameter Dmxe.name
to name each server, for example:
-Dmxe.name=maximoui1 -Dmxe.name is the property name passed to the JVM
at startup time and maximoui1 is the name that you identify as the JVM
cluster member.
e. Repeat steps a-d for each JVM cluster member.
9. In the navigation pane, select Servers > Server Types > WebSphere
application servers and obtain the port numbers of each member:
a. Open the configuration of the JVM cluster member.
b. In the Communications section, click Ports.
c. Record the port number for the WC_defaulthost Port Name.
d. Repeat steps a-c for each JVM cluster member.
10. For each JVM cluster member, register the port number on a virtual host.
a. In the navigation pane, select Environment > Virtual hosts.
b. To create a virtual host, click New and specify the virtual host name.
c. Save your changes.
d. To create a host alias, select the virtual host and click New.
e. Enter the web server port number. Leave * as the host name.
f. Click New and enter the port of the cluster member. Repeat this step for
each cluster member. Leave * as the host name.
g. Save your changes.
11. Repeat steps 2-10 for each cluster in your deployment.
Related concepts:
Performance improvements with clusters on page 2
A cluster groups similar functions on two or more Java virtual machines (JVMs) to
process a single function, such as scheduled cron tasks. Clusters connect to the
same database but operate independently. For example, if the cron task cluster
fails, users can still connect to the user interface cluster.
17
18
Related concepts:
Java Message Service configuration for WebSphere Application Server on page 24
If you are setting up an environment with an integration cluster that is connected
to one or more external systems, you need to configure the Java Message Service
(JMS) for queue-based integration. You need to create queues that are accessible by
the user interface, cron, and integration clusters. The report cluster does not require
JMS queues.
Creating buses for Java Message Service:
A service integration bus consists of member application servers that share a
common infrastructure to exchange information.
About this task
The naming convention for bus names combines the following identifiers:
v The function of the bus, such as mif for Maximo Integration Framework, ui for
user interface, and cron for cron tasks.
v The service that uses the bus, such as jms for Java Message Service (JMS)
v The message engine type, such as bus for a service integration bus
Procedure
1. In the navigation pane of the Integrated Solutions Console, select Service
Integration > Buses, and create a bus and specify uijmsbus for the name.
2. Add the user interface cluster as a member of the uijmsbus bus. By default,
adding clusters to the bus creates a message engine for each cluster.
3. Create a bus and specify mifjmsbus for the name.
4. Add the integration framework cluster as a member of the mifjmsbus bus.
5. Optional: If you plan to send integration messages from cron tasks that create
or update business objects in Maximo Asset Management, such as work order
generation or reorder, create a bus and specify cronjmsbus for the name.
6. Optional: Add the cron task cluster as a member of the cronjmsbus bus.
Related concepts:
Java Message Service configuration for WebSphere Application Server on page 24
If you are setting up an environment with an integration cluster that is connected
to one or more external systems, you need to configure the Java Message Service
(JMS) for queue-based integration. You need to create queues that are accessible by
the user interface, cron, and integration clusters. The report cluster does not require
JMS queues.
Creating connection factories for Java Message Service:
Connection factories are used by the bus to create connections with Java Message
Service (JMS) providers. Connection factories are stored in a Java Naming and
Directory Interface (JNDI) namespace. You create a connection factory for each of
the buses.
Before you begin
For each bus, look up the name of the message engine that was created
automatically when the bus member was added to the bus. The default name
format is cluster_name.nnn-bus_name. When you create connection factories, you
must specify the name of the message engine in the Target field.
Chapter 1. Configuring the system
19
Procedure
1. Create a connection factory for the uijmsbus bus, and specify the following
values:
Option
Description
Name
uiconfact
JNDI name
jms/maximo/int/cf/intcf
Bus name
uijmsbus
Target
Target type
Message Engine
Target significance
Required
2. Increase the maximum connections for the uiconfact connection factory from 10
to 50, depending on the expected load. The maximum number of connections
depends on the load of transactions that you expect the JMS queues to process.
If you expect a heavy transaction load, select a high number of maximum
connections.
3. At the cell scope, create a connection factory for the mifjmsbus bus, and specify
the following values:
Option
Description
Name
mifconfact
JNDI name
jms/maximo/int/cf/intcf
Bus name
mifjmsbus
Target
Target type
Message Engine
Target significance
Required
4. Increase the maximum connections for the mifconfact connection factory from
10 to 50, depending on the load.
5. Optional: If you created the cronjmsbus bus, create a connection factory for the
cronjmsbus bus, and specify the following values:
Option
Description
Name
cronconfact
JNDI name
jms/maximo/int/cf/intcf
Bus name
cronjmsbus
Target
Target type
Message Engine
Target significance
Required
6. Optional: If you created a connection factory for the cronjmsbus bus, increase
the maximum connections for the cronconfact connection factory from 10 to 50,
depending on the load.
20
Related concepts:
Java Message Service configuration for WebSphere Application Server on page 24
If you are setting up an environment with an integration cluster that is connected
to one or more external systems, you need to configure the Java Message Service
(JMS) for queue-based integration. You need to create queues that are accessible by
the user interface, cron, and integration clusters. The report cluster does not require
JMS queues.
Creating queue destinations for Java Message Service:
You need to create queue bus destinations for each service integration bus. After
the queue bus destinations are created, the queues are created for each destination.
Procedure
1.
For the user interface bus, create a queue bus destination named sqoutuibd.
The bus destination is required to support processing of messages through the
outbound sequential queue.
2. Optional: If you created the service integration cronjmsbus bus for the cron task
cluster, create a queue bus destination named sqoutcronbd.
3. For the integration cluster bus member, which is the mifjmsbus bus, create
multiple bus destinations. Multiple bus destinations are required to support
processing of messages through the inbound and outbound queues.
a. To support processing of messages through the outbound sequential queue,
create a queue bus destination named sqoutmifbd.
b. To support processing of messages through the inbound sequential queue,
create a queue bus destination named sqinmifbd.
c. To support processing of messages through the inbound continuous queue,
create a queue bus destination named cqinmifbd.
d. To support processing of messages through the inbound continuous error
queue, create a queue bus destination named cqinerrmifbd.
Results
Based on the configuration settings, you can now perform data imports from the
integration framework cluster, which has the message-driven beans enabled. You
can also now perform data exports from the user interface cluster. If you require
data import or data export in additional clusters, you can change the configuration
for the other clusters.
Related concepts:
Java Message Service configuration for WebSphere Application Server on page 24
If you are setting up an environment with an integration cluster that is connected
to one or more external systems, you need to configure the Java Message Service
(JMS) for queue-based integration. You need to create queues that are accessible by
the user interface, cron, and integration clusters. The report cluster does not require
JMS queues.
Creating queues for Java Message Service:
You configure queues based on the queue destinations, which are used to send and
receive messages to queues. A queue bus destination defines the bus name and
queue name for the queue. You create one queue for each destination based on the
default Java Message Service (JMS) provider.
21
Procedure
1. For the outbound sequential queue, create the queue for the user interface bus
member with the following values:
Option
Description
Name
sqoutui
Bus name
uijmsbus
JNDI name
jms/maximo/int/queues/sqout
Queue name
sqoutuibd
2. Optional: If you created a cron task bus, then for the outbound sequential
queue, create the queue for the cron task bus member with the following
values:
Option
Description
Name
sqoutcron
Bus name
cronjmsbus
JNDI name
ms/maximo/int/queues/sqout
Queue name
sqoutcronbd
3. For the outbound sequential queue, create the queue for the integration
framework bus member with the following values:
Option
Description
Name
sqoutmif
Bus name
mifjmsbus
JNDI name
jms/maximo/int/queues/sqout
Queue name
sqoutmifbd
4. For the inbound sequential queue, create the queue for the integration
framework bus member with the following values:
Option
Description
Name
sqinmif
Bus name
mifjmsbus
JNDI name
jms/maximo/int/queues/sqin
Queue name
sqinmifbd
5. For the continuous queue inbound, create the queue for the integration
framework bus member with the following values:
Option
Description
Name
cqinmif
Bus name
mifjmsbus
JNDI name
jms/maximo/int/queues/cqin
Queue name
cqinmifbd
6.
22
For the inbound continuous error queue, create the queue for the integration
framework bus member with the following values:
Option
Description
Name
cqinerrmif
Bus name
mifjmsbus
JNDI name
jms/maximo/int/queues/cqinerr
Queue name
cqinerrmifbd
Related concepts:
Java Message Service configuration for WebSphere Application Server on page 24
If you are setting up an environment with an integration cluster that is connected
to one or more external systems, you need to configure the Java Message Service
(JMS) for queue-based integration. You need to create queues that are accessible by
the user interface, cron, and integration clusters. The report cluster does not require
JMS queues.
Creating Java Message Service activation specifications:
A Java Message Service (JMS) activation specification is associated with a queue
that uses message-driven beans (MDBs) to consume messages from the queue. The
activation specification provides the information necessary for the queue to receive
messages. For each continuous queue that you create, set up the activation
specification at the cell scope.
Procedure
1. For the continuous queue inbound, create the activation specification with the
following values:
Option
Description
Name
intjmsact
Bus name
mifjmsbus
Destination Type
queue
ms/maximo/int/queues/cqin
2. For the error queue, create the activation specification with the following
values:
Option
Description
Name
intjmsacterr
Bus name
mifjmsbus
Destination Type
queue
jms/maximo/int/queues/cqinerr
What to do next
To complete the configuration of JMS, in the External Systems application, you
must update the configuration of the JMS queues to reflect the JNDI names created
for the connection factory and queues.
23
Related concepts:
Java Message Service configuration for WebSphere Application Server
If you are setting up an environment with an integration cluster that is connected
to one or more external systems, you need to configure the Java Message Service
(JMS) for queue-based integration. You need to create queues that are accessible by
the user interface, cron, and integration clusters. The report cluster does not require
JMS queues.
Java Message Service configuration for WebSphere Application Server:
If you are setting up an environment with an integration cluster that is connected
to one or more external systems, you need to configure the Java Message Service
(JMS) for queue-based integration. You need to create queues that are accessible by
the user interface, cron, and integration clusters. The report cluster does not require
JMS queues.
Integration with external systems using message queues is supported through two
default message order processing mechanisms. The first is sequential message
processing, where the message order is guaranteed. The second is continuous
message processing, where the messages are processed in parallel for better
performance. The order in which messages are processed by this mechanism is not
guaranteed.
When you use the continuous message processing, some messages that depend on
a certain order can fail. For example, a vendor purchase order is processed before
the vendor record is added. This processing order can prevent the purchase order
from being processed. However, if the purchase order is reprocessed after the
vendor record is added, the purchase order message is processed successfully.
The continuous message processing uses message-driven beans (MDBs) to process
messages in a multi-threaded mode. There can be cases when the number of
messages in error might reach a limit such that all MDBs continuously process
only messages in error. This results in the number of messages in the queue to
grow as no messages are processed successfully and removed from the queue. The
limit for the number of error messages is equal to or greater than the maximum
batch size of the queue multiplied by the number of MDBs deployed. In order to
avoid this condition, configure the continuous queue with a corresponding error
queue (exception destination). This configuration moves the messages in error to a
different queue and allow new messages received into the queue to be processed.
The following table outlines the default setup for integration queues:
Table 1. Queues for a WebSphere Application Server setup
24
Queue
Description
Description
Related concepts:
Access to services by inbound messages
Related tasks:
Configuring Java Message Service for WebSphere Application Server on page 17
Java Message Service (JMS) is the messaging standard that is used to send and
receive messages from queues. This process enables distributed communication
with external systems in a loosely coupled, reliable, and asynchronous manner. The
JMS configuration is application server-specific. You must configure JMS queues
within the environment and make them accessible through the Java Naming
Directory Interface (JNDI).
Configuring a message processing server
Procedure
1. Stop any Java virtual machines (JVM) that are running in the cluster in which
you want to deploy EAR files.
2. Open the Integrated Solutions Console and in the navigation pane, click
Applications > Application Types > WebSphere enterprise applications.
3. Click Install and in the install_home/deployment/default directory, locate the
EAR file that you want to deploy. For example, if you are setting up the user
interface cluster, locate the maximoui.ear file.
4. Accept the default settings and then select all the modules and the cluster, such
as UICluster. If you are using a web server, select the web server.
5. Select all modules and select the virtual host, such as UICluster_host, to map
the virtual hosts.
6. Click Finish.
7. Save the file to the master configuration.
8. Deploy the maximoiehs.ear file.
9. Repeat steps 2-8 for the EAR files for the remaining clusters.
What to do next
Start the JVM for the remote method invocation registry, and then start the clusters
in the application server. Log in to verify that the process is successful.
25
Related tasks:
Building and deploying EAR files for basic configurations on page 36
You can build and deploy EAR files for a basic configuration. In a clustered
configuration, each cluster has its own EAR file to build and deploy.
26
environment that spans multiple physical servers, RMI must be deployed one time
on every server. But if the mxe.allowLocalObjects property is set to 1 and you do
not use the RMI client program in your environment, you do not need to deploy
the rmireg.war file.
Related tasks:
Deploying the remote method invocation registry file for WebLogic Server on
page 26
When you build the remote method invocation (RMI) registry file, the file must be
deployed each physical server. Deployment includes creating an RMI registry
service and, creating a batch file to start RMI. To run the process correctly, you
must update the start sequence for all servers so that all product ervers start after
the RMI server starts.
Deploying the remote method invocation registry file in WebSphere Application
Server on page 14
A server that has a remote method invocation (RMI) registry continues to run even
if another server in the cluster fails. When you build the RMI registry file, the file
must be deployed in the application server.
Building the RMI registry file on page 14
The rmireg.war file is used to create the remote method invocation (RMI) registry.
After you create the rmireg.war file, you can deploy the file on the application
server.
Creating remote method invocation registry services for WebLogic Server:
You can deploy a remote method invocation (RMI) registry file to create a registry
that is independent of the product servers. A server that contains an RMI registry
continues to run even if another server in the cluster fails. This registry starts on
the server before any of the cluster members starts.
About this task
The install_home variable represents the installed location of the product folder. The
WebLogic_install_home variable represents the installed location of WebLogic Server,
which by default is \bea.
Procedure
1. Open a command prompt and navigate to the WebLogic_install_home\
user_projects\domains\domain_name directory.
2. Run the startWebLogic.cmd file to start the WebLogic Server.
3. Open the WebLogic Server administrative console. The default URL is
http://servername:7001/console.
4. In the navigation pane, browse to the domain_name > Servers folder.
5. Click Configure New Server and in the Name field, specify RMIRegistry.
Spaces are invalid characters.
6. In the Listen Port field, specify 9999 and click Create.
7. In the navigation pane, click Deployments > Web Application Modules >
Deploy a New Web Application Module.
8. Specify install_home/deployment/default as your archive directory.
9. Select the rmireg.war file and use the default name, or specify a different
name for the file.
10. Click Finish to deploy the file.
11. Click Save and close the console.
Chapter 1. Configuring the system
27
What to do next
Create the batch file that starts the RMI registry.
Creating a batch file to start remote method invocation on WebLogic Server:
After you create the remote method invocation (RMI) registry service, you must
create a batch file to start RMI on the application server.
Procedure
1. Navigate to the WebLogic_install_home/user_projects/domains/domain_name
directory.
2. Create a backup of the startWebLogic.cmd file, then rename the
startWebLogic.cmd file to startRMIRegistry.cmd.
3. Edit the startRMIRegistry.cmd file and change the SERVER_NAME parameter to
RMIRegistry.
4. Add or modify the set MEM_ARGS code to match the following code: set
MEM_ARGS=-Xms5m Xmx10m.
5. Save and close the file.
6. Open a new command prompt and navigate to the WebLogic_install_home/
user_projects/domains/domain_name directory.
Procedure
1. Start the application server.
a. In a command prompt, change to the bea\user_projects\domains\
base_domain directory.
b. Run the startweblogic command.
2. Log in as the administrative user to the WebLogic Server administration
console with the address http://servername:7001/console.
3. To edit within the administration console, lock the configuration edit hierarchy
for the domain.
4. Create the managed servers that you plan to add to the cluster.
5. Create the cluster.
6. Select the cluster, and, in the Servers tab, add the managed servers to the
cluster.
7. Set the minimum heap size to 128 MB.
8. Set the maximum heap size to 1424 MB.
9. Assign a port to the cluster. Each cluster must have a unique port.
10. Repeat steps 4-9 for each cluster that your deployment requires.
11. Activate your changes.
28
Related concepts:
Performance improvements with clusters on page 2
A cluster groups similar functions on two or more Java virtual machines (JVMs) to
process a single function, such as scheduled cron tasks. Clusters connect to the
same database but operate independently. For example, if the cron task cluster
fails, users can still connect to the user interface cluster.
29
Procedure
1. For the sequential outbound queue, sqoutuistore, create a JMS server and name
it sqoutuiserver. Target the server to the user interface cluster server.
2. For the integration framework cluster, create the following JMS servers. Target
the servers to the integration framework cluster server.
a. For the sequential inbound queue, create a JMS server for the sqinstore
store, and name the queue sqinserver.
b. For the sequential outbound queue, create a JMS server for the sqoutinstore
store, and name the queue sqoutintserver.
c. For the continuous inbound queue, create a JMS server for the cqinstore
store, and name the server cqinserver.
For this server, set the maximum bytes to a value based on your JVM
maximum heap size. This value is typically set to approximately 10% to
20% of the maximum heap size, which prevents memory errors if messages
are created faster than the consumer can process.
3. For the sequential outbound queue, create a JMS server for the sqoutcronstore
store and name the server sqoutcronserver. Target the sqoutcronserver server
to one of the cron task cluster servers.
Related concepts:
Java Message Service configuration for WebLogic Server on page 35
You use Java Message Service (JMS) servers to manage queue and topic resources,
and to maintain information about queue stores.
Creating Java Message Service modules:
Java Message Service (JMS) modules are configuration containers for JMS
resources. The JMS modules store the information for the connection factories that
queues are configured to use.
Procedure
1. Create a JMS module for the sequential outbound queue, and name the module
intjmssqoutuimodule. Target the intjmssqoutuimodule module to the user
interface cluster.
a. Create a sequential outbound queue for the intjmssqoutuimodule module
with the following values:
Name sqout
JNDI Name
jms/maximo/int/queues/sqout
Using the default name, sqout, create a subdeployment for the sequential
outbound queue that you created, and target it to the sqoutuiserver JMS
server.
b. Create a connection factory for the queues that you created with the
following values:
Name intjmssqconfact
JNDI Name
jms/maximo/int/cf/intsqcf
Do not create a subdeployment because the connection factory inherits the
JMS module target, which is the integration framework cluster.
Set the connection factory XA transaction to enabled.
30
2. Create a JMS module for the sequential queues, and name the module
intjmssqintmodule. Target the intjmssqintmodule module to the integration
framework cluster.
a. Create a sequential inbound queue for the intjmssqintmodule module with
the following values:
Name sqin
JNDI Name
jms/maximo/int/queues/sqin
Using the default name, sqin, create a subdeployment for the sequential
inbound queue that you created, and target it to the sqinserver JMS server.
b. Create a sequential outbound queue for the intjmssqintmodule module with
the following values:
Name sqout
JNDI Name
jms/maximo/int/queues/sqout
Using the default name, sqout, create a subdeployment for the sequential
outbound queue that you created, and target it to the sqoutserver JMS
server.
c. Create a connection factory for the queues that you created with the
following values:
Name intjmssqconfact
JNDI Name
jms/maximo/int/cf/intsqcf
Do not create a subdeployment because the connection factory inherits the
JMS module target, which is the integration framework cluster.
Set the connection factory XA transaction to enabled.
3. Create a JMS module for the sequential outbound queue, and name the module
intjmssqoutcronmodule. Target the intjmssqoutcronmodule module to the cron
task cluster.
a. Create a sequential outbound queue for the intjmssqintmodule module,
with the following values:
Name sqout
JNDI Name
jms/maximo/int/queues/sqout
Using the default name, sqout, create a subdeployment for the sequential
outbound queue, and target it to the sqoutcronserver JMS server.
b. Create a connection factory for the queues that you created with the
following values:
Name intjmssqconfact
JNDI Name
jms/maximo/int/cf/intsqcf
Do not create a subdeployment because the connection factory inherits the
JMS module target, which is the integration framework cluster.Set the
connection factory XA transaction to enabled.
4. Create a JMS module for the continuous queue and name it intjmscqmodule.
Target the intjmscqmodule module to the integration framework cluster.
31
32
Related concepts:
Java Message Service configuration for WebLogic Server on page 35
You use Java Message Service (JMS) servers to manage queue and topic resources,
and to maintain information about queue stores.
Related tasks:
Manually creating a data source for the persistent store
Creating data stores for WebLogic Server:
When you create data sources, you must create a data store for each of the four
queues. Stores are used to hold the queue messages.
About this task
The prefix values are important. If you do not have unique names for prefix values
on each store, messages can become corrupted because they all use the same store
files.
Procedure
1. In the WebLogic Server administrative console, click Lock and Edit .
2. Select Services > Persistent stores.
3. Create a Java Database Connectivity (JDBC) store for a continuous inbound
queue.
4. Specify the name as mxintcqinstore.
5. Specify the target as cqinserver.
6. Select the data source you created previously and enter the prefix value
mxintcqin.
7. Click Finish.
8. Repeat steps 4-7 to create a JMS JDBC store for a sequential inbound queue.
Specify the following values:
Option
Description
Name
mxintsqinstore
Target
MAXIMOIF
Prefix value
mxintsqin
9. Repeat steps 4-7 to create a JMS JDBC store for a sequential outbound queue.
Specify the following values:
Option
Description
Name
mxintsqoutstore
Target
MAXIMOU11
Prefix value
mxintsqout
10. Repeat steps 4-7 to create a JMS JDBC store for a continuous inbound error
queue. Specify the following values:
Option
Description
Name
mxintcqinerrstore
Target
MAXIMOIF
33
Option
Description
Prefix value
mxintcqinerr
34
Related concepts:
Java Message Service configuration for WebLogic Server
You use Java Message Service (JMS) servers to manage queue and topic resources,
and to maintain information about queue stores.
Java Message Service configuration for WebLogic Server:
You use Java Message Service (JMS) servers to manage queue and topic resources,
and to maintain information about queue stores.
JMS servers and modules provide messaging support. If you use WebLogic Server,
you cannot use the loop-back messaging technique for errors that occur in the
continuous message processing mode. With WebLogic Server, you cannot set an
error queue to be the error queue for itself. Therefore, the error queue clogs after a
few errors, depending on the maximum messages per session value of the
connection factory.
Because the WebLogic Server error queue clogs after a few errors, only the errors
in the front of the queue are processed. The remaining messages are not processed,
unless the error messages are deleted. To avoid this issue, set the maximum
messages per session value to -1 for the continuous queue connection factory. The
-1 value indicates that there is no limit on the number of messages. However, the
number of messages is still limited by the amount of remaining virtual storage for
the process.
You can set up the following queues:
Table 2. Queues for a WebLogic Server setup
Queue
Description
Related concepts:
Access to services by inbound messages
Related tasks:
Configuring the Java Message Service for WebLogic Server on page 29
Java Message Service (JMS) is used as the messaging standard to create, send,
receive, and read messages from queues. This process enables distributed
communication with external systems in a loosely coupled, reliable, and
asynchronous manner.
Configuring a message processing server
35
Procedure
1. To edit within the administrative console, lock the configuration edit hierarchy
for the domain.
2. Select Deployments.
3. Select Install and browse to the location of the maximo.ear file, select the
location, and save the file. The EAR file is saved in the install_home\
deployment\default folder.
4.
5.
6.
7.
What to do next
Start the JVM for the RMI registry, and then start the clusters in the application
server. Log in to verify that the process is successful.
Related tasks:
Building and deploying EAR files for basic configurations
You can build and deploy EAR files for a basic configuration. In a clustered
configuration, each cluster has its own EAR file to build and deploy.
36
Procedure
1. Open a command prompt.
2. Go to install_home\deployment.
3. Run the appropriate script:
Option
Description
buildmaximoear (Windows)
buildmxiehsear
These scripts take several minutes to run. The command prompt or terminal
window displays a BUILD SUCCESSFUL line.
Related concepts:
EAR files on page 12
EAR files are archives that contain all the required files to run an application.
Web application archive files on page 13
Web application archive (WAR) files are part of EAR files. They contain, for
example, JSP or HTML pages.
Related tasks:
Building Maximo EAR files for clusters on page 11
After you create a build file for each cluster, you must build a Maximo EAR file for
the cluster. The name of the EAR file is based on the set EAR_FILENAME statement
in the build file.
Procedure
1. Open the Integrated Solutions Console and in the navigation pane, click
Applications > Application Types > WebSphere enterprise applications.
2. Optional: If the Maximo and Maximoiehs applications are listed, select them
and click Uninstall and click OK.
3. After the applications are uninstalled, return to the WebSphere enterprise
applications screen and click Install.
4. Browse to the location of the maximo.ear file, select the location, and click
Next. The Maximo EAR files are saved in the install_home\deployment\
default folder.
5. Click Next.
6. In the Clusters and Servers section of the Map modules to servers window,
select all components and click Apply and then Next.
7. In the Virtual host column of the Map virtual hosts for web modules window,
select Maximo_host in the drop-down list for all web modules, and click Next.
8. Click Finish.
9. When the EAR file is deployed, save the file to the master configuration.
What to do next
After you deploy the Maximo.ear file, repeat the process to deploy the
Maximoiehs.ear file. You must start the application server and login to verify that
the installation has been successful.
Chapter 1. Configuring the system
37
Related concepts:
EAR files on page 12
EAR files are archives that contain all the required files to run an application.
Procedure
1. Open the WebSphere Administration Console and click Lock & Edit.
2. Click Deployments.
3. Optional: If the Maximo and Maximoiehs applications are listed, select them
and click Delete.
4. After the applications are deleted, click Install.
5. Browse to the location of the maximo.ear file, select the location, and click
Next. The Maximo ear files are saved in the install_home\deployment\default
folder.
6. Click Install this deployment as an application and click Next.
7. Click Finish.
8. Activate the changes.
What to do next
After you deploy the Maximo.ear file, repeat the process to deploy the
Maximoiehs.ear file. You must start the application server and login to verify that
the installation has been successful.
Related concepts:
EAR files on page 12
EAR files are archives that contain all the required files to run an application.
38
Related reference:
mxe.help properties on page 433
The mxe.help system properties connect the user interface to the information
center. Some of the properties are used to construct the link that opens the
information center. To ensure that information center is available, match the values
in the mxe.help properties to the information center that you deploy.
Description
maximouiweb.war
mboweb.war
meaweb.war
iehs.war
rmireg.war
Related concepts:
EAR files on page 12
EAR files are archives that contain all the required files to run an application.
Related tasks:
Creating build files for clusters on page 10
You must create a separate buildmaximoear.cmd file for each cluster. When you run
the separate buildmaximoear.cmd files, you create a separate EAR file for each
cluster.
Building Maximo EAR files for clusters on page 11
After you create a build file for each cluster, you must build a Maximo EAR file for
the cluster. The name of the EAR file is based on the set EAR_FILENAME statement
in the build file.
EAR files
EAR files are archives that contain all the required files to run an application.
39
The following two EAR files are used. Each EAR file contains one or more web
application modules (.war extension):
v maximo.ear
maximouiweb.war
mboweb.war
meaweb.war
v maximoiehs.ear
iehs.war
You rebuild and redeploy EAR files whenever you:
v Modify .xml files or custom class files (maximo.ear).
v Modify HTML help topics (online help) (maximoiehs.ear).).
v Modify settings in the maximo.properties file (Maximo.ear).
Related concepts:
Web application archive files on page 13
Web application archive (WAR) files are part of EAR files. They contain, for
example, JSP or HTML pages.
Related tasks:
Building EAR files for basic configurations on page 36
The EAR files contains all the fields required to run an application. There are two
EAR files: maximo.ear and maximoiehs.ear. Both the EAR files contain one or more
web application modules. In a clustered configuration, each cluster requires a
separate build file to create an EAR file for the cluster.
Creating build files for clusters on page 10
You must create a separate buildmaximoear.cmd file for each cluster. When you run
the separate buildmaximoear.cmd files, you create a separate EAR file for each
cluster.
Building Maximo EAR files for clusters on page 11
After you create a build file for each cluster, you must build a Maximo EAR file for
the cluster. The name of the EAR file is based on the set EAR_FILENAME statement
in the build file.
40
situation because of a large user load, large integration messages being processed,
cron tasks that run for a long time and require more memory, bugs in the
application code or the application server, and so on. When a memory situation
occurs, identify the root cause. If the problem occurs because of a higher user load,
adding additional servers helps.
WebLogic Server
If
v
v
v
WebLogic Server is set up to run with JVM, use the following memory settings:
Minimum heap size - 128 MB (-Xms512m)
Maximum heap size - 1424 MB (-Xmx1424m)
Maximum permanent size - 512 MB (-XX:MaxPermSize=512m)
Load balancing
Load balancing is the distribution of the task load across multiple instances of an
application. A basic system configuration typically supports a user load of 50 users
or less. A clustered configuration can support a larger user load.
User load comes from users who are logged in. Nonuser load comes from
scheduled jobs (cron tasks) and incoming transactions from the integration
framework. It is optional to distribute user load and nonuser load to different
application servers or clusters.
For HTTP traffic, such as system applications, integration post, and so on, software
load balancers and hardware load balancers are available. Typically, your
application server vendor provides a load balancer option. A hardware load
balancer generally provides better performance, but it is an additional expense. See
the documentation specific to your application server for additional information.
41
42
What to do next
Create resources for the JMS system module.
WebLogic Server
For more information about WebLogic Server, see the Oracle WebLogic Server
documentation:
http://e-docs.bea.com/wls/docs92/ or WebLogic Server
Procedure
1.
2.
3.
4.
From your web browser, select Tools and then Internet Options.
On the General tab, click Settings.
Select Automatically.
Click OK.
Procedure
1. Go to <Maximo_root>root>\applications\maximo\maximouiweb\webmodule\WEBINF\web.xml.
2. Find the session-config section and change the session-timeout element to a
different value. For example, replacing 30 with 60 increases the timeout period
from 30 minutes to 60 minutes.
43
Procedure
1. Log on to the existing administrative system with the user ID used to install
the product.
2. Create a copy of the installation directory. By default, this value is C:\IBM\SMP
for Windows and /opt/IBM/SMP for Linux and UNIX systems. Ensure that all
file permissions are preserved.
3. Log on to the target administrative system with the same user ID that was used
to install the product on the existing administrative workstation.
4. Copy the installation files and directories to the file system of the target
administrative system. You must maintain the directory structure of the original
installation. For example, if the installation directory on the existing
administrative system is C:\IBM\SMP, you cannot copy those files to a
C:\NewAdminWS\IBM\SMP directory on the target administrative workstation.
5. Update the deployment engine host name by running the following commands:
Windows
install_directory\SMP\CTG_DE\acsi\bin\de_chghostname.cmd
Results
The administrative workstation migration is complete. Perform maintenance
functions from the new administrative workstation only.
44
Database design
You typically extend the scope of your system because you have a use case that
you want to include in the system. During the design phase you define the use
case, the business objects, and the relationships between the business objects. To
configure objects in the database, you must understand the structure of the
database and the implications of the changes that you make to existing objects,
tables, indexes, and relationships.
Description
Data dictionary
Container
Storage partition
45
Description
Business object
Database object
Table
Column
Row
View
Index
Relationship
Join
46
Table name
Contents
MAXOBJECT
MAXTABLE
All tables.
MAXVIEW
All views.
Contents
MAXATTRIBUTE
MAXVIEWCOLUMN
MAXRELATIONSHIP
MAXSEQUENCE
MAXSYSINDEXES
MAXSYSKEYS
Integrity checker
The integrity checker is a database configuration utility that you can use to
assesses the health of the base layer data dictionary. The tool compares the data
dictionary with the underlying physical database schema. If errors are detected, the
tool produces error messages detailing how to resolve the issues.
You run the integrity checker in the source environment before and after you
upgrade the database. Activities that might result in errors include:
v Running the upgrade process itself
v Running the set of patch scripts included in updating a database
v Configuring the database in the Database Configuration application
v Configuring the database in the Migration Manager application
Errors reported by the integrity checker might affect migration. You run the
integrity checker in both the source and the target environments when you run the
Migration Manager.
You must ensure that the errors are corrected either by using the integrity checker
in repair mode or by applying changes directly to the underlying database.
Storage partitions
A database storage partition is the location where a database object is stored on a
disk. Database storage partitions are called table spaces in DB2 and Oracle, and
called file groups in SQL Server.
When a database is created, the database administrator configures the
DBSTORAGEPARTITION domain in the Domains application to include a list of
available table spaces where objects are stored. When you create an object as a
table, you specify the storage partition from this list of available table spaces.
In IBM DB2, the database or system can manage table spaces:
v If the database manages table spaces, indexes can be different from the table.
v If the system manages table spaces, indexes must be the same as the table.
47
The database and the system cannot manage table spaces simultaneously; you
must choose one or the other.
Business objects
A business object is an object that has a set of attributes and values, operations,
and relationships to other business objects. Business objects contain business data
and model the business behaviour.
Unlike a business object, a database object does not model behavior. A database
object is a self-contained software entity that consists of both data and functions to
manipulate data. A business object might comprise of one or more database
objects.
Every business object has a fixed set of properties that identify the business object
type. The properties also specify how the database can use the business object.
Information about a business object, which is referred to as the metadata, is stored
in the database in database tables. Business objects include the following metadata:
v The definition of the business object, such as its name, the database entity,
whether the object is persistent or nonpersistent, and the Java class name
v Attributes, such as the name, data type, size, and the field validation class name
v Associated relationships
There are two types of business objects: persistent business objects and
nonpersistent business objects. A persistent business object stores attribute values
in a database. A nonpersistent business object does not store any metadata. Data in
a nonpersistent business object is transient and is never stored in the database.
The metadata for a persistent business object represents the data in a database
table or view.
The metadata that is associated with the business objects is used to manage the
database objects. As a result, a database table or view is always required to be
associated with a persistent business object.
48
Related tasks:
Creating objects on page 56
An object is a self-contained software entity that consists of both data and
functions to manipulate data. You can use an abbreviation of your organization as
a prefix to any new or modified object or attribute name.
Adding attributes to objects on page 59
You can add attributes to an object when you want to provide more information
about that object.
Changing attributes on page 60
You can change attributes when necessary. Depending on how the attribute is
configured, you might not be able to modify all of the fields.
Creating restrictions on attributes on page 61
You can create restrictions on attributes to prevent external data from overwriting
the value for the chosen attribute.
Defining lookup maps on page 78
You define a lookup map to associate a source object and a source field with a
target object and related fields. The product is delivered with pre-defined lookup
maps, but you can define your own lookup maps for objects that you create.
Related reference:
Attribute data types on page 53
Each database record contains multiple attributes. Every attribute has an associated
data type.
User-defined objects
Objects can be created in two ways: you can create an object in the database or an
object can be natively defined in the database. User-defined objects are always
created in the Database Configuration application.
Existing or imported objects are first natively defined in the backend of the
database. They are later redefined in Maximo in the Database Configuration
application. When an object is imported into the database, the Imported check box
is automatically selected on the Objects tab.
49
Description
Object attributes
SYSTEM
Example
Security restrictions
are applied at the
application or object
level in the specific
system-level business
object definitions.
SYSTEMORG
A system-level object
that can also be
assigned to an
organization.
If the organization ID
is not specified, the
object operates at the
system level.
SYSTEMSITE
A system-level object
that can also be
assigned to a site.
System attribute,
organization
attribute, and site
attribute
(siteid is null or
siteid = ...) and (orgid
is null or orgid = ...)
A system-level object
that can also be
assigned to an
organization, or to an
organization and a
site.
If the site ID is not
specified, the object
operates at either the
system level or the
organization level.
The level depends on
whether the
organization ID is
assigned.
If the organization ID
is not specified, the
object operates at the
system level.
50
Description
Object attributes
SYSTEMAPPFILTER
Example
Filtering is required
for site-level
administration of
users and groups.
Used for Users and
Groups.
ORG
An organization-level Organization
object.
attribute
orgid = ...
The framework
applies security for
this type.
ORGSITE
An organization-level Organization
attribute and site
object that can also
be assigned to a site. attribute
(siteid is null or
siteid = ...) and orgid
= ...
An organization-level Organization
attribute and
object with
application filtering. application filter
attribute
Used for contracts so
that the contract
applications can filter
on the special object
instead of filtering by
using standard
security.
SITE
Site attribute
SITEAPPFILTER
A site-level object
with application
filtering.
siteid = ...
51
Description
Object attributes
ITEMSET
An item set-level
object. The itemsetid
attribute value must
exist in the insert
organization for
users.
Example
A company set-level
object. The
compnaysetid
attribute value must
exist in the insert
organization for
users.
Company set
attribute
Database relationships
Database relationships are associations between tables that are created using join
statements to retrieve data.
The following table describes the database relationships.
Table 6. Database relationships
Type of relationship
Description
One-to-one
Both tables can have only one record on each side of the
relationship.
Each primary key value relates to none or only one record
in the related table.
Most one-to-one relationships are forced by business rules
and do not flow naturally from the data. Without such a
rule, you can typically combine both tables without
breaking any normalization rules.
One-to-many
The primary key table contains only one record that relates
to none, one, or many records in the related table.
Many-to-many
52
Example
Parent = MAXUSER, Child =SITE, and Name = DEFSITE means that maxuser
exists and you want to get the site for the default site for the user.
siteid = :defsite
This configuration means site.siteid = maxuser.defsite. When the SQL
statement is run, the value of the parent attribute replaces anything preceded by a
colon.
Restrictions on attributes
Before you modify an attribute, you can verify whether it was created by the
system or by someone at your site. Attributes created by the system have more
restrictions on modifications than user-defined attributes. You cannot delete
attributes created by the system.
In integration scenarios, data for a business object might be received from external
business applications. Restricting changes to attributes prevents external data from
overwriting the value of an attribute.
Some restrictions depend on whether text search is enabled for the object or on the
data type. The rules governing modifications vary by attribute. For example,
certain data types have a set value for the length, scale, dates, or integers. The
Memo field is a regular ALN data type and it does not contain restricted values.
To manage restrictions on attributes, you can perform the following actions:
v View the current object attribute restrictions
v Restrict the attributes of an object
v Remove attribute restrictions from an object
53
Description
ALN
Alphanumeric characters,
mixed case
54
AMOUNT
BIGINT
Big integer
BLOB
CLOB
CRYPTO
Encrypted binary
CRYPTOX
DATE
Date only
DATETIME
DECIMAL
Decimal number
DURATION
Duration in hours
FLOAT
Floating number
GL
INTEGER
Integer number
LONGALN
Long alphanumeric.
LOWER
Lowercase characters
SMALLINT
Small integer
TIME
Time only
UPPER
Uppercase characters
VARCHAR
YORN
Related concepts:
Business objects on page 48
A business object is an object that has a set of attributes and values, operations,
and relationships to other business objects. Business objects contain business data
and model the business behaviour.
Storage partitions on page 47
A database storage partition is the location where a database object is stored on a
disk. Database storage partitions are called table spaces in DB2 and Oracle, and
called file groups in SQL Server.
Related tasks:
Creating objects on page 56
An object is a self-contained software entity that consists of both data and
functions to manipulate data. You can use an abbreviation of your organization as
a prefix to any new or modified object or attribute name.
Adding attributes to objects on page 59
You can add attributes to an object when you want to provide more information
about that object.
Changing attributes on page 60
You can change attributes when necessary. Depending on how the attribute is
configured, you might not be able to modify all of the fields.
Creating restrictions on attributes on page 61
You can create restrictions on attributes to prevent external data from overwriting
the value for the chosen attribute.
Defining lookup maps on page 78
You define a lookup map to associate a source object and a source field with a
target object and related fields. The product is delivered with pre-defined lookup
maps, but you can define your own lookup maps for objects that you create.
Views
A view does not contain data. The view is a definition that sits in the data
dictionary with a database query that retrieves its data. Therefore, a view can
contain data from more than one object, row, or attribute. When you fetch the data
from a view, the database pulls the necessary records based on the WHERE clause
and returns the data. Attributes are loaded when you create a view object.
A view is populated depending on the object on which it is based. For example, if
a view is based on the WORKORDER object, the Automatically Select check box is
selected, and you add or remove an attribute to this object, the attribute is either
added or removed from the view. When you change an attribute, not all changes
are applied to the associated view. For example, if you change the data type of an
attribute, the change is applied to the view. However, if you change or add a
domain to the default value of the WORKORDER object, the change is not applied
to the view. Instead, you must apply this change to the view.
Because views are stored as named queries, you can use views to store frequently
used, complex queries. You can run the queries using the name of the view in a
simple query. View Select is optional. When View Select is not specified, all
columns in both tables are included.
Tables can contain many columns and rows. To filter data, you can create a view
that is a subset of a database that an application can process. The view can contain
parts of one or more tables.
55
Sometimes you want to consider only parts of a table or parts of several tables.
Data samples might include:
v Some of the columns.
v Rows that satisfy a certain condition.
v Some columns of one table and some columns of a related table.
Indexes
You can use indexes to optimize performance for fetching data. Indexes provide
pointers to locations of frequently accessed data. You can create an index on the
columns in an object that you frequently query.
You cannot redefine existing indexes. You must delete indexes and re-create their
definitions.
Creating objects
An object is a self-contained software entity that consists of both data and
functions to manipulate data. You can use an abbreviation of your organization as
a prefix to any new or modified object or attribute name.
Procedure
1. In the Database Configuration application, click New Object.
2. Type a name in the Object field. The Entity field shows the value that you
typed in the Object field and becomes the name of the view on the database.
3. Specify a description for the object.
4. Optional: Select the details for the objects:
Option
Description
Main Object
Persistent
56
Storage Partition
User Defined
Option
Description
Unique Column
Language Table
What to do next
After you create an object, you must add attributes before you configure the
database for your changes to take effect.
Related concepts:
Business objects on page 48
A business object is an object that has a set of attributes and values, operations,
and relationships to other business objects. Business objects contain business data
and model the business behaviour.
Storage partitions on page 47
A database storage partition is the location where a database object is stored on a
disk. Database storage partitions are called table spaces in DB2 and Oracle, and
called file groups in SQL Server.
Related reference:
Attribute data types on page 53
Each database record contains multiple attributes. Every attribute has an associated
data type.
Procedure
1. On the toolbar, click New Object, and specify a value and a description for the
object.
2. Optional: Type over the value in the Entity field to change the name of the
object on the native database.
Chapter 2. Configuring databases
57
3. In the Service field, specify a value or use the default value of CUSTAPP.
4. In the Level field, specify the scope of the object in the Multisite scheme.
5. Optional: To create a view, select an object in the Extends Object field. The
View check box is selected by default.
6. Optional: Provide the following additional object details:
Option
Description
Main Object
Persistent
User Defined
Storage Partition
Unique Column
7. Optional: In the View section, define the following details for a view:
58
Option
Description
View Where
Join to Object
View Select
View From
8. Optional: In the Audit table window, create an audit table and select the Audit
Enabled check box to edit the filter field for the E-audit function.
9. Save the object.
What to do next
After you add an object table or view, you must configure the database for your
changes to take effect.
59
New attributes are accessible in the user interface by first adding them to the
respective application by using the Application Designer function. You can then
add the attributes to the respective application in the Application Designer
application to make the attributes accessible on the user interface.
Procedure
On the List tab, select the object to which you want to add an attribute.
On the Attributes tab, click New Row.
In the Attribute field, specify a value.
Specify values in the Title field and the Description field.
Optional: If you want to include a long description which can contain more
data than the Description field, select the Long Description Owner check box.
6. In the Type field, specify the data type of the attribute. The Length and Scale
fields show default values based on the type that you select.
7. Optional: Select the Required check box if you want this attribute to represent
a required field on the screen. If this is a persistent attribute it is also required
on the database.
1.
2.
3.
4.
5.
Requirement: If data exists in the table to which the attribute belongs, and you
select the Required check box, you must specify a value in the Default Value
field. Specifying a value in this field ensures that you cannot enter a null value
for the required attribute. The default value you specify is only validated
against the associated domain for the attribute and the data type of the
attribute.
8. Optional: If you want a group of attributes to share the same data type and
length, specify the parent attribute in the Same as attribute field. The child
attribute copies the details of the parent attribute. If you change the details of
any attribute in the group, the details of all attributes in the group change.
9. Optional: Provide additional information about the attribute and save the
object.
What to do next
You must configure the database for your changes to take effect.
Related concepts:
Business objects on page 48
A business object is an object that has a set of attributes and values, operations,
and relationships to other business objects. Business objects contain business data
and model the business behaviour.
Storage partitions on page 47
A database storage partition is the location where a database object is stored on a
disk. Database storage partitions are called table spaces in DB2 and Oracle, and
called file groups in SQL Server.
Related reference:
Attribute data types on page 53
Each database record contains multiple attributes. Every attribute has an associated
data type.
Changing attributes
You can change attributes when necessary. Depending on how the attribute is
configured, you might not be able to modify all of the fields.
60
Procedure
1. Locate the attribute that you want to modify.
Tip: You can use Advanced Search to search for attributes.
2. Edit the Description, Type, Length, and Required fields according to your
business needs. Some fields are read only, depending on values in other areas.
3. Click Save Object. The status of all affected objects display To Be Changed
until you configure the database.
What to do next
You must configure the database for your changes to take effect.
Related concepts:
Business objects on page 48
A business object is an object that has a set of attributes and values, operations,
and relationships to other business objects. Business objects contain business data
and model the business behaviour.
Storage partitions on page 47
A database storage partition is the location where a database object is stored on a
disk. Database storage partitions are called table spaces in DB2 and Oracle, and
called file groups in SQL Server.
Related reference:
Attribute data types on page 53
Each database record contains multiple attributes. Every attribute has an associated
data type.
Procedure
1. In the Database Configuration application, use the List tab to search for and to
locate the object whose attributes you want to restrict.
2. Click the Object tab to make the selected object the current object in the
application.
3. From the Select Action menu, select Restrict Attributes.
Chapter 2. Configuring databases
61
What to do next
You must configure the database for your changes to take effect.
Related concepts:
Business objects on page 48
A business object is an object that has a set of attributes and values, operations,
and relationships to other business objects. Business objects contain business data
and model the business behaviour.
Storage partitions on page 47
A database storage partition is the location where a database object is stored on a
disk. Database storage partitions are called table spaces in DB2 and Oracle, and
called file groups in SQL Server.
Related reference:
Attribute data types on page 53
Each database record contains multiple attributes. Every attribute has an associated
data type.
Procedure
1. In the Database Configuration application, select an object that you want to
duplicate.
2. From the Select Action menu, select Skip Attributes.
3. Specify the attributes that you do not want to be copied to new objects.
4. Optional: To specify conditions when attributes are skipped, specify a value in
the Condition field.
5. Click OK and save the object.
62
What to do next
If you specify attributes to be skipped in the duplication process, you must
configure the database for the changes to take effect.
Procedure
1. In the Database Configuration application, select an object.
2. On the Attributes tab, select an attribute.
3. In the Advanced section, specify an autonumber. You can create an autonumber
or use an existing autonumber.
4. In the Details section, specify &AUTOKEY& as the default value for the attribute
and save the object.
5. If you created an autonumber in step 3, use the Autonumber Setup action in
the Organizations application to specify the seed value and the prefix.
6. Save the object.
What to do next
You must configure the database for your changes to take effect.
Procedure
1. In the Database Configuration application, from the Select Action menu, select
Tax Types > Add/Modify Tax Types.
63
2. In the Number of Tax Types field, specify the number of tax types that you
want to use.
3. Click OK.
4. From the Select Action menu, select Apply Configuration Changes to
configure the database.
5. In the Database Configuration window, provide the required information, then
click OK.
6. From the Select Action menu, select Tax Types > Update Tax Data, to update
the database tables with the changes.
Adding indexes
You create an index to optimize performance when searching the table using the
Find function and to establish uniqueness of table columns.
Procedure
1. From the List tab, select the object to which you want to add an index, and
click the Indexes tab.
2. In the Indexes table, click New Row.
3. In the Index field, specify a value.
4. Optional: To make each column in the index unique, select the Enforce
Uniqueness check box.
5. For IBM DB2 and SQL Server: Select the Clustered Index check box to create a
clustered index. You can have only one clustered index per table.
6. Specify a storage partition or accept the default value.
7. In the Columns table, click New Row to add a column to the index.
a. In the Column field, specify an attribute from the selected object.
b. Optional: In the Sequence field, specify the sequence for the column. If you
do not specify a value, then the order in which you add columns
determines their sequence.
c. Optional: Select the Ascending check box to have the index searched in
ascending order. If this field is cleared, the index is searched in descending
order.
8. Click Save Object. The index status will display Add until you configure the
database.
What to do next
You must configure the database for your changes to take effect.
Related concepts:
Indexes on page 56
You can use indexes to optimize performance for fetching data. Indexes provide
pointers to locations of frequently accessed data. You can create an index on the
columns in an object that you frequently query.
64
Procedure
1. Use the List tab to select the table for which you want to create a relationship,
and then click the Relationships tab.
2. Click New Row.
3. In the Relationship field, specify a name.
4. Create a WHERE clause.
5. Select a Child Object.
6. Optional: Type comments in the Remarks field.
7. Click Save Object.
What to do next
If the relationship that you created is for a table or attribute, the changes will not
take effect until you configure the database.
Related concepts:
Database relationships on page 52
Database relationships are associations between tables that are created using join
statements to retrieve data.
65
On-screen display
Required
Optional
Your General Ledger system has rules regarding whether an account is acceptable
when partially defined.
v Fully defined (fully specified) accounts
Have no unknown values (placeholders) in required components
Example: 6100-350-SAF is fully defined
v Partially defined (partially specified) accounts
Contain placeholders in some required components
Example: 6100-???-SAF (the required Activity component is not specified and
therefore contains placeholder characters)
Example
For example, the MAXDEMO database includes the following component
sequence:
v
v
v
v
66
Component
Component
Component
Component
1
2
3
4
is
is
is
is
for
for
for
for
cost center
activity
resource
element
Since account components are concatenated, with the highest level at the
beginning, account 6100-350-SAF is represented as:
Table 9. General Ledger account component sequence
Component 1
Component 2
Component 3
Component 4
6100
350
SAF
(not used)
Cost center
Activity
Resource
Element
Example
In maxdemo the cost center component length is 4, the resource and activity
component lengths are both 3, and the element component is 10. When you add in
the three delimiters, the length of the GL is 23.
If you change the cost center component length to 3 and the activity component
length to 4, the total length remains 23. No configuration is required. However, the
general ledger component is now invalid. The cost center component length was
shortened to 3 but has a four-digit value (in this example) of 6000.
Advantages
Command-line mode
Disadvantages
67
Advantages
Disadvantages
Partial live
Related tasks:
Configuring the database in command-line mode
You can use command-line mode to configure the database.
Configuring the database in administration mode on page 69
You can configure the database in admin mode.
Restoring backup tables on page 70
You might need to restore your backup tables separately if you did not restore
your backup tables during a command-line configuration.
68
Procedure
1. Shut down your application server and wait for one minute. The application
server session timestamp updates every 60 seconds.
2. Open a command prompt and change the directory to install_home\tools\
maximo.
3. To configure the database and restore the backup tables, type configdb. If you
do not need to restore the backup tables, edit the configdb.bat file.
Sometimes the data in the temp tables (XX+tablename) must be modified
before restoring. Perform the following steps:
a. Remove the -r parameter from the configdb.bat file.
b. Save your changes.
c. Return to the command prompt and type configdb.
4. If configuration errors occur, resolve the errors in the database. Open the log
files for troubleshooting at install_home\tools\maximo\log.
5. Restart the application server. If backup tables were created, delete them before
reconfiguring the database. If you ran configdb without the -r parameter, and if
tables were rebuilt, you must restore the backup tables.
Related concepts:
Modes of configuring the database on page 67
There are three ways to configure the database: command-line mode, a partial live
configuration, or a full live configuration with administration mode turned on. The
option that you chose depends on whether the application server needs to be shut
down and the impact on access to users.
69
Procedure
1. In the Database Configuration application, select Manage Admin Mode from
the action menu
2. In the Turn Admin Mode ON window, modify the values in the Number of
Administrative Sessions Allowed field and the Number of Minutes for User
Logout field. The default value of each field is 5. If you modify these fields,
click Update Properties for the parameters to take effect.
3. Click Turn Admin Mode ON.
4. In the Electronic Signature Authentication window, enter the appropriate value
in the Reason for Change field.
5. Click OK. A window opens that indicates that the Admin Mode is starting.
6. Click OK.
7. Throughout the configuration process, click Refresh Status to view the
messages that the configuration process writes in the Status window. If you
decide to cancel the configuration, click Cancel Admin Mode.
8. From the Select Action menu, click Apply Configuration Changes to configure
the database and restore backup tables. Wait until administration mode is
turned on before performing this step.
9. To turn off Admin Mode, from the Select Action menu, click the Admin Mode
action, and then click Turn Admin Mode OFF.
Related concepts:
Modes of configuring the database on page 67
There are three ways to configure the database: command-line mode, a partial live
configuration, or a full live configuration with administration mode turned on. The
option that you chose depends on whether the application server needs to be shut
down and the impact on access to users.
Procedure
1. Open a command prompt and change the directory to: install_home\tools\
maximo
2. Run restorefrombackup.
3. Start the application server.
Related concepts:
Modes of configuring the database on page 67
There are three ways to configure the database: command-line mode, a partial live
configuration, or a full live configuration with administration mode turned on. The
option that you chose depends on whether the application server needs to be shut
down and the impact on access to users.
70
Description
Login Tracking
You define electronic signatures and audit records at the system level. When you
enable electronic signatures and audit records, they apply to all organizations and
sites.
Related tasks:
Creating a drop-down list for the Reason for Change field on page 74
Electronic signatures are enforced by requiring users to complete fields in an
Electronic Signature Authentication window. The Electronic Signature
Authentication window includes a Reason For Change field.
Adding values to the Reason For Change domain on page 75
If you elect to restrict users to giving only a select set of reasons in the Reason for
Change field, you need to add values to the Reason for Change domain.
Related reference:
Electronic signature authentication on page 73
When users perform actions for which electronic signature is enabled, they must
authenticate by entering data in the required fields. Authentication must be
successful before users can continue.
Login tracking
With login tracking, you specify the number of permitted user login attempts.
When the number is exceeded, any further login attempts are blocked. Login
tracking also tracks the number of login attempts for a user and the login status of
a user.
71
You can use login tracking independently of electronic signature, but you must
enable login tracking to use electronic signature.
v Reason for the change (as typed on the Electronic Signature Authentication
window).
v Unique transaction identifier.
v Key values columns for the record.
72
v The key values columns for the record, even if those columns are not e- Audit
enabled. For example, the work order number is recorded even when another
attribute in the WORKORDER object triggers the electronic audit.
Description
Importance
User Name
Login ID
Required
Read-only
Password
Password
Required
73
Related concepts:
Electronic signatures and audit records on page 71
Electronic signatures and audit records provide an additional level of security
control and auditing capability. You can enable electronic signature and electronic
audit records independently of one another, however they are typically used
together.
Login tracking on page 71
With login tracking, you specify the number of permitted user login attempts.
When the number is exceeded, any further login attempts are blocked. Login
tracking also tracks the number of login attempts for a user and the login status of
a user.
Electronic signature feature on page 72
Electronic signature records the user name and full user name of users who change
database records or who perform actions in an application. The modification to the
record such as change, insert, update, or delete, known as the identifier, is also
recorded.
Electronic audit records on page 72
Each time users add, delete, or modify the value of an attribute using a system
application and save the change, an audit record is written to the audit object
corresponding to the regular database object. Electronic audit records must first be
enabled for the database attribute.
Related tasks:
Creating a drop-down list for the Reason for Change field
Electronic signatures are enforced by requiring users to complete fields in an
Electronic Signature Authentication window. The Electronic Signature
Authentication window includes a Reason For Change field.
Adding values to the Reason For Change domain on page 75
If you elect to restrict users to giving only a select set of reasons in the Reason for
Change field, you need to add values to the Reason for Change domain.
Procedure
1. To make the Reason For Change field let users type free-form text, no steps are
required.
2. To make the Reason For Change field require users to choose from a
user-defined value list, you must add values to the CHANGEREASON domain.
74
Related concepts:
Electronic signatures and audit records on page 71
Electronic signatures and audit records provide an additional level of security
control and auditing capability. You can enable electronic signature and electronic
audit records independently of one another, however they are typically used
together.
Login tracking on page 71
With login tracking, you specify the number of permitted user login attempts.
When the number is exceeded, any further login attempts are blocked. Login
tracking also tracks the number of login attempts for a user and the login status of
a user.
Electronic signature feature on page 72
Electronic signature records the user name and full user name of users who change
database records or who perform actions in an application. The modification to the
record such as change, insert, update, or delete, known as the identifier, is also
recorded.
Electronic audit records on page 72
Each time users add, delete, or modify the value of an attribute using a system
application and save the change, an audit record is written to the audit object
corresponding to the regular database object. Electronic audit records must first be
enabled for the database attribute.
Related reference:
Electronic signature authentication on page 73
When users perform actions for which electronic signature is enabled, they must
authenticate by entering data in the required fields. Authentication must be
successful before users can continue.
Procedure
1.
2.
3.
4.
5. In the Value field and Description field, enter a value that you want the user
to see in the CHANGEREASON value list. For this value list only:
v These values are not written to the database.
v The value in the Description field is what users see when they use the list.
For example, you want users to see a value list containing only Change to
Record and Delete Record. In the Value field and Description field, type the
following information:
Value field
Description field
CHANGE
Change to record
75
Value field
Description field
DELETE
Deleted record
6. Click OK.
Related concepts:
Electronic signatures and audit records on page 71
Electronic signatures and audit records provide an additional level of security
control and auditing capability. You can enable electronic signature and electronic
audit records independently of one another, however they are typically used
together.
Login tracking on page 71
With login tracking, you specify the number of permitted user login attempts.
When the number is exceeded, any further login attempts are blocked. Login
tracking also tracks the number of login attempts for a user and the login status of
a user.
Electronic signature feature on page 72
Electronic signature records the user name and full user name of users who change
database records or who perform actions in an application. The modification to the
record such as change, insert, update, or delete, known as the identifier, is also
recorded.
Electronic audit records on page 72
Each time users add, delete, or modify the value of an attribute using a system
application and save the change, an audit record is written to the audit object
corresponding to the regular database object. Electronic audit records must first be
enabled for the database attribute.
Related reference:
Electronic signature authentication on page 73
When users perform actions for which electronic signature is enabled, they must
authenticate by entering data in the required fields. Authentication must be
successful before users can continue.
Source
Description
MaxObjectCfg.Description
Esig Filter
MaxObjectCfg.EsigFilter
Changes to certain attribute-level parameters are eligible for live update. The
following table lists these attribute-level parameters.
Table 14. Attribute-level parameters that are eligible for live updates
76
Header
Source
Description
MaxAttributeCfg.Remarks
None
Title
MaxAttributeCfg.Title
None
Domain
MaxAttributeCfg.DomainID
None
Table 14. Attribute-level parameters that are eligible for live updates (continued)
Header
Source
Default Value
MaxAttributeCfg.DefaultValue
None
Search Type
MaxAttributeCfg.SearchType
Esig Enabled
MaxAttributeCfg.EsigEnabled
None
Can Autonum
MaxAttributeCfg.CanAutonum
None
Autokey Name
MaxAttributeCfg.AutokeyName None
Is Positive
MaxAttributeCfg.IsPositive
None
MaxAttributeCfg.Classname
If any of the Cfg tables for an object or any of its attributes have changes that are
not listed in the preceding tables, that object and its attributes are not eligible for
live update.
Example
If the Person table is audited and the audit table is named A_Person, two rows
exist in MaxTable Cfg, as shown in the following example.
Table 15. eAudit Tables
Table name
Eaudit Tbname
PERSON
A_PERSON
A_PERSON
(null)
For the base table, changes to the audit-related, object-level parameters in the
following table are eligible for live update. For an audit table, if the object you add
(MaxObjectGfg.Changed = I) and its base table are eligible for live update, then
the audit table is also eligible.
The following table lists the object-level parameters that are eligible for live
update.
Table 16. Object-level parameters that are eligible for live update
Description
Source
Eaudit Filter
MaxObjectCfg.EauditFilter
None
77
Table 16. Object-level parameters that are eligible for live update (continued)
Description
Source
Eaudit Enabled
MaxObjectCfg.EauditEnabled
No additional rules.
Field validation in the Database
Configuration application
ensures that when
EauditEnabled is turned on,
there is a nonnull value for
EauditTbname.
MaxTableCfg.EauditTbname
Source
Description
MaxAttributeCfg.EauditEnabled
No additional rules.
Turning auditing on or off for an
attribute that is eligible for live
update, and does not involve
native changes to the audit table.
Procedure
1.
2.
3.
4.
78
On the Attributes tab, select the attribute for which you want to specify details.
Click Edit Lookup Map.
Click New Row.
Specify the following details for the target attribute:
v In the Target Attribute field, select the attribute to which you want to return
values.
v In the Source Object field, specify the source from which values are
returned.
v In the Source Key field, specify the key of the source object from which you
want to return values.
v In the Sequence field, specify a numeric value to determine the attributes
that are to be set before other attributes. A lower numeric value has priority
over a higher numeric value.
5. Optional: Select the Allow Null check box if you want the target attribute to
accept null values.
6. Click OK.
Related concepts:
Business objects on page 48
A business object is an object that has a set of attributes and values, operations,
and relationships to other business objects. Business objects contain business data
and model the business behaviour.
Storage partitions on page 47
A database storage partition is the location where a database object is stored on a
disk. Database storage partitions are called table spaces in DB2 and Oracle, and
called file groups in SQL Server.
Related reference:
Attribute data types on page 53
Each database record contains multiple attributes. Every attribute has an associated
data type.
Procedure
1. In the Database Configuration application, from the Select Action menu, select
Messages.
2. Click New Row and specify the message group to which you want the new
message to belong.
3. In the Message Key field, type a unique string that you want to be associated
with the message.
4. Specify the display method for the message.
5. In the Message ID field, specify the prefix and product to be associated with
the message. Customer-generated messages typically use the BMXZZ prefix.
The complete identifier is generated when you click the prefix.
6. Select the Display ID check box to display the message identifier whenever the
message is displayed.
7. In the Value field, enter the message text.
8. In the buttons, icons, and explanation and responses sections, specify extra
details.
9. Click New Row to add more messages, or save your changes.
Chapter 2. Configuring databases
79
Query definitions
Users typically have a well-defined set of columns that they want to query in each
application. You can identify these columns by asking users or by examining
reports of slow-running SELECT statements. Indexing these columns can improve
system performance.
Users can create and save their own queries and share queries with other users.
Saved queries are stored in a table named QUERY. You must periodically review
these saved queries for inefficient conditions and use of unindexed columns.
With SQL statements, you can create special-purpose queries for example, return
all Preventive Maintenance work orders created since Monday of this week. When
you create these queries, you can save users the effort of querying larger sets and
sorting and scrolling through the sets.
You also can provide users with an efficient default query for frequently used
applications so that they can see a preferred record set when they access the
application. For example, in the Work Order Tracking application, you can specify
a default query for supervisor Smith. With this default query in place, initially the
user can see only work orders with SMITH in the Supervisor field.
80
Description
Exact
Wildcard
Benefit
Entry required
81
Description
Full text
Benefit
Entry required
Any combination
Text searches
of the words in
produce faster
search responses the text search
than wildcard
searches. Fields
that are
text-search
enabled have
text search
indexes and,
Stem search is also performed. For therefore, result
example, a search for service
in a faster search
returns servicing and serviced.
response.
Most system tables have one or
more ALN data type columns for
descriptions, memos, or remarks.
You can define text search types
and a corresponding Oracle text
index or SQL Server full text
catalog for columns that have
excessive text.
If an object is
enabled for text
search, the full
text searches on
the attributes
provided.
82
83
84
Columns
ALNDOMAIN
DESCRIPTION
ASSETATTRIBUTE
DESCRIPTION
COMMTEMPLATE
MESSAGE
SUBJECT
COMPANIES
NAME
NAME_LONGDESCRIPTION
CTRLCONDPROP
CTRLCONDPROP
ITEM
DESCRIPTION_LONGDESCRIPTION
DESCRIPTION
MAXAPPS
DESCRIPTION
MAXATTRIBUTE
TITLE
REMARKS
85
Columns
MAXATTRIBUTECFG
TITLE
REMARKS
MAXDOMAIN
DESCRIPTION
MAXLABELS
VALUE
MAXMENU
HEADERDESCRIPTION
MAXMESSAGES
EXPLANATION
ADMINRESPONSE
BUTTONTEXT
SYSTEMACTION
VALUE
OPERATORRESPONSE
MAXMODULES
DESCRIPTION
MAXOBJECT
DESCRIPTION
MAXOBJECTCFG
DESCRIPTION
MAXSERVICE
DESCRIPTION
NUMERICDOMAIN
DESCRIPTION
PALETTEITEM
DESCRIPTION
REPORT
DESCRIPTION
REPORTLABEL
LABELVALUE
FONTNAME
REPORTLOOKUP
LABELOVERRIDE
SIGOPTION
DESCRIPTION
SOLUTION
DESCRIPTION
SYNONYMDOMAIN
DESCRIPTION
Related tasks:
Enabling multiple languages on objects and attributes on page 88
You can enable multiple languages on objects or attributes.
Enabling attributes for multiple languages on page 88
You can enable attributes for multiple languages.
Viewing characters from multiple languages on page 89
To view characters from multiple languages, you can install additional language
files.
86
Description
MAXATTRIBUTE
MAXLABELS
MAXMENU
MAXMESSAGES
87
Related tasks:
Localizing databases for unsupported base languages on page 89
You use the translation data toolkit (TD toolkit) to localize the database for an
unsupported base language.
Adding unsupported second languages to databases on page 90
You use the Translation Data toolkit (TD toolkit) to add unsupported language to
databases. The base language remains the same, and the other language is added
as a second language. For example, a Canadian company can add French as a
second database language.
Procedure
1. In the Database Configuration application, select the object (for example, ASSET
or LOCATIONS) that you want to enable for multiple languages.
2. In the Objects tab, specify a value for the Language Table. The convention is
L_objectname.
3. Save the record.
Related concepts:
Multiple language tables and associated columns on page 85
Enabling multiple languages on an object or on a table creates a secondary table
connection. For example, L_ITEM is the secondary table for the ITEM object.
Procedure
1. In the Database Configuration application, select the attribute that you want to
enable for multiple languages.
2. From the Attributes tab, check that Multilanguage Supported is selected.
3. Select the Multilanguage in Use check box to identify the attributes that you
want to enable for multiple languages.
4. Configure the database.
88
Related concepts:
Multiple language tables and associated columns on page 85
Enabling multiple languages on an object or on a table creates a secondary table
connection. For example, L_ITEM is the secondary table for the ITEM object.
Procedure
1. From the Start > Control Panel menu, select Regional and Language Options.
2. On the Languages tab, select one of the following check boxes:
v Install files for complex script and right-to-left languages (including Thai)
v Install files for East Asian languages
3. Click OK or Apply, and restart your computer.
Related concepts:
Multiple language tables and associated columns on page 85
Enabling multiple languages on an object or on a table creates a secondary table
connection. For example, L_ITEM is the secondary table for the ITEM object.
Procedure
1. To export translatable data from the database, complete the following steps:
a. Change to the tools\maximo installation subdirectory and run the export
command.
b. Run the tdtoolkit -export batch file. This batch file exports translatable
data into the \tools\maximo\xliff\export directory.
2. To translate all XLIFF files from English to the localized language, complete the
following steps:
a. In each XLIFF file, find the instances of the <target> </target> tags.
89
b. Replace the text between the tags with the text in the language into which
you are translating.
3. To import the translated XLIFF files into the database, complete the following
steps:
a. Create the subdirectory, \tools\maximo\lc\xliff in which lc represents the
two-letter language code. The two-letter language code is in the
MAXLANGCODE column in the LANGUAGE table.
b. Copy the files in the \tools\maximo\xliff\export directory to the new
subdirectory, \tools\maximo\lc\xliff.
c. To translate the XLIFF file into the database, in the installation directory, run
the tdtoolkit -import -tllc -versionV7100-000 import command. For
example, to import a Hebrew (unsupported) database, run the import
command: tdtoolkit -import -tlhe -version7100-000.
Example
If the database is used in another base language, you can translate the English
language database into an unsupported base language. For example, you can
translate a database to Arabic for Arabic-speaking users. You can add a secondary
language, such as French, to the Arabic language database.
Related concepts:
Multiple languages and translations on page 87
If you are using a multiple language implementation, you can track and perform
translations on new records. By default, new records are stored in the base
language only; there is no auto-translation.
Procedure
1. To export translatable data from the database, complete the following steps:
a. In the tools\maximo installation subdirectory, run the export command.
b. Run the tdtoolkit -export batch file. This batch file exports translatable
data into the \tools\maximo\xliff\export directory.
2. To translate all XLIFF files from English to the localized language, complete the
following steps:
90
a. In each XLIFF file, find every instance of the <target> </target> tags.
b. Replace the text between the tags with the text in the language into which
you are translating.
3. To add the translated XLIFF files into the database, complete the following
steps:
a. Create the \tools\maximo\lc\xliff subdirectory in which lc represents the
two-letter language code. The two-letter language code is in the
MAXLANGCODE column in the LANGUAGE table.
b. Copy the files in the \tools\maximo\xliff\export directory to the new
subdirectory, \tools\maximo\lc\xliff.
c. To translate the XLIFF file into the database, in the installation directory, run
the tdtoolkit -import -tllc -versionV7100-000 import command. For
example, to import an Indonesian (unsupported) database, run the import
command: tdtoolkit -import -tlid -version7100-000.
Related concepts:
Multiple language utilities - translation data toolkit on page 86
To use non-English-language databases, you use the translation data toolkit (TD
Toolkit). The TD Toolkit is a utility that extracts translatable data from a database.
Multiple languages and translations on page 87
If you are using a multiple language implementation, you can track and perform
translations on new records. By default, new records are stored in the base
language only; there is no auto-translation.
Procedure
1. Optional: Run the following SQL statement to get a list of all languages
installed on the database including the base language: select languagename,
maxlangcode from language where enabled = 1;
2. Optional: If you do not know the base language, run the following SQL
statement: select varvalue from maxvars where varname = BASELANGUAGE;
When the base language is identified, you can identify secondary languages.
3. To disable a language, run the following SQL statement on the database,
replacing language_code with the language code of the secondary language that
you want to remove: update language set enabled = 0 where maxlangcode =
language_code; This command does not remove the translation of the
secondary language. Ensure that you do not disable the base language.
4. To remove the translation of the secondary language, run the following SQL
statement against your database, where language_code, is the language code of
the language to remove:
Database
SQL Statement
91
What to do next
You must restart the application server after you remove a language for the change
to take effect.
Procedure
1. Select the appropriate secondary language and log in.
2. Access the application that contains the records that you want to translate.
3. Select the records that you want to translate. For example, in the Item Master
application, search for and select the item numbers that you want to translate.
4. Save the records. The records are saved to the secondary language ITEM table.
Procedure
1. On your desktop, click Start > Control Panel.
2. Click the Java program and click the Java tab.
3. Select the View button for the setting the browser uses:
v Java Applet Runtime
v Java Application Runtime
4. In the table, click row for the JVM your browser is using.
92
What to do next
You must restart the browser for the changes to take effect.
Procedure
1. Open a command window and change directory to C:\IBM\SMP\Maximo\tools\
maximo.
2. You can create an additional database in one of the following ways:
v To create a DB2 database, run the following command to set the DB2DBDFT
variable:
set DB2DBDFT=dbname
93
Parameter
Description
-a
-d
-e
-f
-i
-k
-l
-o
-p
-s
-t
-u
-x
94
Description
Tape drive
Types of backups
There are different ways to back up your system. These methods vary in scope and
frequency. See your database platform documentation for specific commands and
procedures to perform backups.
The table that follows lists and describes the types of backups you can perform.
95
Description
Frequency
System backup
96
Description
Online backups
DBMS_STATS package
The DBMS_STATS package in Oracle optimizes statistics on your database. The
system benefits from cost-based optimization because it builds many queries
dynamically, depending on user input.
With the cost-based optimizer, Oracle determines which indexes to use based on
the distribution of data. Oracle 9i and 10 g documentation recommend against
using ANALYZE to collect statistics for the Cost Based Optimizer; use
DBMS_STATS instead.
Update statistics
If your database is large, run the Oracle update statistics. You can use a
database-specific command, or you can run update statistics from the actions menu
in the Database Configuration application. This calls dbms_stats.gather_table_stats
with cascade true.
Optimizer modes
Oracle has two optimizer modes: cost-based and rule-based.
By default, the optimizer mode is set to CHOOSE. To determine the mode in effect,
select from the v$parameter table:
select value from v$parameter where name='optimizer_mode';
If the mode is CHOOSE, you use the rule-based optimizer unless statistics exist.
Statistics do not exist if you never analyzed your tables. Do not set the optimizer
mode to RULE.
Chapter 4. Administering the database
97
Database updates
The system includes a Maximo database update utility called UpdateDB.
Run UpdateDB after you install system application patches or after you install any
system options. System options might include Maximo, IBM Maximo Mobile, or
other applications. After you install patches or options, your application version
will be different from your Maximo database version. For the system to function
properly, the system and Maximo database versions must match.
When you start the application server (MXServer) the system compares the
application version to the Maximo database version. If the system detects a
discrepancy, the MXServer stops processing and the system prompts you to run the
system UpdateDB utility. The upgrade script and class files run during the
database update and revise the version references in the Maximo database,
synchronizing the system, and database versions.
Application patches
Application patches are available for download on the IBM Software Support site.
Dbscripts script directory name where system product script files are located
Dbversion current system option version
Lastdbversion last release version
Extensions class file extension information for system option
The first file run by the UpdateDB utility is the a_customer.xml file. Next, the
update utility runs each of the product_description.xml files in alphabetic order.
The UpdateDB utility is configured to run scripts based on the values specified in
each of your .xml files. The scripts representing each successive update version up
to and including the referenced dbversion value script are run during your
database update process. Upon completion, your dbversion value is updated to the
most current script version value.
98
a_customer.xml file
The system uses the a_customer.xml file to reference any system classes that have
been customized.
Because the a_customer.xml file is the first to be run by the UpdateDB utility, the
changes you reference in the product script files are the first to be applied. All
your system options are then incorporated into the customization before the
UpdateDB utility runs the product_description.xml scripts. If you incorporate
class extensions in any of your system options, create the a_customer.xml file. All
modified class files and scripts must be referenced in the format shown in the
following example.
Example
In this example, the UpdateDB utility runs the scripts representing each successive
update version up to and including the referenced V600_01 script. The altered
<mboset objectname> and <mbo object> entries indicate that the purchase order
classes have been extended.
<?xml version="1.0" encoding="UTF-8"?>
<product>
<name>Customer Product</name>
<version>
<major>6</major>
<minor>0</minor>
<patch>0</patch>
<build>999</build>
</version>
<dbmaxvarname>DBCUST</dbmaxvarname>
<dbscripts>cus</dbscripts>
<dbversion>V600-01</dbversion>
<lastdbversion>V520-20</lastdbversion>
<extensions>
<mboset objectname=PO>psdi.app.cust.POSet</mboset>
<mbo objectname=PO> psdi.app.cust.PO</mbo>
</extensions>
</product>
product_description.xml file
The product_description.xml file identifies each system option installed on your
system.
For each industry solution that you installed, create a separate <productname>.xml
file to deploy the EAR files successfully. Create new <prouctname>.xml files in the
new maximo\properties\product directory.
<?xml version="1.0" encoding="UTF-8"?>
<product>
<name>IT and Service Management Extensions</name>
<version>
<major>6</major>
<minor>0</minor>
<patch>0</patch>
<build>999</build>
</version>
<dbmaxvarname>DBITSME</dbmaxvarname>
<dbscripts>itsme</dbscripts>
<dbversoin>V600-01</dbversion>
<lastdbversion>V520-20</lastdbversion>
<depends>newproduct</depends>
Chapter 4. Administering the database
99
<extensions>
<mboset objectname=objectname>classname</mboset>
<mbo objectname=objectname>classname</mbo>
<field objectname=objectname
attributename=attrname>classname</field>
<service servicename=servicename>classname</service>
<bean presentation=appname controlid=id>beanclassname</bean>
<class extends=classname>classname</class>
</extensions>
</product>
Procedure
1. Download and apply the application patch.
2. Back up the database.
3. Run updatedb.bat to update the database.
Related concepts:
Database backup and restoration on page 95
Backup procedures depend on the size of your database and the type of operation
you are running.
Types of backups on page 95
There are different ways to back up your system. These methods vary in scope and
frequency. See your database platform documentation for specific commands and
procedures to perform backups.
Offline and online backups on page 96
Offline and online backups allow you to back up your system whether the system
is being actively used or not. See your database platform documentation for
specific commands and procedures to perform backups.
Database statistics updates on page 97
To enhance performance, regularly update your database statistics. See your
database platform documentation for procedures.
Database updates on page 98
The system includes a Maximo database update utility called UpdateDB.
Running UpdateDB
Class files for running UpdateDB are located in the install_home\tools\maximo\
classes\psdi\script\en directory. Script files are located in the
install_home\tools\maximo\en directory.
Procedure
1. Open a command prompt and change the directory to: install_home\tools\
maximo.
2. At the prompt, type updatedb.bat and press Enter.
100
What to do next
If you encounter problems during the system update process, the system logs
errors to the install_home\tools\maximo\logs\Update+Timestamp.log file. You can
examine the logs to determine the source of update errors.
When you successfully complete a database patch update, the database build
version in the MAXVARS table is revised.
Related concepts:
Database backup and restoration on page 95
Backup procedures depend on the size of your database and the type of operation
you are running.
Types of backups on page 95
There are different ways to back up your system. These methods vary in scope and
frequency. See your database platform documentation for specific commands and
procedures to perform backups.
Offline and online backups on page 96
Offline and online backups allow you to back up your system whether the system
is being actively used or not. See your database platform documentation for
specific commands and procedures to perform backups.
Database statistics updates on page 97
To enhance performance, regularly update your database statistics. See your
database platform documentation for procedures.
Database updates on page 98
The system includes a Maximo database update utility called UpdateDB.
101
102
103
Related tasks:
Optimizing performance in DB2 on page 107
You can change configuration settings at the registry, database manager, and the
database levels. The registry level controls all DB2 databases and DB2 applications.
The database manager controls the main configuration settings for all databases.
Each individual database instance can also have its own settings at the database
level.
Optimizing performance in Oracle Database on page 116
Initialization parameters set values that can affect system performance, such as the
optimizer features. Initialization parameters are stored in an initialization
parameter file. You can change initialization parameters with ALTER SYSTEM
commands.
Related information:
Improving the performance of the doclinks query in process automation engine
products
Keeping your Maximo Tuned Up and Performing
Working with Archived Data
High availability for databases
Configuring databases for high availability
Database indexing
Indexing a database requires good understanding of the data, the user functions,
and how the database is indexed. Indexes use key parts of data from a table in a
binary structure to improve searching capability. Each record of data in the table
must be associated with data in the index.
Indexing can greatly increase search speeds. However, a drawback of indexes is
that each insert, update, or delete operation requires an update to the indexes.
When tables include multiple indexes, each index can increase the time it takes to
process table updates. If you want to reduce the number of indexes to improve
processing speed, remove indexes that are least valuable for search purposes.
Some index types that are available on DB2, Oracle Database, and Microsoft SQL
Server are not available in the Database Configuration application. You can create
and maintain these indexes from the command line to improve performance in
specific cases. For example, on Oracle Database, you can create a bitmap index or a
function-based index if you determine that these indexes can improve certain
queries.
If you use these index types, the system administrator must remove any of these
indexes before you configure the database changes. After the database is
configured, the indexes must be replaced.
If you customize Maximo Asset Management, you can change the way you select
information from the database. For example, a customization might include
additional tables and columns. If you customize Maximo Asset Management,
compare indexes to the user functions that use them. Ensure that you implement
the right balance of indexes.
104
Related concepts:
Reorganization of tables and indexes in DB2 on page 115
When many updates are made on a table, the space can become fragmented. You
can reorganize data to reclaim space in a table and to improve system
performance. Use the IBM DB2 REORGCHK and REORG commands to optimize table
spaces and indexes. You cannot reorganize metadata tables.
Table spaces
A database administrator can use the following guidelines for table space page
sizes. The administrator then moves the tables that include the most record types
and are the most heavily used into table spaces with these page sizes:
Table 24. Guidelines for table spaces page sizes
Page size
Row size
4 KB
4005
500
64 GB
8 KB
8101
1012
128 GB
16 KB
16293
1012
256 GB
32 KB
32677
1012
512 GB
Separate indexes from the data and place them into a different table space. Use the
Database Configuration application to move the indexes. Also, separate large
tables, such as Assets and Work Orders, into their own table spaces for optimal
performance.
Sequence cache
Sequence caches are used to automatically generate unique values in the database.
These values are typically used as identifiers for columns or rows. Set the maxseq
sequence for the rowstamps column to 500 because this column frequently requires
values. Set the cache size for all other sequences to 50.
Related tasks:
Modifying sizes of sequence caches
A sequence is a database object that automatically generates unique key values. A
sequence can generate one value at a time or can generate a cache of multiple
values. The use of sequence caches improves system performance because
processes can obtain values from the cache without waiting for the sequence to
generate individual values.
105
Procedure
1. Run the following command to generate a script file that contains the SQL
statements to set the sequence cache size:
Option
Description
2. Edit the change_seq_cache.sql file to change the sequence cache size for the
maxseq sequence to 500.
3. If Tivoli Asset Management for IT is installed, edit the change_seq_cache.sql
file to remove any entries that match the following sequence names:
Table 25. Sequences to remove from the change_seq_cache.sql file
Sequence cache name
ASSETATTRIBUTESEQ
DPADISKSEQ
DPAMSWSUITECOMPSEQ
CDMCITYPESSEQ
DPADISPLAYSEQ
DPAMSWSUITESEQ
CLASSANCESTORUSEQ
DPAFILESEQ
DPAMSWUSAGERANGESEQ
CALSSSPECSEQ
DPAIMAGEDEVICESEQ
DPAMSWUSAGESEQ
CLASSSPECUSEWITHSEQ DPAIPXSEQ
DPAMSWVARIANTSEQ
CLASSSTRUCTURESEQ
DPALOGICALDRIVESEQ
DPANETADAPTERSEQ
OMPSEQ
DPAMADAPTERSEQ
DPANETDEVCARDSEQ
RELATIONRULESSEQ
DPAMADPTVARIANTSEQ
DPANETDEVICESEQ
RELATIONSEQ
DPAMEDIAADAPTERSEQ
DPANETPRINTERSEQ
ACTCIRELATIONSEQ
DPAMMANUFACTURERSEQ
DPAOSSEQ
ACTCISEQ
DPAMMANUVARIANTSEQ
DPASOFTWARESEQ
ACTCISPECSEQ
DPAMOSSEQ
DPASWSUITESEQ
DEPLOYEDASSETSEQ
DPAMOSVARIANTSEQ
DPATCPIPSEQ
DPACOMMDEVICESEQ
DPAMPROCESSORSEQ
DPAUSERINFOSEQ
DPACOMPUTERSEQ
DPAMPROCVARIANTSEQ
OMPCIRLNSEQ
DPACPUSEQ
DPAMSOFTWARESEQ
4. Run the SQL script on the database to change the sequence cache values.
106
Related reference:
Optimized access to data on page 105
The use of sequence cache and separate table spaces for large tables can help you
improve your system performance. Also, you can set applicable page sizes and
storage capacities to these table spaces and cache memories for optimal
performance.
107
Related tasks:
Manually configuring DB2 9.x
Developing performance tests on page 130
Performance tests provide baseline measurements of system performance, which
you can use to identify the weaknesses in your deployment and to determine
optimal configuration settings. When you design performance tests, you determine
test objectives, develop use cases, develop a test strategy, and define your test
environment.
Related information:
IBM DB2 Information Center
High availability for databases
Procedure
1. In the command prompt on the server on which DB2 is installed, run the
following command:
db2set DB2_WORKLOAD=MAXIMO
The following registry values are automatically set:
Registry variable
Value
DB2_SKIPINSERTED
ON
DB2_INLIST_TO_NLJN
YES
DB2_MINIMIZE_LISTPREFETCH
YES
DB2_EVALUNCOMMITTED
YES
DB2_SKIPDELETED
ON
2. If you are using DB2 version 9.7, or later, run the following command:
db2set DB2_USE_ALTERNATE_PAGE_CLEANING=ON The
DB2_USE_ALTERNATE_PAGE_CLEANING registry variable speeds up the process of
creating or altering large table spaces.
3. If you are using the Windows or UNIX operating system, run the following
command:
db2set DB2_FMP_COMM_HEAPSZ=65536 The DB2_FMP_COMM_HEAPSZ registry variable
sets the size of the heap that is used for fenced routine invocations.
4. To apply the settings that you changed, stop and restart DB2.
108
Related reference:
DB2 registry variables
The configuration settings that are stored in registry variables can be applied at a
global or instance level. The registry variables that affect performance involve the
time required to process commands, the optimization of SQL queues, the behavior
of row locking, and heap sizes.
Starting value
Purpose
DB2_SKIPINSERTED
ON
DB2_INLIST_TO_NLJN
YES
DB2_MINIMIZE_LISTPREFETCH
YES
DB2_EVALUNCOMMITTED
YES
DB2_SKIPDELETED
ON
DB2_USE_ALTERNATE_PAGE_CLEANING
ON
DB2_FMP_COMM_HEAPSZ
65536
109
Procedure
1. For all operating systems, in the command prompt on the server on which DB2
is installed, run the following commands:
db2 update dbm cfg using RQRIOBLK 65535
db2 update dbm cfg using HEALTH_MON OFF
db2 update dbm cfg using MON_HEAP_SZ AUTOMATIC
db2 update dbm cfg using KEEPFENCED NO
2. Set the amount of virtual memory that is allocated for each agent:
Option
Description
Related reference:
DB2 database manager settings
The database manager settings are set at the instance level. The settings that affect
performance involve memory size, how fenced processes behave, and whether the
database instance is monitored.
110
RQRIOBLK
65535
HEALTH_MON
OFF
Specifies whether an
instance, the associated
databases, and database
objects are monitored.
Descriptions
MON_HEAP_SZ
AUTOMATIC
KEEPFENCED
NO
AGENT_STACK_SZ
Descriptions
Procedure
1. For all operating systems, in the command prompt on the server on which DB2
is installed, run the following commands:
db2 update db cfg for dbname using CHNGPGS_THRESH 40
db2 update db cfg for dbname using DFT_QUERYOPT 5
db2 update db cfg for dbname using LOGBUFSZ 1024
db2 update db cfg for dbname using LOGFILSIZ 8096
db2 update db cfg for dbname using LOGPRIMARY 20
db2 update db cfg for dbname using LOGSECOND 100
db2 update db cfg for dbname using LOCKLIST AUTOMATIC
db2 update db cfg for dbname using LOCKTIMEOUT 300
db2 update db cfg for dbname using NUM_IOCLEANERS AUTOMATIC
db2 update db cfg for dbname using NUM_IOSERVERS AUTOMATIC
db2 update db cfg for dbname using SOFTMAX 1000
db2 update db cfg for dbname using PCKCACHESZ 524288
db2 update db cfg for dbname using STAT_HEAP_SZ 51200
2. Set the maximum number of file handles that can be open per application.
Operating system
Commands
UNIX or Linux
Windows
3. If you recently upgraded to DB2 version 9.7, ensure that the following database
configuration settings are set to the following values:
Chapter 5. Optimizing system performance
111
Setting
Value
CUR_COMMIT
ON
AUTO_REVAL
DEFERRED
DEC_TO_CHAR_FMT
NEW
STMT_CONC
LITERALS
What to do next
When the STMT_CONC parameter is set to LITERALS, the statement concentrator is
enabled. All queries are translated into queries with parameter markers, which are
used by the query optimizer when selecting an access plan. To assist the query
optimizer to select an efficient access plan, enable the REOPT(ONCE) bind option.
Related tasks:
Enabling the REOPT(ONCE) bind option
To help the query optimizer select an efficient access plan, specify the
REOPT(ONCE) bind option when you run queries. When the REOPT(ONCE) bind
option is used, the query optimizer selects the access plan the first time that the
query is run. Each subsequent time that the query is run, the access plan is reused.
Related reference:
DB2 database configuration settings on page 113
Each database in DB2 has a separate set of configuration settings. The database
configuration settings that effect performance define log file sizes, memory sizes,
asynchronous cleaner options, locklist sizes, and the maximum number of file
handlers.
Related information:
Performance Tip: REOPT(ONCE) when using DB2 Statement Concentrator
DB2 9.7 Statement Concentrator with STMM
Procedure
1. On the DB2 server, log in as the database instance owner.
2. In the bnd directory for DB2, for example C:\DB2\SQLLIB\bnd, run the following
command:
db2 bind db2clipk.bnd collection NULLIDR1
3. Log in to Maximo Asset Management as an administrator with the authority to
perform system configuration tasks.
4. In the System Properties application, open the details for the
mxe.db.DB2jdbcCollection system property.
5. In the Global Properties Details section, in the Global Value field, specify
NULLIDR1.
6. From the Select Action menu, select Live Refresh, and then click OK. The new
property value, NULLIDR1, is shown in the Global Value field and the Current
Value field.
112
Related information:
Using the REOPT bind option with input variables in complex queries
Performance Tip: REOPT(ONCE) when using DB2 Statement Concentrator
Starting value
Purpose
CHNGPGS_THRESH
40
DFT_QUERYOPT
LOGBUFSZ
1024
LOGFILSIZ
8096
LOGPRIMARY
20
LOGSECONDARY
100
LOCKLIST
AUTOMATIC
LOCKTIMEOUT
300
113
114
Setting
Starting value
Purpose
NUM_IOCLEANERS
AUTOMATIC
NUM_IOSERVERS
AUTOMATIC
SOFTMAX
1000
STMTHEAP
20000
MAXFILOP
CUR_COMMIT
ON
AUTO_REVAL
DEFERRED
DEC_TO_CHAR_FMT
NEW
Setting
Starting value
Purpose
STMT_CONC
LITERALS
PCKCACHESZ
524288
STAT_HEAP_SZ
51200
Related tasks:
Enabling the REOPT(ONCE) bind option on page 112
To help the query optimizer select an efficient access plan, specify the
REOPT(ONCE) bind option when you run queries. When the REOPT(ONCE) bind
option is used, the query optimizer selects the access plan the first time that the
query is run. Each subsequent time that the query is run, the access plan is reused.
Related information:
Performance Tip: REOPT(ONCE) when using DB2 Statement Concentrator
DB2 9.7 Statement Concentrator with STMM
115
The following conditions can indicate that the indexes require reorganization:
v The leaf pages, which contain the pairs of keys and record identifiers that point
to the actual data, are fragmented. When leaf pages are fragmented, performance
is affected because more leaf pages must be read to fetch table pages.
v The physical index page does not match the sequence of keys on the pages,
which increases the time required to process queries.
v The index has too many levels.
If you determine that a reorganization can improve the performance of the table or
index, you can complete the reorganization online or offline. By default, the REORG
command completes offline reorganizations.
Database maintenance can reduce the time needed for reorganization. Your
database maintenance routine should include archiving and trimming tables on a
regular basis. Your regular database maintenance should also include running the
REORGCHK command to identify tables and indexes that might require
reorganization.
Related concepts:
Database indexing on page 104
Indexing a database requires good understanding of the data, the user functions,
and how the database is indexed. Indexes use key parts of data from a table in a
binary structure to improve searching capability. Each record of data in the table
must be associated with data in the index.
Related information:
Table reorganization
Index reorganization
REORGCHK command
REORG TABLES command
DBMS_STATS package
The DBMS_STATS package in Oracle optimizes statistics on your database. The
system benefits from cost-based optimization because it builds many queries
dynamically, depending on user input.
Procedure
1. Set the CURSOR_SHARING parameter to SIMILAR or FORCE so that literal values are
converted to bind variables.
2. If the database character set is a double-byte or Unicode character, set the
NLS_LENGTH_SEMANTICS parameter to CHAR.
116
Parameters to set
SGA_TARGET
SGA_MAX_SIZE
SGA_TARGET
SGA_MAX_SIZE
MEMORY_TARGET
MEMORY_MAX_TARGET
117
Related tasks:
Developing performance tests on page 130
Performance tests provide baseline measurements of system performance, which
you can use to identify the weaknesses in your deployment and to determine
optimal configuration settings. When you design performance tests, you determine
test objectives, develop use cases, develop a test strategy, and define your test
environment.
Related reference:
Oracle Database initialization parameters
Initialization parameters are stored in an initialization parameter file and can be
applied to all database instances on a server. Parameters that affect system
performance involve cursor sharing, the policy that determines work area size, the
number of concurrent processes, and memory area sizes.
Related information:
Oracle Database Performance Tuning Guide 10g
Oracle Database Performance Tuning Guide 11g
High availability for databases
118
Setting
Starting value
Purpose
CURSOR_SHARING
SIMILAR or FORCE
NLS_LENGTH_SEMANTICS
CHAR
WORKAREA_SIZE_POLICY
AUTO
OPTIMIZER_FEATURES_ENABLE
Setting
Starting value
Purpose
SGA_TARGET
SGA_MAX_SIZE
MEMORY_TARGET
MEMORY_MAX_TARGET
PROCESSES
OPEN_CURSORS
SESSIONS
119
Setting
Starting value
Purpose
TRANSACTIONS
Related information:
Oracle Database Performance Tuning Guide 10g
Oracle Database Performance Tuning Guide 11g
120
Related concepts:
Performance improvements with clusters
A cluster groups similar functions on two or more Java virtual machines (JVMs) to
process a single function, such as scheduled cron tasks. Clusters connect to the
same database but operate independently. For example, if the cron task cluster
fails, users can still connect to the user interface cluster.
Related tasks:
Developing performance tests on page 130
Performance tests provide baseline measurements of system performance, which
you can use to identify the weaknesses in your deployment and to determine
optimal configuration settings. When you design performance tests, you determine
test objectives, develop use cases, develop a test strategy, and define your test
environment.
Related information:
Monitoring performance with Tivoli Performance Viewer (TPV)
Configuring application servers for high availability
Tuning the IBM virtual machine for Java
High availability for application servers
Case study: Tuning WebSphere Application Server V7 and V8 for performance
Solving memory problems in WebSphere applications
Tuning WebLogic Server
121
122
Procedure
1. In the navigation pane of the WebSphere Application Server administrative
console, select Servers > Application servers > server_name > Process
definition > Java Virtual Machine.
2. Select the Verbose Garbage Collection check box. When verbose garbage
collection is enabled, the Java virtual machine (JVM) records information
about each garbage collection in a log file. For example, in the log file, you
can see the amount of free bytes and used bytes in the heap, the interval
between garbage collections, and the pause time. Verbose garbage collection
has minimal effect on system performance.
3. For Oracle Solaris and HP-UX, add the following parameters to the generic
JVM arguments:
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintHeapAtGC
4. Apply and save the changes.
5. Restart WebSphere Application Server.
6. To create log entries to analyze, allow the system to process a typical user
load for a specified time. The time might be a few hours or a few days,
depending on the user load.
7. To determine the optimal heap size, analyze the log file with a garbage
collection analyzer. You can use the IBM Monitoring and Diagnostic Tools for
Java - Garbage Collection and Memory Visualizer plug-in, which is available
for IBM Support Assistant.
v For AIX , Microsoft Windows, or Linux, analyze the native_stderr.log file.
v For Oracle Solaris or HP-UX, analyze the native_stdout.log file.
8. Specify new initial and maximum heap sizes and save your changes.
9. Disable verbose garbage collection.
10. Delete the .log file. The .log file can grow large when verbose garbage
collection is enabled.
Related concepts:
Heap size values on page 122
Java virtual machine (JVM) heap size parameters directly influence garbage
collection behavior. If you increase the heap size value, your system can process
more objects before the heap size triggers a garbage collection.
Related information:
IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and
Memory Visualizer
123
124
IBM HTTP Server working on a Windows environment has a parent process and a
single, multithreaded child process which creates simultaneous connections. Set the
following parameters so that your environment can handle the simultaneous
connections more efficiently:
TimeOut
The amount of time that the server waits for certain events before a request is
rejected.
Value: 900
KeepAliveTimeOut
The amount of time that the server waits for subsequent requests on a
persistent connection. Set this value to 60 for those environments that have
high network latency. For example, network latency can be an issue when
users are in areas that are geographically different from the location of the
servers. That means the further the users are located from the servers, the
higher the network latency is.
High network bandwidth: 10
Low network bandwidth: 60
MaxKeepAliveRequests
The number of requests allowed on a persistent connection. If you limit the
number of requests, the server must finish the connection and create another
connection when the limit is reached. The need to finish and create connections
continuously can affect server performance. Set this value to zero to allow
unlimited requests on a persistent connection.
Value: 0
MaxRequestsPerChild
The limit on the number of requests that an individual child process handles
during its lifecycle. After this limit is reached, the child process ends. When
you set this value to 0, the child process never ends and can handle unlimited
requests. If you set this value to a number greater than 0, extra processing is
required to terminate and create child processes. On Linux and UNIX systems,
a value other than 0 can create a high number of child processes, which can
result in excessive swap space usage. To minimize potential issues, set this
value to 0.
Value: 0
ThreadLimit
The upper limit on the configurable number of threads per child process.
Value for Windows environments: 2400
ThreadsPerChild
The number of threads that each child process can create. In a Windows
environment runing on 64 bits, each instance is limited to 2500 threads per
child approximately. For the 32-bit environments, the total number of threads
per child is closer to 5000. These numbers are not exact limits because the
actual limits are the sum of the startup memory that is used by each thread
plus the maximum runtime memory usage per thread. That sum varies based
on configuration and workload. If you raise the number of the
ThreadsPerChild parameter, you risk having child processes that do not work
when the runtime memory raises the address space over 2 or 3 GB.
Value for Windows environments: 2400
You can set the ThreadsPerChild and ThreadLimit parameters to the same value.
125
Related tasks:
Developing performance tests on page 130
Performance tests provide baseline measurements of system performance, which
you can use to identify the weaknesses in your deployment and to determine
optimal configuration settings. When you design performance tests, you determine
test objectives, develop use cases, develop a test strategy, and define your test
environment.
Related information:
IBM HTTP Server performance tuning
High availability for HTTP servers
Load balancing
Hardware load balancers that bypass IBM HTTP Server cannot employ the data
compression method. If bypassing IBM HTTP Server, you must set up the load
balancing to distribute the task load across multiple instances of an application.
The user load comes from users who are logged in to the system and use the
interface to complete tasks. Non-user load comes from items such as scheduled
jobs (cron tasks) and transactions that come from Maximo Integration Framework.
You can distribute user load and non-user load across different application servers
or clusters by using the IBM HTTP Server for WebSphere Application Server
plug-in. The plug-in acts as an agent that uses the HTTP protocol to redirect HTTP
requests from the web server to the application server.
To improve performance by using this plug-in, you modify the load balancing
option. The plug-in uses this option to send requests to the application servers that
are associated with the web server. Both load balance options, RoundRobin and
Random, provide an even distribution of work across cluster members. However,
you must test the options to determine which works better for your deployment.
To choose the best load balance option, you can configure Maximo Asset
Management to log the number of users per JVM. The data can help you
determine which option provides the best load balancing.
126
Related information:
Utilities for logging and testing
To help you manage system performance, there are utilities that you can use for
testing and debugging purposes. When you are satisfied with your deployment,
you can disable these logging utilities.
Topology 1: Load-balanced configuration model
Configuring HTTP servers for high availability
Handling enough simultaneous connections with IBM HTTP Server 2.0 and
above on Linux and Unix systems
Network settings
From the command line of the operating system, enter the following settings to
optimize the network services:
/usr/sbin/no -r -o sb_max=6192000
/usr/sbin/no -r -o tcp_sendspace=4096000
/usr/sbin/no -r -o tcp_recvspace=4096000
/usr/sbin/no -r -o udp_sendspace=65536
/usr/sbin/no -r -o udp_recvspace=655360
Chapter 5. Optimizing system performance
127
/usr/sbin/no
/usr/sbin/no
/usr/sbin/no
/usr/sbin/no
/usr/sbin/no
/usr/sbin/no
/usr/sbin/no
/usr/sbin/no
/usr/sbin/no
-r
-r
-r
-r
-r
-r
-r
-r
-r
-o
-o
-o
-o
-o
-o
-o
-o
-o
rfc1323=1
ipqmaxlen=250
clean_partial_conns=1
tcp_keepidle=600
tcp_keepintvl=10
tcp_keepinit=40
tcp_timewait=1
tcp_finwait2=60
tcp_ephemeral_low=1024
Note that the values for the sb_max, tcp_sendspace, and tcp_recvspace parameters
depend on the device type and speed. You must check the values of your TCP
streaming workload to find out the best tuning value for your network.
These network settings apply to the whole system, except for the ulimit settings on
AIX.
Process settings
From the command line of your operating system, enter the chdev -l sys0 -a
maxuproc='4096' process setting.
128
Related information:
TCP streaming workload tuning
vmo Command
no Command
chuser Command
Performance Tip: Understanding Operating System Tuning Parameters
Windows parameters
You can set up the following network parameters, located under the Windows
registry key, to improve system performance.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:
TcpTimedWaitDelay dword:0000001e (30)
StrictTimeWaitSeqCheck dword:00000001 (1)
MaxFreeTcbs dword:00011940 (72000)
MaxHashTableSize dword:0000ffff (65535)
TcpWindowSize dword:0000ffff (65535)
EnableDynamicBacklog dword:00000001 (1)
MinimumDynamicBacklog dword:00000032 (20)
MaximumDynamicBacklog dword:000003eb (1000)
DynamicBacklogGrowthDelta dword:0000000a (10)
Interfaces\TcpAckFrequency dword:00000001 (1)
MaxUserPort dword:0000ffff (65535)
These settings apply to Microsoft Windows Server 2003. For Microsoft Windows
Server 2008, the default dynamic port range is changed. The new default start port
is 49152 and the default end port is 65535. Therefore, 16,384 ports are available by
default (not 5,000).
To view the dynamic port range, start the command prompt and use the netsh
command:
netsh int ipv4 show dynamicport tcp
To change the dynamic port range for the maximum number of ports allowed, run
the following command:
netsh int ipv4 set dynamicport tcp start=1025 num=64510
The minimum start port is 1025 and the maximum end port cannot exceed 65535.
129
Procedure
1. Identify the key questions that you want to answer in the performance tests.
For example, you might consider the following questions:
v Does the planned system architecture meet our business or organization
requirements?
v Does the planned deployment provide a satisfactory response time for the
expected number of concurrent users to perform a specified number of
transactions over specific timeframe?
v Will a particular component create system performance issues for an
expected transaction volume and number of concurrent users?
v Is the hardware in the deployment enough to provide acceptable
performance, given the expected number of transactions and users?
2. Prioritize the risks, rewards, and costs in your deployment.
For example, you might decide that supporting large user loads that perform
many concurrent transactions is the most important factor for your deployment.
Procedure
1. Determine how and when users log in and log off in the production
environment. For example, do users stay logged in all day? Or do users log in,
complete some transactions, and then log off?
2. Identify workloads that reflect the workload distribution and the workload rate.
Distribution is the percentage of users who are completing a specific task, such
as creating service requests. The rate is the transaction rate for a specific task,
such as the number of service requests. Develop use cases that reflect both the
number of transactions and the frequency of transactions. For example, 20% of
users are creating 10 service requests in an hour.
130
3. Determine how user load changes throughout the course of the day. If you
have real-time usage history, use the data for requests processed per second
during peak hours to create your use case. Then, you can compare your
real-time data with the server load created during the performance test to see
how your deployment is functioning.
4. Based on user behavior, workloads, and user loads, create use cases that focus
on your test objectives.
Procedure
1. Run tests to record baseline measurements for your deployment. A baseline
measurement test is a single user test that is run over several iterations to
identify whether an application is performing well. You can use baseline
measurement data for comparison purposes in future tests.
2. Identify which performance tests can provide data that is related to your test
objectives.
The type of tests that you might use include the following performance tests:
Benchmark under load test
A type of baseline measurement that increases the load from a single
user to a percentage of your expected system load, such as 25%. This
test indicates whether a system performance issue must be fixed before
further testing.
Performance load tests
A multipart test that measures the response times of transactions
during certain percentages of user loads. A typical performance load
test consists of five cycles, each of which increases the percentage of the
expected user load. For example, a performance load test can have five
cycles at the following user load intervals: 50%, 75%, 100%, 125%, and
150%. Performance load tests establish the performance curve and
identify whether the deployment can support service level agreements
under user load.
Endurance tests
Tests that are run over a period of hours or days to identify memory
leaks, performance issues over time, and overall system stability.
During endurance tests, you monitor key performance indicators, such
as transaction response times and the stability of memory usage.
Sizing and capacity tests
A series of tests that identifies the required size and total capacity at
each tier of the deployment. Tiers can include the individual Java
virtual machines (JVM), the total number of required JVMs, and the
processor. You can use the results of sizing and capacity tests to
determine the required resources for your deployment.
Batch tests
A test of components that does not require user interaction, such as
cron tasks or integrations with external systems.
131
3. Identify the minimum number of tests that can produce the data required to
answer the test objectives. Consider the time and resources that are available. A
comprehensive and focused test strategy can produce results in a cost effective
manner.
Procedure
1.
Ensure that your test environment meets the following requirements during
benchmark tests:
What to do next
Write your test cases, then run your tests. After the tests are completed, analyze
the test results.
132
Background
Company XYZ plans to use Maximo Asset Management for asset management,
purchasing, work order tracking. Because of specific business processes, Company
XYZ has a customized deployment that uses automated workflows. The users in
Company XYZ use the following applications:
v Assets
v Purchase Requisitions
v Purchase Orders
v Work Order Tracking
Description
Weight
factor
AS01
20%
PO01
5%
PO02
5%
PO03
5%
PO04
5%
133
Table 27. Uses cases identified for testing in Company XYZ (continued)
Use case
identifier
Weight
factor
Description
WF01
Create a work order and route the work order through the
Workflow application.
12%
WF02
View a work order and route the work order through the
Workflow application for approval.
12%
WF03
Issue an item on a work order and route the work order though 12%
the Workflow application.
WF04
Add labor to a work order and route the work order though the 12%
Workflow application for completion.
WF05
12%
Description
Expected result
AS01_01_D_Launch
AS01_02_D_Logon
Click Go To.
The Go To menu is
shown.
AS01_04_D_LaunchAssets
AS01_05_D_EnterAsset
Prefix
AS01_06_D_FindAsset
AS01_08_D_SelectAsset
AS01_09_D_TabSafety
AS01_10_D_ReturnTo
StartCenter
134
Table 28. Example test case to search for assets and review safety information (continued)
Transaction
Description
Expected result
AS01_11_D_Logoff
135
In the results chart, the average response times are under 2 seconds. The processor
utilization on the database server remains below 80% at the target load of 950
concurrent users. However, the application server processor exceeds 80%
utilization with a load of 850 concurrent users. Therefore, the performance test
criteria were not met.
The deployment team must investigate to determine whether the excessive
processor utilization issue can be resolved by tuning performance-related settings
or changes to the automated workflows. The deployment team can also decide
whether additional processor resources are required to meet the performance
criteria in the production deployment.
136
Related tasks:
Determining test objectives on page 130
Performance tests can validate sizing estimates, ensure that your deployment meets
your business or organization requirements, and address performance issues. You
must identify the key business questions for your organization and develop tests
that answer those questions.
Developing use cases on page 130
When you design performance tests, your goal is to develop few use cases that
adequately test the functions that are most frequently used and most important.
Developing test strategies on page 131
The type of performance test that you use depends on your test objectives. Focus
your test strategy on identifying the type of performance test that can provide data
to measure the objectives.
Defining test environments on page 132
Your performance environment is composed of many different components, such
as operating system, middleware, and deployment topology. Plan the specifics of
each component level to create a test environment.
137
138
Multisite implementation
If your company has multiple sites, you can create groups to reflect these sites. You
can then combine the site groups with functional groups to create fine-grained sets
of security privileges. For example, if you have sites in Toronto and Montreal, you
can name two groups TORONTO and MONTREAL. You can then add groups to
reflect functional units, such as finance, administration, maintenance, electrical, and
so on.
Copyright IBM Corp. 2008, 2013
139
Application server
If implementation uses an application server to authenticate with an external
directory, some functions are performed in the directory and synchronized into the
system. These functions include adding users (including self-registration), adding
security groups, associating users with security groups, and managing passwords.
In addition, when you delete users in the directory, those users are not
automatically deleted in the system; you must manually delete them.
Sites
The security architecture is designed to use sites as the first level of security for
multisite implementations. You might consider using the following strategies when
implementing security:
v If your implementation has only one site, then for each group, use the option to
authorize the group to access all sites.
v If your implementation has multiple sites, create groups to represent each site,
all sites, or a logical grouping of sites within a security group. For example, you
can create a security group for site 1, and a security group for site 2 and site 3.
v Do not include any other privileges for the site groups.
v An independent security group has access rights and grants that cannot be
combined with the rights and grants from other groups. If you select this option,
you must grant that group access to at least one site and one application. You
grant access unless the group is being used exclusively for system-level
applications.
140
v When you have access to a system-level application, any changes that you make
in that application have a system-wide impact. For example, if you have access
to the Currency application and add EURO as a currency, that currency is
available for all organizations and sites.
v When you make a change in an organizational-level application, the change
applies to all sites in the organization. For example, you are a user at site 1. You
have access to the Chart of Accounts application, and make a structural change
to an account. The change affects all sites within the organization to which site 1
belongs.
v Any changes that you make within a site-level application are limited to that
site.
v The level of the application controls the amount of data that you can view. For
example, site-level applications list data for specific sites, and
organizational-level applications list data for all sites within an organization.
Security process
The Security Groups application uses a two-step security process that consists of
authentication and authorization.
Authentication is the process of validating the identity of a user. There are different
authentication methods that share a common trait: authentication is always
provided by a user ID and password. After a user is authenticated, authorization
lets that user access various resources based on identity.
Authorization determines which modules and applications a user can access,
which actions a user can perform, and which data a user can view, change, and
delete. Authorization is provided by membership in one or more security groups.
Authentication of users
In the Security Groups application, you can set up authentication to validate the
identity of a user. Authentication is the process of validating the identity of a user
through a user ID and a password.
You can authenticate users through the following methods:
Chapter 6. Implementing security
141
v You can use the application server and a Lightweight Directory Access Protocol
(LDAP) server, either with or without Virtual Member Manager. LDAP is a set of
protocols to access information directories.
v You can use a Web client server for native authentication.
142
If you implemented Lightweight Directory Access Protocol (LDAP), you create and
manage security groups in the LDAP server (unless you changed the default
behavior using the useappserversecurity property). To create and manage groups
in the LDAP server, put users in security groups. The combination of security
groups represents security profiles for users. Users acquire the authorizations and
rights of the security groups to which they belong.
Related tasks:
Authorizing application privileges for security groups on page 164
According to your security needs, you can grant a group specific privileges within
an application. These privileges include read, insert, save, and delete.
Application access for security groups:
In the Security Groups application, you can grant users access to specific
applications to refine security measures. Users can have read, insert, save, and
delete access to an application. The application access of a security group is linked
to site access. You can give a security group access to all sites, access to specific
sites, or no access to sites.
You can grant users specific options within an application. For example, you can
grant managers the right to read work order histories, costs, and warranties, but
not to insert work orders or service requests. You must configure each application
for read access so that administrative users can select additional application access
options.
All applications and their corresponding access options appear in the SIGOPTION
table, which contains the following types of column information:
v Application option description
v Application option name
v Visible
v Also grants
v Also revokes
v Prerequisite
The visible setting indicates whether a user can select the option in the Security
Groups application. If an option is not visible, the option is granted with another
option. The standard system options that are not visible include clear, bookmark,
next, previous, viewhist, and drilldown. For example, when you grant read access,
the invisible options, clear, bookmark, next, previous, viewhist, and drilldown, are
granted.
143
The values for the also grants, also revokes, and prerequisite access options
indicate relationships between options. For example, if you grant insert access for
an application, the also grants access option grants save access.
Standard access options are associated with prerequisite, also grants, and also
revokes, as described in the following table.
Table 29. Standard options for prerequisite, also grants, and also revokes access
Standard options
Standard prerequisite
Prerequisite
v Duplicate
v Insert
v Delete
v Save
Also grants
v Insert
v Save
v Read
Also revokes
v Read
v All options
v Save
v Insert, duplicate
v Insert
v Duplicate
144
145
Security profiles
A security profile is the list of rights a user derives from the security groups to
which the user belongs. The user rights define the ability of a user to access asset
management system applications and to perform specific application functions.
You can view a user security profile list in the Security Profile tab in the Users
application.
Before you can view a user security profile list, you must first create a user in the
Users application. You must then assign the user to a security group and allocate
group rights in the Security Groups application. When you assign a user to more
than one group, the user inherits the security rights from the assigned groups.
You can use the Security Groups application to define user rights according to the
following asset management system security components:
v Site
146
v
v
v
v
v
Application
Storeroom
Labor
GL Component
Limit and tolerance
v Data restriction
By default, the asset management system includes the following user rights:
v The ability to change and a password at login, even when a password expires
v The ability to access the asset management system start center
If your implementation uses a Lightweight Directory Access Protocol (LDAP)
directory server to authenticate an external directory, do not use the asset
management system security settings to perform the following functions:
v Self registration
v Password and password hint changes
147
148
Login tracking
You use login tracking to specify the number of allowed login attempts. You can
track the number of login attempts and view the current login status for a user.
You can also block further attempted logins by a user who exceeds the specified
number.
You use the Security Controls action to enable login tracking and to specify the
maximum number of unsuccessful logins. Login tracking is required if you use
electronic signature.
When login tracking is enabled, all successful and unsuccessful login attempts are
tracked. After each successful login, the maximum number of chances to log in is
149
reset. When users reach the maximum number, their status is changed to blocked.
They are prevented from logging in until an administrator changes their status.
If implementation uses an application server to authenticate with a directory, some
functions are performed in the directory and synchronized into the system. These
functions include adding users (including self-registration) and managing
passwords.
Data stored
Algorithm
CryptoX
User passwords
v One-way encryption
v Stores password in
encrypted format (cannot
be decrypted or displayed)
v Internally, the encrypted
version is used
Crypto
You can configure the encryption settings in the maximo.properties file. You can
configure the encryption data types to be consistent with industry guidelines and
government guidelines. You can also configure encryption to make your system
more secure: key, mode, padding, and spec. The following table describes the
encryption settings.
Table 31. Encryption settings
Encryption property
mxe.security.crypto.key
mxe.security.cryptox.key
mxe.security.crypto.mode
mxe.security.cryptox.mode
150
mxe.security.crypto.padding
v NoPadding
mxe.security.cryptox.padding
v PKCS5Padding
mxe.security.crypto.spec
mxe.security.cryptox.spec
IP address blocking
Depending on your security settings, IP addresses are blocked when an attack is
detected. You can view, add, and delete blocked IP addresses in the Manage
Blocked IP Addresses window of the Users application.
Security can be configured to block an IP address when too many login, forgotten
password, or self-registration attempts are made from the same address. For any
blocking to occur, the mxe.sec.IPblock property must be set.
In addition, if the mxe.sec.IPblock.MatchBoth property is set, an IP address is
blocked only if both the client host and the client address of the incoming request
match the values in the LONGINBLOCK table.
Self-registration attempts
If the number of concurrent self-registration attempts exceeds the value of the
mxe.sec.addusers.maxsets property, an error occurs and the requesting IP address
is blocked.
151
152
group. When the two security groups are combined, the user has access to pay
rate information in the Maintenance group.
v Data restrictions always combine across security groups by using the OR
operator regardless of whether the groups are marked as independent. For
example, take two security groups: one security group contains a READONLY
data restriction condition ":orgid [equals character] 'EAGLENA'". The second
security group contains a READONLY data restriction condition ":orgid [equals
character] 'EAGLEUK'". Regardless of whether one, both, or neither security
group is marked as independent, the restrictions combine to make the object or
attribute read only if the ORGID is EAGLENA _OR_ EAGLEUK.
Therefore, you must consider the conditions that you apply to data restrictions
carefully.
153
When you combine security groups, the following rules affect approval limits and
tolerances:
v The limits and tolerances that you authorize for a security group are at the
organizational level. Users inherit authorizations for only those sites to which
they have access.
v If there are two different approval limit values for the same limit, the higher
value is applied to the security profile for the user.
v If there are two different values for the same tolerance type, the higher value is
applied to the security profile for the user.
v If there are two different values for the same tolerance type, but the security
groups that grant the tolerance amount have sites in different organizations, the
higher value for sites within the same organization is applied to the security
profile for the user.
v If a user has access to two different organizations with different limits and
tolerances in each organization, the user inherits the limits and tolerances for
each site to which the user has access in each organization.
The security profile for a user lists the specified approval limits and tolerances.
154
v
v
v
v
v
155
Enabled
No
Yes
No
Yes
Yes
User self-registration
No
Change password
No
The user ID records that are created in the directory and in the system must be
identical for this setting to function correctly.
Related tasks:
Configuring the system to use application server security on page 174
You must configure the system to use application server security. However, if
application server security was configured through the installer, you do not have
to complete this procedure.
Configuring WebLogic Server for LDAP security on page 177
To implement configuration to use application server security, you configure your
application server to use Lightweight Directory Access Protocol (LDAP).
Configuring WebSphere Application Server for LDAP security on page 175
To implement configuration to use application server security, you configure your
application server, configure to use Lightweight Directory Access Protocol (LDAP).
.
156
Table 33. Security roles for WebSphere Application Server and WebLogic Server
Application server
Security role
Description
WebSphere Application
Server
WebLogic Server
For more information about securing resources for WebLogic Server, go to the
WebLogic Server Web site and search for securing resources. For more information
about types of resources for WebLogic Server, go to the WebLogic Server site and
search for types of resources.
For more information about WebSphere Application Server, go to the IBM
Information Center for WebSphere Application Server Network Deployment, and
search for security roles.
157
You add users and delete users and groups from the LDAP server, but the system
provides the authorization. By default, the property mxe.LDAPGroupMgmt is set so
that group creation and group membership is managed by the directory server.
You can configure all application-specific authorization rules for users and groups
using the security module applications. In the system, you disable password
information in the start center, the Change Password application, self-registration,
and the Users application.
LDAP server users and groups are moved into product database tables to identify
users as system users, and to provide user with details in system applications.
Users and groups that are deleted from the LDAP server are not deleted from
database tables; audits might be conducted for users or groups.
If user accounts are disabled from the LDAP server, the application server has to
expire the users cached information.
Before users can access the system, the application server authentication must be
passed. Application servers use role records to identify users and groups that have
access to the system. All roles that were configured in an application are mapped
to users or groups using application server-specific deployment descriptors or
application server-provided administrative tools.
158
v If you disable a user account in the LDAP directory server, that user account is
not disabled in the system.
Description
LDAPSYNC
Credential
LDAP credentials
GroupMapping
Host
Port
Principal
LDAP principal
SSLEnabled
SynchAdapter
SynchParameter
UserMapping
VMMSYNC
ChangePolling
Credential
GroupMapping
GroupSearchAttribute
Principal
SynchAdapter
UserMapping
UserSearchAttribute
The LDAP directory server maintains an attribute list for each user or group. Each
attribute has an associated data type, which you can query the server to see. The
LDAPSYNC cron task and VMMSYNC cron task only support string or character
data retrieval from the LDAP directory server.
The data mappings in the LDAPSYNC cron task and VMMSYNC cron task
parameters map LDAP attributes to system table columns. For the LDAPSYNC
cron task to create a database record, all of the required columns must contain
data. If all of the required column data cannot be obtained from the LDAP
directory server, you must specify default values. To specify default values for
159
columns, the value must be enclosed inside brackets; for example, {ABC} specifies
the value ABC in the column. The value is case-sensitive.
The synchronization task also supports special substitute values to generate unique
IDs and system dates. To generate a unique ID for a column, use the notation
{:uniqueid}; to generate system date, use the notation {:sysdate}.
Procedure
1. In the Security Groups application, click New Group.
2. Specify a name for the group.
3. Optional: Provide a group description and a name of the start center that
displays when a user in the group logs in. Users also can customize their start
centers or choose a default start center when they belong to groups with
different start centers.
4. Optional: If you do not want rights combined, select the Independent of Other
Groups check box. By default, rights are merged when groups that include
different sites are combined.
5. Optional: Specify a default application for the security group.
6. Save the group.
Results
Privileges or restrictions are not defined for the new security group.
What to do next
You can use functions in the Security Groups application to define the security for
the group. You can add users in the Security Groups application or the Users
application.
160
Related concepts:
Security groups and access to sites and applications on page 140
Security access is based on security groups. You configure security groups to
provide narrow access or broad access to applications, sites, and labor. You can
also provide access to general ledger components, approval limits and tolerances.
Procedure
In the Security Groups application, select the group whose start center you
want to assign.
2. Specify the name of the start center that displays when a user in the group logs
in.
3. Save your changes.
Related concepts:
Security groups and access to sites and applications on page 140
Security access is based on security groups. You configure security groups to
provide narrow access or broad access to applications, sites, and labor. You can
also provide access to general ledger components, approval limits and tolerances.
1.
Procedure
1. In the Security Groups application, select the group for which you want to
assign site access.
2. Click the Sites tab.
3. Select one of these options:
v To authorize the group to have access to all sites, select the Authorize Group
for All Sites check box. If you select this option, you cannot add rows.
v To authorize the group to have access to individual sites, click New Row and
specify the name of the site. After you select a site, the remaining fields are
populated.
4. Save your changes.
Related concepts:
Security groups and access to sites and applications on page 140
Security access is based on security groups. You configure security groups to
provide narrow access or broad access to applications, sites, and labor. You can
also provide access to general ledger components, approval limits and tolerances.
161
Procedure
1. In the Security Groups application, select the group to which you want to add
a user.
2. Click the Users tab.
3. Click New Row.
4. Select a user. The associated user information populates the other fields.
5. Save your changes.
Related concepts:
Security groups and access to sites and applications on page 140
Security access is based on security groups. You configure security groups to
provide narrow access or broad access to applications, sites, and labor. You can
also provide access to general ledger components, approval limits and tolerances.
Authorizing security group reassignments for users:
For security purposes, you can specify the users who are authorized to add or to
remove users from a security group.
Procedure
1. In the Security Groups application, select the group for which you want to
authorize group reassignment.
2. From the Select Action menu, select Authorize Group Reassignment.
3. In the Authorize Group Reassignment window, click New Row.
4. To authorize users, click Select Users.
5. Click OK.
Related concepts:
Authentication of users on page 141
In the Security Groups application, you can set up authentication to validate the
identity of a user. Authentication is the process of validating the identity of a user
through a user ID and a password.
Setting user defaults:
You use the Security Controls action to specify the defaults for user records. You
can access the Security Controls action from either the Security Groups application
or the Users application.
About this task
You can specify the following defaults for user records:
162
v Default security group for new users - New users are automatically assigned to
a security group. The default group defines their security permissions until they
are assigned to additional groups. The default group is MAXDEFLTREG. The
permissions for this group are limited to access to the Start Center. Users can
change their own passwords.
v Default status for new user records - The default status is NEWREG. The
NEWREG status allows you to search for new user records. You can also route
records into a workflow process.
v Group for all users - The default security group for global permissions is
MAXEVERYONE. When you select Group for All Users in Security Controls,
the user is added to MAXEVERYONE.
v Electronic signature dialog - When you select Display User ID in the Electronic
Signature Dialog in Security Controls, the system displays the user ID in the
window, and prompts the user to enter a password.
Your implementation might use an application server to authenticate with an
external directory by means of the Lightweight Directory Access Protocol (LDAP).
In this case, you do not use the system to perform some functions. These functions
include:
v Self registration - This function is not supported in conjunction with an external
directory.
v Setting or changing passwords and password hints - All password-related
functions are managed by the directory.
By default, when you use an application server for authentication, the directory
manages user and group creation. You can set properties to allow user and group
creation to be performed directly in the system. The settings of these properties
result in certain features being enabled or disabled in the system.
Procedure
1. From the Select Action menu, select Security Controls.
2. In the User Defaults section, specify the following defaults:
a. In the Default Group for New Users field, type the name of the group, or
click Detail Menu.
b. In the Initial Self-Registered User Status field, type a user status.
c. In the Group for All Users field, specify the group for global permissions.
The default is MAXEVERYONE.
d. Select the Display User ID in the Electronic Signature Dialog check box to
display the user ID in the window when the system prompts users to enter
their passwords. If you implement electronic signatures, you must enable
login tracking.
3. Click OK.
163
Procedure
1. In the Security Groups application, select a security group and then click the
Applications tab.
2. In the Applications section, search for Start Center.
3. In the Options for Start Center section, select Can Log In During Admin Mode
and click Grant Listed Options for This Application.
Related concepts:
Authentication of users on page 141
In the Security Groups application, you can set up authentication to validate the
identity of a user. Authentication is the process of validating the identity of a user
through a user ID and a password.
Procedure
1. In the Security Groups application, select the relevant group.
2. Click the Applications tab.
3. In the Applications table window, select the application. The options for the
selected application are listed in the Options table window.
4. Select one of the following options:
v To grant the privileges to all listed applications, click Grant Listed
Applications.
v To remove privileges to all listed applications, click Revoke Listed
Applications.
5. Select one of the following privileges:
Option
Description
Read
Insert
Save
Delete
All Above
The options that you selected are listed in the Options table window.
6. In the Options table window, select one of the following options:
v To grant access to specific options, select the relevant check boxes.
164
v To grant access to all options, click Grant Listed Options for This
Application.
7. Optional: In the Options table window, select a conditional expression that
conditionally grants the group the privileges for that option.
8. Save your changes.
9. For your changes to take affect, log out and then log in again.
Related concepts:
Authorizations for security groups on page 143
You use the Security Groups application to grant authorizations to security groups.
Application access for security groups on page 143
In the Security Groups application, you can grant users access to specific
applications to refine security measures. Users can have read, insert, save, and
delete access to an application. The application access of a security group is linked
to site access. You can give a security group access to all sites, access to specific
sites, or no access to sites.
Procedure
1. In the Security Groups application, select the group for which you want to
authorize storeroom transactions.
2. Click the Storerooms tab.
3. Optional: Authorize the group to have access to all storerooms. If you select
this option, you cannot create individual storerooms.
4. Optional: To authorize the group to have access to individual storerooms,
perform the following steps:
a. Click New Row.
b. Specify a site and a storeroom. When you specify a storeroom value before
you specify a site value, you choose from all storerooms, including those
with the same name that are in different sites. After you select a storeroom,
the Site field is automatically populated.
5. Save your changes.
Related concepts:
Combination of security groups on page 152
In the Security Groups application, you can combine security groups to manage
the security infrastructure within or across organizations.
Combination of security groups - rules for storeroom authorization on page 155
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile.
165
Procedure
1. In the Security Groups application, select the group for which you want to
authorize labor information.
2. Click the Labor tab.
3. Select one of the following labor authorization options:
Option
Description
v For the group to have access to all labor information, select the Authorize
Group for All Labor check box. If you select this option, the other
labor-related selections are read-only.
v For the group to have access to a limited set of records, make sure the
Authorize Group for All Labor check box is clear. Select options to authorize
labor in the same crew, labor in the same person group, labor they supervise,
and their own labor.
v For the group to have access to individual labor records, click New Row and
specify values for organization and labor.
4. Save your changes.
Related concepts:
Combination of security groups on page 152
In the Security Groups application, you can combine security groups to manage
the security infrastructure within or across organizations.
Combination of security groups - rules for labor authorization on page 154
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile.
166
Procedure
1. In the Security Groups application, select the group for which you want to
grant general ledger component access.
2. Click the GL Components tab.
3. Optional: Authorize the group to access all general ledger components. If you
select this setting, the settings in the GL Components table window are
read-only.
4. Optional: Authorize the group to access individual general ledger components.
5. Save your changes.
Related concepts:
Combination of security groups on page 152
In the Security Groups application, you can combine security groups to manage
the security infrastructure within or across organizations.
Combination of security groups - rules for authorization of general ledger
components on page 154
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile.
Procedure
1. From the Select Action menu in the Security Groups application, choose
Standard Service Authorization.
2. In the Standard Service Authorization window, click New Row.
3. Specify values for service, method, and option. After you specify these values,
the Application field is populated with a value.
4. Click OK.
Results
The standard service is assigned a signature option. Any user that calls the
standard service by means of the integration framework (HTTP, EJB, or SOAP)
requires their authorization to the signature option to execute the standard service.
167
Related concepts:
Combination of security groups on page 152
In the Security Groups application, you can combine security groups to manage
the security infrastructure within or across organizations.
Combination of security groups - rules for application authorization on page 153
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile for a
user.
Combination of security groups - rules for site authorization on page 155
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile.
Procedure
1. In the Security Groups application, select the group for which you want to
override the password duration.
2. From the Select Action menu, select Override Password Duration.
3. Specify the number of days that the password is to be valid for this group.
4. Specify the number of days before users in the group are alerted that the
password is set to expire.
5. Click OK.
Related concepts:
Combination of security groups on page 152
In the Security Groups application, you can combine security groups to manage
the security infrastructure within or across organizations.
Combination of security groups - rules for application authorization on page 153
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile for a
user.
Combination of security groups - rules for site authorization on page 155
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile.
168
Procedure
1. In the Security Groups application, select the group for which you want to set
restrictions.
2. On the Data Restrictions tab, select the type of restriction:
v To specify restrictions on objects, click Object Restrictions.
v To specify restrictions on attributes, click Attribute Restrictions.
3. Click New Row.
4. In the Object field, specify the table or view on which to set the restriction.
5. Optional: If you are specifying an attributes restriction, specify the attribute that
you want to restrict.
6. Optional: In the Application field, specify the application to which you are
applying the restriction. Leave the field blank to apply the restriction to all
applications that use the object or attribute.
7. Specify the type of restriction.
8. Optional: Specify the following options for restrictions:
Option
Description
Reevaluate
Condition
Procedure
1. In the Security Groups application, select the group for which you want to set
restrictions.
2.
3.
4.
5.
6.
7.
169
Results
When you specify a collection restriction, a series of associated object restrictions is
created. You can view this read-only series on the Object tab.
Related concepts:
Combination of security groups on page 152
In the Security Groups application, you can combine security groups to manage
the security infrastructure within or across organizations.
Combination of security groups - rules for application authorization on page 153
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile for a
user.
Combination of security groups - rules for site authorization on page 155
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile.
Procedure
1. Optional: In the Conditional Expression Manager application, create one or
more conditions to be evaluated to control access.
2. From the Select Action menu in the Security Groups application, select Global
Data Restrictions.
3. In the Global Data Restrictions window, select one of the following options:
v Specify an object restriction.
v Specify an attribute restriction.
4. Click New Row.
5. Specify a value for the object or attribute. The object is the table or the view on
which you set the restriction.
6. In the Type field, select the type of restriction that you want to set:
v Select the application you want to apply the restriction to.
v Leave the Type field blank for the restriction to apply to all applications that
use the object or attribute.
7. Optional: If you want the restriction condition to be reevaluated when a user
navigates away from a field, select the Reevaluate check box. If you do not
select this check box, restriction conditions are still reevaluated, but only after
you save the changes that you make to a field.
8. Optional: Specify a condition.
9. Click OK.
170
Related concepts:
Combination of security groups on page 152
In the Security Groups application, you can combine security groups to manage
the security infrastructure within or across organizations.
Combination of security groups - rules for data restrictions on page 152
When you combine independent or non-independent security groups, you use
restrictions to specify the records that are visible to members of a security group.
Procedure
1. In the Security Groups application, select the group for which you want to set
limits and tolerances.
2. Click the Limits and Tolerances tab.
3. Click New Row.
4. Specify an organization. After you specify an organization, the Base Currency
field, which is read-only, is populated with the base currency 1 for each
organization. You must use this currency in setting limits.
5. Optional: Specify the values for limits. When you create a record, the values in
these fields default to 0. A value of 0 in a field indicates that the group has a
limit of 0. A blank field means that the group has unlimited approval
permissions.
Option
Description
PR Limit
PO Limit
MR Limit
Invoice Limit
Contract Limit
6. Optional: Specify the upper and lower tolerances for invoices, taxes, and
services. Use by amount or percent.
7. Save your changes.
Related concepts:
Combination of security groups - rules for approval limits and tolerances on
page 153
In the Security Groups application, you combine the independent security groups
or the security groups that are not independent to generate a security profile.
171
Procedure
1. In the directory server, delete the users from the security group that you want
to delete. You must wait until the VMMSYNC cron task has fully synchronized
the users and security groups in the directory server with the users and groups
in the system.
2. Delete the security group in the directory server.
3. In the Security Groups application, select the group containing the relevant
user.
4. Click the Users tab.
5. Delete the user.
6. Save your changes
Related concepts:
Security groups and access to sites and applications on page 140
Security access is based on security groups. You configure security groups to
provide narrow access or broad access to applications, sites, and labor. You can
also provide access to general ledger components, approval limits and tolerances.
172
Procedure
1. In the directory server, delete the users from the security group that you want
to delete. You must wait until the VMMSYNC cron task has fully synchronized
the users and security groups in the directory server with the users and groups
in the system.
2. Delete the security group in the directory server.
3. In the Security Groups application, select the group that you want to delete.
4. From the Select Action menu, select Delete Group.
5. Click Yes.
What to do next
If implementation uses an application server to authenticate with an external
directory (by means of LDAP), a user that is deleted in the directory is not
automatically deleted in the system. You must manually delete it.
Related concepts:
Security groups and access to sites and applications on page 140
Security access is based on security groups. You configure security groups to
provide narrow access or broad access to applications, sites, and labor. You can
also provide access to general ledger components, approval limits and tolerances.
Procedure
1. Access maximo.properties in a text editor.
2. Open a command shell and go to <Maximo root> \tools\maximo folder.
3. Type encryptproperties to run the batch file. The old file is renamed with an
*_orig extension; for example, maximo.properties_orig.
4. Confirm that the new file contains an encryption string at the end.
5. Store the unencrypted originals (with the *_orig extension) outside the system
file structure.
173
Related concepts:
Encryption and security on page 150
The data types Crypto, and CryptoX are used to encrypt passwords and other
types of confidential information. The Java Cryptography Extension (JCE) is used
to perform encryption.
Procedure
1. Delete the encrypted maximo.properties.
2. Restore the unencrypted originals back into the <Maximo root>
\applications\Maximo\properties folder.
3. Remove the _orig extensions from the file.
4. Make your changes, then re-encrypt the file.
Related concepts:
Encryption and security on page 150
The data types Crypto, and CryptoX are used to encrypt passwords and other
types of confidential information. The Java Cryptography Extension (JCE) is used
to perform encryption.
Procedure
1. In the System Properties application, set the value of the
mxe.useAppServerSecurity property to 1.
2. For each web.xml file that sets the useAppServerSecurity value, modify the
XML code:
a. Uncomment one of the <login-config> sections for FORM or BASIC login.
b. Set the value of <useAppServerSecurity> to 1.
c. Uncomment the <security-constraint> section.
3. To build the EAR file, change the directory to your install_home\deployment
folder, and specify buildmaximoear.
4. Deploy the EAR file in the appropriate application server.
5. Synchronize the users and groups from LDAP into the system using the cron
task.
174
What to do next
To configure to use application server security, you must configure your
application server for LDAP security.
Related concepts:
Security roles for the application server on page 156
When you enable application server security, you can use roles to manage security.
Single sign-on environment for application server security on page 157
When you enable application server security, you can use a single sign-on
environment. This environment enables a user to provide one name and password
to access multiple applications.
LDAP data synchronization on page 158
Data synchronization keeps system data current with data in the Lightweight
Directory Access Protocol (LDAP) directory server. Synchronized data moves only
from the LDAP directory server to the system.
Application server security - properties for user and group management on page
156
After you enable application server security, you can configure the properties for
group and user management to define whether the directory owns group creation,
or user creation and management.
Procedure
1. Complete the procedure to configure WebSphere Application Server to use
LDAP security. For specific instructions on how to configure WebSphere
Application Server, see the WebSphere Application Server Information Center,
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp, and
at
search for WebSphere Active Directory.
2. Restart the application server.
3. Deploy the system and map the security role, maximouser, to the users and
groups that meet the requirements for your organization, or assign the users to
the default group, maximousers, in the LDAP system.
175
Related concepts:
Security roles for the application server on page 156
When you enable application server security, you can use roles to manage security.
Single sign-on environment for application server security on page 157
When you enable application server security, you can use a single sign-on
environment. This environment enables a user to provide one name and password
to access multiple applications.
LDAP data synchronization on page 158
Data synchronization keeps system data current with data in the Lightweight
Directory Access Protocol (LDAP) directory server. Synchronized data moves only
from the LDAP directory server to the system.
Application server security - properties for user and group management on page
156
After you enable application server security, you can configure the properties for
group and user management to define whether the directory owns group creation,
or user creation and management.
Procedure
1. Configure the Virtual Member Manager to use the first directory server. If you
choose to have Maximo Asset Management configure a directory server
during the installation process, skip this step.
176
2. Follow the same set of steps to configure the Virtual Member Manager to use
the second directory server. Be sure that the Realm name value is the same as
the value for the first directory server. Give the second directory server a
different Repository identifier.
3. After the installation of Maximo Asset Management is complete, log in to the
Maximo Asset Management interface, and click Go To > System
Configuration > Platform Configuration > Cron Task Setup.
4. Type VMM in the Cron Task field, and press Enter.
5. Locate the VMMSYNC cron task, and click it.
6. Set the task to active. This task completes the configuration of the cron task
for the first directory server.
7. Duplicate the existing VMMSYNC cron task and modify these fields:
v Group Mapping
v User Mappings
Ensure that the BaseDN for both group mappings and user mappings
parameters is provided correctly. The BaseDN value instructs the VMMSync
crontask to search for users and groups in a particular location in the
directory server. The BaseDN value for user and group always ends with the
base entry value provided when federating the directory server under Virtual
Member Manager.
The principal and credential values must remain the same as the first
directory server.
8. Schedule the task to run every 5 minutes (or a different interval if you prefer),
set it to active, and set it to keep history records.
9. Save the task.
10. After 5 minutes, check whether the task has run and restart it if it has not.
11. After both cron tasks have run, click Go To > Security > Users and verify that
users from both directory servers appear in the list.
Procedure
1. Complete the procedure to configure WebLogic Server to use LDAP security.
For specific instructions on how to configure WebLogic Server, see the
WebLogic Server documentation, and search for WebLogic Active Directory.
2. Restart the application server.
3. Deploy the system and map the security role, maximouser, to the users and
groups that meet the requirements for your organization, or assign the users to
the default group, maximousers, in the LDAP system.
177
Related concepts:
Security roles for the application server on page 156
When you enable application server security, you can use roles to manage security.
Single sign-on environment for application server security on page 157
When you enable application server security, you can use a single sign-on
environment. This environment enables a user to provide one name and password
to access multiple applications.
LDAP data synchronization on page 158
Data synchronization keeps system data current with data in the Lightweight
Directory Access Protocol (LDAP) directory server. Synchronized data moves only
from the LDAP directory server to the system.
Application server security - properties for user and group management on page
156
After you enable application server security, you can configure the properties for
group and user management to define whether the directory owns group creation,
or user creation and management.
Procedure
1. Open the Cron Task Setup application and select the appropriate cron task:
Option
Description
2. On the Parameters tab of the Cron Task tab, select the UserMapping parameter
and review the value.
3. If the value of the UserMapping parameter is smaller in the system tables,
select the LDAPSYNCCRONPARM object in the Database Configuration
application.
4. On the Attributes tab, select the UserMapping attribute, increase the length of
the field, and save the attribute.
178
What to do next
You must ensure the cron tasks are active and then synchronize the data.
Related concepts:
LDAP data synchronization on page 158
Data synchronization keeps system data current with data in the Lightweight
Directory Access Protocol (LDAP) directory server. Synchronized data moves only
from the LDAP directory server to the system.
Procedure
1. Open the Cron Task Setup application and select the appropriate cron task:
Option
Description
2. In the Cron Task Instances section of the Cron Task tab, select the Active check
box.
3. Specify a schedule for the cron task and save the changes. Allow the cron task
run to synchronize all the users and groups from the LDAP directory server
into the database tables.
Related concepts:
LDAP data synchronization on page 158
Data synchronization keeps system data current with data in the Lightweight
Directory Access Protocol (LDAP) directory server. Synchronized data moves only
from the LDAP directory server to the system.
179
Procedure
1. Open the Cron Task Setup application and select the VMMSYNC cron task.
2. Select the ChangePolling parameter and specify the value as 1.
3. Save the cron task.
4. From the Select Action menu, click Reload Request.
Related concepts:
LDAP data synchronization on page 158
Data synchronization keeps system data current with data in the Lightweight
Directory Access Protocol (LDAP) directory server. Synchronized data moves only
from the LDAP directory server to the system.
Procedure
1. From the Select Action menu, select Security Controls. You use the Security
Controls window to perform the following functions:
180
Option
Description
181
Option
Description
2. Click OK.
Generating passwords
You can configure the asset management system to generate user passwords. These
generated passwords can then be sent as e-mail notifications to asset management
system users.
Procedure
1. From the Select Action menu in the Users or the Security Groups application,
select Security Controls.
2. In the Template for Emailing Reset Passwords field, enter a template value.
3. In the Automatic Password Generation table window, select one of the
following options:
182
Procedure
1. From the Select Action menu in the Security Groups or Users application, select
Security Controls.
2. In the Security Controls window, specify whether you want to enable the login
tracking:
Option
Selected
Cleared
Description
Days Before Previously Used Password can The number of days before a user can use a
be Reused
previously used password. If this value is 0,
the asset management system does not
check for password reuse.
4. Click OK.
183
184
Users overview
You can use the Users application to manage users. User records contain user
names, passwords, and security profiles that determine the applications, options,
and data to which a user can access.
Administrative users
Administrative users have full or restricted access to the Security Groups
application and to the Users application. Administrative users are responsible for
implementing and maintaining security services, such as adding users, building
profiles, or managing general site administration.
Administrative users might need access to the following applications to perform
system administration"
v Actions
v Application Designer
v Calendars
v Chart of Accounts
v Classifications
v Communication Templates
v
v
v
v
185
v
v
v
v
v
E-mail Listeners
Escalations
Exchange Rates
Integration
Launch in Context
v
v
v
v
v
v
v
Logging
Object Structures
Organizations
Roles
Security Groups
Sets
System Properties
v
v
v
v
Users
Web Services Library
Workflow Administration
Workflow Designer
Some users might assign management functions that are administrative in nature
to supervisors or managers, especially in the areas of Information Technology Asset
Management and Service Desk operations. These users are not considered
administrative users.
Related tasks:
Adding users on page 193
To manage users, you can create records that contain user names, passwords, and
security profiles. These records determine which applications, options, and data
that user can access.
Assigning users to security groups on page 194
To manage security settings and to grant user privileges, you can assign users to
security groups. New users are assigned to the default group (MAXDEFLTREG)
and the group for all users (MAXEVERYONE). The default group is used to give
newly registered users basic privileges, and the group for all users is used to
specify global settings.
Changing persons associated with users on page 195
You can manage your work force information by associating user IDs with specific
person records. Once an association is no longer being used, you can reuse the
user ID with another person record.
Changing user settings on page 197
You can change user settings, such as the settings for storerooms and insert sites,
and settings for screen reader access.
Database users
Database users are granted access to read, insert, update, and delete specific objects
that define a set of fields and business rules. These objects can also update one or
more database tables.
In the Users application, you use the Database Access action to create database
users. If you implement databases that need operating system IDs, you must create
the operating system ID.
The default database username is maximo.
186
The following commands detail the standard authorizations that are required:
v Create user dbusername identified by the system
v Alter user dbusername default table space quota as unlimited
v Alter user dbusername temporary table space temp
v Grant create trigger to dbusername
v
v
v
v
v
v
v
Grant
Grant
Grant
Grant
Grant
Grant
Grant
Grant
Grant
Grant
Grant
System users
There are certain user IDs, like MAXADMIN and MAXREG, that are required for
the system to run properly. These user IDs are known as system users
The system users MAXADMIN and MAXREG are part of the database. To create
system users, you use the system account option in the Users application. You
cannot delete a system user.
187
Optional information
First name
Last name
Answer
User name
Supervisor
Password
Confirm password
Default storeroom
Primary email
Primary phone
Language
Locale
Time zone
Additional information
188
The following table lists the registration information that is hidden from the user.
Table 36. User self-registration hidden information
Hidden information
Setting
User status
Person ID
User name
Defaults to yes
Person status
Defaults to active
Transaction notifications
Defaults to never
Workflow notifications
Defaults to process
Defaults to yes
Security controls
You can implement security controls, such as setting passwords and password
hints for users, and creating security profiles.
Related tasks:
Implementing security for users on page 199
You must implement security for users, such as specifying security groups,
specifying passwords, and specifying security profiles.
Password expiration
In the Users application, you can use the Security Controls action to specify
settings for password expiration. These settings include the number of days for the
duration of a password, warning of password expiration, and the number of days
before a password can be reused.
Automatic passwords
In the Users application, you can use the Security Controls action to specify the
random generation of passwords. After the password is generated, an email
notification is sent to the appropriate user. You can also specify that generated
Chapter 7. Registering users
189
passwords are either sent in an email notification to the user or that generated
passwords are displayed on the screen.
Password requirements
In the Users application, you can use the Security Controls action to specify the
following password requirements:
v Minimum password length.
v The number of identical adjacent characters.
v If a password can contain a login ID.
v Required password characters, such as uppercase and lowercase characters,
numbers, and special characters.
v Allowed placement of password characters, such as whether the first or last
character can be a number, or if the first or last character can be a special
character.
Remembering passwords
Users can use the Password Information action, available from the Profile menu,
to set their own password, password hint question, and password hint answer.
190
When users reset their password, they can select a password hint and provide the
answer.
Confirming identity
Administrators and help desk agents can require users to answer the password
hint question correctly before they can reset password. Administrators and help
desk agents can also change the password hint question and answer for a user.
Resetting passwords
Before logging in, users can use the forgot your password link to reset passwords
by providing their password hint question, email address, and password hint
answer.
191
You can grant a user authorization to read, insert, update, and delete specific
objects that define a set of fields and business rules, and that update one or more
database tables. Before you can grant database access, you must complete
additional steps to grant authorization to database users. To provide a user
complete database authorization, use the tools and procedures of your database
platform.
Database passwords
The database user ID and password do not have to be the same. However, the
database password must meet the requirements of your database platform. For
example, if you are using the Oracle database platform, you cannot create a
password with certain special characters that Oracle does not support.
You use the Change Password action to change a password for database users. You
can set a database user password to match a system password. However, the
database user password must support the password requirements. Users cannot
change their own database passwords.
User statuses
User statuses determine how users can interact with the system.
A user record can have one of the following statuses:
Active The default status for new records. To log in, a user record must be active.
Blocked
Users cannot log in. When login tracking is enabled, a user can be blocked
when they incorrectly enter their name or password beyond the number of
times specified in security controls. Blocked is a system-generated status;
you cannot use the Change Status action to change a status to blocked.
Deleted
The user was deleted but the user name has been retained because login
tracking is enabled. You can configure login tracking in the Security
Controls window. If login tracking is not enabled, all evidence of a user
that is deleted is removed from the database and the user name can be
reused. If login tracking is enabled, the user name is retained in the
192
MAXUSER table with a status of deleted and the user name cannot be
reused. User names that have a status of deleted are not displayed in the
Users application.
Inactive
Users cannot log in. Inactive user records do not appear in select value lists
and cannot be associated with new records.
Newreg
The default status for user records that are created using self-registration.
This status is used to identify user records to route into a workflow
process.
When you use a directory server for authentication, the blocked status and newreg
status are not available.
Adding users
To manage users, you can create records that contain user names, passwords, and
security profiles. These records determine which applications, options, and data
that user can access.
Procedure
1. In the User application, click New User.
2. Optional: In the User field, type a unique user identifier. If you use
autonumbering, the User field is already populated.
3. Optional: If no matching person record is found, select one of the following
options to create a person record:
v To create a person record based on information in the Personal section of the
user record, click Yes.
v To select an existing person record, click No. In the Person field, select the
person record.
v To create a person record, click No. In the Person field, select Detail Menu
and then select Go to People.
4. Optional: In the User Name field, type a value. The user name defaults to the
ID name in the User field. This value is used to log in. You can change the user
name to an employee number or email address.
Chapter 7. Registering users
193
Description
System Account
Results
The user is assigned to the default security group, MAXDEFLTREG.
What to do next
To have security authorizations, a new user must be assigned to security groups.
Related concepts:
Administrative users on page 185
Administrative users have full or restricted access to the Security Groups
application and to the Users application. Administrative users are responsible for
implementing and maintaining security services, such as adding users, building
profiles, or managing general site administration.
194
Procedure
1. In the Users application, select the user to whom you would like to assign
security groups and select the Groups tab.
2. In the Groups section, complete one of the following steps.
Option
Description
3. Click OK.
Related concepts:
Administrative users on page 185
Administrative users have full or restricted access to the Security Groups
application and to the Users application. Administrative users are responsible for
implementing and maintaining security services, such as adding users, building
profiles, or managing general site administration.
Procedure
1. In the Users application, access the user whom you want to authorize.
2. From the Select Action menu, select Authorize Group Reassignment.
3. To authorize assignments to security groups, select one of the following
options:
v To authorize one security group, in the Group field, specify a group.
v To authorize several security groups, click Select Groups and select the
check boxes next to the groups that you want to add.
4. Click OK.
Procedure
1. In the Users application, access the user for whom you want to make an
association.
2. From the Select Action menu, select Change Person.
3. In the New Person field in the Change Person window, specify a new person
record.
Chapter 7. Registering users
195
4. Click OK.
Example
For example, there is a user ID with the value of contractor 1 that is associated
with Bob Smith from XYZ Consulting. The contract for Bob Smith expired.
Therefore, you can associate the user ID, contractor 1, with another user ID.
Related concepts:
Administrative users on page 185
Administrative users have full or restricted access to the Security Groups
application and to the Users application. Administrative users are responsible for
implementing and maintaining security services, such as adding users, building
profiles, or managing general site administration.
Procedure
1. From the List tab in the Users application, select the users whose statuses you
want to change.
2.
3.
4.
5.
Example
When users exceed the number of allowed unsuccessful login attempts, their status
is changed to inactive. To allow the users to log in, you change their status to
active.
Related concepts:
User statuses on page 192
User statuses determine how users can interact with the system.
Procedure
1.
2.
3.
4.
196
In the Users application, open the user whose status you want to change.
From the Select Action menu, select Change Status.
Select a new status.
Optional: In the Memo field, enter the reason for the status change.
5. Click OK.
Example
When a user exceeds the number of allowed unsuccessful login attempts, their
status is changed to inactive. To allow the user to log in, you change the status to
active.
Related concepts:
User statuses on page 192
User statuses determine how users can interact with the system.
Procedure
1. In the Users application, access the user for whom you want to change the
inactive site access setting.
2. In the User Settings section, select the Can Access Inactive Sites check box.
3. Save your changes.
Procedure
1. In the Users application, access a user record.
2. Change the value in the Language field, Locale field, or Time Zone field.
3. Save your changes.
Procedure
1. In the Users application, open a user record.
2. In the User Settings section, select the Use Screen Reader check box.
3. Save your changes.
197
site, you assign a user a default insert site to insert records. The records that the
user can view pertain only to the default insert site.
Procedure
1. In the Users application, open the record for the user whose settings you want
to change.
2. Change the values for one or more of these settings:
v In the Default Insert Site field, specify a value.
v In the Storeroom Site for Self-Service Requisitions field, specify a value.
v In the Default Storeroom for Self-Service Requisitions field, specify a
value.
3. Save your changes.
Related concepts:
Default insert sites for users on page 192
In the Users application, you assign users to a default insert site to insert records.
The records that users view pertain only to the default insert site. Without a
default insert site, some applications cannot function. For example, without a
default insert site, users cannot add purchase orders in a site-level application.
Procedure
1. In the Users application, select the users whose settings you want to change.
2. From the Select Action menu, select Set Security Profile.
3. To change the settings, complete these steps:
a. In the Update User Defaults section, select the Edit check box for the setting
that you are changing.
b. Change the value for the default insert site, select the default insert site as a
display filter, change the default storeroom site for self-service requisitions
or change the default storeroom site for self-service requisitions.
4. Click OK.
5. Save your changes.
Related concepts:
Default insert sites for users on page 192
In the Users application, you assign users to a default insert site to insert records.
The records that users view pertain only to the default insert site. Without a
default insert site, some applications cannot function. For example, without a
default insert site, users cannot add purchase orders in a site-level application.
Procedure
1. In the Users application, open the record for the user for whom you want to
change the general ledger account.
198
Procedure
1. In the User application, click New User.
2. In the New Password section in the Set Password window, generate a random
password or specify a password.
3. To send an email message with the password to the user, select the email
Password to User check box. This check box is read-only and is selected when
the Always email Generated Passwords to Users (Never Display on Screen)
check box in the Security Controls window is selected. This check box is
editable when the Allow Generated Passwords to Be Displayed on Screen
option in the Security Controls window is selected.
4. Optional: Specify that the user change their password when logging in for the
first time.
5. Click OK.
Related concepts:
Passwords for users on page 189
For security purposes, users must define a password before logging in.
Password hints for users on page 190
Password hints help users remember the passwords that they created and they
require users to confirm their identity before an administrator resets passwords.
Password hints also help users when they reset passwords.
199
Procedure
1. In the Users application, access the user whose password you want to change.
2. Click Set Password.
3. In the New Password section, generate a random password or specify a
password.
4. To send an Email message with the password to the user, select the Email
Password to User check box. This check box is read-only and selected when the
Always Email Generated Passwords to Users (Never Display on Screen)
check box in the Security Controls window is selected. This check box is
editable when the Allow Generated Passwords to Be Displayed on Screen
option in the Security Controls window is selected.
5. To have the user be able to change their password upon initial login, select the
Password Should Expire After First Login check box.
6. To synchronize this password with a database password, select the Also
Change Database Password to This Password check box. The check box is
read-only when the user ID does not have a database user ID. The check box is
editable when the user ID has a database user ID that was created in the
system.
7. Click OK.
What to do next
If you change a password for a default user (such as a system user for
self-registration), then you also must change the associated property. These
properties include mxe.adminPasswd and mxe.system.regpassword. You use the
System Properties application to change these properties.
Related concepts:
Passwords for users on page 189
For security purposes, users must define a password before logging in.
Password hints for users on page 190
Password hints help users remember the passwords that they created and they
require users to confirm their identity before an administrator resets passwords.
Password hints also help users when they reset passwords.
200
Procedure
1. In the Users application, open record for the user whose password hint you
want to define.
2. From the Select Action menu, select Set Password Hint.
3. In the Set Password hint window, define the password hint question.
4. Type the answer to the question.
5. Click OK.
What to do next
Users also can set their own password hint by selecting Password Information.
Related concepts:
Passwords for users on page 189
For security purposes, users must define a password before logging in.
Password hints for users on page 190
Password hints help users remember the passwords that they created and they
require users to confirm their identity before an administrator resets passwords.
Password hints also help users when they reset passwords.
Procedure
1. In the Users application, select the user to whom you would like to assign
security groups and select the Groups tab.
2. In the Groups section, click Select Groups.
3. Complete one of the following steps:
v Select the check box next to the security group that you want to select.
v To select all of the groups, select the Group check box in the table heading
row.
4. Click OK.
201
Procedure
1. In the Users application, select one or more users.
2. From the Select Action menu, select Set Security Profile. If you selected
multiple users, the User Count field displays the number of users.
3. In the Set Security Profile window, select whether you want to add, remove, or
replace groups.
4. Click New Row and specify a group.
5. In the Update User Defaults section, select the Edit check box for each default
that you want to specify, and specify a value for each default.
6. Click OK.
Results
The number of records that you updated is not always the same as the number in
the User Count field. A record is not updated unless the change affects the current
security profile. For example, if the security profile for a user contains groups A
and B and you add group A, then the record for the user is not updated.
Related concepts:
Security profiles for users on page 191
You can specify the security profile for a user. You can assign the user to groups
and set other security attributes. These attributes include default insert sites,
storeroom sites, and default storerooms.
Procedure
1. In the Users application on the List tab, select the user records for which you
want to specify security profiles.
2. From the Select Action menu, select Set Security Profile. In the Set Security
Profile window, the User Count field displays the number of users that you
selected.
3. In the Set Security Profile window, select whether you want to add, remove, or
replace groups.
4. Click New Row and specify a group.
5. In the Update User Defaults section, select the Edit check box above the default
settings that you want to specify.
6. Specify settings for default insert site, use default insert site as a display filter,
storeroom site for self-service requisitions, and default storeroom for
self-service requisitions.
7. Click OK.
Results
The number of records that you updated is not always the same as the number in
the User Count field. A record is not updated unless the change affects the current
security profile. For example, if the security profile for a user contains groups A
and B and you add group A, then the record for the user is not updated.
202
Related concepts:
Security profiles for users on page 191
You can specify the security profile for a user. You can assign the user to groups
and set other security attributes. These attributes include default insert sites,
storeroom sites, and default storerooms.
Procedure
1. In the Users application, access the user who needs database access.
2. From the Select Action menu, select Database Access.
3. In the Database Access window, type an ID for the user. The ID must meet the
requirements of the database platform and can be different from the user ID.
4. In the Database Password field and Confirm Password fields, type a database
password. This password can be different than the user password.
5. To grant a user access to specific tables or objects in the database, complete the
following steps:
a. Click New Row.
b. Specify the name of the object. The name of the entity populates the Entity
Name field.
c. To define user rights to the tables associated with the object, select the Read,
Insert, Update and Delete check boxes.
6. Click OK.
Procedure
1. In the Users application, open the user for whom you want to change database
access.
2. From the Select Action menu, select Database Access.
203
3. In the Database Access window, remove specific object rights; and add, delete,
or change the rows.
4. Click OK.
Related concepts:
Database users on page 186
Database users are granted access to read, insert, update, and delete specific objects
that define a set of fields and business rules. These objects can also update one or
more database tables.
Database access for users on page 191
By default, users do not have authorization to access the database. However, in
some instances, users need access to the database. For example, a user might need
database authorization to view tables and columns to create reports.
Procedure
1. In the Users application, access the user for whom you want to delete database
access.
2. From the Select Action menu, select Database Access.
3. In the Database Access window, click Drop Database User.
4. Click OK.
Procedure
1. From the Select Action menu in the Users applications, select Manage
Sessions.
2. Click the Current Sessions tab. The information in the Current Sessions table
windows is read-only. You can sort and filter the information in each column,
and also download it.
3. In the Current Sessions table window, click View Details for the user who you
want to manage.
4. Log out the user or log out and block the user.
204
Procedure
1. From the Select Action menu in the Security Groups or Users application, select
Security Controls.
2. In the Security Controls window, specify whether you want to enable the login
tracking:
Option
Selected
Cleared
Description
Days Before Previously Used Password can The number of days before a user can use a
be Reused
previously used password. If this value is 0,
the asset management system does not
check for password reuse.
4. Click OK.
205
v Default security group for new users - New users are automatically assigned to
a security group. The default group defines their security permissions until they
are assigned to additional groups. The default group is MAXDEFLTREG. The
permissions for this group are limited to access to the Start Center. Users can
change their own passwords.
v Default status for new user records - The default status is NEWREG. The
NEWREG status allows you to search for new user records. You can also route
records into a workflow process.
v Group for all users - The default security group for global permissions is
MAXEVERYONE. When you select Group for All Users in Security Controls,
the user is added to MAXEVERYONE.
v Electronic signature dialog - When you select Display User ID in the Electronic
Signature Dialog in Security Controls, the system displays the user ID in the
window, and prompts the user to enter a password.
Your implementation might use an application server to authenticate with an
external directory by means of the Lightweight Directory Access Protocol (LDAP).
In this case, you do not use the system to perform some functions. These functions
include:
v Self registration - This function is not supported in conjunction with an external
directory.
v Setting or changing passwords and password hints - All password-related
functions are managed by the directory.
By default, when you use an application server for authentication, the directory
manages user and group creation. You can set properties to allow user and group
creation to be performed directly in the system. The settings of these properties
result in certain features being enabled or disabled in the system.
Procedure
1. From the Select Action menu, select Security Controls.
2. In the User Defaults section, specify the following defaults:
a. In the Default Group for New Users field, type the name of the group, or
click Detail Menu.
b. In the Initial Self-Registered User Status field, type a user status.
c. In the Group for All Users field, specify the group for global permissions.
The default is MAXEVERYONE.
d. Select the Display User ID in the Electronic Signature Dialog check box to
display the user ID in the window when the system prompts users to enter
their passwords. If you implement electronic signatures, you must enable
login tracking.
3. Click OK.
Copying users
If you are creating a user record and want to use settings that are similar to those
in an existing record, you can copy the existing one.
206
Procedure
1. In the Users application, open the user record that you want to copy.
2. From the Select Action menu, choose Duplicate User.
3. Optional: In the User field, type a unique user ID. If you use autonumbering,
the User field is already populated.
4. Move the cursor to the Type field.
a. Optional: If no matching person ID is found, select one of the following
options to create a person ID:
v To create a person record based on the information in the Personal section of
the user record that you are copying, click Yes in the System Message
window.
v To select an existing person record, click No and select the person record in
the Person field.
v To create a person record, click No, and in the Person field, select Detail
Menu and then select Go to People.
5. Specify a type and person.
6. Define a password.
7. Optional: Enter additional information about the user in the Personal section,
User Setting section, and Purchasing section.
8. Save your changes.
Deleting users
To manage employee information, you can delete user records that you no longer
need.
Procedure
1. From the Select Action menu, select Delete User.
2. In the Confirmation window, click Yes.
207
Results
The user record is deleted and that person can no longer login.
Procedure
1. In the Users application, open the user record whose groups you want to
change.
2. Click the Groups tab.
3. To delete a group, click Mark Row for Delete.
4. Save your changes.
Related concepts:
Security profiles for users on page 191
You can specify the security profile for a user. You can assign the user to groups
and set other security attributes. These attributes include default insert sites,
storeroom sites, and default storerooms.
208
209
For workflow processes, you create templates that use roles as a recipient. You can
add one or more roles. You can add more than one category of recipient, such as
persons, person groups, or email addresses. In the Workflow Designer application,
you can create a template-based communication. A template-based communication
uses all the features available in a communication template, including attachments.
The default values for role or recipient, subject, and message are derived from the
template. You cannot change these values in the Workflow Designer application.
You can create a template for purchase requisition approvals or rejections, which
can be sent as the request flows through the workflow process. You create a
workflow process for purchase requests. A user submits a request for a notebook.
The request enters the workflow process and is approved by the immediate
supervisor. After the purchase requisition is approved by finance, the status is set
to approved and the user is notified of the approval.
210
The email Listeners application uses default templates for error notifications. If an
error is encountered while staging inbound records, an error notification is sent to
the email administrator. The type of error determines the error notification that is
sent to the email administrator.
Communication logs
In the Communication Templates application, a communication log lists the
inbound and outbound communications for a record, such as a ticket or work
order. For outbound communications that are generated with the Create
Communication action, the communication log entry contains the details from the
email message and any attachments.
Procedure
1. In the Communication Templates application, click New Communication
Template. A new communication template opens with an inactive status.
2. Optional: If the Template field is blank, provide a name or identifier.
3. In the Applies To field, specify a value.
4. In the Accessible From field, specify from where users can access the template:
211
Option
Description
ALL
APPS
ESCALATION
WORKFLOW
5. Optional: Create an entry in the communication log and attach files to the
communication template.
6. Complete the following details for the communication template:
a. Specify the email address from which the communication template is sent.
b. Optional: If the recipient must reply to an email address other than the
address of the sender, provide an email address in the Reply to field.
c. In the Subject field and Message field, specify substitution variables.
d. Optional: Add a recipient on the Recipients tab. If you are creating a
communication template for a workflow or escalation process, you must
add at least one recipient.
e. Optional: If you are creating a communication template for a workflow
process and you want the last memo to display first in the list of memos,
type :wfassignment.lastmemo as part of the description for the template.
f. Optional: If you are creating a communication template for a workflow
process and you need memos to be available immediately, type
:wfassignment.currentmemo as part of the description for the template.
7. Save your changes.
212
Related concepts:
Communication templates and escalations on page 209
You can use escalations to monitor time-sensitive records and key performance
indicators (KPIs). When you create escalation records, you can specify that email
notifications are generated when a record reaches the defined escalation point.
Communication templates and the service desk on page 209
You can use communication templates to create and send email messages from the
service desk applications. These applications include the Service Requests
application, the Incidents application, and the Problems application.
Communication templates and workflow on page 209
You can design a workflow process to generate notifications about the progress of
a specific record. Notifications can be made through email or through pager,
providing that your paging system supports email.
Predefined communication templates on page 210
In the Communication Templates application, there are predefined communication
templates that you can use to create notifications. You can use the predefined
templates with the Workflow application, the Service Requests application, and the
Incidents application. You can also use the predefined templates with the system
database or with the demo database (MAXDEMO).
Substitution variables for communication templates on page 210
In the Communication Templates application, you use substitution variables in the
Subject field and in the Message field. When you use substitution variables in a
communication template that is used to create a notification, the substitution
variables are replaced with the corresponding values in the record that generates
the notification.
Procedure
1. In the Communication Templates application, open or create a communication
template.
2. Click the Recipient tab.
3. Click Show Table to expand the email table window.
4. Click New Row to add a recipient.
5. Select whether the recipient receives the communication directly, is copied, or is
blind copied.
6. Save your changes.
Related concepts:
Recipients of communication templates on page 211
In the Communication Templates application, you can add recipients to
communication templates. You can choose from four types of recipients: roles,
persons, person groups, and email addresses. You can add one or more recipients
from each category, and you can add more than one type of recipient.
213
Procedure
1. In the Communication Templates application, open or create a communication
template.
2. On the Recipient tab, click Show Table to expand the Person table window.
3. Click Select Groups to add multiple recipients. In the Select Person Groups
window, choose the groups that you want to add and click OK. For each
person in the person group, you can select any of the following options:
v To - the person receives the email communication directly.
v cc - the person is copied on the email communication.
v bcc - the person is blind copied on the email communication.
4. Optional: If you do not want the communication sent to every person in
the group, clear the Broadcast check box.
5. Save your changes.
Related concepts:
Recipients of communication templates on page 211
In the Communication Templates application, you can add recipients to
communication templates. You can choose from four types of recipients: roles,
persons, person groups, and email addresses. You can add one or more recipients
from each category, and you can add more than one type of recipient.
Procedure
1. In the Communication Templates application, open or create a communication
template.
2. Click the Recipient tab.
3. Click Show Table to expand the Person table window.
4. Select one of the following options:
Option
Description
New Row
Select People
What to do next
On the Communication Template tab, you can view the recipient that you added.
214
Related concepts:
Recipients of communication templates on page 211
In the Communication Templates application, you can add recipients to
communication templates. You can choose from four types of recipients: roles,
persons, person groups, and email addresses. You can add one or more recipients
from each category, and you can add more than one type of recipient.
Procedure
1. In the Communication Templates application, open or create a communication
template.
2. Click the Recipient tab.
3. Click Show Table to expand the Role table window.
4. Choose one of the following options:
Option
Description
New Row
Select Roles
What to do next
On the Communication Template tab, you can view the roles that you added.
Related concepts:
Recipients of communication templates on page 211
In the Communication Templates application, you can add recipients to
communication templates. You can choose from four types of recipients: roles,
persons, person groups, and email addresses. You can add one or more recipients
from each category, and you can add more than one type of recipient.
215
Procedure
1. In the Communication Templates application, open or create a communication
template.
2. Click the Attachment Folders tab.
3. Select the Send with Communication check box for the document folders that
you want to attach to the template.
4. Save your changes.
Related concepts:
Attachments for communication templates on page 211
In the Communication Templates application, you can attach many types of
document files to communication templates. These document files include text
files, images, spreadsheets, videos, web pages, and document folders. When you
create a communication based on a template, the attachments are always sent with
the communication.
Procedure
1. In the Communication Templates application, open or create a communication
template.
2. On the Communication Template tab, click Attachments and select whether to
attach files or attach files from the library.
3. Save your changes.
Related concepts:
Attachments for communication templates on page 211
In the Communication Templates application, you can attach many types of
document files to communication templates. These document files include text
files, images, spreadsheets, videos, web pages, and document folders. When you
create a communication based on a template, the attachments are always sent with
the communication.
Procedure
1. In the Communication Templates application, open or create a communication
template.
2. On the Communication Template tab, click Attachments.
216
3. To attach a Web page, select Add New Attachments > Add New Web Page.
4. Save your changes.
Related concepts:
Attachments for communication templates on page 211
In the Communication Templates application, you can attach many types of
document files to communication templates. These document files include text
files, images, spreadsheets, videos, web pages, and document folders. When you
create a communication based on a template, the attachments are always sent with
the communication.
Procedure
Insert the following link into the body of your message:
http://:HOSTNAME/maximo/ui/maximo.jsp?event=loadapp&value=:APP&uniqueid=:OWNE
RID
Results
When a notification is generated, the application name and record ID appear in the
message as a hyperlink that leads directly to the record.
To access the record, the email recipient must be a registered user with a security
permission in the specified application.
Procedure
1. In the Communication Templates application, display the template that you
want to copy.
2. From the Select Action menu, select Duplicate Template.
3. Optional: If the Template field is blank, specify a value.
4. Save your changes.
217
Related concepts:
Communication templates and escalations on page 209
You can use escalations to monitor time-sensitive records and key performance
indicators (KPIs). When you create escalation records, you can specify that email
notifications are generated when a record reaches the defined escalation point.
Communication templates and the service desk on page 209
You can use communication templates to create and send email messages from the
service desk applications. These applications include the Service Requests
application, the Incidents application, and the Problems application.
Communication templates and workflow on page 209
You can design a workflow process to generate notifications about the progress of
a specific record. Notifications can be made through email or through pager,
providing that your paging system supports email.
Predefined communication templates on page 210
In the Communication Templates application, there are predefined communication
templates that you can use to create notifications. You can use the predefined
templates with the Workflow application, the Service Requests application, and the
Incidents application. You can also use the predefined templates with the system
database or with the demo database (MAXDEMO).
Substitution variables for communication templates on page 210
In the Communication Templates application, you use substitution variables in the
Subject field and in the Message field. When you use substitution variables in a
communication template that is used to create a notification, the substitution
variables are replaced with the corresponding values in the record that generates
the notification.
Procedure
1. In the Communication Template application, open the template that you want
to change.
2. Change the information in the appropriate fields.
3. Save your changes.
218
Related concepts:
Communication templates and escalations on page 209
You can use escalations to monitor time-sensitive records and key performance
indicators (KPIs). When you create escalation records, you can specify that email
notifications are generated when a record reaches the defined escalation point.
Communication templates and the service desk on page 209
You can use communication templates to create and send email messages from the
service desk applications. These applications include the Service Requests
application, the Incidents application, and the Problems application.
Communication templates and workflow on page 209
You can design a workflow process to generate notifications about the progress of
a specific record. Notifications can be made through email or through pager,
providing that your paging system supports email.
Predefined communication templates on page 210
In the Communication Templates application, there are predefined communication
templates that you can use to create notifications. You can use the predefined
templates with the Workflow application, the Service Requests application, and the
Incidents application. You can also use the predefined templates with the system
database or with the demo database (MAXDEMO).
Substitution variables for communication templates on page 210
In the Communication Templates application, you use substitution variables in the
Subject field and in the Message field. When you use substitution variables in a
communication template that is used to create a notification, the substitution
variables are replaced with the corresponding values in the record that generates
the notification.
Procedure
1. In the Communication Templates application, open the template that you want
to delete.
2. From the Select Action menu, select Delete Template.
3. Click Yes.
219
Related concepts:
Communication templates and escalations on page 209
You can use escalations to monitor time-sensitive records and key performance
indicators (KPIs). When you create escalation records, you can specify that email
notifications are generated when a record reaches the defined escalation point.
Communication templates and the service desk on page 209
You can use communication templates to create and send email messages from the
service desk applications. These applications include the Service Requests
application, the Incidents application, and the Problems application.
Communication templates and workflow on page 209
You can design a workflow process to generate notifications about the progress of
a specific record. Notifications can be made through email or through pager,
providing that your paging system supports email.
Predefined communication templates on page 210
In the Communication Templates application, there are predefined communication
templates that you can use to create notifications. You can use the predefined
templates with the Workflow application, the Service Requests application, and the
Incidents application. You can also use the predefined templates with the system
database or with the demo database (MAXDEMO).
Substitution variables for communication templates on page 210
In the Communication Templates application, you use substitution variables in the
Subject field and in the Message field. When you use substitution variables in a
communication template that is used to create a notification, the substitution
variables are replaced with the corresponding values in the record that generates
the notification.
Procedure
1. In the Communication Templates application, open a communication template.
2. Click Change Status.
3. In the Status field, select a status. You can view the date and time of the status
change in the Status Date field.
4. Click OK.
220
Related concepts:
Communication templates and escalations on page 209
You can use escalations to monitor time-sensitive records and key performance
indicators (KPIs). When you create escalation records, you can specify that email
notifications are generated when a record reaches the defined escalation point.
Communication templates and the service desk on page 209
You can use communication templates to create and send email messages from the
service desk applications. These applications include the Service Requests
application, the Incidents application, and the Problems application.
Communication templates and workflow on page 209
You can design a workflow process to generate notifications about the progress of
a specific record. Notifications can be made through email or through pager,
providing that your paging system supports email.
Predefined communication templates on page 210
In the Communication Templates application, there are predefined communication
templates that you can use to create notifications. You can use the predefined
templates with the Workflow application, the Service Requests application, and the
Incidents application. You can also use the predefined templates with the system
database or with the demo database (MAXDEMO).
Substitution variables for communication templates on page 210
In the Communication Templates application, you use substitution variables in the
Subject field and in the Message field. When you use substitution variables in a
communication template that is used to create a notification, the substitution
variables are replaced with the corresponding values in the record that generates
the notification.
221
222
Escalations overview
An escalation is a mechanism for monitoring time-sensitive records. Escalations can
take actions or send notifications when a record reaches a defined escalation point.
Your workflow administrator can specify that a task assignment has a time limit. If
the assignment is not completed within the specified time limit, an escalation can
be triggered for the record.
Escalation engine
The product contains an escalation engine that runs the escalations. Escalations
help you ensure that critical tasks, such as those defined in service level
agreements, are completed on time.
The escalation engine performs the following tasks:
v Drives the escalation process
v Uses the cron task function
v Tests all active escalation definitions at a set schedule
v Retrieves escalation definitions from the database and constructs appropriate
SQL statements
v Runs SQL statements against target objects for the escalation
v Retrieves records, and performs actions and notifications associated with the
escalation definitions
Escalation logs
You can monitor the execution of escalations by the escalation engine. To do so,
you can configure logging and examine the log files for log statements related to
the escalation engine.
To enable escalation engine logging, you use the Logging application. For each of
the loggers set the wanted log level. If the logger does not exist, create your own
logger. Verify that the loggers are all active. Associate an appender with a logger to
ensure that log statements send to a product log file. When you save your changes,
run the Apply Settings action from the select action menu of the Logging
application for the settings to take effect immediately.
The following table lists the escalation loggers, a description of the logger, and the
log level to set each logger to.
Logger
Description
Log level
crontask
DEBUG
223
Logger
Description
Log level
ESCALATION
sql
INFO
COMMTEMPLATE
INFO
DEBUG
Root logger that generates
log statements for
communication with the mail
server when sending
notifications.
Escalation points
In an escalation, you define the conditions to be met for an associated record, such
as a work order, an asset, or a purchase order. When the conditions are met, the
escalation is triggered. An escalation point represents the condition that must be
met. You can use one or more of escalation points to define an escalation.
Activating an escalation does not trigger an escalation process. An escalation is
triggered only when the escalation engine finds records that meet the criteria
defined by the escalation points.
224
Predefined escalations
To help simply escalation management, the Escalation application has two
categories of predefined escalations: those escalations for the Maximo database and
those escalations for the demonstration (Maxdemo) database.
To use the predefined escalations, you must activate them.
225
Application
Description
INVDUE
Invoice application
MSTRCTREFF
LEACTREFF
WARCTREFF
Warranty Contracts
application
PURCTREFF
Purchasing Contracts
application
LABCTREFF
Application
Description
Warranty expiring
v Master Contracts
application
v Lease Contracts
application
v Warranty Contracts
application
v Purchasing Contracts
application
v Labor Contracts
application
226
Table 38. Examples of the predefined escalations for the Maxdemo database (continued)
Escalation name
Application
Description
Contract renewal
v Master Contracts
application
v Lease Contracts
application
v Warranty Contracts
application
v Purchasing Contracts
application
v Labor Contracts
application
SLA review date
v Service Requests
application
v Incidents application
v Problems application
227
The shift that specifies the days and times for which the escalation is valid.
Escalation Point
Date-and time-based, or other condition criteria for when the actions or
notifications specified on the escalation record are triggered. An escalation
record can have one or more escalation points.
Actions
Any actions that must be taken when a record reaches the conditions of an
escalation point. You define actions separately for each escalation point.
You can associate multiple actions for each escalation point. You use the
Actions application to define actions.
228
Notifications
Any notifications that the system must generate when a record reaches the
conditions of an escalation point. You define notifications separately for
each escalation point.
Creating escalations
You create an escalation to monitor time-sensitive records that could require action.
You can create an escalation for any business object and for any application. You
can create escalations at the organization or site level.
Procedure
1. On the toolbar, click New Escalation. If the Escalation field is empty, specify a
value.
2. In the Description field, type a description.
3. In the Applies To field, specify the object to which to apply the escalation.
4. Optional: Specify values in the Organization and Site fields. If you specify a
value for either organization or site, you restrict the use of the escalation to
either that organization or site. If you specify values for both organization and
site, the escalation can be used only at that site.
5. Optional: Type an expression in the Condition field to indicate to which
records the escalation applies. For example, if you want to escalate only task
assignments that have a value specified in the Time Limit field, include the
following text in your SQL statement: TIMELIMIT is not null. You can type the
SQL condition manually. You can also use the Expression Builder to create the
SQL statement.
6. In the Schedule field, click the Set Schedule icon to set how frequently to poll
the database for records.
Chapter 9. Managing escalations
229
Procedure
1. In the Escalations application, create, or display an escalation record.
2. In the Escalation Points table window, click New Row.
3. In the Row Details window, specify the condition that triggers the escalation
point by selecting one of the following options:
v If you are creating a time-based escalation point, specify values in the
Elapsed Time Attribute field, in the Elapsed Time Interval field, and in the
Interval Unit of Measure field. Type a positive number in the Elapsed Time
Interval field to indicate a time period in the past. Type a negative number
to indicate a time in the future.
v If you are creating a condition-based escalation point, type an SQL statement
in the Escalation Point Condition field to specify the condition that triggers
the escalation. You can specify a value manually or click the SQL Expression
Builder icon.
4. If you want the actions and notifications of the escalation point triggered more
than once, select the Repeat check box.
5. Click Save Escalation.
What to do next
Now you define an action to take for each escalation point that you created.
230
Related concepts:
Predefined escalations on page 225
To help simply escalation management, the Escalation application has two
categories of predefined escalations: those escalations for the Maximo database and
those escalations for the demonstration (Maxdemo) database.
Escalation points on page 224
In an escalation, you define the conditions to be met for an associated record, such
as a work order, an asset, or a purchase order. When the conditions are met, the
escalation is triggered. An escalation point represents the condition that must be
met. You can use one or more of escalation points to define an escalation.
Actions associated with escalation points on page 225
When records meet the conditions in an escalation point, an action can be
triggered. An action is an event, such as a changing status. Escalation points are
the components of an escalation that represent a monitored condition or threshold,
such as measuring elapsed time. To activate an escalation, you must associate at
least one action with an escalation point.
Defining actions for escalation points:
You define at least one action or notification for each escalation point on an
escalation record. You define actions separately for each escalation point. You use
the Actions application to create action records.
About this task
To define actions for an escalation point, complete the following steps:
Procedure
1. In the Escalations application, create or display an escalation record.
2. In the Escalation Points table window, select the escalation point for which you
want to define actions.
3. Click the Actions sub tab.
4. In the Actions window, click New Row.
5. In the Action field, specify a value.
6. Optional: Modify the Sequence field to indicate the order in which the action is
performed.
7. Click Save Escalation.
What to do next
You must validate the escalation before activating it.
231
Related concepts:
Predefined escalations on page 225
To help simply escalation management, the Escalation application has two
categories of predefined escalations: those escalations for the Maximo database and
those escalations for the demonstration (Maxdemo) database.
Escalation points on page 224
In an escalation, you define the conditions to be met for an associated record, such
as a work order, an asset, or a purchase order. When the conditions are met, the
escalation is triggered. An escalation point represents the condition that must be
met. You can use one or more of escalation points to define an escalation.
Actions associated with escalation points on page 225
When records meet the conditions in an escalation point, an action can be
triggered. An action is an event, such as a changing status. Escalation points are
the components of an escalation that represent a monitored condition or threshold,
such as measuring elapsed time. To activate an escalation, you must associate at
least one action with an escalation point.
Defining notifications for escalation points:
You must define at least one action or notification for each escalation point on an
escalation record. You can use a communication template to create a notification.
You can also type the subject, message, and recipients manually. You define
notifications separately for each escalation point.
Procedure
1. In the Escalations application, create, or display an escalation record.
2. In the Escalation Points table window, select the escalation point for which you
want to define notifications.
3. On the Notifications sub tab, click New Row.
4. Perform one of the following steps:
v In the Template field, specify a value.
v Type entries in the Role/Recipient field, in the Subject field, and in the
Message field.
5. Click Save Escalation.
Related concepts:
Communication templates and notifications on page 227
An escalation can initiate notifications when records are not acted upon in a timely
manner. You can ensure that notifications are uniform in structure by basing them
on communication templates. Notifications are sent out in the form of emails
through your email service.
Validating escalations
You must validate an escalation record before you can activate it. Validation checks
the Structured Query Language (SQL) statements to ensure that the SQL is valid
and that the escalation engine can run it.
232
If an error is discovered in one or more SQL statements, the errors are written to
the Validation Results section of the escalation record.
Procedure
1. In the Escalations application, display the record that you want to validate.
2. From the Select Action menu, click Validate.
3. If the validation fails, click the Maximize button to expand the Validation
Results section and to view the error log. The SQL error might be in the
Condition field or in the Escalation Point Condition fields. Correct the SQL
statements and validate the record again.
4. Click Save Escalation.
What to do next
Activate the escalation.
Activating escalations
You can activate an escalation record that has at least one escalation point and one
action or notification defined for each escalation point. The product polls for
records meeting the criteria set by the escalation. If a match is found, the
appropriate action is triggered.
Procedure
1. In the Escalations application, display the record that you want to activate.
2. From the Select Action menu, select Activate/Deactivate Escalation. The
product selects the Active check box in the record heading and creates an
instance of the ESCALATION cron task.
3. Click Save Escalation.
233
Related concepts:
Escalation engine on page 223
The product contains an escalation engine that runs the escalations. Escalations
help you ensure that critical tasks, such as those defined in service level
agreements, are completed on time.
Escalation logs on page 223
You can monitor the execution of escalations by the escalation engine. To do so,
you can configure logging and examine the log files for log statements related to
the escalation engine.
Deletion rules for escalations on page 229
In the Escalations application, you can manage escalations by deleting them.
Modifying escalations
You can change existing escalations.
Procedure
1. From the Escalations application, display the escalation that you want to edit.
2. If you have not deactivated the escalation, from the Select Action menu, select
Activate/Deactivate Escalation.
3. On the Escalations tab, edit the information as needed. If a field has a Detail
Menu, click it and select an option to retrieve a different value.
4. Click Save Escalation.
5. If you are ready to active the escalation, choose Activate/Deactivate Escalation
from the Select Action menu.
Deactivating escalations
You deactivate an escalation record to modify the record or to delete it.
Procedure
1. In the Escalations application, display the record that you want to deactivate.
2. From the Select Action menu, click Activate/Deactivate Escalation.
3. Click Save Escalation.
234
What to do next
After you deactivate an escalation, you can perform the following actions:
v You can delete one or more escalation points. When you delete an escalation
point, the links to the associated actions and notifications are deleted.
v You can delete one or more actions or notifications associated with an escalation
point. To activate an escalation, it must have at least one action or notification
defined for each escalation point.
Related concepts:
Deletion rules for escalations on page 229
In the Escalations application, you can manage escalations by deleting them.
235
236
Procedure
1. Navigate to the \IBM\SMP\maximo\tools\maximo\internal folder and download
the TestEmail.bat file.
2. Prepare to run the command.
Application server
Procedure
WebLogic Server
Results
The TestEmail.bat file has the following output:
237
Parameters
To test the connectivity between the application server and mail server, you run
the testemail command with the following parameters and values: hostname can
be a fully qualified host name, port=143, email account is the email account
specified in the E-mail Listener application (not including the
@companyname.com extension), protocol=imap, POP3, and debug=true.
E-mail processing
E-mail processing uses a predefined workflow process. Various steps in the
workflow process create, update, or change the status of service requests, incidents,
or problems. Other steps in the workflow process execute queries and return query
results to the originator of the e-mail. You can customize the workflow process or
create workflow processes to suit your needs.
All communications from the originators of the e-mail messages are captured in
the service request, incident, or problem communication log. Similarly, generated
communications sent to the originator of an e-mail message are captured in
communication logs.
You can configure the appropriate log levels to generate detailed processing and
error information from the system log file regarding how the E-mail Listeners
application processes e-mails.
238
Purpose
Workflow process
For these components to work correctly, you must first configure your mail servers
and email accounts.
239
The LSNRBP process generates response e-mail messages at various points during
e-mail processing. For example, a response containing the service request number
is sent to the originator of an e-mail message whenever the application creates a
service request. Response e-mail messages are also generated whenever an update
is made to an existing ticket or when queries are performed.
Deactivation of definitions
In the E-mail Listeners application, you can deactivate an e-mail listener definition
to help simplify e-mail management. For example, you can deactivate an e-mail
listener definition to migrate to a new mail server or to perform routine system
maintenance. To deactivate an e-mail listener definition, use the
Activate/Deactivate Listener action. When you deactivate an e-mail listener
definition, messages on the mail server are not monitored and service requests are
not created.
Changes to definitions
You can change the attributes of an e-mail listener definition. You can change all
values, except for the e-mail address, cron task name, cron task instance, and last
time run. You must deactivate an e-mail listener definition before you can change
it.
240
If you need to change the format of the e-mail address on an account, you must
create an e-mail definition. For example, if you want to change [email protected]
to [email protected]. To create a definition, use the Duplicate
Listener action in the E-mail Listeners application.
Duplication of definitions
You can duplicate an e-mail listener definition to simply the management of e-mail
records. When you duplicate an e-mail listener definition, you can specify new
account information.
When you duplicate an e-mail listener definition, the following points apply:
v Some mail servers are case-sensitive.
v The case of the e-mail address that you specify is preserved.
v You cannot save an e-mail listener definition if it has an e-mail address with the
same name and case as an existing e-mail address on the mail server.
241
Table 40. Security authorization scenarios that are supported when a user ID exists
Scenario
Support
242
Templates
Confirmation situation
Recipients
LSNRBPCBSR
LSNRBPCHST
LSNRBPQRY
LSNRBPUBSR
LSNRBPUOBJ
LSNRBPCOBJ
Error situation
Corrective action
Recipients
Validation error
notification
Sender of original
e-mail message and
system administrator.
Sender of original
Verify that the
e-mail message.
attribute is declared
as an auto key. If the
The e-mail listener
attribute is declared
cannot create an auto as an auto key, check
key for an attribute
the logs.
that was declared as
auto key in the
incoming e-mail
message.
LSNRBPAUTO
Processing error
notification
LSNRBPDATE
Validation error
notification
Provide a valid
formatted date.
Sender of original
e-mail message and
system administrator.
Provide a valid
record.
Sender of original
e-mail message.
Processing error
notification
The sender specified
an update operation
for an existing record
in the incoming
e-mail, message, but
the record does not
exist.
243
Error situation
Corrective action
Recipients
Processing error
notification
Provide a valid
action.
Sender of original
e-mail message.
LSNRFNKEY
Processing error
notification
Processing error
notification
Processing error
notification
Sender of original
e-mail message.
Enter a subject or
reduce the length of
the subject.
Sender of original
e-mail message.
Validation error
notification
The incoming e-mail
message contains a
blank subject line or
a subject line that
exceeds the allowed
length (this error
occurs only in
free-form e-mail
messages).
244
Error situation
Corrective action
Recipients
Validation error
notification
Sender of original
e-mail message and
system administrator.
Provide the
authorizations
needed for the object
in the Security
Settings window of
the E-mail Listener
application.
Sender of original
e-mail message and
system administrator.
Validation error
notification
The sender of the
incoming e-mail
message does not
have the requisite
authorizations to
perform the
operation on the
object specified in the
e-mail message.
LSNRWFMT
Processing error
notification
The incoming e-mail
message has invalid
formatted content.
If a system error occurs when the E-mail Listeners application polls or processes an
incoming e-mail message, a system error notification is generated.
The following table lists the templates that are used for system error notifications.
Table 43. Templates for system error notifications
Templates used for system
error notifications
Error situation
Recipients
LSNRBPEX
LSNRBPQERR
LSNRCFGERR
System administrator
LSNRCONNF
System administrator
245
Error situation
Recipients
LSNRERROR
LSNRINBF
System administrator
LSNRJMSCF
LSNRJMSF
LSNRJMS
LSNRJMMSSYN
LSNRMAILER
System administrator
Customized preprocessors
The base preprocessor Java class implements a standard Java interface called the
LSNRPreprocessor. Custom preprocessor implementations must include an
implementation of the LSNRPreprocessor interface.
246
The preprocessor interface provided with the system includes the following public
methods:
v Boolean isNewEmail (String del, String subject)
v String getObjectKey (String del, String subject)
In the custom Java class, you can implement both methods. Each method accepts
two parameters: the delimiter string and the subject line string.
Table 44. Methods
Method
Description
Base preprocessor
implementation
Custom
implementation
isNewEmail()
Returns a Boolean
value indicating
whether the e-mail is
for a new or for an
existing ticket
Might provide
different logic to
determine the new or
existing ticket
getObjectKey()
v Returns a string
that represents the
Ticket ID
Might provide
different logic to
determine the Ticket
ID
v Returns null, if no
ID is found
247
Logging
You can use logging to create and to manage log files that contain informational,
warning, or error messages regarding the processing of e-mail messages.
You use the Logging application to create and to manage log files.
E-mail messages
In the E-Mail Listeners application, you can manage your e-mail messages.
For email messages processed from a POP-based mail account, the Email Listener
determines whether an email is already processed or is new.
Queues:
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
248
249
Description
New
In process
Workflow
Invalid
250
Description
Error
Complete
E-mail attachments
The E-mail Listeners application stores attachments from incoming e-mail on the
application server. You can view attachments in the E-mail Processing tab of the
E-mail Listeners application.
The mail server can control the size of the attachment. You can contact your mail
server administrator to discuss these controls, and to determine the file types
allowed on the E-mail Listeners mail server.
Example
Sally tries to print a file and receives an indecipherable error message. She sends a
free form e-mail with a screen capture describing the problem to
[email protected], the company site for service desk e-mail requests. The E-mail
Listener application retrieves the message from Sally, and creates a service request
with identifier 123.
Frank, a service desk agent, reviews service request #123, searches the knowledge
base, and finds a solution. He opens the Communications Log containing the initial
e-mail from Sally, creates a communication with the solution, and sends it to her.
All details of the interaction between Frank and Sally are stored in the
Communications Log for service request #123.
Message thresholds
If the number of messages waiting to be processed exceeds the high message
threshold that you set, the application server limits the addition of new messages
in the processing queues.
Chapter 10. Configuring e-mail listeners
251
252
Formatted e-mails
Formatted e-mails use specific structure in the message body to instruct the E-mail
Listeners application to manipulate various types of tickets and business objects.
Formatted e-mails can be composed using XML tags or text typed in the form of
attribute-value pairs. They can perform specific actions, such as changing the
status of a business object or querying the business object based on criteria.
QUERY, CREATE or UPDATE, and CHANGE STATUS e-mails are all types of
formatted e-mails.
To support other business objects, you can create your own workflow process and
associated processing logic. A built-in workflow process that supports various
types of ticket objects is shipped.
Formatted e-mail keywords:
Formatted e-mails must be carefully composed to ensure that the e-mail listener
successfully processes e-mails and that the system performs the necessary actions.
You can use specific keywords in the body of the e-mail message to compose a
correctly formatted e-mail.
There are two sets of keywords that you can use, depending on whether you want
to implement attribute-value pair formatting or XML formatting. The following
table specifies the keywords that apply when using attribute-value pairs or XML.
Table 47. Keywords for formatted e-mails
Keyword
Format
type
Required
Purpose
#MAXIMO_EMAIL_BEGIN
Attributevalue pairs
Yes
#MAXIMO_EMAIL_END
Attributevalue pairs
Yes
LSNRAPPLIESTO
Both
Yes
253
Format
type
Required
Purpose
LSNRACTION
Both
Yes
LSNRWHERECONDITION
Both
No
LSNRRESULTCOLUMNS
Both
No
&AUTOKEY&
Both
No
&SYSDATE&
Both
No
<MAXIMOEMAILCONTENT>
XML
Yes
</MAXIMOEMAILCONTENT>
254
255
v The XML content of an incoming e-mail message is validated only for format. If
the XML content is not well formatted, the e-mail entry in the INBOUNDCOMM
table is set to an error status and an error notification is sent to both the user
and the administrator.
v When processing an XML-formatted e-mail message, the e-mail listener attempts
to resolve the attribute name only. If the e-mail listener cannot resolve the
attribute name, the e-mail message is not processed and an error response e-mail
message is sent to the originator of the e-mail message.
v XML parsers cannot parse the XML content if the standard header is not
included in the XML. You must specify XML encoding at the beginning of the
body of the e-mail message, before the occurrence of the root element, the
MAXIMOEMAILCONTENT tag.
v If XML reserved characters, such as &, occur as a value for any tag in an
XML-formatted message, that value must be escaped so that the XML-formatted
message constitutes a valid XML. These reserved characters must be escaped
using either standard escape sequences or CDATA constructs.
v The keywords &AUTOKEY& and &SYSDATE& must be escaped using standard
XML CDATA constructs. For example, <TICKETID><![CDATA[&AUTOKEY&]]></
TICKETID>
Examples of formatted e-mail messages using change status function:
You can compose formatted e-mail messages that use the change status function.
You compose these messages using attribute-value pairs or XML tags.
Examples
The following table contains examples of formatted e-mail messages that use the
change status function. These examples were composed with attribute-value pair
and XML tags. You can use these examples as reference or as a template to create
formatted e-mail messages in the E-mail Listeners application.
Table 48. Examples of formatted e-mail messages that use the change status function
Description
Example
#MAXIMO_EMAIL_BEGIN
LSNRACTION=CHANGESTATUS
;
LSNRAPPLIESTO=SR
;
CLASS=SR
;
TICKETID=SRNUM
;
STATUS=INPROG
;
#MAXIMO_EMAIL_END
256
<MAXIMOEMAILCONTENT>
<LSNRACTION>CHANGESTATUS</LSNRACTION>
<LSNRAPPLIESTO>SR</LSNRAPPLIESTO>
<STATUS>QUEUED</STATUS>
<TICKETID><SRNUM></TICKETID>
<CLASS>SR</CLASS>
<SITEID>BEDFORD</SITEID>
</MAXIMOEMAILCONTENT>
#MAXIMO_EMAIL_BEGIN
LSNRACTION=CREATE
;
LSNRAPPLIESTO=SR
;
TICKETID=&AUTOKEY& ; CLASS=SR ; DESCRIPTION= My SR Attribute
value pairs creation TEST ; #MAXIMO_EMAIL_END
Update
specific
attributes of
an existing
service
request
#MAXIMO_EMAIL_BEGIN
LSNRACTION=UPDATE
;
LSNRAPPLIESTO=SR
;
TICKETID=SRNUM
;
CLASS=SR
;
DESCRIPTION=Update reported by, priority and classification test.
;
REPORTEDPRIORITY=2
;
CLASSSTRUCTUREID=1087
;
#MAXIMO_EMAIL_END
<MAXIMOEMAILCONTENT>
<LSNRACTION>CREATE</LSNRACTION>
<LSNRAPPLIESTO>SR</LSNRAPPLIESTO>
<TICKETID><![CDATA[$AUTOKEY&]]></TICKETID>
<CLASS>SR</CLASS>
<DESCRIPTION>My XML SR creation e-mail test</DESCRIPTION>
</MAXIMOEMAILCONTENT>
Update an
existing
service
request
<MAXIMOEMAILCONTENT>
<LSNRACTION>UPDATE</LSNRACTION>
<LSNRAPPLIESTO>SR</LSNRAPPLIESTO>
<TICKETID>SRNUM</TICKETID>
<CLASS>SR</CLASS>
<COMMODITYGROUP>IT</COMMODITYGROUP>
<COMMODITY>PC</COMMODITY>
<DESCRIPTION>My XML update of service group, service, and
site field</DESCRIPTION>
<SITEID>BEDFORD</SITEID>
</MAXIMOEMAILCONTENT>
257
Example
#MAXIMO_EMAIL_BEGIN
LSNRACTION=QUERY
;
LSNRAPPLIESTO=SR
;
LSNRRESULTCOLUMNS=TICKETID,DESCRIPTION,
REPORTEDBY,COMMODITYGROUP
;
LSNRWHERECONDITION=TICKETID=1001
AND SITIED =BEDFORD
;
#MAXIMO_EMAIL_END
#MAXIMO_EMAIL_BEGIN
LSNRACTION=QUERY
;
LSNRAPPLIESTO=SR
;
TICKETID=1002
;
LSNRRESULTCOLUMNS=TICKETID,DESCRIPTION,
REPORTEDBY,COMMODITYGROUP
;
#MAXIMO_EMAIL_END
#MAXIMO_EMAIL_BEGIN
LSNRACTION=QUERY
;
LSNRAPPLIESTO=SR
;
LSNRRESULTCOLUMNS=TICKETID,DESCRIPTION,
REPORTEDBY,INTERNALPRIORITY
,REPORTDATE
;
LSNRWHERECONDITION=STATUS =CLOSED
;
#MAXIMO_EMAIL_END
#MAXIMO_EMAIL_BEGIN
LSNRACTION=QUERY
;
LSNRAPPLIESTO=INCIDENT
;
LSNRRESULTCOLUMNS=*
;
LSNRWHERECONDITION=REPORTEDBY=LIBERI
;
#MAXIMO_EMAIL_END
258
Table 50. Examples of formatted e-mail messages that use the query function (continued)
Description
Example
<MAXIMOEMAILCONTENT>
<LSNRACTION>QUERY</LSNRACTION>
<LSNRAPPLIESTO>PROBLEM</LSNRAPPLIESTO>
<LSNRRESULTCOLUMNS>ticketid,description,
reportedby,affectedperson,commmoditygroup
</LSNRRESULTCOLUMNS>
<LSNRWHERECONDITION>ticketid in (1001)
<LSNRWHERECONDITION>
</MAXIMOEMAILCONTENT>
<MAXIMOEMAILCONTENT>
<LSNRACTION>QUERY</LSNRACTION>
<LSNRAPPLIESTO>PROBLEM</LSNRAPPLIESTO>
<TICKETID>1003</TICKETID>
<LSNRRESULTCOLUMNS>ticketid,description,
reportedby,affectedperson,commmoditygroup
</LSNRRESULTCOLUMNS>
</MAXIMOEMAILCONTENT>
<MAXIMOEMAILCONTENT>
<LSNRACTION>QUERY</LSNRACTION>
<LSNRAPPLIESTO>PROBLEM</LSNRAPPLIESTO>
<LSNRRESULTCOLUMNS>ticketid,description,
reportedby,affectedperson,commmoditygroup
</LSNRRESULTCOLUMNS>
<LSNRWHERECONDITION>AFFECTEDPERSON
= RAMSDALE AND STATUS = QUEUED
</LSNRWHERECONDITION>
</MAXIMOEMAILCONTENT>
<MAXIMOEMAILCONTENT>
<LSNRACTION>QUERY</LSNRACTION>
<LSNRAPPLIESTO>INCIDENT</LSNRAPPLIESTO>
<LSNRRESULTCOLUMNS>*</LSNRRESULTCOLUMNS>
<LSNRWHERECONDITION>AFFECTEDPERSON
= SMITH AND STATUS = QUEUED
</LSNRWHERECONDITION>
</MAXIMOEMAILCONTENT>
Procedure
1. In the E-mail Listeners definition, select the e-mail listener for which you want
to purge e-mail records.
2. Click the E-mail Processing tab to view the e-mail records, and from the Select
Action menu, select Activate/Deactivate Listener.
3. Save your changes to deactivate the e-mail listener.
4. From the Select Action menu, select Purge Staging Records.
Chapter 10. Configuring e-mail listeners
259
Example
If you change your mail server implementation or the e-mail address of an e-mail
account, you can purge the staging records associated with each account.
Alternatively, after initial testing of the application and configurations, you can
purge the staging table of any e-mail records before you enable e-mail listener
functionality in a production environment.
Related concepts:
Polling of mail servers for email messages on page 248
Using email listener definitions, the email Listeners application uses a dedicated
cron task to poll the mail server for incoming messages. Cron tasks are Java
components that you can set to run automatically and on a fixed schedule. For
each email listener definition that you create, a specific instance of the cron task is
created and associated with the email listener.
Staging e-mail messages on page 249
Using an e-mail listener cron task, the E-mail Listeners application stages e-mail
messages to a staging table. When staging an e-mail message, the application saves
all information that is required to process the e-mail message and initiate the
workflow process. Cron tasks are behind-the-scene jobs that run automatically and
on a fixed schedule.
Procedure
1. Place the Java class source file in the appropriate Java package where you
manage custom Java code.
2. Build your custom Java code into corresponding class files.
3. Build the Enterprise Archive (EAR).
4. Deploy the EAR into the application server to have your code changes take
effect.
Related concepts:
Preprocessors for e-mail listeners on page 246
A preprocessor determines whether incoming e-mails messages are new requests
for help or updates to existing service requests.
260
Procedure
1. Replace the value with other characters. There are no restrictions. However the
delimiter must be unique. Choose infrequently used characters or symbols for
delimiters.
2. Place the delimiter before and after the ticket ID (example: SR 1009 is
represented as ##1009##).
Example
If + is the delimiter, a user could send an e-mail with the subject line: +1003+
Having problems with printer + network.
The base preprocessor cannot identify the substring because the delimiter symbol
occurs multiple times within the subject line. In these circumstances, you must
develop your own preprocessor that contains logic to recognize the new delimiter
used with e-mails in your business environment.
Related concepts:
Preprocessors for e-mail listeners on page 246
A preprocessor determines whether incoming e-mails messages are new requests
for help or updates to existing service requests.
Procedure
1. In the E-mail Listener application, click New Listener Definition.
2. Specify a value for the e-mail address.
3. Optional: Provide a description of the e-mail address.
4. Specify values for the e-mail password, the mail server, the e-mail folder on the
mail server that will contain the e-mail messages, and the mail protocol used
with the mail server. The port value is provided based on the protocol value.
You can change the port value, if necessary.
5. Specify a value for the workflow process to use for the definition.
6. Specify a value for the schedule to set how often you want the server to be
polled for incoming e-mail messages. The default frequency is every five
minutes. The default values for preprocessor, object key delimiter, cron task
name, and cron task instance are provided.
7. Optional: Complete the following steps:
v To have e-mail messages deleted from the server after they are processed,
select the E-mail Deleted option.
Chapter 10. Configuring e-mail listeners
261
v Specify a value for the Age Threshold field for the length of time that an
e-mail message remains on the mail server before being deleted.
v Specify a value for the age unit of measure.
v If you configured a Java Messaging Service (JMS) queue to facilitate
processing of e-mail messages, select the Queue Based Processing check box.
v If necessary for your configuration, specify a value for the queue connection
factory. Specify a value that represents the Java Name and Directory Interface
(JNDI) name of the Java component that provides a connection to a queue.
v If necessary for your configuration, specify a value for the processing queue.
Specify a value that represents the name of the queue that is to be used to
process e-mail messages for this account.
8. Save the e-mail listener definition.
What to do next
You must activate the e-mail listener definition for incoming e-mail messages to be
polled on the mail server. To activate the e-mail listener definition, use the
Activate/Deactivate Listener action.
Related concepts:
E-mail listeners definitions on page 240
As your business needs change, you can change, copy, or deactivate your e-mail
listener definitions.
Procedure
1. In the E-mail Listeners application, select the e-mail listener definition that you
want to delete.
2. From the Select Action menu, select Activate/Deactivate Listener.
3. Save the configuration. The e-mail listener definition is deactivated.
4. From the Select Action menu, select Delete Listener.
5. Save the configuration. The e-mail listener definition and the associated cron
task instance are deleted.
262
Related concepts:
E-mail listeners definitions on page 240
As your business needs change, you can change, copy, or deactivate your e-mail
listener definitions.
Procedure
1. Start the WebSphere Application Server.
2. Launch Microsoft Internet Explorer and open the WebSphere administrative
console by typing the following URL:
http://<machine_name>:<port_number>/ibm/console
For example, type a URL like the following URL:
http://localhost:9060/ibm/console
3. At the Welcome screen, enter your User ID then click Log in.
4. If necessary, create the MAXIMOSERVER application server:
a. In the navigation pane, first, click Servers, then Application Servers, and
then select New. Ensure that the application node is ctgNode01.
b. In the Server name field, enter MAXIMOSERVER, and then click Next.
c. Click Next to accept the default server template.
d. Verify that the Generate Unique Ports check box is selected and click
Next.
e. From Confirm new server, click Finish.
f. Save the changes to the master configuration.
5. Change the MAXIMOSERVER JVM heap size properties:
a. In the navigation pane, click Servers and then select Application Servers.
b. Click MAXIMOSERVER.
c. In the Server Infrastructure section, click Process Definition in the Java
and Process Management section.
d. In Additional Properties, click Java Virtual Machine.
e. Set the Initial Heap Size to 1536 for a 32 Bit JVM and to 4096 for a 64 Bit
JVM.
f. Set the Maximum Heap size to 1536 for a 32 Bit JVM and to 4096 for a 64
Bit JVM.
g. Click OK and then click Save.
6. To start the MAXIMOSERVER, click Servers and then clickApplication
Servers. Select MAXIMOSERVER and click Start.
7. Click Service Integration and then click Buses.
8. In the Buses window, click New.
9. To add a new service integration bus:
a. Type a text description of the new bus in the Name field. For example,
lsnrjmsbus.
b. Clear the Secure check box. If you leave this box checked, lsnrjmsbus
inherits the Global Security setting of the cell.
Chapter 10. Configuring e-mail listeners
263
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. From the WebSphere administrative console, click Service Integration and
click Buses.
2. In the Buses window, click lsnrjmsbus to open the buses.
3. Under the Topology section in the lsnrjmsbus window, click Bus members.
4. In the Bus members window, click Add.
5. In the Add a new bus member window, select the server name
ctgNode01:MAXIMOSERVER to add to the bus, and then click Next.
6. Select File store, and then click Next.
7. In the Provide the message store properties panel, click Next.
8. Click Finish and then click Save.
9. Select lsnrjmsbus and in the High message threshold field, change the value
to a minimum value of 500,000 messages and then click Apply.
10. Select Synchronize changes with Nodes and click Save.
What to do next
After you add servers to the JMS buses, you create a JMS bus destination for the
listener inbound queue.
264
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. From the administrative console, click Service Integration, and then click
Buses.
2. In the Buses window, click lsnrjmsbus.
3. In the Destination resources section of the lsnrjmsbus window, click
Destinations.
4. In the Destinations window, click New.
5. In the Create new destination window, verify that the destination type is
queue, and click Next.
6. In the Create new queue window, enter lsnrqin in the Identifier field and
Listener Queue Inbound in the Description field, then click Next.
7. In the Create a new queue for point-to-point messaging window, select
Node=ctgNode01:Server=MAXIMOSERVER as the bus member to store and
process messages for the lsnrqin bus destination queue and then click Next.
8. In the Confirm queue creation window, click Finish to complete the creation
of the lsnrqin bus destination queue.
9. Select Buses > lsnrjmsbus > Destinations > lsnrqin.
10. In the Configuration window, perform the following steps:
a. Change the Maximum failed deliveries value to 1.
This value is the maximum number of times that you want the system to
process a failed messaging attempt before forwarding the message to the
exception destination.
b. Click None as the exception destination value.
11. Click Apply, then click Save.
12. Select Synchronize changes with Nodes and click Save.
What to do next
After you add JMS bus destinations for inbound queues for e-mail listeners, you
can create the JMS connection factory.
265
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. From the WebSphere administrative console, click Resources, then click JMS,
and finally select Queue Connection Factory.
2. From the Scope list, select Cell=ctgCell01 and click New
3. Verify that the Default Messaging Provider is selected and click OK.
4. Enter the following information:
Name field: lsnrconnfact
JNDI name field: jms/maximo/lsnr/lsnrcf
Bus name field: lsnrjmsbus
5. Click OK and then click Save.
6. Select Synchronize changes with Nodes and click Save.
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. From the administrative console, click Resources, then click JMS, and finally
select Queues
2. From the Scope list, select Cell=ctgCell01 and then click New.
3. Verify the Default Messaging Provider is selected and click OK.
4. Enter the following information:
Name: lsnrqueue
JNDI name field: jms/maximo/int/lsnr/qin
Bus name field: lsnrjmsbus
Queue name field: lsnrqin
266
What to do next
After you create an inbound JMS queue for the e-mail listener, you can activate the
queue.
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. From the WebSphere administrative console, click Resources, then click JMS,
and finally select Activation Specifications.
2. From the Scope list, select Cell=ctgCell01 and then click New.
3. Complete the General Properties section for the new JMS activation and then
click OK
4. Enter the following information:
Name field: lsnrjmsact
JNDI name field: lsnrjmsact
Destination type field: Queue
Destination JNDI name field: jms/maximo/lsnr/qin
Bus name field: lsnrjmsbus
Maximum concurrent endpoints field: 5
5. Click OK and then click Save.
6. Select Synchronize changes with Nodes and click Save.
7. Stop all IBM-related processes and daemons and then restart these processes for
the update to take effect.
267
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. In your installation folder, locate the deployment descriptor file called
ejbjar.xml under the file path applications/maximo/mboejb/ejbmodule/METAINF.
2. Open the file in a text editor and make the following changes:
a. Locate the following section and remove the comment lines (<! and >):
Email Listener JMS is not deployed by default
<message-driven id="MessageDriven_LSNRMessageBean">
<ejb-class>psdi.common.emailstner.LSNRMessageBEAN</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>-->
b. Locate the following section and remove the comment lines (<! and >):
Email Listener JMS is not deployed by default
<container-transaction>
<method>
<ejb-name>LSNRMessageBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>-->
268
activationSpecJndiName="lsnrjmsact">
<enterpriseBean xmi:type="ejb:MessageDriven"
href="META-INF/ejbjar.xml#MessageDriven_LSNRMessageBean"/>
</ejbBindings>-->
6. Save the changes that you made to the file, then rebuild and redeploy the
Enterprise Application Archive (EAR).
What to do next
After you configure the MDBs for e-mail listeners, you can activate workflow
processes for e-mail listeners.
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. Start the WebLogic Server.
2. In the Domain structure, create a file store:
a. Expand Services, and click Persistent Stores > New > Create FileStore.
b. In the Name field, specify lsnrstore, and accept the default value of
AdminServer for the target.
c. In the Directory field, specify a folder on the application server computer
from which the application server can manage in the store and click Finish.
TheWebLogic Server can perform read and write operations into the store in
this folder. For example, a value for a Windows environment can be c:\tmp.
A confirmation message states that the file store was created successfully.
3. In
a.
b.
c.
d.
269
270
Procedure
In WebLogic Server, create a file store.
Specify lsnrstore as the name.
Accept the default target value of AdminServer.
Specify a folder on the application server computer from which the store can be
managed. The WebLogic Server can perform read and write operations into the
store in this folder. For example, a value for an environment can be c:\tmp.
5. Click Finish.
1.
2.
3.
4.
What to do next
After you add file stores, you add JMS servers for e-mail listeners.
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Adding Java Messaging Service servers for e-mail listeners WebLogic Server
You configure Java Messaging Service (JMS) queues to manage high volumes of
e-mail messages that must be processed quickly. Adding a JMS server is part of
configuring JMS queues for e-mail listeners.
Procedure
1.
2.
3.
4.
What to do next
After you add a JMS server, you add a JMS module for e-mail listeners.
271
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Adding Java Messaging Service modules for e-mail listeners WebLogic Server
You configure Java Messaging Service (JMS) queues to manage high volumes of
e-mail messages that must be processed quickly. Adding a JMS module is part of
configuring JMS queues for e-mail listeners.
Procedure
1. In WebLogic Server, add a JMS module.
2. Specify lsnrjmsmodule as the name of the module.
3. Do not specify values for the descriptor file name or in domain. The
application server assigns default values.
4. Select the option for the admin server.
5. Select the option to add a resource to the JMS system module.
What to do next
After you add a JMS module, you add a JMS connection factory for e-mail
listeners.
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. In WebLogic Server server, create a connection factory.
2. Specify lsnrconnfact as the name.
3. Specify jms/maximo/lsnr/lsnrcf as the Java Naming and Directory Interface
(JNDI) name.
4. Verify that the target value is AdminServer, and add the connection factory.
272
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Adding Java Messaging Service queues for e-mail listeners WebLogic Server
You configure Java Messaging Service (JMS) queues to manage high volumes of
e-mail messages that must be processed quickly. Activating a JMS connection
factory is part of configuring JMS queues for e-mail listeners.
Procedure
In WebLogic Server, specify the following information for the queue:
Option
Description
Name
lsnrqueue
jms/maximo/int/lsnr/qin
Template
None
Targets
lsnrserver
What to do next
After you add a JMS queue for e-mail listeners, you activate the JMS connection
factory.
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. In WebLogic Server, enable the XA connection factory
2. Save your changes.
Chapter 10. Configuring e-mail listeners
273
Procedure
1. In your installation folder, locate the file called ejb-jar.xml under the file path
applications/maximo/mboejb/ejbmodule/META-INF.
2. Open the file in a text editor and make the following changes:
a. Locate the following section and remove the comment lines (<! and >):
<!--Email Listener JMS is not deployed by default
<message-driven id="MessageDriven_LSNRMessageBean">
<ejb-name>LSNRMessageBean</ejb-name>
<ejb-class>psdi.common.emailstner.LSNRMessageBean</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
</message-driven>
-->
b. Locate the following section and remove the comment lines (<! and >):
<!--Email Listener JMS is not deployed by default
<container-transaction>
<method>
<ejb-name>LSNRMessageBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
-->
274
b. In the section where you removed the comment lines, change the value of
the <connection-factory-jndi-name> tab to jms/mro/lsnr/lsnrcf.
c. Save the changes that you made to the file.
6. Rebuild and redeploy the Enterprise Application Archive (EAR) to complete the
configuration.
What to do next
After you configure the MDB for e-mail listeners, you configure an e-mail listener
to use a JMS queue.
Related concepts:
Queues on page 248
A queue is an application server component that can facilitate parallel processing.
Associating a queue with an e-mail listener can speed up the sequential processing
of incoming e-mails, especially when they are arriving in high volume.
Java Message Driven Bean on page 248
To enable an e-mail listener to use JMS queues, you must configure a Java
component called a Message Driven Bean that ships with the system. The Message
Driven Bean must be configured through a deployment descriptor file that is part
of your installation.
Procedure
1. In the Workflow Designer application, select the LSNRBP workflow process.
2. From the Select Action menu, select Enable Process to validate and enable the
workflow process.
3. From the Select Action menu, select Activate Process.
4. Select the IBEP workflow process.
5. From the Select Action menu, select Enable Process to validate and enable the
workflow process.
6. From the Select Action menu, select Activate Process.
What to do next
After you activate the workflow process for the e-mail listener, you can configure
the e-mail listener to use as a JMS queue.
275
Related concepts:
Email listeners components on page 239
The Email Listeners application works together with a CRON task and a workflow
process to provide full functionality.
Predefined workflow process for e-mail listeners on page 240
You use workflow processes to create steps to guide records for your business
process. The E-mail Listener application has a predefined workflow, Listener
Business Process (LSNRBP), that is used with the E-mail Listeners application.
Security settings for e-mail listeners on page 241
As you can create, update, query, and change the status of tickets, you can
configure security settings for e-mail listeners. Using these settings, you can ensure
that only authorized users can execute these functions using e-mail messages.
Communication templates for e-mail listeners on page 242
To generate standardized e-mail notifications, the E-mail Listeners application uses
communication templates to generate notifications that are sent to users and
administrators. The types of notifications include confirmations, validation or
processing errors, and system errors.
Procedure
1. In the E-mail Listeners application, create an e-mail listener definition.
2. On the Listener tab, provide the required information, including e-mail
address, e-mail password, mail server, protocol, e-mail folder, preprocessor,
object key delimiter, workflow process, and schedule.
3. In the E-mail Processing Frequency section, select the queue-based processing
option.
4. Specify jms/maximo/lsnr/lsnrqcf as the value for the queue connection factory.
5. Specify jms/maximo/lsnr/qin as the value for the processing queue.
6. From the Select Actions menu, select Security Settings.
7. In the Select Security Settings window, click New Row and specify the
following information:
a. Specify SR as the value for the Maximo business object.
b. Specify CREATESR as the value for the Maximo application.
8. Click OK.
9. From the Select Actions menu, select Activate/Deactivate Listener.
276
Related concepts:
Email listeners components on page 239
The Email Listeners application works together with a CRON task and a workflow
process to provide full functionality.
Predefined workflow process for e-mail listeners on page 240
You use workflow processes to create steps to guide records for your business
process. The E-mail Listener application has a predefined workflow, Listener
Business Process (LSNRBP), that is used with the E-mail Listeners application.
Security settings for e-mail listeners on page 241
As you can create, update, query, and change the status of tickets, you can
configure security settings for e-mail listeners. Using these settings, you can ensure
that only authorized users can execute these functions using e-mail messages.
Communication templates for e-mail listeners on page 242
To generate standardized e-mail notifications, the E-mail Listeners application uses
communication templates to generate notifications that are sent to users and
administrators. The types of notifications include confirmations, validation or
processing errors, and system errors.
Procedure
1. On the E-mail Processing tab in the E-mail Listeners application, select the
e-mail record for which you want to create a communication.
2. Click Create Communication to open the Create Communication window.
Based on the e-mail record that you selected, the default values for the
recipient, the subject, and the message are provided. You can change these
values.
3. Add an attached file.
4. Send the communication to the recipient that you specified.
277
Related concepts:
E-mail messages on page 248
In the E-Mail Listeners application, you can manage your e-mail messages.
Status of e-mail records on page 250
Every e-mail record in the staging table has an associated status. These statuses
reflect the sequence of actions that the e-mail listener performs on an e-mail record
in the staging table.
E-mail attachments on page 251
The E-mail Listeners application stores attachments from incoming e-mail on the
application server. You can view attachments in the E-mail Processing tab of the
E-mail Listeners application.
Bounced e-mail messages on page 252
Bounced e-mail messages are outbound e-mail messages that cannot be delivered.
Large volumes of bounced e-mail messages create excess network traffic and affect
the processing of legitimate tickets.
Deletion of e-mails from the mail server on page 252
You can manage your e-mail message by specifying a set of rules to mark e-mail
messages on the mail server for deletion. You can delete e-mail records with
statuses of complete, error, or invalid. When you delete e-mail records in the
E-mail Listeners application, the e-mail records are completely removed and cannot
be retrieved.
Message thresholds on page 251
If the number of messages waiting to be processed exceeds the high message
threshold that you set, the application server limits the addition of new messages
in the processing queues.
Related reference:
Examples of formatted e-mail messages using change status function on page
256
You can compose formatted e-mail messages that use the change status function.
You compose these messages using attribute-value pairs or XML tags.
Examples of formatted e-mail messages using create and update functions on
page 257
You can compose formatted e-mail messages that use the create and update
functions. You compose these messages using XML tags or attribute-value pairs.
Examples of formatted e-mail messages using query function on page 258
You can compose formatted e-mail messages that use the query function. You
compose these messages using attribute-value pairs or XML tags.
Symptoms
A user is expecting a response from an email. The expected email does not arrive
in the user's inbox. The user informs the system administrator that the expected
email did not arrive.
Causes
v The mail client, such as Microsoft Outlook, is set to a UTF-7 character set
encoding. The following error is shown in the log:
java.io.UnsupportedEncodingException: UTF-7 is not a supported format.
278
279
280
Description
ReorderCronTask
PMWoGenCronTask
KPICronTask
LDAPSYNC
ESCALATION
LSNRCRON
JMSQSEQCONSUMER
IFACETABLECONSUMER
281
Description
SwSuiteCronTask
ReconciliationCronTask
MeasurePointWoGenCronTask
FLATFILECONS
XMFILECON
VMMSYNC
BBCron
282
Example
Table 52. Example of CRONTASKPARAMETER table with data for the ReorderCron cron
task
CRONTASKNAME
INSTANCENAME
PARAMETER
VALUE
ReorderCronTask
NA
directisse
ReorderCronTask
NA
emailto
ReorderCronTask
NA
ignoreorderpoint
ReorderCronTask
NA
leadtime
ReorderCronTask
NA
logfile
ReorderCronTask
NA
storeroom
Nashua
ReorderCronTask
NA
useagreement
ReorderCronTask
NA
directisue
ReorderCronTask
NA
emailto
ReorderCronTask
NA
ignoreorderpoint
ReorderCronTask
NA
leadtime
ReorderCronTask
NA
logfile
ReorderCronTask
NA
storeroom
Central,Bedford
ReorderCronTask
NA
useagreement
283
v Run as user ID
You have a cron task that performs backups. You can create instances to perform
backups at different frequencies, such as daily, weekly, or monthly.
Related tasks:
Creating cron task instances on page 285
Before you can run custom cron tasks, you must create a cron task instance. You
can create numerous instances for a single cron task, which allows you to fine-tune
these tasks to your business needs.
Copying cron task instances on page 286
After you create a cron task instance, you can copy it and change it. When you
copy a cron task instance, the active status, schedule, run as user ID, and
parameter values are also copied.
Changing cron task instances on page 286
You can change the attributes or parameter values for a cron task instance to suit
your specific needs. You can change the attributes or parameter values without
restarting the application server.
Reloading cron task instances on page 286
You use the Cron Task Setup application to reload instances of cron tasks.
Deleting cron task instances on page 287
In the Cron Task Setup application, you can delete cron task instances that you are
no longer using. An instance is a copy of a cron task that you can change to suit
your business needs.
Procedure
1. In the Cron Task Setup application, click New Cron Task Definition.
2. Provide a name for the cron task.
3. In the Class field, enter the name of the cron task class file. The name is
case-sensitive.
4. Specify a value to indicate the level of access that a user has to the cron task.
5. Save the cron task definition.
284
Procedure
1. Display the cron task definition that you are deleting.
2. Ensure that the cron task definition has no instances.
3. From the Select Action menu, choose Delete Cron Task.
Procedure
1. In the Cron Task Setup application, select the cron task definition for which
you want to create an instance.
2. On the Cron Task tab, click New Row.
3. Specify a name and a schedule for the cron task instance. The date is shown as
a string in the Schedule field. Do not change the string in the Schedule field.
Click Set Schedule to change the schedule.
4. Specify a user with the necessary privileges. The user must have access for the
actions that the cron task performs.
5. Optional: Select the Active check box.
6. Save your changes.
7. From the Select Action menu, select Reload Request.
8. Select the instance, and click OK.
285
Related concepts:
Instances of cron tasks on page 283
An instance is a copy of a cron task that you can change to meet your business
needs. You can create multiple instances for each cron task.
Procedure
1.
2.
3.
4.
In the Cron Task Setup application, select the relevant cron task.
Click Duplicate.
Provide a name for the cron task instance.
Optional: Change additional information.
Procedure
1. In the Cron Task Setup application, select the cron task with the instance that
you want to change.
2.
3.
4.
5.
6.
Click View Details for the instance that you want to change.
Change applicable information.
Save your changes.
Determine if the changes that you made require a reload.
Optional: If a reload is required, go to the Select Action menu and select
Reload Request.
Example
You change the schedule on which a cron task runs, suspend a task by making it
inactive, or change the run as user ID.
Related concepts:
Instances of cron tasks on page 283
An instance is a copy of a cron task that you can change to meet your business
needs. You can create multiple instances for each cron task.
286
Procedure
1. You must reload an instance only in certain situations. These are the possible
situations under which you might need to reload an instance.
Option
Description
2. If a reload is required, from the Select Action menu, select Reload Request.
3. In the Reload Request window, select the instances that you want to reload.
4. Click OK.
Related concepts:
Instances of cron tasks on page 283
An instance is a copy of a cron task that you can change to meet your business
needs. You can create multiple instances for each cron task.
Procedure
1. Display the instance that you want to delete.
2. Clear the Active check box to make the instance inactive.
3. Click Mark Row for Delete.
Related concepts:
Instances of cron tasks on page 283
An instance is a copy of a cron task that you can change to meet your business
needs. You can create multiple instances for each cron task.
287
Procedure
1. In the maximo_install\applications\Maximo\properties directory, open the
maximo.properties file in a text editor.
2. Navigate to the section Cron Task Manager property. Copy the line
//mxe.crontask.donotrun=crontaskname.instancename and paste it in a new
line under the text that you copied.
3. In the copied line, remove the comment indicators.
4. Replace the text crontaskname.instancename with the name and instance of the
cron task. For example, to disable an instance of the reorder cron task, modify
the copied line to say
mxe.crontask.donotrun=ReorderCronTask.ReorderCronTask01.
5. Save your changes.
What to do next
After you change the maximo.properties file, you must rebuild and redeploy the
enterprise application archive file.
Procedure
1. In the Cron Task Setup application, delete FULL from the Access field.
2. Press Enter to view the hidden cron tasks.
288
Domains overview
You can add domains or modify existing ones to fit with your business practices.
After adding domains, additional tasks might be required, depending on the
domain and how you want the system to display it.
Description
Classifications
Database Configuration
Example
289
Description
Example
Application Designer
Types of domains
Some fields are associated with Select Value lists from which you can choose an
appropriate value. The lists of defined values are known as domains (sometimes
referred to as value lists).
You can work with the following types of domains:
ALN
Crossover
A special table domain in which the system brings back another value (or
values) from the specified record.
Numeric
A list of numeric values.
Numeric range
A list of numeric values that you define by specifying a range.
Synonym
These are special, reserved domains in the system. You cannot add or
delete synonym domains. You can add new synonym values that are
presented to the user.
Table
ALN domains
ALN domains are simple lists of values that use one of the alphanumeric data
types.
Example
If your company requires that calendar information is consistent, you can create a
list of the days of the week or months of the year. Unlike a SYNONYM domain,
290
the values in this list are for informational purposes only, the values are not
editable.
Crossover domains
Crossover domains return a value from a field in one application to a field in
another application. For example, you can return the serial number of an asset in
the Assets application to a field in the Item Master application.
When you create a crossover domain, you can specify one or more conditions that
must be met before values are returned from a source object. You can define
conditions for the source object and the destination object, and if the conditions are
met, values are returned to the destination field. You use the Conditional
Expression Manager to define conditions for crossover domains.
291
Synonym domains
Synonym domains are special domains that are reserved by the system. You cannot
add new synonym domains, but you can add new synonym values that are
presented to the user.
An example of a synonym domain is work order status. The system has several
values to reflect status: APPR (Approved), CAN (Canceled), CLOSE (Closed),
COMP (Completed), WAPPR (Waiting on Approval), and others. Each work order
status has an internal value, used by the system in its business rules, and a value
that users see and choose from. You cannot add a new internal value. You can add
a synonym, the value that is presented to the user.
TABLE domains
TABLE domains are dynamic sets of values based on the values of another object.
Example
You can use a TABLE domain to present a valid list of records from the PERSON
table to be typed in the OWNER field on a record.
292
Example
If you want to add a new attribute for assets on the TKTEMPLATE object, perform
the following steps:
1. Create a TABLE domain.
2. Add the assetnum attribute to the TKTEMPLATE.
3. Add a relationship to the asset table.
4. Add the attribute siteid to TKTEMPLATE.
Example one
When you specify an organization or site for domain values, note where the
domain is being used.
In the Labor application, you use the SKILLLEVEL domain on the CRAFTSKILL
object. You specify both the organization and site values for domain values. When
you access the Labor application and lookup the skill level, you do not see your
values. This issue occurs because you specified a site, and the object that is using
the domain is at the organization level. To fix this problem, remove the site from
the domain value.
Example two
You might want to leave the organization field and site field empty for all values
(users in all organizations and sites can access them). If you specify an
organization or site for one value, you must specify an organization or site for all
values (users in the specified organizations or sites can access them).
Otherwise, complicated outcomes can result. For example, you can set an
organization with the following domain values:
Table 54. Sample domain setup with specific organizations
Value
Organization
GREEN
BLUE
RED
With the domain configuration above, you get the following results:
v Records in Organization A can access GREEN only.
v Records in Organization B can access BLUE only.
v Records in other organizations (other than Organization A and Organization B)
can access RED only.
Chapter 12. Managing domains
293
Procedure
1. Open the Domains application.
2. At the bottom of the Domains table window, click Add New Domain and
select Add New ALN Domain.
3. In the Domain field, specify a name for the domain.
4. In the Description field, type a short description for the domain.
5. In the Data Type field, specify a data type for the domain.
6. In the Length field, specify a length that is equal to or less than the length of
the field that uses the domain. For example, if you are adding a domain for a
field in the Assets application that has a length of 12, then specify a length of
12.
7. Click New Row.
8. Fill the Value and Description fields.
9. Optional: Apply a domain value to a specific organization or site by entering
the relevant values in the Organization and Site fields. Domains are applied
at the system level by default.
You can leave the Organization and/or Site fields empty for all values so that
users in all organizations and sites can access them. Or you could specify an
organization and/or site for all values so that only the users in the specified
organizations and/or sites can access them. Otherwise, complicated outcomes
can result.
For example, if you enter a value RED with no organization specified, a value
GREEN with Organization A specified, and a value BLUE with Organization B
specified, then records in Organization A has access to GREEN only. Records
that are in Organization B has access to BLUE only. Records that are in other
organizations has access to RED only. When you specify an organization
and/or site for one value, records in that organization and/or site no longer
have access to values that have no organization or site specified.
10. Optional: Click New Row again to add more values.
11. Click OK.
294
What to do next
After you add a domain, you might still have several tasks to perform, depending
on the domain and how you want to display it.
In the Classifications application, you associate a domain with an attribute in the
Attributes table window. No further configuration is needed.
If you use a domain in any other context, adding a domain requires additional
tasks:
v Associate the new domain with an attribute in the Database Configuration
application.
v Configure the database in the Database Configuration application.
v Use the Application Designer application to modify the user interface as needed.
For example, if you add an ALN domain for a field, you must add the select
value button. New crossover domains might require new fields in the
destination application.
Related concepts:
Numeric range domains on page 291
A numeric range domain is a domain that uses one of the numeric data types, but
for which you specify a range rather than specific values.
Procedure
1. Open the Domains application.
2. In the Domains table window, click Add New Domain and select Add New
CROSSOVER Domain.
3. In the Domain field, specify a name for the domain.
4. In the Description field, type a short description for the domain.
5. In the Crossover Domain table window, click New Row.
6. Define details for the crossover domain:
Field
Description
Object
295
Field
Description
7. Optional: Specify a group value and a key value to select an error message to
display when domain validation fails. You define values for error messages in
the Database Configuration application.
a. In the Error Message Group field, specify the group value of the error
message.
b. In the Error Message Key field, specify the key value of the error message.
8. Optional: To apply a domain to a specific organization or site, specify values
in the Organization and Site fields. To allow access to users in all
organizations and sites, clear all values from these fields.
9. Select fields for the crossover domain:
a. In the Crossover Fields table window, click New Row.
b. In the Source Field list, select an attribute of the object that you specified
in the Object field. This attribute represents the field from which you want
to return values.
c. In the Destination Field text box, specify the field to which you want
values to be returned.
d. Optional: Select the Accept NULL Value check box to copy the value from
the source field when the value of the target attribute is empty. This
function overwrites the previous value.
e. Optional: Select the No Overwrite check box if you want to copy the value
of the source attribute when it is null.
10. Optional: Specify conditions for the source object or the destination object, or
both:
a. In the Condition on Source field, select a condition or use the Conditional
Expression Manager to build the condition for the source object of the
crossover. The source object must meet the condition before the crossover
occurs.
b. In the Condition on Destination field, select a condition or use the
Conditional Expression Manager to build the condition for the destination
object of the crossover. The destination object must meet the condition
before the crossover occurs.
296
c. In the Sequence field, type a numeric value to specify the order that the
crossover occurs when multiple crossovers are defined. Crossovers with
lower values occur before crossovers with higher values.
11. Click OK to add the crossover domain to the database.
What to do next
After you add a domain, you might still have several tasks to perform, depending
on the domain and how you want to display it.
In the Classifications application, you associate a domain with an attribute in the
Attributes table window, and no further configuration is needed.
If you use a domain in any other context, adding a domain requires additional
tasks:
v Associate the new domain with an attribute in the Database Configuration
application.
v Configure the database in the Database Configuration application.
v Use the Application Designer application to modify the user interface as needed.
For example, if you add an ALN domain for a field, you must add the select
value button. New crossover domains might require new fields in the
destination application.
Related concepts:
Crossover domains on page 291
Crossover domains return a value from a field in one application to a field in
another application. For example, you can return the serial number of an asset in
the Assets application to a field in the Item Master application.
Procedure
1. Open the Domains application.
2. At the bottom of the Domains table window, click Add New Domain and
select Add New NUMERIC Domain.
3. In the Domain field, specify a name for the domain.
4. In the Description field, type a short description for the domain.
5. In the Data Type field, specify a data type for the domain.
6. Depending on the data type the Length field might or might not be editable.
If editable, specify a length that is equal to or less than the length of the field
Chapter 12. Managing domains
297
7.
8.
9.
10.
that uses the domain. For example, if you are adding a domain for a field in
the Assets application that has a length of 12, then specify a length of 12.
For Decimal data type only, in the Scale field, specify a scale value if different
from the default, 2.
Click New Row.
Fill the Value and Description fields.
Optional: Apply a domain value to a specific organization or site by
specifying values in the Organization and Site fields. Domains are applied at
the system level by default.
You might want to leave the Organization and/or Site fields empty for all
values so that users in all organizations and sites can access them. Or you
could specify an organization and/or site for all values so that only users in
the specified organizations and/or sites can access them. Otherwise,
complicated outcomes can result.
For example, if you enter a value 100 with no organization specified, a value
300 with Organization A specified, and a value 500 with Organization B
specified, then records in Organization A have access to 300 only. Records that
are in Organization B have access to 500 only. Records that are in other
organizations have access to 100 only. Once you specify an organization
and/or site for one value, records in that organization and/or site no longer
has access to values that have no organization/site specified.
What to do next
After you add a domain, you might still have several tasks to perform, depending
on the domain and how you want to display it.
In the Classifications application, you associate a domain with an attribute in the
Attributes table window, and no further configuration is needed.
If you use a domain in any other context, adding a domain requires additional
tasks:
v Associate the new domain with an attribute in the Database Configuration
application.
v Configure the database in the Database Configuration application.
v Use the Application Designer application to modify the user interface as needed.
For example, if you add an ALN domain for a field, you must add the select
value button. New crossover domains might require new fields in the
destination application.
Related concepts:
Numeric range domains on page 291
A numeric range domain is a domain that uses one of the numeric data types, but
for which you specify a range rather than specific values.
298
Procedure
1. Open the Domains application.
2. At the bottom of the Domains table window, click Add New Domain and
select Add New NUMERIC RANGE Domain.
3. In the Domain field, specify a name for the domain.
4. In the Description field, type a short description for the domain.
5. In the Data Type field, specify a data type for the domain.
6. Depending on the data type, the Length field might or might not be editable.
If editable, specify a length that is equal to or less than the length of the field
that uses the domain. For example, if you are adding a domain for a field in
the Assets application that has a length of 12, then specify a length of 12.
7. For DECIMAL data type only, in the Scale field, specify a scale value if
different from the default, 2.
8. Click New Row and fill the following fields. Each row defines a range.
Field
Description
Range Segment
Range Minimum
Range Maximum
299
Field
Description
Interval
What to do next
After you add a domain, you might still have several tasks to perform, depending
on the domain and how you want to display it.
In the Classifications application, you associate a domain with an attribute in the
Attributes table window, and no further configuration is needed.
If you use a domain in any other context, adding a domain requires additional
tasks:
v Associate the new domain with an attribute in the Database Configuration
application.
v Configure the database in the Database Configuration application.
v Use the Application Designer application to modify the user interface as needed.
For example, if you add an ALN domain for a field, you must add the select
value button. New crossover domains might require new fields in the
destination application.
Related concepts:
Numeric range domains on page 291
A numeric range domain is a domain that uses one of the numeric data types, but
for which you specify a range rather than specific values.
300
Procedure
1. Open the Domains application.
2. At the bottom of the Domains table window, click Add New Domain and
select Add New TABLE Domain.
3. In the Domain field, specify a name for the domain.
4. In the Description field, type a short description for the domain.
5. Click New Row and fill the following fields.
Field
Description
Object
6. Optional: Specify a group value and a key value to select an error message to
display when domain validation fails. You define values for error messages in
the Database Configuration application.
a. In the Error Message Group field, specify the group value of the error
message.
b. In the Error Message Key field, specify the key value of the error message.
7. Optional: Apply a domain value to a specific organization or site by specifying
values in the Organization and Site fields. Domains are applied at the system
level by default.
301
You might want to leave the Organization and/or Site fields empty for all
values so that users in all organizations and sites can access them. Or you
could specify organization and/or site for all values so that only users in the
specified organizations and/or sites can access them.
8. Optional: Click New Row again to add more rows.
9. Click OK.
What to do next
After you add a domain, you might still have several tasks to perform, depending
on the domain and how you want to display it.
In the Classifications application, you associate a domain with an attribute in the
Attributes table window, and no further configuration is needed.
If you use a domain in any other context, adding a domain requires additional
tasks:
v Associate the new domain with an attribute in the Database Configuration
application.
v Configure the database in the Database Configuration application.
v Use the Application Designer application to modify the user interface as needed.
For example, if you add an ALN domain for a field, you must add the select
value button. New crossover domains might require new fields in the
destination application.
Related concepts:
TABLE domains on page 292
TABLE domains are dynamic sets of values based on the values of another object.
Foreign keys and TABLE domains on page 293
Using domains, you can create a foreign key from a system level for site-level or
for organization-level objects.
302
Procedure
1. Open the Domains application and select the Edit Detail icon for the domain
containing the values you want to associate with a condition. Depending on the
domain type selected, an ALN, numeric, synonym, table, or crossover window
opens from where you can add or change conditions.
2. Add or change the conditions as necessary.
3. Optional: If you want to add the same conditions for multiple domain values,
select Set Conditions and select a condition from the condition library. You can
apply the same condition to all of the selected values.
4. Optional: If you want domain values to be used by multiple objects, specify the
objects in the Object Name field.
5. Save the record.
Procedure
1. Open the Domains application.
2. Find the synonym domain for which you want to add a synonym value, for
example WOSTATUS.
3. Click Edit Detail. In the Synonym Domain table window, the set of current
values: the Internal Value is used by the system and must be unique. The Value
and its description are what users see.
4. Click New Row and enter values in the fields:
Field
Description
Internal Value
Value
Description
5. Optional: In the Default field, select the check box if you want the system to
use the new synonym value by default. Each internal value can have only one
default synonym value.
For example, the system inserts WAPPR (Waiting for Approval) as the status
when you create a work order. You add a synonym value, WAIT. If you want
the system to insert WAIT instead of WAPPR, then make WAIT the default.
6. Optional: Apply a domain value to a specific organization or site by specifying
values in the Organization and Site fields. Domains are applied at the system
level by default.
You might want to leave the Organization and/or Site fields empty for all
values so that users in all organizations and sites can access them. Or you
Chapter 12. Managing domains
303
could specify organization and/or site for all values so that only users in the
specified organizations and/or sites can access them.
If you create a synonym value and specify a site or organization, and then click
OK, the system automatically inserts duplicate rows for the other values. The
duplicate rows have the site or organization you specified for the new value
that you created. For example, the MRTYPE domain has three values:
RECURRING, STANDARD, and TRANSFER (each with an internal value of the
same name). If you create a synonym value, REGULAR, with the internal value
of STANDARD and specify Organization B, the system automatically creates
(when you click OK) the additional synonym values RECURRING and
TRANSFER with Organization B specified.
Important: After you have implemented the system and inserted records, you
generally must not add a synonym value with a site or organization specified.
This action can invalidate existing data. If you must add a synonym value with
a site or organization specified, you must also add synonym values for all the
existing values that are in the database. For example, if you added a synonym
value for STANDARD with an organization or site specified, you must also add
synonym values for RECURRING and TRANSFER (if they have been used on
records) with the same organization or site specified.
7. Click New Row to add more synonyms.
8. Click OK.
Related concepts:
Synonym domains on page 292
Synonym domains are special domains that are reserved by the system. You cannot
add new synonym domains, but you can add new synonym values that are
presented to the user.
Procedure
1. Open the Domains application.
2. In the Domains table window, find the domain with the synonym value that
you want to delete and click Edit Detail.
3. In the SYNONYM Domain table window, click the Mark Row for Delete icon.
You can mark multiple rows.
To cancel a deletion, click the Undo Delete icon.
4. Click OK.
304
Related concepts:
Synonym domains on page 292
Synonym domains are special domains that are reserved by the system. You cannot
add new synonym domains, but you can add new synonym values that are
presented to the user.
Deleting domains
You can delete most domains when they are no longer useful.
Procedure
1. Open the Domains application.
2. In the Domains table window, find the domain that you want to delete and
click the Mark Row for Delete icon.
3. In the warning message, click Yes.
4. Optional: You can click the Undo Delete icon to cancel the deletion.
5. Click Save Domain.
305
306
Contents
Attachments
Text files
Diagrams
Images
Administrators maintain the library, create folders as needed, and specify the
folders available for each application. Additional folders might include permits,
part sheets, photographs, procedures, drawings. You can attach a document to a
record even when the document is outside the document library.
307
308
Specifications
For Windows:
v You map a drive on the application server v Drive letters, and file names and directory
names are case-sensitive.
to point to the drive on the document file
server (Windows only).
For UNIX:
v You mount the network file system that
v /d01 is the NFS mount point on the
contains the document files from the
application server for the file system
document file server computer onto the
/home on the document storage
application server (UNIX only).
computer.
v File names and directory names are
case-sensitive.
309
Specifications
For Windows:
v H is a mapped drive on the application
server computer that runs the system.
The following graphic depicts the configuration for two computers with a
dedicated document file/HTTP server.
Figure 8. Configuration for two computers with a dedicated document file/HTTP server
310
Configuration
Specifications
Windows
UNIX
311
Figure 9. Multiple computer configuration with multiple dedicated document file/HTTP servers
312
The HTTP server is on the computer that stores the document files.
v Multiple Computers, Multiple HTTP Servers - Windows or UNIX
Store document files on different servers, with each folder associated with a
different server (and possibly managed by a different group). For example,
store diagrams, images, and attachments on separate servers.
Each system that stores documents has its own HTTP server.
313
Procedure
1. Open an application that has the Attached Documents action.
2. From the Select Action menu, navigate to Attachment Library/Folders, then
select Manage Library.
3. Click Add a Document to the Library, then select Add New File.
4. Complete all necessary fields, and click OK.
Related concepts:
Attached Documents overview on page 307
You use the Attached Documents action, found in most system applications, to
create a document library and to organize documents into folders. The system
includes default folders. You can also create more folders or organize the folders
into functional categories.
Multi-purpose internet mail extension mappings for WebLogic Server on page
313
Multi-Purpose Internet Mail Extensions (MIME) mapping associates a file name
extension with a data file type (text, audio, image). You use these properties to
map a MIME type to a file name extension. MIME is only for WebLogic Server.
314
Procedure
1. Open an application that has the Attached Documents action.
2. From the Select Action menu, navigate to Attachment Library/Folders, then
select Manage Library.
3. Click Add a Document to the Library, then select Add New Web Page.
4. Complete all necessary fields, and click OK.
Related concepts:
Attached Documents overview on page 307
You use the Attached Documents action, found in most system applications, to
create a document library and to organize documents into folders. The system
includes default folders. You can also create more folders or organize the folders
into functional categories.
Multi-purpose internet mail extension mappings for WebLogic Server on page
313
Multi-Purpose Internet Mail Extensions (MIME) mapping associates a file name
extension with a data file type (text, audio, image). You use these properties to
map a MIME type to a file name extension. MIME is only for WebLogic Server.
Procedure
1. Open an application that has the Attached Documents action.
2. From the Select Action menu, navigate to Attachment Library/Folders, then
select Manage Library.
3. In the Manage Library window, click the name of the document that you want
to modify.
4. Modify editable fields that you want to change. Fields with a white background
are editable and fields with a gray background are read-only.
5. Click OK.
Related concepts:
Attached Documents overview on page 307
You use the Attached Documents action, found in most system applications, to
create a document library and to organize documents into folders. The system
includes default folders. You can also create more folders or organize the folders
into functional categories.
Multi-purpose internet mail extension mappings for WebLogic Server on page
313
Multi-Purpose Internet Mail Extensions (MIME) mapping associates a file name
extension with a data file type (text, audio, image). You use these properties to
map a MIME type to a file name extension. MIME is only for WebLogic Server.
315
Procedure
1. In an application that has the Attached Documents action, click Attachments.
2. Select one of the following actions to attach documents:
Option
Description
3. If you added a file from outside the library, add the document to the library.
In either the Create a File Attachment window or the Create a URL Attachment
window, you can select the Add document to the document library for others
to use check box.
Related concepts:
Attached Documents overview on page 307
You use the Attached Documents action, found in most system applications, to
create a document library and to organize documents into folders. The system
includes default folders. You can also create more folders or organize the folders
into functional categories.
Multi-purpose internet mail extension mappings for WebLogic Server on page
313
Multi-Purpose Internet Mail Extensions (MIME) mapping associates a file name
extension with a data file type (text, audio, image). You use these properties to
map a MIME type to a file name extension. MIME is only for WebLogic Server.
Procedure
1. From the Tools menu in Microsoft Internet Explorer, select Internet Options.
2. On the Security tab, click Custom Level.
3. Under the Initialize and script ActiveX controls not marked as safe setting,
click Enable.
4. Click OK to return to the Security tab, and click OK again.
Procedure
1. Copy the file to the Attached Documents repository.
2. Specify a network path to the file, then attach the copy or the link to record.
316
Procedure
1. Open any application that has the Attached Documents action.
2. From the Select Action menu, navigate toAttachment Library/Folders and
select Manage Folders.
3. Click Add a New Document Folder.
4. Specify the information for the new folder.
5. Click OK.
Related concepts:
Attached Documents overview on page 307
You use the Attached Documents action, found in most system applications, to
create a document library and to organize documents into folders. The system
includes default folders. You can also create more folders or organize the folders
into functional categories.
Multi-purpose internet mail extension mappings for WebLogic Server on page
313
Multi-Purpose Internet Mail Extensions (MIME) mapping associates a file name
extension with a data file type (text, audio, image). You use these properties to
map a MIME type to a file name extension. MIME is only for WebLogic Server.
Procedure
1. Open an application that has the Attached Documents action.
2. From the Select Action menu, navigate to Attachment Library/Folders, then
select Associate Folders.
3. Click New Row.
4. In the Document Folder field, enter a value. The Document Folder Description
field and the Application field contain default values, which you can change.
5. Click OK to save your changes.
317
Related concepts:
Attached Documents overview on page 307
You use the Attached Documents action, found in most system applications, to
create a document library and to organize documents into folders. The system
includes default folders. You can also create more folders or organize the folders
into functional categories.
Multi-purpose internet mail extension mappings for WebLogic Server on page
313
Multi-Purpose Internet Mail Extensions (MIME) mapping associates a file name
extension with a data file type (text, audio, image). You use these properties to
map a MIME type to a file name extension. MIME is only for WebLogic Server.
Procedure
1. Create a doclinks directory on the computer where the document files are
stored. For example:
Operating system
Doclinks directory
Windows
c:\doclinks
UNIX
/home/doclinks
Description
Continue to Step 5.
318
Option
Description
Windows
c:install_home\deployment
UNIX
install_home/deployment
The system contains other web.xml files. Be sure to copy the correct one. The
file contains information for mapping MIME objects to customize.
7. Verify that the subdirectories were created as described in Step 3 and Step 5.
Related concepts:
Configuration of attached documents for a single computer on page 308
For WebSphere Application Server and WebLogic Server, the single computer has a
specific configuration and specifications. This configuration assumes that your
computer is running a Windows or UNIX scenario.
Procedure
1. Stop the WebLogic Server.
2. Back up the config.xml file in the domain in which you want to configure the
Web application:
Operating system
Path
Windows
UNIX
319
What to do next
After you modify the location of the doclinks directory, edit the specified file paths
in the system.
Related concepts:
Configuration of attached documents for a single computer on page 308
For WebSphere Application Server and WebLogic Server, the single computer has a
specific configuration and specifications. This configuration assumes that your
computer is running a Windows or UNIX scenario.
Procedure
1. Go to the location of the httpd.conf file for the IBM HTTP Server. The default
installation location depends on your operating system:
Operating system
Path
Windows
UNIX
/home/IBMHTTPD/conf/httpd.conf
320
Operating system
Directory line
Windows
<Directory C:\doclinks>
UNIX
<Directory /home/doclinks>
6. Edit the DocumentRoot line to specify the doclinks directory that you created:
Operating system
Directory line
Windows
DocumentRoot C:\doclinks
UNIX
DocumentRoot /home/doclinks
321
Procedure
1. Log in to the system and go to System Configuration. Select Platform
Configuration and then System Properties.
2. Configure the Attached Documents properties as shown in the following table:
Property
Description
Global value
v In Windows, WebLogic
Server and WebSphere
Application Server:
C:\doclinks
v In UNIX, WebLogic
Serverr and WebSphere
Application Server:
/home/doclinks
mxe.doclink.maxfilesize
322
Property
Description
Global value
mxe.doclink.path01
v Windows WebLogic
Server:
C<PATH>\doclinks=http://
<servername or IP>:<port
number>/doclinks
For example
C<PATH>\doclinks=http://
localhost:7001/doclinks
v UNIX WebLogic Server:
/home/doclinks=http://
servername or IP>:<port
number>/doclinks
v UNIX WebSphere
Application Server:
/home/doclinks =
http://<servername or
IP>
For example:
/home/doclinks = http://
localhost/
In the mxe.doclink.path01 property, the server name in the path must be a fully
qualified server name.
3. Restart the application server.
323
Related concepts:
Configuration of attached documents for a single computer on page 308
For WebSphere Application Server and WebLogic Server, the single computer has a
specific configuration and specifications. This configuration assumes that your
computer is running a Windows or UNIX scenario.
Procedure
1. Log in to the system and go to System Configuration. Select Platform
Configuration and then System Properties.
2. Configure the following properties for the Attached Documents action:
Property
Description
Global value
mxe.doclink.doctypes.defpath
mxe.doclink.maxfilesize
324
Property
Description
Global value
mxe.doclink.path01
v Windows: H<PATH>\
doclinks=http://dochostA
v UNIX: /d01/doclinks=http://
dochostA
mxe.doclink.path03
mxe.doclink.multilang.aix.websphere
v Windows: I<PATH>\
doclinks=http://dochostB
v UNIX: /d02/doclinks=http://
dochostB
v Windows: J<PATH>\
doclinks=http://dochostC
v UNIX: /d03/doclinks=http://
dochostC
Because multiple entries are allowed (by default, up to 10) to convert file paths,
you can set up your system so that each document folder uses different servers
or directories. In the mxe.doclink.pathnn property, the dochost in the path must
be a fully qualified server name.
3. Restart the application server.
325
Related concepts:
Configuration of attached documents for a single computer on page 308
For WebSphere Application Server and WebLogic Server, the single computer has a
specific configuration and specifications. This configuration assumes that your
computer is running a Windows or UNIX scenario.
Procedure
1. Log in to the system and open an application that has the Attached Documents
action.
2. From the Select Action menu, go to Attachment Library/Folders and select
Manage Library.
3. In the Manage Library window, click the Details icon for the document whose
file path you want to change.
4. In the URL/File Name field, specify the new location of the doclinks directory.
Type the full path, including the drive letter.
The drive letter, path, and folder names are case-sensitive. They must be under
the same as the path and folder names that you created in the System
Properties application.
5. Change the file paths for each document to the following paths:
Operating system
File paths
Windows
C:\doclinks\<filename>
For example, document 1001, URL/File
Name is displayed as default as:
\DOCLINKS\BOILDER.DWF
Change it to:
C:\doclinks\BOILDER.DWF
UNIX
home/doclinks/<filename>
For example, document 1001, URL/File
Name is displayed as default as:
\DOCLINKS\BOILDER.DWF
Change it to:
/home/doclinks/BOILDER.DWF
You must change every library file path in the dialog that appears in the
window.
6. Click OK.
7. Restart the application server.
326
Related concepts:
Configuration of attached documents for a single computer on page 308
For WebSphere Application Server and WebLogic Server, the single computer has a
specific configuration and specifications. This configuration assumes that your
computer is running a Windows or UNIX scenario.
Procedure
1. Stop the WebSphere Application Server.
2. Create the following subdirectories under doclinks:
v attachments
v default
v diagrams
v images
3. Verify the directory structure, and complete the following steps:
a. Create another directory named WEB-INF.
b. Go to the doclinks directory created in Step 1.
c. Copy the web.xml file from the deployment folder into the WEB-INF directory
that you created.
The system contains several additional web.xml files. Be sure to copy the
correct one.
v For Windows, the web.xml file is: c:install_home\deployment
v For UNIX, the web.xml file is: install_home/deployment
The file contains mime-mapping information that you can customize.
d. Verify the directory structure.
Example
The directories are found in the following locations:
Operating system
Doclinks directory
Windows
D:\doclinks
UNIX
/home/doclinks
327
Related concepts:
Configuration of attached documents for two computers and a local Hypertext
Transfer Protocol server on page 308
When you use two computers, a local Hypertext Transfer Protocol (HTTP) server,
and WebSphere Application Server on either Windows or UNIX, certain
configuration specifications apply.
Procedure
1. Stop the WebLogic Server.
2. Back up the config.xml file in the domain in which you want to configure the
Web application.
Operating system
Path
Windows
UNIX
Windows
For example:
1. Click the computer name to display the
drive letters.
2. Click the mapped drive, H, to display
the directories on H (which is the drive
D on the computer that stores the
document files).
The doclinks directory that you created
on D appears in the list following the
path statement.
328
Operating system
UNIX
For example:
1. Click the host name to display the root
file system.
2. Click /d01 to display the directories that
/d01 references on the computer that
stores the document files.
The doclinks directory that you created
is displayed in the list following the path
statement.
329
Procedure
1. Log in to the system and go to System Configuration. Select Platform
Configuration and then click System Properties.
2. Configure the Attached Documents action as shown in the following table.
Property
Description
mxe.doclink.doctypes.defpath
Windows: H:\doclinks
The default file directory to use
for folders in the library that do
not have a default path specified UNIX: /d01/doclinks
in the database.
Global value
mxe.doclink.maxfilesize
The maximum size (in MB) for a Use the default value of 10 MB
(10 = 10 MB) or replace it with a
file that you can upload to the
lesser value.
Attached Documents Library
folder.
Do not set the maximum file size
to a value that exceeds the
computer system capacity. If you
do, a system error,
OutOfMemory, occurs and the
application server shuts down.
To correct this error, change the
value to less than 10 MB and
restart the application server.
If the value is set to 0, the
system allows all file sizes to be
uploaded. However, there is the
risk of OutOfMemory errors if a
user uploads a large file size that
exceeds system capacity. To
correct this error, change the
value to less than 10 MB and
restart the application server.
330
Property
Description
Global value
mxe.doclink.path01
Windows: H<PATH>\
doclinks=http://<servername or
IP>:<port number>/doclinks
H<PATH>\doclinks=http://
localhost:7001/doclinks
For example:
UNIX: /d01/doclinks=http://
<servername or IP>:<port
number>/doclinks
For example:
/d01/doclinks=http://
localhost:7001/doclinks
331
Procedure
1. Log in to the system and open an application that has the Attached Documents
action.
2. From the Select Action menu, go to Attachment Library/Folders and select
Manage Folders.
3. In the Manage All Documents Folder window, click the Details icon next to the
document folder whose file path you want to change.
4. In the Default File Path field, edit the path to specify the new location of the
associated directory. Type the full path using the mapped drive letter.
The drive letter, path, and folder name are case sensitive and must be under
the same path and folder names that you created earlier.
Change the file paths for the Attachments, CAD, Diagrams, and Images folders
to the following file paths:
Operating system
File paths
Windows
H:\doclinks\attachments
H:\doclinks\cad
H:\doclinks\diagrams
H:\doclinks\images
UNIX
/d01/doclinks/attachments
/d01/doclinks/cad
/d01/doclinks/diagrams
/d01/doclinks/images
If you create additional attached document folders, you also edit their file
paths.
5. Click OK.
6. Restart the application server.
Related concepts:
Configuration of attached documents for two computers and a local Hypertext
Transfer Protocol server on page 308
When you use two computers, a local Hypertext Transfer Protocol (HTTP) server,
and WebSphere Application Server on either Windows or UNIX, certain
configuration specifications apply.
Changing paths for demo data library files for two computers
and a local Hypertext Transfer Protocol server
A demo attachment library, named DATA, is included with the Attached
Documents action. To view these library files when you are using a WebLogic
server platform, change the file paths to be the same as your doclinks directory
setup. These steps are valid for systems running on Windows or UNIX.
Procedure
1. Log in to the system and open an application that has the Attached Documents
action.
332
File paths
Windows
H:\doclinks\<filename>
For example, document 1001, URL/File Name is
displayed as default as: \DOCLINKS\BOILDER.DWF
Change it to:
H:\doclinks\BOILDER.DFW
UNIX
/d01/doclinks/<filename>
For example, document 1001, URL/File Name is
displayed as default as: \DOCLINKS\BOILDER.DWF
Change it to:
/d01/doclinks/BOILDER.DFW
You must modify every listed library file path in the window.
6. Click OK.
7. Restart the WebLogic Server.
Related concepts:
Configuration of attached documents for two computers and a local Hypertext
Transfer Protocol server on page 308
When you use two computers, a local Hypertext Transfer Protocol (HTTP) server,
and WebSphere Application Server on either Windows or UNIX, certain
configuration specifications apply.
Procedure
1. Create a doclinks directory on the computer that stores the document files.
For example:
Operating system
Doclinks directory
Windows
D:\doclinks
333
Operating system
Doclinks directory
UNIX
/home/doclinks
Description
Windows
UNIX
Related concepts:
Configuration of attached documents for two computers and a dedicated
Hypertext Transfer Protocol server on page 309
When you use two computers with a dedicated Hypertext Transfer Protocol
(HTTP) server on either Windows or UNIX, the following configuration and
specifications apply. This configuration applies to the WebSphere Application
Server platform or to the WebLogic Server platform.
Procedure
1. Depending on your operating system, perform one of the following tasks:
Option
Description
Windows
UNIX
2. Because you edited the httpd.conf file, restart the HTTP server.
334
Related concepts:
Configuration of attached documents for two computers and a dedicated
Hypertext Transfer Protocol server on page 309
When you use two computers with a dedicated Hypertext Transfer Protocol
(HTTP) server on either Windows or UNIX, the following configuration and
specifications apply. This configuration applies to the WebSphere Application
Server platform or to the WebLogic Server platform.
Procedure
1. Log in to the system and go to System Configuration. Select Platform
Configuration then System Properties.
2. Configure the Attached Documents actions is described in the following table:
Property
Description
Global value
Windows:H:\doclinks
UNIX: /d01/doclinks
335
Property
Description
Global value
mxe.doclink.path01
Windows:
H<PATH>\doclinks=http://
dochost/
UNIX: /d01/
doclinks=http://dochost
336
Related concepts:
Configuration of attached documents for two computers and a dedicated
Hypertext Transfer Protocol server on page 309
When you use two computers with a dedicated Hypertext Transfer Protocol
(HTTP) server on either Windows or UNIX, the following configuration and
specifications apply. This configuration applies to the WebSphere Application
Server platform or to the WebLogic Server platform.
Procedure
1. Log in to the system and open an application that has the Attached Documents
action.
2. From the Select Action menu, go to Attachment Library/Folders and then
select Manage Folders.
3. In the Manage All Document folders window, click the Details icon next to the
document folder whose file path you want to change.
4. In the Default File Path field, edit the path to specify the new location of the
associated directory. Type the full path using the mapped drive letter.
The drive letter, path, and folder names are case-sensitive and must be under
the same path and folder names that you created earlier.
Change the file paths for the Attachments, CAD, Diagrams, and Images folders
to:
Operating system
File paths
Windows
H:\doclinks\attachments
H:\doclinks\cad
H:\doclinks\diagrams
H:\doclinks\images
UNIX
/d01/doclinks/attachments
/d01/doclinks/cad
/d01/doclinks/diagrams
/d01/doclinks/images
If you create additional attached document folders, you also edit their file
paths.
5. Click OK.
6. Restart the application server.
337
Related concepts:
Configuration of attached documents for two computers and a dedicated
Hypertext Transfer Protocol server on page 309
When you use two computers with a dedicated Hypertext Transfer Protocol
(HTTP) server on either Windows or UNIX, the following configuration and
specifications apply. This configuration applies to the WebSphere Application
Server platform or to the WebLogic Server platform.
Changing paths for demo data library files for two computers
and a dedicated Hypertext Transfer Protocol server
A demo attachment library, named DATA, is included with the Attached
Documents action. To view these library files from the system running on the
WebSphere Application Server platform or theWebLogic Server server platform,
change the file paths to be the same as your doclinks directory setup.
Procedure
1. Log in to the system and open an application that has the Attached Documents
action.
2. From the Select Action menu, go to Attachment Library/Folders and then
select Manage Library.
3. In the Manage Library window, click the Details icon next to the document
whose file path you want to change.
4. In the URL/File Name field, edit the path to specify the new location of the
doclinks directory. Type the full path using the mapped drive letter.
The drive letter, path, and folder names are case-sensitive and must be under
the same path and folder names that you created earlier.
Change the file paths for each document to the following file paths:
Operating system
File paths
Windows
H:\doclinks\<filename>
For example, document 1001, URL/File
Name is displayed as default as:
\DOCLINKS\BOILDER.DWF
Change it to:
H:\doclinks\BOILDER.DFW
UNIX
/d01/doclinks/<filename>
For example, document 1001, URL/File
Name is displayed as default as:
\DOCLINKS\BOILDER.DWF
Change it to:
/d01/doclinks/BOILDER.DFW
You must modify every listed library file path in the dialog box.
5. Click OK.
6. Perform one of the following steps:
338
Option
Description
Related concepts:
Configuration of attached documents for two computers and a dedicated
Hypertext Transfer Protocol server on page 309
When you use two computers with a dedicated Hypertext Transfer Protocol
(HTTP) server on either Windows or UNIX, the following configuration and
specifications apply. This configuration applies to the WebSphere Application
Server platform or to the WebLogic Server platform.
Procedure
1. Create a doclinks directory on the computer that stores the document files.
For example:
Operating system
Doclinks directory
Windows
D:\doclinks
UNIX
/home/doclinks
Doclinks directory
Windows
Server A: doclinks\attachments
Server A: doclinks\default
Server B: doclinks\diagrams
Server C: doclinks\images
UNIX
Server A: /home/doclinks/attachments
Server A: /home/doclinks/default
Server B: /home/doclinks/diagrams
Server C: /home/doclinks/images
3. On the application server computer that runs the system, perform the following
tasks to map the drives:
339
Operating system
Map drive
Windows
UNIX
Related concepts:
Configuration of attached documents for multiple computers and multiple
Hypertext Transfer Protocol servers on page 310
The multiple computers, multiple Hypertext Transfer Protocol (HTTP) servers
scenario is applicable to both the WebSphere Application Server platform, and the
WebLogic Server platform.
Procedure
1. Perform only one of the following tasks, depending on your operating system:
Option
Description
Windows
Windows
UNIX
2. Once you edit the httpd.conf file, restart the HTTP server.
340
Related concepts:
Configuration of attached documents for multiple computers and multiple
Hypertext Transfer Protocol servers on page 310
The multiple computers, multiple Hypertext Transfer Protocol (HTTP) servers
scenario is applicable to both the WebSphere Application Server platform, and the
WebLogic Server platform.
Procedure
1. Log in to the system and go to System Configuration. Select Platform
Configuration and then System Properties.
2. Configure the following properties for the Attached Documents action:
Header
Header
Header
mxe.doclink.doctypes.defpath
Windows: H:\doclinks
The default file directory to use
for folders in the library that do
not have a default path specified UNIX: /d01/doclinks
in the database.
mxe.doclink.maxfilesize
The maximum size (in MB) for a Use the default value of 10 MB
(10 = 10 MB) or replace it with a
file that you can upload to the
lesser value.
Attached Documents Library
folder.
Do not set the maximum file size
to a value that exceeds the
computer system capacity. If you
do, a system error,
OutOfMemory, occurs and the
application server shuts down.
To correct this error, change the
value to less than 10 MB and
restart the application server.
If the value is set to 0, the
system allows all file sizes to be
uploaded. However, there is the
risk of OutOfMemory errors if a
user uploads a large file size that
exceeds system capacity. To
correct this error, change the
value to less than 10 MB and
restart the application server.
341
Header
Header
Header
mxe.doclink.path01
Windows: H<PATH>\
doclinks=http://dochostA
UNIX: /d01/doclinks=http://
dochostA
mxe.doclink.path03
mxe.doclink.multilang.aix.web
sphere
Windows: I<PATH>\
doclinks=http://dochostB
UNIX: /d02/doclinks=http://
dochostB
Windows: J<PATH>\
doclinks=http://dochostC
UNIX: /d03/doclinks=http://
dochostC
Because multiple entries are allowed (by default, up to 10) to convert file paths,
you can set up your system so that each document folder uses different servers
or directories. In the mxe.doclink.pathnn property, the dochost in the path must
be a fully qualified server name.
3. Restart the application server.
342
Related concepts:
Configuration of attached documents for multiple computers and multiple
Hypertext Transfer Protocol servers on page 310
The multiple computers, multiple Hypertext Transfer Protocol (HTTP) servers
scenario is applicable to both the WebSphere Application Server platform, and the
WebLogic Server platform.
Procedure
1. Log in to the system and open an application that has the Attached Documents
action.
2. From the Select Action menu, select Attachment Library/Folders and then
Manage Folders.
3. In the Manage All Documents Folders window, click the Details icon next to
the document folder whose file path you want to change.
4. In the Default File Path field, edit the path to specify the new location of the
associated directory. Type the full path using the mapped drive letter.
The drive letter, path, and folder names are case-sensitive and must under be
the same path and folder names that you created earlier.
Change the file paths for the Attachments, CAD, Diagrams, and Images folders
to the following file paths:
Operating system
File paths
Windows
H:\doclinks\attachments
I:\doclinks\diagrams
J:\doclinks\images
UNIX
/d01/doclinks/attachments
/d02/doclinks/diagrams
/d03/doclinks/images
If you create additional attached document folders, you can edit their file paths.
5. Click OK.
6. Restart the application server.
343
Related concepts:
Configuration of attached documents for multiple computers and multiple
Hypertext Transfer Protocol servers on page 310
The multiple computers, multiple Hypertext Transfer Protocol (HTTP) servers
scenario is applicable to both the WebSphere Application Server platform, and the
WebLogic Server platform.
Procedure
1. Log in to the system and open an application that has the Attached Documents
action.
2. From the Select Action menu, go to Attachment Library/Folders and select
Manage Library.
3. In the Manage Library window, click the Details icon next to the document
whose file path you want to change.
4. In the URL/File Name field, edit the path to specify the new location of the
doclinks directory. Type the full path using the mapped drive letter.
The drive letter, path, and folder names are case-sensitive and must be under
the same path and folder names that you created earlier.
5. Change the file paths for each document to the following file paths:
Operating system
File paths
Windows
C:\doclinks\<filename>
For example, document 1001, URL/File
Name is displayed as default as:
\DOCLINKS\BOILDER.DWF
Change it to:
C:\doclinks\BOILDER.DFW
UNIX
/d01/doclinks/<filename>
For example, document 1001, URL/File
Name is displayed as default as:
\DOCLINKS\BOILDER.DWF
Change it to:
/home/doclinks/BOILDER.DFW
You must modify every listed library file path in the dialog box.
6. Click OK.
7. Perform one of the following steps:
344
Option
Description
Related concepts:
Configuration of attached documents for multiple computers and multiple
Hypertext Transfer Protocol servers on page 310
The multiple computers, multiple Hypertext Transfer Protocol (HTTP) servers
scenario is applicable to both the WebSphere Application Server platform, and the
WebLogic Server platform.
345
346
Logging overview
You can create and manage log files that contain informational, warning, or error
messages about the system.
Loggers
Loggers are components of the logging process that prepare log statements to be
written to console or log file.
Loggers are named entities or keys, such as log4j.logger.maximo.sql. Loggers also
form a hierarchy. A logger is defined as an ancestor of another logger. This
relationship is true only when the name of the logger is followed by a dot or is a
prefix of the descendant logger name. If there are no ancestors between a logger
and the descendant logger, a logger becomes the parent of a child logger. For
example, log4j.logger.maximo.sql is the parent of
log4j.logger.maximo.sql.WORKORDER.
You can assign the following levels to Loggers: DEBUG, INFO, WARN, ERROR,
and FATAL. A level indicates a type of event that the system logs.
Appenders
Appenders are components of the logging process. You can send logging requests
to multiple destinations. These output destinations are called appenders.
Appenders can exist for consoles or files. You can associate one or more loggers
with a given appender. Alternatively, you can associate a single logger with
multiple appenders.
Appender types
The system provides you with the following types of appenders. You cannot delete
any of the system appenders.
Table 59. Appender types
Type
Description
Console appender
347
Description
Rolling appender
Layouts
Layouts are components of the logging process. A layout determines the output
format of a log statement.
A layout is always associated with an appender. For example, a Conversion Pattern
such as: %d{dd MMM yyyy HH:mm:ss:SSS} [%-2p] %m%n, results in the following log
statement: 2007-05-07 14:07:41,508 [main] INFO MyApp - Entering application;
Loggers settings
Log settings define the type of information that is logged. Before you can activate
logging for applications or runtime components, you must apply log settings in the
Logging application.
If you create a logger or change the log settings, from the Select Action menu,
select the Apply Settings action.
Perform this action if you change the settings in the Log Level field or in the
Active check box. You also perform this action if you add loggers.
348
In the second path example, base_domain can be the particular WebLogic Server
domain that you configured.
You can also specify a new folder for storing your log files. However, if you set up
a separate folder for your log files, you must ensure that the user account that you
use has both read and write permissions on the folder.
Example
The name of the log file of the Rolling appender is maximo.log. If the host name is
acme and the server name of the system is MXServer, the file name is
acme_MXServer_maximo.log. The server name is obtained from the value specified
in the maximo.properties file that is part of the Enterprise Application Archive
(EAR).
EventTracker filter
The EventTracker filter is a Java class that can log all client events that are sent to
the Tivoli's process automation engine. You can use the EventTracker filter to track
the overall usage of application and identify the causes of potential issues.
After you enable the EventTracker filter, events are written to the
*_clientevents.log in the WAS appserver ROOT\profiles\profile\maximo\logs
directory, where
v * represents the combination of the hostname of the server and the Tivoli's
process automation engine server.
v WAS appserver ROOT is the IBM WebSphere Application Server.
v profile is the profile under which the Tivoli's process automation engine was
installed.
By default, the logging level for the EventTracker filter is set to INFO, which logs
all events. To narrow the focus of logged events, you can set the logging level to
ERROR, and then specify a specific user, application, or combination of user and
application. If you set the logging level to ERROR and do not specify a user or
application, then only error events are logged.
The EventTracker filter does not log exceptions. However, you can compare the
timestamps in the error log to the EventTracker log to locate the potential causes of
exceptions. Log entries are written in a tab-delimited format so you can import the
log file into a spreadsheet application.
Chapter 14. Managing log files
349
Explanation
Example value
Time
09/30/11 08:56:01.015
Duration
37
Server
localhost-MXServer
User
wilson
MAXSessionID
734
UISessionID
1(1)
App
wotrack(1)
Page
The ID of the page that the user had open when the mainrec
event was sent.
Sequence
2|1
Event
click
Target Control
toolactions_
button_0
Target Component
toolactions_
button_0toolbarbutton_
image
Value
wotrack
mxevent
INSERT
additionalevent
additionaleventvalue
350
next time you restart the application, the settings in the file (not the settings in the
database) are applied. The settings in the file are applied because you have left a
logging.properties file in the EAR.
Procedure
1. In the Select Action menu of the Logging application, select List Logging
Properties.
2. Copy and paste the properties into any text editor available on the client
computer.
3. Edit the properties in the text editor and save the contents as
logging.properties file.
4. Copy the file into a system installation environment where you can generate a
new Enterprise Application Archive (EAR) file to include the
logging.properties file.
5. Copy the logging.properties file to the maximo\applications\maximo\
properties folder.
6. After you generate a new EAR, deploy the EAR into the application server
using standard EAR deployment steps.
Related concepts:
Loggers on page 347
Loggers are components of the logging process that prepare log statements to be
written to console or log file.
Loggers settings on page 348
Log settings define the type of information that is logged. Before you can activate
logging for applications or runtime components, you must apply log settings in the
Logging application.
Procedure
1. From the Select Action menu of the Logging application, select Set Logging
Root Folder.
2. In the Set Logging Root Folder window, specify a location in the Root Logging
Folder field.
Related concepts:
Log file locations on page 348
There are default locations for the log files to be stored in both IBM WebSphere
Application Server and Oracle WebLogic Server.
Managing appenders
You can create, change, or delete appenders in the Logging application.
Procedure
1. From the Select Action menu of the Logging application, select Manage
Appenders.
Chapter 14. Managing log files
351
Example
A system administrator enters a purchase price value. A field validation script that
is associated with the Purchase Price field of the Asset application runs business
rules that compute the replacement cost. The system administrator encounters an
error that indicates that the script failed to run line number 17 of the script. If
required, he can place the output statements in the script code to isolate the
specific section of code that is failing. He can set up detailed DEBUG logging to
determine the type of variable, either input or output, that was received into or
calculated in the script.
Cron task
Description
Escalation
ESCALATION
Email listener
LSNRCRON
352
Table 60. Cron task loggers (continued). Cron task logger details
Group / Area
Cron task
Description
Integration
FLATFILECONSUMER
Integration
IFACETABLECONSUMER
Integration
JMSQSEQCONSUMER
Integration
XMLFILECONSUMER
Reporting
REPORTLOCKRELEASE
Reporting
REPORTOUTPUTCLEANUP
Reporting
REPORTSCHEDULE
KPI
KPICronTask
User
group/
synchronization
LDAPSYNC
Automates the
synchronization of users and
groups maintained in an
LDAP directory
353
Table 60. Cron task loggers (continued). Cron task logger details
Group / Area
Cron task
Description
User
group/
synchronization
VMMSYNC
Automates the
synchronization of users and
groups maintained in an
LDAP directory
Inventory
ReorderCronTask
Related concepts:
Logging overview on page 347
You can create and manage log files that contain informational, warning, or error
messages about the system.
Related information:
Key Report Property Settings
Escalation loggers
If an escalation fails to run, the failure can be caused by the escalation engine, the
email notifications, or actions triggered by the escalation. You can troubleshoot the
cause of the failure by setting the correct log level.
The following table lists the escalation loggers, a description of the logger, and the
log level to set each logger to.
354
Logger
Description
Log level
crontask
DEBUG
ESCALATION
sql
INFO
COMMTEMPLATE
INFO
DEBUG
Root logger that generates
log statements for
communication with the mail
server when sending
notifications.
Description
Log level
Integration
DEBUG
REST
Interaction
OSLC
355
Procedure
1. Open the web.xml file from the Tpae root\applications\maximo\maximouiweb\
webmodule\WEB-INF\ directory.
2. Remove the comment from the following code for the filter:
<-- Uncomment these lines to enable the EventTracking filter
<filter>
<filter-name>EventTrackingFilter</filter-name>
<filter-class>psdi.webclient.system.filter.EventTrackingFilter</filter-class>
</filter>
-->
3. Remove the comment from the following code for the filter mapping:
<--! Uncomment these lines to enable the EventTracking filter
<filter-mapping>
<filter-name>EventTrackingFilter</filter-name>
<url-pattern>/ui/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>>EventTrackingFilter</filter-name>
<url-pattern>/webclient/login/logout.jsp</url-pattern>
</filter-mapping>
-->
What to do next
In the Logging application, a new row in the Root Loggers table lists the
EventTracker filter as eventtracking with the key value
log4j.logger.maximo.webclient.eventtracking. By default, the logging level is set to
INFO, which logs all events. If the logging level is set to ERROR, change the
logging level to INFO and select the Apply Settings action.
Procedure
1. In the Logging application, in the Root Logging table, set the logging level for
log4j.logger.maximo.webclient.eventtracking to ERROR.
2. In the Logging table, add a new row.
3. Set the Logger field to one of the following:
Option
Description
The Key field is automatically populated based on the value in the Logger
field.
4. From the Select Action menu, select the Apply Settings action.
356
Procedure
1. In the Logging application, in the Root Logging table, set the logging level for
log4j.logger.maximo.webclient.eventtracking to ERROR.
2. From the Select Action menu, select the Apply Settings action.
Log correlation
Correlation is the process of analyzing a set of related events. The analysis is based
on rules that are used to interpret the event data. When log correlation is enabled,
you can use the correlation ID to identify the UI request, cron task action,
MXSCRIPT object, or REST call that produced a log entry.
Correlation ID
When log correlation is enabled, identify the user interface (UI) request, cron task
action, MXSCRIPT, or REST call that produced a log entry by using the correlation
ID. All log entries for a single UI request or cron task action have the same
correlation ID. The unique correlation ID applies to any group of log entries such
as SQL logs or application logs.
The correlation ID is in the format of [CID-TYPE-NUMBER]. The type can be CRON,
UI, MXSCRIPT, or REST. The number ensures uniqueness. The server name is also
included when log correlation is enabled. For log entries that are not yet
correlated, the correlation ID field in the log is empty. The server name field is
empty for logs that are generated before the server name is available.
To enable log correlation, in the System Properties application, add the
mxe.logging.CorrelationEnabled property.
To enable UI request correlation, in the System Properties application, add the
mxe.webclient.logging.CorrelationEnabled property.
Example
The following example shows the correlation log for the UI requests that are
associated with an SQL statement that is being debugged:
357
SPID = (149) app (WOTRACK) object (WORKORDER) : select * from workorder where ((woclass in
(select value from synonymdomain where domainid = WOCLASS and maxvalue in (WORKORDER,
WOACTIVITY)) and historyflag = 0 and istask = 0 and siteid = BEDFORD)) and ((status like
%WAPPR%))
06 Jun 2012 16:12:44:641 [INFO] [MXServer] [CID-UIASYNC-995] Correlated data:
BEGIN UISessionId:3 AppName:wotrack UserId:wilson UIClientIP:127:0:0:1 ElapsedTime:44 ms END
v The first log statement in the fragment displays a field [CID-UI-993] that is the
component that is correlated in this example.
v CID is the correlation ID, followed by the component that is being correlated,
and the numeric value that is applied to all the correlated statements output for
the particular correlation.
v The [CID-UI-993] field groups a set of correlated log statements that are started
by a UI request.
v A correlated set of log statements are marked by correlation started and
correlation data statements. The first set of correlated log statements begins with
[CID-UI-993]correlation started and ends with [CID-UI-993]Correlated
data:BEGIN the specific component information END.
v The second set of correlate log statements indicate that the next set of correlated
log statements is being output.
v When a UI request is correlated, sql commands that run in response to user
interaction are placed in the same group of correlated log statements as the UI
request.
v In the second correlated statement for correlation [CID-UI-993], the sql
command is associated with the WORKORDER table.
v If multiple sql statements run in response to the UI request the statements are
output to the same group of correlated log statements.
v The final log statement for correlation [CID-UI-993] begins with Correlation
data and provides information about the user session that started the output of
correlated log statement.
v The additional information includes:
1. The UI session Identifier 3.
2. The UI event loadapp.
3. The application that started the UI event autoscript.
4. The user that started the event wilson.
5. The IP address from where the UI request was received UIClientIP.
v In the final log statement for correlation [CID-UI-993], the ElapsedTime
information specifies the time spent by the application server to process the UI
request.
358
359
Procedure
1. In the Navigation bar, the Bulletin Board area displays all the bulletin board
messages. When you change the value in the Viewed field, you change which
messages you see. By default, the value in the Viewed field is N, and the
Bulletin Board area displays unread messages. To view either previously
viewed messages or all messages:
v Enter Y in the Viewed field to see previously viewed Bulletin Board
messages.
v Leave the Viewed field blank to see all messages (both previously viewed
and unread bulletin board messages). The messages display, with the most
recent message appearing at the top of the list. Each message displays the
date and time when the message was posted to the Bulletin Board.
2. In the Bulletin Board window, click a message to display the details of the
message.
3. Click the message again to collapse the detailed view of the message.
4. Click OK.
Procedure
1. In the Bulletin Board application, click New Message.
2. Type an identifier, a subject for the message, a posting date, and an expiration
date.
3. Type a message of up to 4,000 characters.
4. Optional: Limit the message to an audience by organization, by site, or by
person group.
5. Save your changes.
6. In the Select Action menu, click Change Status and change the status of the
message to approved.
Procedure
1. In the Bulletin Board application, open the message for which you want to
specify an audience.
2. Click a tab to specify an audience by organization, by site, or by person group.
3. On the tab, select one or more organizations, sites, or person groups and save
your changes.
360
Procedure
1. In the Bulletin Board application, open the message for which you want to
change the status.
2. From the Select Action menu, select Change Status.
3. In the Change Status window, select a status and click OK to save your
changes.
Example
For example, you can create a bulletin board message with a status of draft, and
then route the message to a supervisor. The supervisor reviews the message, and
changes the status to approved. The message is then posted to the bulletin board.
Procedure
1. In the Bulletin Board application, open the message that you want to copy.
2. From the Select Action menu, select Duplicate Message.
3. Optional: In the new message, change the subject, the message, and the posting
and expiration dates.
4. Save your changes.
Procedure
1. In the Bulletin Board application, open the message for which you want to
view the communication log.
2. Click the Communication Log tab. By default, you can view the messages in
reverse chronological order according to the Date field.
3. Click View Details to view the details of a message. The information in the
communication log is read-only.
Related concepts:
Communication logs for bulletin board messages on page 359
You can view a communication log for bulletin board message in the Bulletin
Board application. Communication logs are available in several applications.
Procedure
1. In the Bulletin Board application, display the message whose status history you
want to view.
2. From the Select Action menu, select View History.
3. View the status information and click OK.
Chapter 15. Managing bulletin boards
361
Procedure
1. In the System Properties application, open the mxe.crontask.deleteBB system
property.
2. Specify the global property value as 1, save the property, and refresh the
session.
3. In the Escalations application, open the ESCBLTNEXP escalation.
4. In the Select Action menu, click Activate/Deactivate Escalation to deactivate
the escalation.
5. Specify values in the Elapsed Time Interval field and in the Interval Unit of
Measure field for the EXPIREDATE elapsed time attribute.
6. In the Actions section, add the DELEXPMSG action.
7. Save the escalation.
8. Activate the escalation.
362
Procedure
1. In the Sets application, click New Row.
2. Provide the name of the set. The name must be unique for all sets; an item set
and a company set cannot have the same name.
3. Optional: Provide a description of the set.
4. Specify a value for the type.
5. Optional: If you specified COMPANY as the value for type, select the
Automatically Add Companies to Company Master check box to automatically
create a company master record. A company master record is then created
whenever a user adds a company in the Companies application. If you do not
select this check box, users must add companies in the Company Master
application.
6. In the Default Item Status field, specify the status that you want new item
master, service item, and tool records to have.
363
7. Click Save Sets. After you save the record, the only fields that you can edit are
the Sets Description field and, for a company set, the Automatically Add
Companies to Company Master check box.
What to do next
After you create a set, you use the Organizations application to assign the set to an
organization.
Procedure
1. In the Sets application, click View Details for the set that you want to change.
2. Change one or more of the following settings:
v Change the description.
v For a company set, change the Automatically Add Companies to Company
Master check box.
3. Save your changes.
364
Organizations overview
You can set up multiple organizations and sites for your company. The divisions
are determined by the types of operations that are performed at different locations,
and what data can be shared among them. Different organizations and sites keep
parts of their operations separate, while sharing others.
Description
System level
Set level
Organization level
Site level
The following examples illustrate how the level at which application data is stored
affects how you use the system:
v The application level determines the level at which record IDs must be unique.
365
For example, Work Order Tracking is a site-level application; two different sites
can both use the same work order number to identify two different work orders.
Chart of Accounts is an organization-level application; two different
organizations can use the same general ledger account number to specify
different general ledger accounts.
v The application level affects some aspects of security.
For example, if a security group has access to one site for an organization-level
application, then members of that group can access all of the application records
for that organization.
v The application level affects some user default settings.
For example, if a site is used as a filter to display records, but the application is
at the organization level, then a user can access all records for the organization
that owns that site.
Item sets
Item sets let multiple organizations within a company view and choose from a
common set of items stocked in the storeroom. An organization can be associated
with only one item set. However, multiple organizations can use the same item set.
You identify an item set with a unique name or number, and each item that
belongs to the item set has a unique item number.
366
When you create an organization, you associate an item set to it. When you create
an item, by default the item is placed into the item set associated with the
organization for your default insert site.
Autonumbering
When you set up autonumbering and a user creates a record, the record IDs or
other specified fields increment by one.
Many applications, such as Work Order Tracking, Purchase Requisition, Purchase
Orders, and Invoices have autonumbering set up for their key fields such as record
ID. You can change the default starting sequence. You can also add a prefix to an
existing numbering sequence or add autonumbering to other fields. For
applications that do not have autonumbering, you can set up autonumbering for
the record ID field or other fields.
Applications store data at one of these levels: system, set, organization, and site.
You use different actions to set up autonumbering for applications at each level.
For a multisite implementation, you can have different autonumbering sequences
for different organizations and sites. For example, Work Order Tracking is a
site-level application. You can set up different autonumbering sequences for each
site.
You specify the numbering scheme for autonumbering in the Organizations
application. To implement the numbering scheme in the organization that you are
autonumbering, use the Database Configuration application.
System-level autonumbering
You can specify autonumber seeds and prefixes for applications at the system level.
For example, Incidents is a system-level application. Incident IDs are unique at the
system level. If you implement autonumbering for incident records with a seed of
1000, each new incident record increments by one. This increment occurs
regardless of where the incident record is entered. If incident 1000 is inserted at
site 1 in organization A, and the next incident record is inserted at site 3 in
organization B, then the incident number at site 3 will be 1001.
Organization-level autonumbering
If you want all organizations to be part of the same numbering sequence, you can
use the Organizations application to implement autonumber seeds and prefixes for
organization-level applications.
For example, Calendars is an organization-level application. Calendar IDs are
unique at the organization level. If you specify autonumbering for calendars in
organization A with a seed of 1000, then each new calendar record increases by
one in the organization, regardless of which site generates the calendar. If calendar
1000 is inserted at site 1, and the next calendar record is inserted at site 2, the
calendar number at site 2 is 1001.
Site-level autonumbering
If you want all sites in the organization to be part of the same numbering
sequence, you use the Organizations application to implement autonumber seeds
and prefixes for site-level applications.
Chapter 17. Managing organizations
367
Set-level autonumbering
In the Organizations application, you can specify autonumber seeds and prefixes
for applications at the set level.
For example, Item Master is a set-level application, and item master IDs are unique
at the set level. You implement autonumbering for item master records with a seed
of 1000. Each new item master record increments by one, regardless of where the
item master record is added. If item master 1000 is inserted at site 1 in
organization A, and the next item master record is inserted at site 3 in organization
B, then the item master number at site 3 is 1001.
368
Using these values, the top 30% of items by cost is type A, the next 30% of items is
type B, and the last 40% is type C.
The Inventory ABC Analysis report also changes the cycle count for the item,
based on the ABC type and the cycle count. If the ABC type is set to N, the cycle
count is not changed.
You set the cycle count to the number of days for each ABC type. For example,
type A cycle counts can be 30 days, type B cycle counts 60 days, and type C cycle
counts 90 days.
You can run the Inventory Cycle Count report to show each item that is due for a
cycle count in the next month, together with its ABC type.
Description
Work orders
Defines and changes work types and work order types for classes
of work orders.
Edit rules
Specifies whether the actual start date is the date when the work
order status is changed to initiate or changed to complete.
369
Description
Site options
Inventory defaults
Inventory reorders
Inventory costs
Transfer options
Purchasing defaults
Tax options
Specify the default tax general ledger accounts and tax codes to
calculate the amount of tax that is due on a purchase requisition,
request for quotation, purchase order, or invoice at the
organization level. You can also specify the order in which tax
codes are used.
Contract options
Specify contract options such as contract types, and the terms and
properties that are associated with contract types.
Invoice options
Asset options
Drilldown options
370
Specify whether data for hazards is available with the work assets
data in the Safety Plans application.
Description
Labor options
Service level agreement Specify how you want to match service level agreements (SLAs)
options
to records for example, one or multiple SLAs. You can also
specify the target dates to apply to a record.
Workflow options
System settings
Specify general system settings such as the default start and end
dates, and the format of names. You can also specify the character
that represents the unspecified general ledger components in an
account code.
371
Drilldown options
Drilldown options specify how a drilldown opens. The drilldown options apply to
applications in which both the Location field and the Asset field on a record are
blank. The options also apply to the Open Drilldown action in the Assets
application.
Drilldown includes two options:
Top Level Starts at Top Level Location (Start at Top Location in Primary System)
The drilldown opens to the Location tab, and begins with the top-level
location of the primary system. This option is useful for organizations with
many asset records that use location hierarchies to organize these records.
Top Level Starts at Top Level Asset (Show All Assets without Parent)
The drilldown opens to the Asset tab. This option is useful when asset
records are organized into a hierarchy with a few top-level asset records. If
the organization has many top-level asset records, selecting this option
might slow or hinder performance when you display the records.
Creating organizations
In the Organizations application, you create the organizations to use with the
system. Each organization can have multiple sites.
Procedure
1.
2.
3.
4.
5.
372
6. In the Default Item Status field, select the status that you want new item
master, service item, and tool records to have.
7. Click Save Organization.
Activating organizations
When you create an organization, it is inactive by default. To allow users to
interact with an organization, you must activate it.
Procedure
1. In the Organizations application, select the organization that you want to
activate.
2. On the Organization tab, in the Clearing Account field, specify the account
code that you created in the Chart of Accounts application.
3. Select the Active check box.
Deleting organizations
As your business needs change, you can delete the organizations that you created.
Procedure
1. On the List tab in the Organizations application, select the relevant
organization.
2. From the Select Action menu, select Delete Organization.
3. Save your changes.
Procedure
1. In the Organizations application, select an organization.
2. From the Select Action menu of the Organization tab, click Work Order
Options > Other Organization Options.
3. In the Other Organization Options window, specify whether to clear the
material reservation when the work order status changes to either Complete or
to Closed.
4. Click OK.
373
Procedure
1. In the Organizations application, select the organization for which you want to
specify ownership options.
2. From the Select Action menu, select Ownership Assignment Options.
3. In the Ownership Assignment Options window, select a site.
4. Select one of the following options.
Option
Description
5. Click OK.
Related reference:
Customization options for applications on page 369
There are many options and settings that you can customize for your applications
in the Organizations application. They include work order options, inventory,
purchasing, asset, and preventive maintenance (PM) options. You can access the
options from the Select Action menu.
Procedure
1. In the Organizations application, select the relevant organization.
374
2. From the Select Action menu of the Organization tab, click Purchasing
Options > Contract Options.
3. In the Contract Options window, select the contract type.
4. Click Associate Properties.
5. In the Associate Properties window, select a property to associate with the
contract type.
6. Optional: Specify a default value for the property and specify whether the
property can be edited.
7. Click OK.
Related concepts:
Taxes for organizations on page 371
You can specify default tax general ledger accounts and tax codes to calculate the
amount of tax that is due on a purchase requisition, request for quotation,
purchase order, or invoice. You can also specify the order in which tax codes are
used in calculations.
Related reference:
Customization options for applications on page 369
There are many options and settings that you can customize for your applications
in the Organizations application. They include work order options, inventory,
purchasing, asset, and preventive maintenance (PM) options. You can access the
options from the Select Action menu.
Procedure
1. In the Organizations application, select the relevant organization.
2. From the Select Action menu of the Organization tab, click Purchasing
Options > Contract Options.
3. In the Contract Options window, select the contract type.
4. Click Associate Terms.
5. In the Associate Terms and Conditions window, click New Row.
6. In the Terms field, specify a value.
7. Click OK.
375
Related concepts:
Taxes for organizations on page 371
You can specify default tax general ledger accounts and tax codes to calculate the
amount of tax that is due on a purchase requisition, request for quotation,
purchase order, or invoice. You can also specify the order in which tax codes are
used in calculations.
Related reference:
Customization options for applications on page 369
There are many options and settings that you can customize for your applications
in the Organizations application. They include work order options, inventory,
purchasing, asset, and preventive maintenance (PM) options. You can access the
options from the Select Action menu.
Procedure
1. In the Organizations application, select the organization for which you want to
set invoice options.
2. From the Select Action menu, select Purchasing Options > Invoice Options.
3. In the Invoice Options window, specify whether you want the G/L Posting
Date field to be updated with the date in the Invoice Date field.
4. Specify whether you want the financial period validated each time an invoice is
saved. Clear this option if you want the financial period validated when the
invoice is approved.
5. For consignment types of invoices, specify the maximum number of lines that
can be included on the invoice for a specific vendor. The default maximum
number of lines is 40.
6. Click OK.
376
Related concepts:
Taxes for organizations on page 371
You can specify default tax general ledger accounts and tax codes to calculate the
amount of tax that is due on a purchase requisition, request for quotation,
purchase order, or invoice. You can also specify the order in which tax codes are
used in calculations.
Related reference:
Customization options for applications on page 369
There are many options and settings that you can customize for your applications
in the Organizations application. They include work order options, inventory,
purchasing, asset, and preventive maintenance (PM) options. You can access the
options from the Select Action menu.
Procedure
1. In the Organizations application, select the organization for which you want to
set up autonumbering.
2. From the Select Action menu, select System Level, Set Level, Organization
Level, or Site Level.
3. Specify the values for the appropriate level:
v For the system level, set level, and organization level, specify or change
values for the seed.
v For the site level, specify or change values for the autonumber name and
seed.
4. Optional: To have the autonumber preceded by a standard value, specify a
value for prefix. For example, IN (for incident) can precede the autonumber.
5. Click OK.
Related concepts:
Autonumbering on page 367
When you set up autonumbering and a user creates a record, the record IDs or
other specified fields increment by one.
Application levels and data storage on page 365
Application data is stored at different levels. The separation of data allows you to
reuse as much data as possible across organizations and sites without breaching
best practices in security and authorization.
Procedure
1. In the Organizations application, select the organization for which you want to
specify autonumbering.
Chapter 17. Managing organizations
377
2. From the Select Action menu, select Purchasing Options > PO Options.
3. In the PO Options window, select Allow the Generation of Special Order
Items.
4. Click OK and save your changes.
Related concepts:
Autonumbering on page 367
When you set up autonumbering and a user creates a record, the record IDs or
other specified fields increment by one.
Application levels and data storage on page 365
Application data is stored at different levels. The separation of data allows you to
reuse as much data as possible across organizations and sites without breaching
best practices in security and authorization.
Procedure
1. In the Organizations application, select the relevant organization.
2. From the Select Action menu, select Work Order Options > Other
Organization Options.
3. Specify the details you want to display to users:
v To display asset status information after a user completes or closes a work
order, and when the asset status is still down, select the Display Downtime
Report Prompt upon WO Completion for Asset in a 'Down' Status check
box.
v To display a warranty message when a user enters an asset under warranty
on a work order, select the Display Warranty Status check box.
v To display a duplicate problem message when a duplicate problem is
reported on an asset or on a location, select the On Asset or On Location
check boxes.
4. Click OK.
378
Calendars overview
Calendars are shared entities that define the framework for shifts, holidays, and so
on, for organizations. A calendar can also specify non-working time, such as
weekends, holidays, and shutdowns.
379
Creating calendars
You can create calendars to define working time with a start date and an end date,
as well as shifts. A calendar can also specify non-working time, such as weekends,
holidays, and shutdowns.
Procedure
1. In the Calendars application, click New Calendar.
2. Type a name for the calendar.
3. Optional: Type a description for the calendar.
4. Specify the dates on which you want the calendar to start and end.
5. Save your changes.
What to do next
You created a calendar without shifts, work periods, holidays, or other details. Use
the Define/Apply Shifts action to add shifts and the Define/Apply Non-Working
Time action to add holidays and other non-working time. Use the People
application to change person availability and the Assignment Manager application
to change availability. In the calendar header, you can change the calendar
description, start date, and end date.
Related concepts:
Shift patterns for calendars on page 379
A shift defines working time that is not specific to a date. You choose the working
days, then you designate the start time and end time for work.
Procedure
1. In the Calendars application, select the calendar for which you want to define a
new shift.
2.
3.
4.
5.
6.
380
7. Type the number of days in the pattern. For example, the typical weekly
patterns are seven days long, but you might need a 10-day, 14-day, or other
pattern.
8. Optional: Define a pattern and apply the shifts to the calendar.
9. Click OK. The Define/Apply Shifts window opens with the details in the Shift
Pattern table window.
Related concepts:
Shift patterns for calendars on page 379
A shift defines working time that is not specific to a date. You choose the working
days, then you designate the start time and end time for work.
Procedure
1. In the Calendars application, select the calendar for which you want to apply a
shift.
2. From the Select Action menu, select Define/Apply Shifts.
3. In the Define/Apply Shifts window, click Apply Shift(s).
4. In the Apply Shifts with Range window, select one of the following ranges.
Option
Description
Entire Calendar
Selected Dates
5. Click OK.
Related concepts:
Shift patterns for calendars on page 379
A shift defines working time that is not specific to a date. You choose the working
days, then you designate the start time and end time for work.
Procedure
1. In the Calendars application, select the calendar for which you want to apply a
shift.
2. From the Select Action menu, select Define/Apply Shifts.
3. In the Define/Apply Shifts window, click Define Pattern.
381
4. For the first work day in the pattern, specify the time the work period on that
day starts and ends. When you move the cursor to the Work Hours field, the
work hours are calculated as the interval between the two times.
5. Optional: Specify a different value for work hours.
6. Specify the start time and end time for the remaining work days. To copy the
values from one day to the other days, click Fill Out Work Days Data.
7. Click OK.
Related concepts:
Shift patterns for calendars on page 379
A shift defines working time that is not specific to a date. You choose the working
days, then you designate the start time and end time for work.
Copying calendars
The easiest way to create a calendar that is like an existing one is to copy the
existing one and change the copy as needed.
Procedure
1. In the Calendars application, select the calendar that you want to copy.
2. From the Select Action menu, select Duplicate Calendar.
3. Type a name for the new calendar.
4. Optional: Type a description for the calendar. The default is the description on
the calendar that you copied.
5. Save your changes. When you save the new calendar, all shift and non-working
time information is copied from the old calendar.
Deleting calendars
If you are no longer using a calendar, you can delete it.
Asset status
Personal calendar
Service level agreement
Preventive maintenance
Job plan
v Location
v Work order
Procedure
1. In the Calendars application, select the calendar that you want to delete. You
can select only one calendar at a time for deletion.
2. From the Select Action menu, select Delete Calendar.
3. Click Yes.
382
Procedure
1. In the Calendars application, select the calendar for which you want to create
work periods.
2. Click the Work Periods tab. All work periods for the entire calendar display,
including all dates with defined work hours or defined non-working time.
3. Click New Row.
4. Specify values for work date, shift, start time, end time, and work hours.
5. Optional: Add a note.
6. Save your changes.
Procedure
1. In the Calendars application, select the calendar that you want to change.
2. Click the Work Periods tab. All work periods for the entire calendar are
displayed, including all dates with defined work hours or defined non-working
time.
3. Find the row with the work period that you want to change.
4. Change the start time, end time, work hours, and notes.
5. Save your changes.
Example
If you have a corporate calendar, and you want to change the work period for a
single shift for a single date because the company is closing early, you change the
shift for that date.
383
Procedure
1. In the Calendars application, select the calendar for which you want to define
non-working time.
2. From the Select Action menu, select Define/Apply Non-Working Time.
3. In the Define/Apply Non-Working Time window, click New Row.
4. Optional: Type a description for the non-working time.
5. Specify a start date and end date. For non-working time that occurs on one day,
the start date and the end date are the same.
6. Specify a value for type.
7. Click Apply.
8. Click OK.
Related concepts:
Exceptions to the standard calendar on page 379
Information for individuals, such as vacation days, sick leave, personal time, and
overtime, is not stored on the main calendar record.
384
Classifications overview
Classifications identify and characterize similar objects. A building, a notebook
computer, and a centrifugal pump are types of classifications. A classification can
also describe an event, such as a broken window or a hard disk failure. You use
the Classifications application to create classifications and to establish classification
hierarchies.
Related tasks:
Creating classifications on page 390
You classify information to categorize it logically, so that the information is easier
to find. You can classify different types of records, such as location records, asset
records, item records, and work order records.
Modifying classifications on page 392
You can change classifications by modifying the information for the classification.
You can also modify a classification by adding a classification to an existing
classification to create a hierarchy for the top-level classification.
385
386
Option
Result
Classification searches
You can search classification structures and attributes that have associated values.
You can search for values in records that you created for items, locations,
configuration items, work orders, tickets, and so on.
387
field, and the Service field. You can use the navigation tree in the Classification
Search window to view the values that are associated with the classification
structures and their attributes.
The classification hierarchy that is shown varies depending on the application or
the field from which you access the window. The navigation tree shows
classifications that can be used with a specific type of record.
388
Attributes of classifications
You use attributes to define the characteristics of classifications. For example, for a
classification of pump, you can have an attribute of horse power. For a
classification path of PROBLEM\COMPUTER, you can have an attribute of
memory size.
You can further define attributes by domain. A classification attribute can be tied to
an ALN domain, to a numeric domain, or to a table domain. You can validate an
attribute against the values in a particular database column by using a table
domain.
You define domains using the Domains application.
Groupings of attributes
You can group attributes into sections so that you can use the same attribute
multiple times.
Classifications planning
You create classifications to retrieve information later. Before you create a
classification, determine the information that you want to retrieve. You can base
your classification structure on how you group objects in your enterprise. You can
also use classifications to define the escalation path for incidents.
389
v Solutions
v Tickets (service requests, incidents, and problems)
v Work orders (activities, changes, and releases)
Industry codes
You can apply industry codes when you create classifications. You can get a list of
the codes that you frequently use in your enterprise, and apply them to your
classifications.
Creating classifications
You classify information to categorize it logically, so that the information is easier
to find. You can classify different types of records, such as location records, asset
records, item records, and work order records.
390
Procedure
1. From the application toolbar of the Classifications application, click New
Classification.
2. In the Classification field, specify a classification.
3. Specify the information for the new classification.
4. Optional: To specify the records that you want to use with the classification,
click New Row in the Use With table and add one or more records.
5. To add child classifications, click New Row in the Children table.
6. Optional: To add attributes, insert rows and complete the fields in the
Attributes table. For most of the fields, click Select Value to select from existing
values. Alternatively, you can create values, as with the Classification field.
7. Click Save Classification.
Related concepts:
Classifications overview on page 385
Classifications identify and characterize similar objects. A building, a notebook
computer, and a centrifugal pump are types of classifications. A classification can
also describe an event, such as a broken window or a hard disk failure. You use
the Classifications application to create classifications and to establish classification
hierarchies.
Generate Description option on page 386
On the Classifications tab of the Classifications application, the Generate
Description option and the Use Classification option provide varying results. The
results depend on the option that you select.
Classifications planning on page 389
You create classifications to retrieve information later. Before you create a
classification, determine the information that you want to retrieve. You can base
your classification structure on how you group objects in your enterprise. You can
also use classifications to define the escalation path for incidents.
Procedure
1. From the Classifications application, click the Classifications tab.
2. In the Attributes section, click the Use with Object Detail icon on the right
side of the row for the attribute whose details you want to enter.
3. In the Use With Object Detail window, specify details for the attribute.
Field or column name
Description
391
Description
Sequence
Mandatory
Used in Specifications
Modifying classifications
You can change classifications by modifying the information for the classification.
You can also modify a classification by adding a classification to an existing
classification to create a hierarchy for the top-level classification.
Procedure
1. From the Classifications application, click the Classifications tab.
2. From the Select Action menu, select Add/Modify Properties > Classifications.
3. To add a classification to an existing classification, perform the following steps:
392
a.
b.
c.
d.
4. To
Modifying attributes
You use attributes to define the characteristics of classifications. You can modify
the properties of attributes. You can then associate the attributes with
classifications.
Procedure
1. From the Classifications application, click the Classifications tab.
2. From the Select Action menu of the Classifications tab, select Add/Modify
Properties > Attributes.
3. From the Attributes area of the Classifications tab, find the attribute that you
want to modify.
4. Edit the appropriate fields.
5. Repeat this process for each attribute that you want to modify, and click OK.
Adding attributes
You can add attributes. You can then associate the attributes with classifications.
You can use attributes with many record types, such as asset records, location
records, and item records.
Procedure
1. From the Classifications application, click the Classifications tab.
2. From the Select Action menu, select Add/Modify Properties > Attributes.
3. Add a row in the Attributes area, and specify the information for the new
attribute.
4. Repeat this process for each attribute that you want to add, and click OK.
393
Related concepts:
Attributes of classifications on page 389
You use attributes to define the characteristics of classifications. For example, for a
classification of pump, you can have an attribute of horse power. For a
classification path of PROBLEM\COMPUTER, you can have an attribute of
memory size.
Groupings of attributes on page 389
You can group attributes into sections so that you can use the same attribute
multiple times.
Apply Down Hierarchy option on page 389
When you add an attribute to a classification, you can use the Apply Down
Hierarchy option. When you check this box, the attribute that is assigned to that
classification is added to the classifications that are below it in the hierarchy.
Procedure
1. From the application associated with the type of record, click the Detail Menu
button and choose Classification.
2. Select a classification category in the Classification Search tree on the left, and
drill down to find the record.
3. Select a record identifier in the window below the Classification Search tree to
return a value to the field.
Related concepts:
Classification searches on page 387
You can search classification structures and attributes that have associated values.
You can search for values in records that you created for items, locations,
configuration items, work orders, tickets, and so on.
394
For each of the authorized CI hierarchies, you use the Manage CI Hierarchies
window to map the links between authorized and actual classifications. Mapping
includes the parent-child classification levels. At each level of the classification, you
can also specify the relationships between source classifications and target
classifications.
Procedure
1. From the List tab of the Classifications application, select the CI classification
hierarchy that you want to manage.
2. From the Select Action menu, select Manage CI Hierarchies.
3. In the Actual CI Classification field at the top of the Manage CI Hierarchies
window, click Detail Menu and select Classify to select an actual classification.
4. In the Children window, select a row.
5. In the Actual CI Classification field, specify the actual CI classification that
you want to associate with the authorized child classification.
6. Click Detail Menu and select Classify to select a classification.
7. In the Relationships window, specify the relationships that you want to define
for the selected child classification. To add a relationship, perform the following
steps:
a. Click New Row.
b. Specify the source and target classifications, the relationship, and other
information.
c. Click Select Relation Rules to select from a list of relationship rules.
8. Optional: Repeat steps 4, 5, and 6 to map actual classifications to other child
authorized classifications.
9. Click OK.
Results
After you map the classifications, you use them in the Actual Configuration Items
application to create configuration items from actual configuration items. When
you define mappings between authorized and actual configuration items, you can
create many configuration item records at the same time. You link entire or partial
hierarchies instead of individual configuration items. You create records for the
child classifications and for the top-level classification.
Related concepts:
Actual configuration item classifications and authorized configuration item
classifications on page 388
You use the Classifications application to define associations between actual
configuration item (CI) classifications and authorized CI classifications. You can
create an authorized CI from an actual CI record when you define these
associations. You can include the number of attributes that you need for
configuration management and change control.
395
Procedure
1. From your application, display a record.
2. From the Select Action menu, select Unit of Measure and Conversion >
Add/Modify Units of Measure.
3. Click New Row.
4. Specify a unit of measure.
5. Type an abbreviation for this unit of measure. If configured to do so, the
product uses the abbreviations along with the classification of an asset to create
descriptions for assets, locations, and items.
6. Type a description for this unit of measure.
7. Click New Row to specify additional units of measure.
8. Click OK.
Procedure
1. In the List tab of the Security Groups application, you select the group to be
granted access to the relationship functions. For example, MAXEVERYONE for
all Maximo users.
2. Under the Applications tab, in the Description column of the top panel, click
Classifications.
3. Scroll down to the third panel, listing Classifications application functions,
select the Grant Access check box on the Add/Modify Image line, and Save.
Procedure
1. In the Classifications application, select a classification.
2. Select the Add/Modify Image action. The image must be a GIF or JPG file.
3. Enter the file location or click Browse to navigate to it, click OK and then Save.
396
397
Related tasks:
Creating general ledger account codes on page 399
You can use general ledger account codes to enable financial reporting. You specify
the component values for general ledger accounts. You can also specify a date
range for an account to be active. For example, you can specify that a general
ledger account for a specific craft is active from 02/25/2010 through 02/25/2011,
and expires on 02/26/2011.
Changing general ledger account codes on page 400
After you create a general ledger account, you can change specific information.
You might want to activate an account code or set the expiration date on an
account code.
398
v Labor resource codes - General ledger account code components that track
whether labor used in a transaction is internal labor or external labor.
v Tool resource codes - General ledger account code components that track
whether a tool used in a transaction belongs to the enterprise (internal) or an
external vendor.
v Inventory resource codes - General ledger account code components to attach to
inventory items that are used in transactions.
Related tasks:
Specifying resource codes for general ledgers on page 406
You can specify default values for different types of labor resources, tool resources,
and inventory items. These codes are then used to determine accounting charges.
Example
A work order uses a cost center component with a value of 6250. You deactivate
this cost center. The value is not available to use in new general ledger accounts.
All general ledger accounts that use the cost center also become inactive. The
existing work order still uses cost center 6250.
399
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to create a general ledger account code.
2. Click New Row.
3. Specify the component values for the general ledger account value.
4. Click OK.
5. Optional: Change the long description. If you change the descriptions for
component values, the general ledger account description is not updated.
Update the general ledger account description manually.
6. Optional: Specify the appropriate type code.
7. The default for the Active Date field is the date that the general ledger account
is created. To activate the account at a different date, specify a future date. The
general ledger account remains inactive until the date specified is reached. The
read-only Active check box shows as cleared to indicate that the account is not
active.
8. If you want the general ledger account to expire by a specific date, specify a
date in the Expiration Date field.
9. Save your changes.
Results
After you save your changes, you cannot edit the GL Account field.
Related concepts:
General ledger account codes on page 397
You define values for the different components, and link together the component
values to create general ledger account codes. You use the general ledger accounts
for specific financial tracking purposes. You can also specify dates for general
ledger accounts to be active or to expire.
Changing general ledger account codes:
After you create a general ledger account, you can change specific information.
You might want to activate an account code or set the expiration date on an
account code.
About this task
If the date set in the Expiration Date field is in the future, the general ledger
account remains active until that date is reached. If no expiration date is specified,
the general ledger account never expires.
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to change the general ledger account code.
2. Click View Details for the code that you want to change.
3. Optional: Change the information in the GL Account Description field, the
Type field, the Active Date field, and the Expiration Date field.
4. Save your changes.
400
Related concepts:
General ledger account codes on page 397
You define values for the different components, and link together the component
values to create general ledger account codes. You use the general ledger accounts
for specific financial tracking purposes. You can also specify dates for general
ledger accounts to be active or to expire.
Deleting general ledger account codes:
As your business needs change, you can delete a general ledger account code at
any time.
About this task
When you delete a general ledger account code, you cannot use the account code
on new records. However, existing database records that used the deleted account
code are not changed. Therefore, a deleted general ledger account code can still
exist in previously created work orders, purchase orders, and so on.
Deleting general account codes can cause problems with the general accounting
system that you integrate with the system.
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to delete a general ledger account code.
2. Click Mark Row for Delete.
3. Save your changes.
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to create a general ledger component value.
2. From the Select Action menu, select GL Component Maintenance.
3. In the GL Component Maintenance window, select the component for which
you want to create values.
4. Click New Row.
5. In the GL Component Value field, specify the value for the component. The
value that you specify must be in the format that was specified in the Database
Configuration application. The value in Database Configuration is the default,
system-level format.
6. Type a description of the component value.
7. Optional: To deactivate the component value, clear the Active check box.
8. Click OK.
401
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to change a component value.
2. From the Select Action menu, select GL Component Maintenance.
3. In the GL Component Maintenance window, click View Details for the
component value that you want to change.
4. To change the component value, perform one of the following actions:
v Change the description.
v Change the active status of the component value in the Active check box. If
you activate a component value that was previously deactivated, the Activate
GL Accounts window displays. Click the Activate Accounts check box for
the component that you are reactivating, then click OK.
v Change additional information.
5. Click OK.
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to delete a general ledger component value.
2. From the Select Action menu, select GL Component Maintenance.
3. In the GL Component Maintenance window, click Mark Row for Delete for the
component value that you want to delete.
4. Click OK.
Example
After you delete a general ledger component value, general ledger account codes
in existing database records that use that value are not changed. For example, a
work order uses a cost center value of 6500. If you delete 6500, the work order
keeps this number as the cost center.
402
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to modify the general ledger account structure.
2. From the Select Action menu, select Add/Modify Account Structure.
3. In the Add/Modify Account Structure window, select the component for which
you want to modify values.
4. In the Component field, specify the name of the component.
5. In the Length field, specify the length of the field. The length of the field
cannot exceed the length defined at the system level.
6. In the Type field, specify the data type for the component. If the type defined
at the system level is numeric, the type set at the organization level cannot be
alphanumeric. If the type set at the system level is alphanumeric, the type set
at the organization level can be numeric.
7. Optional: Click the Required check box if you want the component to be
mandatory. If the value set at the system level is 1, the Required check box is
read-only. If the value set at the system level is 0, this check box is modifiable
for the organization.
8. Optional: Modify the Screen Delimiter to specify a different separator character
between components.
9. Click OK.
Example
For example, you can create account structures for different organizations in
separate geographic regions, as follows:
v Organization A is in Europe. Organization A has the account structure
xxx-xx-xxx with component one and component two being required.
Component two is of the alphanumeric type.
v Organization B is in North America. Organization B has the account structure
xxx-xxx-xx with components one, two, and three being required. Component
two is of the integer data type.
403
Procedure
1. In the Chart of Accounts application, select the organization whose database
you want to update.
2. From the Select Action menu, select Update Database.
3. In the Update Database window, select one of the following updates:
Option
Description
4. Click OK.
Setting up accounts
You can set up organizational default accounts as holding accounts for financial
considerations. You can also specify default general ledger accounts to be
associated with company-related accounts, as well as external labor control
accounts to be associated with general ledger accounts.
Procedure
1. Open the Chart of Accounts application.
404
2. In the Organizations table window, select the organization for which you want
to define the accounts.
3. From the Select Action menu, select Organization Default Accounts.
4. In the Global Rotating Suspense Account field, click Select Value and choose
an account.
5. In the Global Ticket Account field, click Select Value and choose an account.
6. In the Tool Control Account field, click Select Value and choose an account.
7. Click OK.
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to specify company-related accounts.
2. From the Select Action menu, select Company Related Accounts.
3. In the Company Related Accounts window, click New Row. You can add a
new row only if there is an enterprise type that has not yet been associated
with general ledger accounts.
4. Specify a type, received but not invoiced account information, accounts payable
suspense account information, and accounts payable control account
information.
5. Click OK.
Procedure
1. In the Chart of Accounts applications, select the organization for which you
want to specify an external labor control account.
2. From the Select Action menu, select External Labor Control Accounts.
3. In the External Labor Control Accounts window, click New Row. You can add
a new row only if there is a vendor that has not yet been associated with a
general ledger account.
4. Specify values for the vendor and control account.
5. Click OK.
405
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to define a financial period.
2. From the Select Action menu, select Financial Periods.
3. In the Financial Periods window, click New Row.
4. Enter the name or number for the period.
5. Specify start and end dates for the financial period: If there is no financial
period, the current date and time displays in the From field. If financial periods
exist, the From field displays the date and time shown in the To field of the
most recent period.
6. Optional: Specify a close date. After this date, you cannot charge additional
transactions to the accounting period.
Results
To prevent gaps and overlaps in time between contiguous periods, if you change
the date of an existing period, the surrounding dates are reset. If you use financial
periods, then a financial period stamp is added to all transactions when they are
generated.
What to do next
You use the Actual Close Date field to close the financial period.
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to close a financial period.
2. From the Select Action menu, select Financial Periods.
3. In the Financial Periods window, specify the actual close date for the financial
period that you want to close. Your name is displayed in the Closed By field.
Results
After you close a financial period, financial transactions for that period are no
longer accepted.
Procedure
1. In the Chart of Accounts application, select the organization for which you
want to define resource codes.
406
Description
4. Click OK.
Related concepts:
Resource codes for general ledgers on page 398
A resource code typically consists of one component of the account code.
Procedure
1. Open the Chart of Accounts application.
2. In the Organizations table window, select the organization for which you want
to specify validation rules.
3. From the Select Action menu, select Validation Options.
4. Select or clear the appropriate check boxes in the following list:
Option
Description
Deactivate GL Validations
407
Option
Description
5. Click OK.
408
Procedure
1. On the toolbar, click New Project and specify a project name.
2. Type a description for the project. By default, the application selects the Is
Chargeable check box. This option allows you to charge costs to the project. If
necessary, clear the Is Chargeable check box.
3. Specify a type for the project.
In the Parent Project field, assign the project to a parent project.
Optional: Type the Budget and Budget Line information.
In the Value field, specify the amount of money allocated for the project.
Specify the status of the project, the start date, and the end data for the project.
By default, the system assigns an APPR status to the project.
8. In the Tasks table window, click New Row to add tasks to the project.
4.
5.
6.
7.
409
410
Procedure
1. In the Currency Codes application, click New Row.
2. In the Currency field, provide a code value to represent the currency. For
example, you use CND for the Canadian dollar.
3. Optional: Provide a description.
4. Optional: Deactivate the currency.
5. Click Save Currency.
Procedure
1. In the Currency Codes application, find the currency code record that you want
to change.
2. Activate or deactivate the currency.
3. Save your changes.
411
412
Global properties
A global property applies to the entire system. The property applies to all the
server instances that use a common database, including a clustered environment.
Global properties always have the following options selected by default, but you
can clear the options:
v Online Changes Allowed - By default, you can change most properties by using
the System Properties application.
v Live Refresh - By default, most properties allow a live refresh where a new
value applied to a system property takes effect immediately. Live Refresh is an
action item available from the Select Action menu or from the application
toolbar.
Instance properties
An instance property applies to a specific system server. When you create both a
global value and an instance value for the same property, the instance value takes
precedence.
Example
You can configure the mxe.crontask.donotrun system property to be an
instance-specific property by specifying a specific server, such as MXServer1. You
specify a value that applies only to that server, such as the bulletin board cron
task, BBCron. As a result, BBCron does not run on MXServer1. However, BBCron
can run on another server instance, such as MXServer2.
Description
File override
Specifies whether the property and its value are loaded from a file rather than from the database.
Global only
Specifies whether this property must exist only at a system-wide level, and implies that the property
cannot be overridden at the instance level.
Instance only
Specifies whether this property must be defined at the instance level. If the property must be defined at
the instance level, you provide an instance-specific value and the property is not a global value.
413
Description
Specifies whether the System Properties application is used to change the value for the property. For
example, the global property mxe.db.driver does not allow online changes.
Live refresh
Specifies whether the property value can take effect immediately after saving the value.
Encrypted
Specifies whether the property is stored in an encrypted manner in the underlying product database.
The value is encrypted by using the standard encryption functions for the product. For example, the
global property mxe.int.uddipassword is encrypted.
Security level
The property and its value can be accessed through unauthenticated client sessions.
Secure
The property and its value can be accessed through authenticated client sessions.
Private
The property and its value can be accessed only with the business object framework of the
system.
User defined
Specifies whether the property is created by a user or if the property is provided with the product.
Nulls allowed
Specifies whether the property can have null values. You can change this characteristic only for
user-defined properties.
Data type
Specifies the type of value that can be provided for the property. The value can be an integer,
alphanumeric, or a yes or no (YORN).
For example, the global property mxe.allowLocalObjectsmxe.int.uddipassword is associated with the
YORN data type. If you specify a value other than 1 or 0, an error message is displayed that indicates
the value is invalid.
Domain
Specifies a domain that provides a list of values to which the property can be set. For example, the
mxe.db.transaction_isolation global property is associated with the TRANSISO domain. Therefore, the
values for the property must match a corresponding domain value.
Masked
Specifies whether the global and default values are hidden on the user interface.
Provider
Comments
AES
Cryptix, Sun
Blowfish
BouncyCastle, Cryptix
CAST5
Cryptix
DES
Cryptix, Sun
DESede
Cryptix, Sun
IDEA
Cryptix
MARS
Cryptix
PBEWithMD5AndDES
Sun
PBEWithSHA1AndDES
BouncyCastle
RC4
BouncyCastle, Cryptix
RC6
Cryptix
Rijndael
Cryptix
RSA
BouncyCastle
Serpent
Cryptix
414
Provider
Comments
SKIPJACK
Cryptix
Square
Cryptix
Twofish
Cryptix
Related concepts:
System properties that contain password information
Several system properties contain password information. Therefore, if you change a
password, you must update the associated property value.
415
Example
The following are examples of the advantages of assigning a property value in
both a file and in the System Properties application:
v Multiple developers can use a common database, and can run separate system
instances with different property values.
v When you want one server in a cluster to handle a specific cron task, you can
create a maximo.properties file specifically for that server instance.
416
417
418
Asset properties
You can use system properties to help manage assets.
Table 66. Asset properties
Property
Description
Default value
mxe.app.asset.delete
AttributesAssetMovedBack
mxe.assettopology.depth
mxe.assettopology.init
mxe.assettopology.maxnodes
200
recon.engine.
dataset.map.ASSET
DEPLOYED ASSET
recon.engine.
dataset.provider.ASSET
psdi.app.recontask.engine.
dataset.AssetDataSet
Description
Default value
mxe.doclink.doctypes.allowedFileExtensions
419
Description
mxe.doclink.doctypes.defpath
Default value
10
False
mxe.doclink.multilang.hpux.websphere
False
mxe.doclink.multilang.linux.websphere
False
mxe.doclink.multilang.solaris.websphere
False
mxe.doclink.multilang.windows.websphere
False
mxe.doclink.defaultPrintDocWithReport
True
mxe.doclink.securedAttachment
False
proxy_hostname
proxy_port
420
False
C<PATH>\\Doclinks
mxe.doclink.path1
install_home/mxadmin/DOCLINKS
mxe.doclink.path2
The MaxPropValue table for doclinks contains the values listed in the table.
Table 69. Examples of values for doclink path translations
Property
Value
mxe.doclink.maxfilesize
10
mxe.doclink.doctypes.defpath
C:\DOCLINKS\
mxe.doclink.path1
C:\Doclinks=http://documentserver/
mxe.doclink.path2
install_home/mxadmin/DOCLINKS=http://
documentserver/
Description
Default value
mxe.script.attributelevel
mxe.script.drivers
421
Description
mxe.bidi.support.on
Default value
mxe.bidi.text.direction
Calendar property
You can use the property to specify the system base calendar.
The calendar property is mxe.baseCalendar. This property indicates the type of
calendar that is defined as the system base calendar. The default value is
gregorian.
Description
Default value
recon.engine.dataset.
map.CI
ACTUAL CI
recon.engine.dataset.
provider.ACTUAL CI
psdi.app.recontask.engine.dataset.
ActualCIDataSet
recon.engine.dataset.
provider.CI
psdi.app.recontask.engine.dataset.
CIDataSet
422
Condition property
You can use the property to list comma-separated table names that are excluded
when the reference for a condition is checked.
The condition property is mxe.condition.excludeCheckReference. This property
represents comma-separated table names that are excluded when the reference for
a condition is checked. There is no default value.
Description
Default value
mxe.crontask.deleteBB
mxe.crontask.donotrun
mxe.crontask.historycleanuprate
mxe.cronTaskInitDelay
60
mxe.cronTaskMonitorInterval
60
Database properties
You can use system properties to help manage the database.
Table 74. Database properties
Property
Description
Default value
mxe.db.autocommit
423
Description
Default value
mxe.db.DB2LD
TextCaseInsensitiveSearch
mxe.db.DB2sslConnection
False
mxe.db.
DB2sslTrustStoreLocation
mxe.db.
DB2sslTrustStorePassword
mxe.db.disableservercursor
mxe.db.driver
com.microsoft.sqlserver.
jdbc.SQLServerDriver
5000
mxe.db.fetchsize
40
mxe.db.fetchsizeuse
mxe.db.fetchStopExclusion
424
Description
Default value
mxe.db.format.nullvalue
mxe.db.format.time
mxe.db.format.timestamp
mxe.db.format.upper
Upper
mxe.db.logCorrelationid
mxe.db.logSQLPlan
mxe.db.logSQLTimeLimit
1000
mxe.db.lookupMaxRow
1000
mxe.db.lookupMultiplier
mxe.db.maxFreeConnections
mxe.db.minFreeConnections
mxe.db.
MLQBELooseSearchWOJoin
mxe.db.newConnectionCount
mxe.db.optionnum
1000
mxe.db.optionuse
425
Description
Default value
mxe.db.password
XXXXXX
mxe.db.QueryTimeout
300
mxe.db.refcount
100
mxe.db.resultsettype
TYPE_FAST_FORWARD
mxe.db.retrydbconnection
mxe.db.rowcount
mxe.db.schemaowner
DBO
426
1
0
Description
Default value
mxe.db.systemdateformat
TRANSACTION_READ_COMMITTED
mxe.db.url
mxe.db.user
jdbc:sqlserver:
//qadb02.swg.usma.ibm.com:1433;
databaseName=SQL2K8R2B;
integratedSecurity=false;
maximo
mxe.dbmanager
mxe.dbwatchdog.adminemail
mxe.dbwatchdog.logInterval
10
mxe.dbwatchdog.mailinterval
60
Related concepts:
Fetch stop limit memory errors on page 416
A Java virtual memory heap out-of-memory error is caused by an operation that
fetches and constructs too many objects into one Maximo business object (MBO)
set. This type of error can disconnect all users from the server. You can use the
mxe.db.fetch system properties to configure the fetch limit, which can help
prevent out-of-memory errors.
427
Configuration type
mxe.mfmail.STSignatureSimple
mxe.mfmail.STSignatureAdvanced
mxe.mfmail.WFSignatureSimple
mxe.mfmail.WFSignatureAdvanced
Description
mxe.mfmail.ValueListBegin
mxe.mfmail.ValueListEnd
mxe.mfmail.AssistMarker
mxe.mfmail.LineSize
mxe.mfmail.adminEmail
SMTP property
The mail.smtp.starttls.enable property affects all features that send email such
as password changes.
428
Property
Description
mail.smtp.starttls.enable
Description
Default value
mxe.listener.rfc822depth
mxe.lsnr.validateperson
Environment properties
You can use system properties to help manage the system environment.
Table 76. Environment properties
Property
Description
Default value
mxe.allowLocalObjects
mxe.enableConcurrentCheck
mxe.useAppServerSecurity
mxe.UserLicenseKey
E-signature properties
Electronic signatures confirm that a person who modifies a record is the same
person that logged in to the system. You can use the properties to manage the
e-signature feature for your organization.
429
Property values
The e-signature property is: mxe.esig.defaultuserid. When this property is set to
true, the default e-signature login is the login ID. The default value for this
property is true.
Inventory property
You can use the property to set the maximum inventory usage line limit in an
inventory usage document.
The inventory property is mxe.inventory.maxInvUseLineLimit. This property
represents the maximum inventory usage line limit in an inventory usage
document. The default value is 250.
Description
Default value
mxe.allowLDAPUsers
mxe.ClientCountMinutes
15
mxe.LDAPMaxErrors
1000
mxe.LDAPUserMgmt
430
maximo.properties file
You must define system properties in the maximo.properties file to ensure that the
application server starts. If you do not define these properties, an error message is
written to the log file of the system or to the application server console.
Description
Default value
mxe.name
MXServer
mxe.rmi.enabled
mxe.db.schemaowner
431
Description
mxe.db.url
Default value
For SQL Server, the value is: server name, port number,
database name defined as:
mxe.db.url=jdbc:inetdae7a:servername:1433?
database=databasename&language=us_english&
nowarnings=true, in which databasename represents the database
name, servername represents the name of the server, and 1433
represents the default SQL Server port number. The string
mxe.db.url=jdbc:inetdae can be followed by either 7 (supports
Unicode) or 7a (supports ASCII). Currently, only ASCII for SQL
Server is supported.
Represents the thin driver
defined in mxe.db.driver.
mxe.db.driver
mxe.enableConcurrentCheck
Description
Default value
mxe.dm.autoapprovepkgdef
mxe.dm.collvalidlevels
mxe.dm.collvalidsrcexclude
MAXINTOBJCOLSMAXINTOBJALIAS
mxe.dm.collvalidtgtexclude
MAXINTOBJECT.USEWITH,
MAXRELATIONSHIP.CARDINALITY,
CRONTASKINSTANCE.SCHEDULE
mxe.dm.continueonerror
mxe.dm.dbserver
432
Description
mxe.dm.dmroot
Default value
mxe.dm.dmsessiontimeout
120
mxe.dm.dmstagecommit
1
The default value indicates that the
commit interval occurs for every (1)
record.
100
mxe.dm.previewfreememorythreshold
20
mxe.help properties
The mxe.help system properties connect the user interface to the information
center. Some of the properties are used to construct the link that opens the
information center. To ensure that information center is available, match the values
in the mxe.help properties to the information center that you deploy.
Table 80. Information center properties
Property
Description
Default value
mxe.help.host
mxe.help.maximohelplink
mxe.help.path
/help/
mxe.help.port
9080
mxe.help.protocol
http
433
Description
Default value
mxe.help.viewsearchtiplink
com.ibm.mbs.doc,
mbs_common/
c_advanced_search_tips.html
Related concepts:
Online help configuration on page 38
There are different deployment options for online help running in an information
center.
OSLC properties
You can use system properties to help manage Open Services for Lifecycle
Collaboration (OSLC) application integration.
Table 81. OSLC properties
Property
Description
Default value
mxe.oslc.dfltversion
mxe.oslc.prcreateep
mxe.oslc.prqueryep
PROVIDERREGISTRY
mxe.oslc.webappurl
http://localhost/maximo/oslc/
Reorder property
You can use the reorder property to manage the reorder time out periods for your
organization.
The reorder property is mxe.reorder.previewtimeout. This property represents the
reorder preview time out period in minutes. This property is similar to the web
server session time out. The default value is 30 minutes.
434
Description
Default value
mxe.activex
mxe.directprint.printtime.wait
600
mxe.report.AttachDoc.validateURL
mxe.report.birt.disablequeuemanager
435
Description
Default value
mxe.report.birt.queueidletimeseconds
60
mxe.report.birt.viewerurl
0
Enables you to edit an ad hoc
report when any security group
has access to the report.
mxe.report.cognos.content.store.package.location
mxe.report.cognos.datasource
mxe.report.cognos.db.schemaName
mxe.report.cognos.db.sql.name
mxe.report.cognos.db.type
mxe.report.cognos.namespace
mxe.report.cognos.serverURL
mxe.report.custom.rptServerLogonPass
mxe.report.custom.serverURL
mxe.report.reportsInAPage
mxe.doclink.defaultPrintDocWithReport
436
Security properties
The data types Crypto and CryptoX are used to encrypt passwords and other
types of confidential information. You use security properties to specify security
levels for your organization, such as the data that must be encrypted and can be
decrypted.
Description
Default value
mxe.sec.adduser.maxsets
20
mxe.sec.forgotpassword.maxsets
20
mxe.sec.IPblock
mxe.sec.IPblock.MatchBoth
mxe.sec.IPblock.num
50
mxe.sec.IPblock.sec
30
mxe.security.crypto.algorithm
mxe.security.crypto.key
437
Description
mxe.security.crypto.mode
mxe.security.crypto.modulus
mxe.security.crypto.padding
mxe.security.crypto.spec
mxe.security.cryptox.algorithm
mxe.security.cryptox.key
438
Default value
Description
mxe.security.cryptox.mode
Default value
mxe.security.cryptox.padding
mxe.security.cryptox.spec
mxe.security.provider
439
Related concepts:
System properties that contain password information on page 415
Several system properties contain password information. Therefore, if you change a
password, you must update the associated property value.
Server properties
You can use the server properties to control how a server operates, such as
specifying values for the administration user, for user registration, and email
authentication.
Table 84. Server properties
Property
Description
Default value
mail.smtp.host
na.relay.ibm.com
mail.smtp.ssl.enable
FALSE
FALSE
mail.smtp.starttls.enable
maximo_extended_host
maximo_extended_host_protocol
mxe.adminEmail
mxe.adminmode.logoutmin
mxe.adminmode.numsessions
mxe.adminPasswd
maxadmin
mxe.adminPassword
mxe.adminusercredential
mxe.adminuserid
maxadmin
mxe.com.port
440
maxadmin
Description
mxe.convertloginid
Default value
mxe.email.charset
text/html
mxe.hostname
localhost:7001
mxe.maxsequencecheck
mxe.registry.bindcount
100
1099
mxe.retainrecord
mxe.retainrecordlimit
200
mxe.smtp.connectiontimeout
180000
mxe.smtp.password
mxe.smtp.timeout
180000
mxe.smtp.user
mxe.system.DomainFactoryNameProvider
psdi.mbo.DomainFactoryNameProvider
mxe.system.regpassword
maxreg
441
Description
Default value
mxe.system.reguser
maxreg
120
mxe.usermonitor.timeout
30
mxe.userrestrictionlrucachesize
1000
WAS.LTAURL
/ibm/action/launch?pageID=
com.ibm.ac.lta.web.ui.
LogAnalyzer&showNavArea=false
mxe.server.enableCSRFBlocking
mxe.service.runlist
mxe.sessiontoken.timeoutseconds
180 seconds
442
Description
Default value
mxe.mbocount
mxe.db.logSQLTimeLimit
1000
If you define
mxe.db.sqlTableScanExclude, all tables,
except for the ones you intentionally
exclude, are logged.
If you do not define
mxe.db.sqlTableScanExclude, only the
SQL statements that exceed the time limit
set in mxe.dblogSQLTimeLimit are logged.
mxe.db.sqlTableScanExclude=
You can define the table names that you
ACTION,MAXROLE,SCCONFIG,MAXUSER (Oracle want to exclude from the log. The table
names must be uppercase.
only)
If you define
mxe.db.sqlTableScanExclude, all tables,
except for the ones that you list, are
logged.
If you do not define
mxe.db.sqlTableScanExclude and you set
mxe.db.logSQLPlan=true, only the SQL
statements that exceed the time limit set
in mxe.dblogSQLTimeLimit are logged.
mxe.logging.CorrelationEnabled
mxe.logging.disableLoggingPropFile
mxe.logging.rootfolder
443
Workflow properties
You can use workflow properties to specify the email account of the administrator
and to control status inheritance for work items.
Table 86. Workflow properties
Property
Description
mxe.workflow.admin
mxe.app.wo.flowControlStatusInheritance
444
Default value
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user's responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not grant you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
Intellectual Property Licensing
Legal and Intellectual Property Law
IBM Japan Ltd.
1623-14, Shimotsuruma, Yamato-shi
Kanagawa 242-8502 Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law: INTERNATIONAL
BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE. Some states do not allow disclaimer of express or implied warranties in
certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors.
Changes are periodically made to the information herein; these changes will be
incorporated in new editions of the publication. IBM may make improvements
and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those
websites. The materials at those websites are not part of the materials for this IBM
product and use of those websites is at your own risk.
445
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
2Z4A/101
11400 Burnet Road
Austin, TX 78758 U.S.A.
Such information may be available, subject to appropriate terms and conditions,
including in some cases, payment of a fee.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement or any equivalent agreement
between us.
Information concerning non-IBM products was obtained from the suppliers of
those products, their published announcements or other publicly available sources.
IBM has not tested those products and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the
suppliers of those products.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which
illustrate programming techniques on various operating platforms. You may copy,
modify, and distribute these sample programs in any form without payment to
IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating
platform for which the sample programs are written. These examples have not
been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or
imply reliability, serviceability, or function of these programs. The sample
programs are provided "AS IS", without warranty of any kind. IBM shall not be
liable for any damages arising out of your use of the sample programs.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of
International Business Machines Corp., registered in many jurisdictions worldwide.
Other product and service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the Web at Copyright and
trademark information at www.ibm.com/legal/copytrade.shtml.
446
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Oracle and/or its affiliates.
Linux is a registered trademark of Linus Torvalds in the United States, other
countries, or both.
Microsoft, Windows, and the Windows logo are trademarks of Microsoft
Corporation in the United States, other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other
countries.
Notices
447
448
Printed in USA