Thank you for calling out the "domainid" - "listname" is the proper filter. Oversight by me
I am only using the SC_MODPLUSDCVALHEAD OS in these datasources. Based on the information you provided about the lookup only being loaded once for the OS, it makes since why my second, "SC_ORGLEVEL2FILTER", is not being downloaded/populated/etc on Mobile. And I assume since web is connected and can make rest calls it can get the data and why the web version is working with the current setup.
I think I see two options, so let me outline them here and I am curious if you see anymore know how I could go about implementing.
Could one option be to set the child(nested) dataset as the lookup-data="true" and remove that from the parent since I need the data from the child(nested)
The second option I see is creating a new OS and use that to grab the plusdcvallist data I need to display in the filter list. This option seems like it would not be optimal but could be a valid option.
I also tried using a single datasource defined like this:
<maximo-datasource id="SC_ORGLEVEL2DS" object-structure="SC_MODPLUSDCVALHEAD" pre-load="true" offline-enabled="true" offline-immediate-download="true" where="listname="SC_LOCORGLEV2"" mobile-qbe-filter="{{'listname': '=SC_LOCORGLEV2'}}" depends-on="SC_USERDS">
<schema id="a1_d2bm2">
<attribute name="plusdcvalheadid" unique-id="true" id="a1_eaddy"/>
<attribute name="listname" searchable="true" id="a1_yv8q5"/>
<attribute name="orgid" searchable="true" id="a1_e3vqn"/>
<attribute name="plusdcvallist{key01,key02}" searchable="true" id="a1_e3vqn1"/>
</schema>
</maximo-datasource>
The data:
{
"member": [
{
"_rowstamp": "7474981",
"plusdcvallist": [
{
"_rowstamp": "7475141",
"key02": "GARDENDALE",
"key01": "BIRMINGHAM DIVISION",
"localref": "api\/os\/sc_modplusdcvalhead\/_U0NfTE9DT1JHTEVWMi9BUEM-\/plusdcvallist\/0-923",
"href": "http:\/\/childkey#UExVU0RDVkFMSEVBRC9QTFVTRENWQUxMSVNUL0JJUk1JTkdIQU0gRElWSVNJT04vR0FSREVOREFMRS9_TlVMTH4vfk5VTEx_L35OVUxMfi9TQ19MT0NPUkdMRVYyL0FQQw--"
},
{
"_rowstamp": "12076855",
"key02": "HUEYTOWN",
"key01": "BIRMINGHAM DIVISION",
"localref": "api\/os\/sc_modplusdcvalhead\/_U0NfTE9DT1JHTEVWMi9BUEM-\/plusdcvallist\/1-3221",
"href": "http:\/\/childkey#UExVU0RDVkFMSEVBRC9QTFVTRENWQUxMSVNUL0JJUk1JTkdIQU0gRElWSVNJT04vSFVFWVRPV04vfk5VTEx_L35OVUxMfi9_TlVMTH4vU0NfTE9DT1JHTEVWMi9BUEM-"
},
{
"_rowstamp": "7475140",
"key02": "METRO CENTRAL",
"key01": "BIRMINGHAM DIVISION",
"localref": "api\/os\/sc_modplusdcvalhead\/_U0NfTE9DT1JHTEVWMi9BUEM-\/plusdcvallist\/2-924",
"href": "http:\/\/childkey#UExVU0RDVkFMSEVBRC9QTFVTRENWQUxMSVNUL0JJUk1JTkdIQU0gRElWSVNJT04vTUVUUk8gQ0VOVFJBTC9_TlVMTH4vfk5VTEx_L35OVUxMfi9TQ19MT0NPUkdMRVYyL0FQQw--"
},
...
],
"listname": "SC_LOCORGLEV2",
"href": "api\/os\/sc_modplusdcvalhead\/_U0NfTE9DT1JHTEVWMi9BUEM-",
"orgid": "APC"
},
However, I struggled to get the lookup-map referenced properly to display the KEY01 and KEY02 values...
------------------------------
Matthew Dudley
Southern Company Services
------------------------------
Original Message:
Sent: 09-11-2025 11:03
From: Steven Shull
Subject: Work Order record Filters (web vs device)
Since this is a custom process, it's a bit hard to explain how you should go about doing this. But I'll talk through the problems I see in hopes that it helps.
You have a custom object structure with a where clause and mobile-qbe-filter
where="listname="SC_LOCORGLEV2"" mobile-qbe-filter="{{'domainid': '=SC_LOCORGLEV2'}}"
The first problem is domainid is used in the mobile-qbe-filter but that's not an attribute being retrieved in the schema. I assume this is supposed to be 'listname' rather than 'domainid'. But if it is supposed to be domainid then the domainid attribute would need to be included in the schema. Since this is done on device, the attribute needs to exist in the sqlite database and will only be fetched if the attribute is defined.
A second potential problem is Maximo Mobile will only download records for a lookup (lookup-data="true") object structure once. If you reference this same object structure elsewhere in the application (for example, the level1 looking something like this)
<maximo-datasource id="SC_ORGLEVEL1DS" lookup-data="true" object-structure="SC_MODPLUSDCVALHEAD" pre-load="true" offline-enabled="true" offline-immediate-download="true" where="listname="SC_LOCORGLEV1"" mobile-qbe-filter="{{'listname': '=SC_LOCORGLEV1'}}" depends-on="SC_USERDS">
Only one of the two datasources can ever be fulfilled. On Mobile, you want a saved query that returns all the data you could potentially need and then use the mobile-qbe-filter to reduce down to the correct records. You can still add the where clause for the web scenario (IE you would have a saved query & where clause), but you don't want to depend on that for mobile.
Hopefully those two things help but if not, let me know and I can try and provide further guidance.
------------------------------
Steven Shull
Naviam
------------------------------