IBM Support

Maximo Mobile Technician error on the device Unable to download all supporting data

Troubleshooting


Problem

There are times where the mobile device fails with an error, the clues to the cause will be in the mobile device logs.

Symptom

The log could present this error:

2022-04-25 10:33:28.417 IBM Maximo EAM[123456:12345] 2022-04-25T08:33:28.416Z: [ERROR]: [techmobile]: [JS-LargeDataDownloadManager]: Data download error for [MXAPIINVENTORY]: [{"name":"Error","message":"item#invalidItem"}]

Environment

IBM Maximo Application Framework 8.7.0.0

Resolving The Problem

There could be several underlying reasons for this behaviour:

The issue is caused by inventory records where the item record does not exist. The query here is looking for items that exist in another set other than the inventory record in question. Therefore the best way to solve the problem is to find the records which can be achieved with this SQL Statement:

select * from inventory where not exists(select 1 from item where item.itemnum=inventory.itemnum and item.itemsetid=inventory.itemsetid)

This is also occurs when there is an Item data that is invalid for processing. There are times that data imports for testing have records that are in an incorrect state.

To identify which records this could be, and there might be other reasons, use this SQL Statement:

SELECT INVENTORY.ITEMNUM, INVENTORY.ITEMSETID FROM INVENTORY,ITEM WHERE INVENTORY.ITEMNUM = ITEM.ITEMNUM AND INVENTORY.ITEMSETID != ITEM.ITEMSETID

The SQL statement should return no records.

Kindly a coleague has pointed out that this is not the complete picture.

The query referenced here is incorrect. The better query is:

select * from inventory where not exists(select 1 from item where itemnum=inventory.itemnum and itemsetid=inventory.itemsetid)

What the query on the technote is testing is whether that inventory item exists in another set. That can be 100% valid and won't capture when the item doesn't exist in the ITEM table at all because it's written as a join. IE you could have item 1001 in ITEMSET1 and 1001 in ITEMSET2 and be valid. You could have item 1001 for ITEMSET1 in Inventory but have no entries in the ITEM table and this improved current would capture it.

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB59","label":"Sustainability Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSRHPA","label":"IBM Maximo Application Suite"},"ARM Category":[{"code":"a8m3p000000hBABAA2","label":"Maximo Application Suite-\u003EMAS Applications"}],"ARM Case Number":"TS009150406","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
06 June 2023

UID

ibm16576071