November 11, 2012

Maximo application labels explained

Maximo stores labels in multiple places. When you add a label to a field, tab or section in Application Designer, Maximo stores this in the application XML in the MAXPRESENTATION table and in the MAXLABELS table. For fields, labels are stored in Database Configuration, in the Title field of the attribute (MAXATTRIBUTE table).

For example, if you open the properties of a texbox using the Application Designer you will see two fields: Label and Default Label.


If the Label field is empty this means that Maximo will use the default label as defined in Database Configuration.
If the Label field has a value it is stored both in application XML (stored in the MAXPRESENTATION table) and in the MAXLABELS table.


How labels are loaded

When an application is Maximo loads the application XML and gets the labels in the following order:
  1. First it looks for a label in the MAXLABELS table
  2. If no label is found it looks in the application XML
  3. If no label is found it looks (only for fields) in the title field in Database Configuration.
When this is done, Maximo caches the application definition and all the labels in its memory.


Labels in multiple languages

To translate tabs and fields log in to Maximo selecting another language on the login page. Open the desired application in Application Designer and edit the labels of the tabs or sections. Maximo stores the translated labels in L_MAXLABELS table.
For fields, use Database Configuration to translate the title and description for an attribute while logged in with the other language selected. Maximo stores the translated labels in L_MAXATTRIBUTE.

When you are using multiple languages, the process of finding each label is slightly more complicated. This is the order in which the labels are searched:
  1. Translated label for the current language as defined in L_MAXLABELS table
  2. Label for the base language as defined in MAXLABELS table
  3. The application XML stored in MAXPRESENTATION table
  4. Translated title of the field for the current language as defined in L_MAXATTRIBUTE.TITLE table
  5. Title of the field for the base language as defined in MAXATTRIBUTE.TITLE table

Additional details are available on this page.

8 comments:

  1. Can I load translation for customized fields directly into L_MAXATTRIBUTE and L_MAXLABELS instead of going to each different applications in application designer and load presentation xml file?

    ReplyDelete
    Replies
    1. I think it should work.
      Please try and let us know...

      Delete
    2. Since this method is not a standard that IBM recommended,Will this method cause any side-effect in any change?

      Delete
    3. It shouldn't cause any problem.
      However, avery time time you are following an undocumented/unsupported procedure you have some benefits that you need to balance with the risks of causing side-effects.
      In this case my feeling is that this risk is low.

      Delete
    4. I see, the biggest concern I have is:all these customized language translation will eventually get removed by maximo because of this unsupported load process.

      Delete
    5. I can confirm Lingyun's concerns are valid. We were using this method on Maximo 7.6, we are still investigating the issue, but: at one point, the translations got reversed.

      Delete
  2. One curious point, where does Maximo stores translation of MeasureUnit table? If I would like to convert "Inches"/"IN" to "POUCE"/"PO" where can I do it? There is no L_% for Measure Unit.

    ReplyDelete