Maximo

 View Only

 Maximo mobile issue with filter differ from maximo web and maximo mobile

guillaume munger's profile image
guillaume munger posted Wed March 04, 2026 10:55 AM
There is a discrepancy in filter behavior between Maximo Web and Maximo Mobile, resulting in inconsistent data being returned when the same filter conditions are applied.
To apply filtering logic to the datasource, I am using the attribute where="include=true"
    <maximo-datasource id="woPlanTaskDetailds" relationship="woactivity" page-size="100" order-by="taskid" domain-internal-where="status=INPRG,WAPPR,WMATL,APPR,WSCH,WPCOND,COMP" selection-mode="single" controller="WorkOrderDataController" where="include=true">
This code can filter tasks when include is true, but it’s not working on Mobile. Is there any way to make it work on Mobile, and how?
Steven Shull's profile image
Steven Shull IBM Champion

The where clause is passed into the API request in the oslc.where. Maximo Mobile will use this, sometimes, but it's important to understand how the behavior is different between web and mobile scenarios. 

In the web each datasource is retrieved independently. When you're on the list page for example a request is made and the attributes needed for the list page are retrieved. When you move to the details page, a different datasource is used and again those attributes are retrieved. When you go into the tasks, again different datasources are used and retrieved.

In mobile, they want to download everything you need to operate in a single request. There is a mobile schema that combines into a massive oslc.select all the attributes across the datasources to support each of the pages. You can see this in the /maximo/oslc/graphite/mobile/requests page (if in 9.0+) or /maximo/oslc/graphite/mobile/schema (on any version, though it's more difficult to understand how the request will be made).

I bring this up because what you need will determine how to address it. If you absolutely NEVER want to see tasks on any page in any datasource unless include=true, then you can look at adding a mobile-child-filter. This would allow you to define a where clause that would be included in the filter for tasks so they would not be downloaded. If you only want to impact the filtering of this one specific datasource then the answer is you should use mobile-qbe-filter. This is how you can define a filter on the datasource while still ensuring the download includes the task