Posted by: jacobdotcosta | 16/12/2009

Beans in Maximo

Question: What are beans in IBM Maximo

The information provided in this post is based on my Maximo 6 experience. I don’t know if or to which extent it has changed in Maximo 7.
There are 2 types of Beans in IBM Maximo, AppBean and DataBean.


The AppBean manage application functionality, such as WOTRACK or ASSET. This class is defined in the beanclass attribute of the presentation tag in the application’s XML.


If you export the WOTRACK application xml and go to the bottom of the file you can see a group of actions (action tag) defining actions and their corresponding method in the AppBean beanclass.

For instance if you’d like to add a button on WOTRACK to approve a workorder (OOTB in Maximo 7 but not in 6) besides of creating the SIGOPTION and TOOLBAR records for that operation you’d also have to develop custom Java code for it, this would be done in the AppBean. 


dialog-xmlImage by jacobdotcosta via Flickr

Data Beans can manage both dialog boxes and tables. The DataBean class associated is defined in the beanclass attribute of both the dialog and table tags in the application’s XML.

For instance, on dialog boxes you can use a DataBean to control what to do when the OK button is pressed (submit() method).

On tables you can do things such as custom the way to load the MBOSet on that table (getMboSet() method).


You have to have in mind that the flow control of the dialog’s execution is quite complex. For instance, if you don’t provide a submit() method on your dialog’s bean class, Maximo will try executing other methods and will end up executing the execute() (I think this is the method) method of the MBOSet asociated with your dialog (defined with the mboname attribute of the dialog tag).

Reblog this post [with Zemanta]


  1. […] Beans in Maximo ( […]

  2. Do you have any post related with relationships?

    • Hi Christian,

      Currently I have nothing on relationships but if you tell me what you need maybe I can arrange something.

      Best regards,

      • I need to create a field in the people application to associate a person group.

        I performed the following steps:

        In Database COnfiguration application, I select PERSON object, then i create a new attribute named “PersonGroup” (same as object Persongroup, same as attribute Persongroup), after that i create a relationship named “supervisorgroup” (child object Persongroup, where clause persongroup=:persongroup) and finally apply the changes.

        In application designer, i add a new textbox with the next properties:

        Attribute: supervisorgroup.persongroup
        Menu: Normal
        Lookup: Persongroup
        Goto: PERSONGR
        inputmode: default

        But dont Work!! I dont know if i am using the right concept of relationship here!

      • Hi Christian,

        From what I understand in your message you’re trying to bring to the PERSON MBO (new DB field) information from the PERSON GROUP MBO. For that you need to create a CROSSOVER domain that brings this information. Relationships are ties between objects.

        When in a specific record of an MBO (let’s call it target) you can obtain information from a related record, on other MBO (let’s call it source). Maximo provides the functionality to obtain this information but if you need to do other things with it, such as store information from the source MBO in the target MBO, you need to customize. In this case you can use Maximo’s own customization engine to do it, using a CROSSOVER domain as comented above.

        Hope this help’s you with your problem. If this doesn’t help can you tell me what should your application be doing and isn’t?

        Best regards,

  3. […] Beans in Maximo ( […]

  4. Hi Jacob,

    can you give me examples about data bean used in dialog?
    especially when ok button pressed.

    thank you


    • execute() get call in databean on OK button press.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: