Maximo

 View Only
  • 1.  work execution app freeze issue (resolved - SUMMARY)

    Posted Wed March 23, 2022 04:40 PM
    We've received feedback from other zebra users (we use zebra tc70 android 8) on zebra related issues we posted about previously.   Thus, want to summarize another issue we encountered and resolved in case it helps anyone in the community.   Note: we are not sure whether this was zebra specific issue
    as we were never able to ever really pinpoint the exact cause of the issue.   Just what code was causing issues and how to work around it.  


    We were experiencing an issue with our devices where occassionally the work execution app would just lock up and the only way we could resolve it was to clear the cache and reestablish the connection.   Eventually after adding debug statements to our js files and examing the chrome debug output we were able to pinpoint the locking up of the app to references to -@@EmptyComplexField@@-

    It seemed to us that problems were arising due to getRequiredResource in _controlbase.js being passed an id of undefined. Seems to be that is due to view.js setResourceObject getting passed -@@EmptyComplexField@@- as resource.

    we then put in the modeldata.getmodeldataset

    if (!ConnectivityChecker.isDeviceConnected() ||

    !this.wasCommittedToServer() || ((metadata.isSystem ||

    metadata.additionalData) && (!metadata.refreshOnLogin ||

    useExisting))) {

    self['failureReportlist']='-@@EmptyComplexField@@-';

    Logger.trace("DEBUG: Load from cached in-memory");

    //Just load from cached in-memory

    var fieldMetadata = metadata.getField(complexAttributeName);

                    Logger.trace("DEBUG: fieldMetaData is "+fieldMetadata);

    return this._ensureModelServiceIsAvailable().

    and it froze just like we were experiencing and throws the same error.   Thus we had programmatic recreation steps.  

    we then updated with

    then(function(){

    if(self[complexAttributeName] && self[complexAttributeName] !== '-@@EmptyComplexField@@-'){

    if (lang.isArray(self[complexAttributeName])){

    Logger.trace("DEBUG: returning getLoadedModelDataSetOrNull");

    return self.getLoadedModelDataSetOrNull(complexAttributeName);

    }

    Logger.trace("DEBUG: Returning self[complexAttributeName]");

    return self[complexAttributeName];

    }

    else{

    /* this is destructive and will set an empty set for the attribute */

    Logger.trace("DEBUG: Returning ModelService.empty");

    return ModelService.empty(fieldMetadata.referenceResource, null, self, complexAttributeName).then(function(dataSet) {

    return dataSet;

    });

    }

    and it rendered the view successfully.   We then implemented this code change and have not had any devices reported as frozen since.  




    ------------------------------
    Victor Chin
    ------------------------------



    #AssetandFacilitiesManagement
    #Maximo
    #MaximoAnywhere


  • 2.  RE: work execution app freeze issue (resolved - SUMMARY)

    Posted Thu March 24, 2022 11:54 AM
    Did you share this with the Maximo Anywhere support team?  Two things occur to me here: First brilliant deductive effort! Congratulations!!  Second with this modification (directly to the ​modeldata.getmodeldataset you changes could get updated in the future.  Have you send this code to support for consideration for fix addition to address your problem?  It might get accepted and added as APAR fix to you situation.  in either case until such a time, you may want to abstract the code and use a mixing custom solution to ensure the change does not get overwritten in future.  Just a thought.

    Again , congrats on developing a viable, solution to your issue​

    ------------------------------
    Bradley K. Downing , MBA
    Solutions Engineer
    IBM
    Bakersfield CA
    ------------------------------



  • 3.  RE: work execution app freeze issue (resolved - SUMMARY)

    Posted Thu March 24, 2022 06:38 PM
    Hi Bradley,

    Yes we were in constant communication with support during the course of troubleshooting the issue.   In the end due to inability to recreate the issue (through actual use of the app and not programmatically)  they did not end up accepting it as an APAR.   Weve encuontered previous issues as mentioned that seem to be specific to the zebra devices we are on and this may be another case of that but we arent as certain in this case.   We do feel like this is something very particular to us.  Unfortunately we just were never able to pinpoint exactly what that variable is.

    ------------------------------
    Victor Chin
    ------------------------------



  • 4.  RE: work execution app freeze issue (resolved - SUMMARY)

    Posted Thu March 24, 2022 06:55 PM
    Ah!  So, since they could not re-create it and it appears to be particular to zebra, then yeah that makes sense to have no APAR.  Oh well.  At least you have a viable work around!  Again great detective work!

    ------------------------------
    Bradley K. Downing , MBA
    Solutions Engineer
    IBM
    Bakersfield CA
    ------------------------------



  • 5.  RE: work execution app freeze issue (resolved - SUMMARY)

    Posted Wed April 13, 2022 03:55 AM
    Hi Victor,

    what is your device's  model, android version, anywhere version and android level? I opened pmr and IBMer Respond anywhere 7.6.4 does not support android 8 devices.

    ------------------------------
    Muhammed Zahid Soluk
    ------------------------------



  • 6.  RE: work execution app freeze issue (resolved - SUMMARY)

    Posted Wed April 13, 2022 09:43 AM
    Hi muhammed,

    we are on zebra tc70, android 8, IBM Maximo Anywhere 7.6.4.0 Build 20200117_195427-0500 DB Build V7640-12
    not sure on eos for android 8.   I was not aware as we have not submitted an anywhere pmr in quite some time.   The vast majority of issues that we encountered was during our rollout more than a couple years ago.  


    ------------------------------
    Victor Chin
    ------------------------------