The hidden features of Work Logs

Work Logs are a very useful feature in Maximo and Control Desk products to allow users to keep notes of the progress of work.

A very nice feature of work logs is that Maximo displays all work logs for the current record an related ones. Lets make an example. If there is a work log on a work order originated from a Service Request, Maximo will display both SR logs and Work Order logs in the Work Order Tracking application.
In the example below we are in the Work Order Tracking application displaying work logs on work order 1019. The first work log has been added to the work order but the second one is attached to the originating service request 1214.

To go in details, Maximo will display records on the Work Logs tab with the following logic:

  • Work logs attached to the current record
  • Work logs for the originating and follow up records
  • If the ticket is global, all work logs in related to this global
  • If it is ‘View SR App’ (VIEWSR) or cloned by it, display only work logs which are marked as ‘Client Viewable’

These rules seem pretty reasonable but in some cases we may prefer to adopt different rules. In such cases we can use a well hidden feature.

  • The system property psdi.worklog.workorder.useWOrelationship allows to specify a custom rule in the CUSTOMWOWORKLOG relationship of the WORKORDER object.
  • The system property psdi.worklog.ticket.useTKrelationship allows to specify a custom rule in the CUSTOMTKWORKLOG relationship of the TICKET object.

For example if we want to display only work logs related to the currently displayed work order we can configure Maximo as follows.
Open the System Properties application and set psdi.worklog.workorder.useWOrelationship to 1. Then apply configuration changes by selecting the record and clicking on ‘Live Refresh’ action.

Now open Database Configuration application, open WORKORDER object and go to the Relationships tab. Search for CUSTOMWOWORKLOG relationship and set it to:

recordkey=:wonum and class=:woclass and siteid=:siteid

This is how the configuration should look.

If we now open work order we will not see the work log on the service request.

The hidden features of Work Logs

7 thoughts on “The hidden features of Work Logs

  1. thank you for your article

    do you know is therea any simple way to adjust Maximo and to highlght somehow "Work Log tab" if there is 1 or several logs inside of this tab? It will allow don't click on empty log tab and save some time for end user.

  2. second question – is it possible to combine Work Log tab and failure reporting tab in one universal common tab – "work log & failure report"? Very often users are confusing and filled one tab instead of another tab.

  3. This is a very specific question related to use of worklog in an interface:

    Create an object structure consumed by integration.
    Add WORKORDER then add a child, WORKLOG.
    Using the JSON API query for data for one work order that has worklog entries.
    Add an order by clause to the relationship between WORKORDER and WORKLOG.
    I am getting a parsing error.
    Error 400: BMXAA9233E – Error parsing JSON data.
    null

    I can create a relationship from WORKORDER to WOACTIVITY that uses an order by and use it in an integration object structure supporting an OS JSON API interface just fine.

  4. It seems something is appending an extra sql clause after the workorder to worklog relationship clause in our environment.
    This is in 7609. The “and logtype not in (‘ESTIMATE’)” bit in the log output below.
    Anyone got an idea what would append this?

    [4/7/20 13:52:54:248 CDT] 0000355b SystemOut O 07 Apr 2020 13:52:54:247 [ERROR] [MAXIMO] [CID-MXREST-196894] BMXAA6714E – The data for the next record in the mboset could not be retrieved for the SQL query select * from worklog where ((recordkey = ‘10398648’ and class = ‘WORKORDER’ and siteid = ‘DIS’ ) and clientviewable = 1 order by worklogid desc)
    and (logtype not in ( ‘ESTIMATE’ )
    ). See the log file for more details about the error.

    I have not found anything in autoscripts that is the culprit.
    ESTIMATE is the default value for PLUSPESTIMATE internal value in the logtype synonym domain.
    PLUSP is for Maximo Service Provider install.
    Maybe you won’t see this.

Leave a Reply

Scroll to top