This IBM Redbooks® publication provides information that can be used by clients, partners, or IBM field personnel who are looking to engage in an effort to implement change and configuration management processes in an enterprise environment utilizing the IBM Tivoli Change and Configuration Management Database (CCMDB) V 7.2.1 product. It covers the new features available with CCMDB V7.2 and CCMDB V7.2.1, as well as details about the underlying components of the product and utilizing the product to support robust IT processes such as change and configuration management. It also focuses on the details of the data model, process engine, and the Change and Configuration
management Process Management Programs (PMPs).

By default dialog boxes in Maximo are created with connection to the main application. This is very helpful because you can access record data in the application without having to write any code. Using the default methods you can obtain the MboSet in the list tab and it’s records or the record loaded in an application. The drawback with this approach is that to use the dialog box at least one record must be loaded in the application. Whenever you try accesing a dialog without having records loaded in the application you’ll be presented with an emty and readonly dialog.

This post shows how to create a dialog box that doesn’t have any support on the loaded application.

The idea behind this implementation is that the dialog doesn’t depend on the Mbo loaded on the application. For that we will use a non persistent MboSet with non persistent attributes and a beanclass that extends from AppBean instead of the usual DataBean.

The MboSet

The first step required is to create a new MboSet, a non persistent one, that will store the information obtained from the dialog box. The attributes will be the ones necessary on the dialog.

The MboSet class

Instead of extending the usual psdi.mbo.MboSet class this MboSet must extend from psdi.mbo.NonPersistentMboSet class as it is a non persistent Mbo. The Mbo classes don’t need to have any other type of customization.

The Dialog

Once the MboSet and it’s attributes are created and the database is configured it’s time to move on to the dialog itself. First of all we’ll modify the xml of the application to include our new dialog box. This dialog box must use the non persistent mbo just created and not make any reference neither to the Mbo on the main application nor to it’s datasources. None of the attributes in the dialog should reference MAINRECORD as their data source. Here’s an example of what this dialog would look like.

Related articles

]]>https://openmaximo.wordpress.com/2010/10/19/in-clonedduplicated-applicationshow-to-create-the-summary-or-detail-qbr/feed/0jacobdotcostaEnhanced by ZemantaGlobal Tivoli User Community: Maximizing Maximo In Your Organizationhttps://openmaximo.wordpress.com/2010/10/05/global-tivoli-user-community-maximizing-maximo-in-your-organization/
https://openmaximo.wordpress.com/2010/10/05/global-tivoli-user-community-maximizing-maximo-in-your-organization/#respondTue, 05 Oct 2010 16:33:52 +0000http://openmaximo.wordpress.com/?p=217]]>Great new for those greedy for learning more about the latest IBM Maximo Asset Management offerings. Beginning this month the Gloal Tivoli User Communit (TUC) will be rolling out a new monthly webcast series specifically focused on “Maximizing Maximo In Your Organization”.

Amongst the webcasts planned there is one specially dedicated to mobile solutions such as Maximo Everyplace and Maximo Mobile.

]]>https://openmaximo.wordpress.com/2010/10/05/global-tivoli-user-community-maximizing-maximo-in-your-organization/feed/0jacobdotcostaEnhanced by ZemantaIBM Tivoli Process Automation Engine (TPAE)https://openmaximo.wordpress.com/2010/04/12/ibm-tivoli-process-automation-engint-tpae/
https://openmaximo.wordpress.com/2010/04/12/ibm-tivoli-process-automation-engint-tpae/#commentsMon, 12 Apr 2010 11:32:12 +0000http://openmaximo.wordpress.com/?p=172]]>Although not perceptible to many, Maximo 7 introduces a big change in the structure of the application. Instead of building different independent deliveries for each of Maximo products (MAM, AMIT, CCMDB, TSRM, etc.) IBM introduces a new core with common functionalities used by all these products.

IBM named this core the Tivoli Process Automation Engine (TPAE) although it is also known as Base Services.

The idea is to have a common layer with all the base services and applications inherited by all the Maximo products. This layer includes all the functionality necessary to keep all Maximo services and applications together such as the data dictionary, presentation layer, etc. Regarding the applications it includes the ones in the Configuration, Administration, Workorder and Report modules.

Although you cannot acquire the TPAE independently it will be shipped and installed with all Maximo products. The advantage is that all products that share the same TPAE version can coexist in a system.

While adding new Maximo products to an existing TPAE you’re in fact registering new services and applications, new business logic, to the existing engine. New products can add new services and applications but can also share existing ones, without duplications.

Although the TPAE includes lot’s of applications it doesn’t mean that you can use them all. There are applications that are enabled by the product you’re installing. One example of this is the WORKFLOW application/service. Although it comes with the TPAE if you’re installing Maximo Essentials you won’t be able to use it.

Although Maximo (IBM Tivoli) 7 allows much customization to be done using the applications own mechanisms such as Domains, Conditional Expression Manager, etc there are still some situations which require the use of custom classes. In this post I’ll describe how to use custom classes for Attributes (aka FLDs) in Maximo.

Class Inheritance

The definition of custom classes in Maximo start at the Database Configuration application. Here one can check out either if a specific attribute has a custom class associated or not. This information is stored on the MAXATTRIBUTESCFG database table.

Unlike MBOs which always have a class associated, attributes may have none.

When you come to the point where you need to add you own customization, if the attribute already has a class associated you only need to extend that class and add your custom code.

If you want to customize an attribute that has no class associated you have several base classes points available depending on what you want your FLD to do. The starting point in the FLD inheritance hierarchy is the psdi.mbo.MboValueAdapter class. This is the class you’ll use for standard actions, validations and business rules . If you check the Javadocs you can see that this class is already a superclass for quite a number of classes such as Domain specific classes, application specific classes, etc.

Either way you should always call for the super method in your customization in order to keep the existing functionality.

Methods

The two main methods for an FLD are validate() and action(). They’re have similar method signatures, taking no parameters and throwing psdi.util.MXException and java.rmi.RemoteException. They should be used however for 2 different tasks.

validate()

Validate should be used to check the data introduced in the attribute. You may need to check values on other fields or obtain related data from other MBOs. All errors found during data validation should be managed using exceptions, usually psdi.util.MXApplicationException which extends psdi.util.MXException.

No actions should be launched in this method. By actions I mean for instance modifying the value of another field, this should be left to be done in the action() method.

The validate() method will be called prior to the action() method.

action()

This method will only be called if the data was successfully validated. Here is the place where all the actions should be performed, such as calculating values for other fields, etc.

Creating Classes

If you’d like some kind of automation when it comes to generating code for FLDs, and other Maximo objects, you can check out my Maximo Framework project. Maximo Framework is an OSS project for generating class code for IBM Maximo, hosted at Google Code. It contains a Maven Plugin that generates code for MBO, FLDs, CRONTASKSs, etc.