Maximo Anywhere

  • 1.  Work Execution App: MaterialList Json store is not deleting the latest created local material object

    Posted Wed July 07, 2021 04:07 AM
    Hi Experts,

    I am facing this issue since a couple of days and still could not get into a root cause of this issue.

    Customisation: I have customised the planned material view of Work Execution app and added the 'Add planned material' action/option for users. This is similar to the Adding actual Material in the Work execution app. In-fact, I have copied the whole logic from actual materials with addition to few fields and lookups required.
    It works fine and I am able to add planned material and can see the data in Maximo Work Orders.

    Problem: After adding the planned material, app is not deleting the local copy of latest created planned material object and it is displayed in the list screen. Platform Cleanup code is written and from debugging  I can see the material object being deleted and index is reset as well.
    But after the whole commit process is done and I go into the list screen it show 2 records - 1 which is committed into Maximo and other the local json object.
    This duplicate record keeps happening till I am working on the Material list screen. So, if I have added 3 planned material and maximo has received 3 then the list screen shows 6 rows ( 3 synced from Maximo and 3 local json objects)

    If I go to the my assigned work order list screen then framework deletes the all the duplicates except the last( latest ) local planned material object.

    I have seen this behaviour in Actual material as well where the list screen displays the local json object of the actual material object until I go to the My assigned work order list screen. But it does not display duplicate actual material objects. So, everything looks good there.

    Any guidance will be much appreciated!

    ------------------------------
    Biplab Choudhury
    Maximo Consultant
    Tata Consultancy Services
    Melbourne
    ------------------------------


  • 2.  RE: Work Execution App: MaterialList Json store is not deleting the latest created local material object

    Posted Thu July 08, 2021 09:57 AM
    Two line of thoughts here:

    First Planning the field was never a design feature so you are venturing into risky territory.  If client is adamant about begin able to plan in the field then ...OK.  I would advise my customers against it but would do the development if they insist.  If the use case is not for actual planning but rather to create a work around for the missing ability to create an MR in the field so you can request Material when needed and not planned then, it woudl be better to build the MR functionality.  I have done this and it is complex but eminently doable.

    Second, from a technical perspective did you create a temporary singleton local resource to use in the creation of the WPMATERIAL object?  If not, then you may want to try that approach.  If you have used a temporary local resource are you calling out in you js script a platform cleanup on that object after you have executed a model save(all) to store the data on the server?  Are you using both a synchronous and asynchronous call for both online and offline processing?  It certainly sounds like you have a timing problem with the code execution.  Since you state that if you go to the assigned work list screen I assume you are saying that if you change the query you get an update to the current page you are viewing.  This indicates an online request.  Have you tested the offline capabilities and if so what do you see?

    ------------------------------
    Bradley K. Downing , MBA
    IBM Certified Adv. Deployment Prof. Maximo v7.6.1
    IBM
    Bakersfield CA
    ------------------------------



  • 3.  RE: Work Execution App: MaterialList Json store is not deleting the latest created local material object

    Posted Fri July 09, 2021 09:02 AM
    Hi Bradley,

    Thanks your response!

    You are right, this is done to handle the on-field MR feature. There were discussions around creating a custom MR functionality but I suggested doing it using WPMATERIAL so that the reorder features can be used as the end goal to convert the MR into POs and Invoices.

    Technically, I used the Plannedmaterial resource which comes with the app and used the same logic of actual material creating to create planned materials on field.

    I figured out the issue, hope this will help someone else. 
    The oob planned material resource did not have the anywhererefid was not created as part of this object in Maximo  and anywhere resource. 
    Due this the local storage data was not able to match the right planned synced with maximo.
    I created the anywhere field in WPITEM and added this in the planned material resource.

    Thanks,
    Biplab

    ------------------------------
    Biplab Choudhury
    Maximo Consultant
    Tata Consultancy Services
    Melbourne
    ------------------------------



  • 4.  RE: Work Execution App: MaterialList Json store is not deleting the latest created local material object

    Posted Fri July 09, 2021 12:48 PM
    Biplab,

    Very glad to hear that you worked out the technical reason for the update not working the way you want it to.  If this is a workaround for the lack of the MR OK,  I understand. 

    I know the following diatribe may sound like I am "picking nits".  I am not trying to second guess your solution.  I just have grave doubts about this approach for the following reason:  This approach necessarily requires the environment to have a modified WPEDIT setting to allow the user to edit the work plan materials whilst in an approved/ in progress state.  This means at a system level you have now allowed all work orders to be modified after a work-plan was put in place. 

    Philosophically now anyone can modify a work plan and add materials regardless of the original estimate.  This action has the unintended consequence of breaking the relationship between planned expenditures and actual expenditures.  There will be a reduced ability to review planned versus actual costs because every time you modify the plan you will more closely match actuals, thus skewing the metric.  Another unintended consequence of going this route is this:  it assumes the part is on the shelf. 

    If the part is NOT on the shelf and you update the planned materials whilst the work order is in progress and the part needs to be ordered, what happens to the work order status?  Normally the WO would go into WMATL.  Have you tested for this scenario? As you mention the "the end goal to convert the MR into POs and Invoices." 

    The ordering of material via MR is only true if the material is NOT on the shelf.  If it is then the MR can simply be issued to the work order and that is the end of the "procurement" cycle;  and since it is required for the work order in hand, you can execute an immediate PR/PO based on the WO urgency rather than wait on the recurring reorder cycle which may very well delay the work completion.

    The MR was designed to still allow for the issuance of material for a work order without breaking this key capability for management to actually manage the work performance.  From a technical perspective this may have been easier to solve than the MR, (which I admit is pretty difficult since we are dealing with an entirely separate artifact), but from a business process perspective this approach allows for a less manageable  business process.  The MR approach has a better control process for material issuance to an in-progress work order that does not modify the work plan cost estimate, allows for the ordering of the part, while surely management the work order status, and maintain business process continuity.

    The sheer lack of this feature was a huge reason why back in 2013 the then product manager was intent on not retiring the old IBM Mobile Maximo (circa 2006 original development on Win CE platform.)  It really is too bad we never did get that implemented in the product. 

    I applaud your solution from a technical merit stand point and I trust you have been able to have the necessary business process discussion(s) with the customer regarding the aforementioned issues I have delineated.  I hope your customer is able to work with this solution, and I also hope you will be able to develop a working MR solution to provide a more refined solution in the future.

    Apologies for the long winded response!

    ------------------------------
    Bradley K. Downing , MBA
    IBM Certified Adv. Deployment Prof. Maximo v7.6.1
    IBM
    Bakersfield CA
    ------------------------------



  • 5.  RE: Work Execution App: MaterialList Json store is not deleting the latest created local material object

    Posted Sun July 11, 2021 03:22 AM
    Hi Bradley,

    Thanks for pointing out some important points there. I did consider few of those points before going ahead with this solution:

    1. WPEDIT: You are right and I have a pending story to create a custom solution to restrict modifying the planned materials from Maximo. It will be only allowed from Maximo Anywhere and that too only to add direct issue items from anywhere. The business case is such that technicians request item from mobile and get that converted into PO.
    2. Planned vs actual material cost: Customer does not use the Cost planning of the work orders currently so for the time being it would be fine but yes I didn't think of this issue.
    3. WMATL Status: I did some tests on adding materials in INPRG status and the waiting for material status is not triggered. Currently, the requirement is extended to add materials in APPR status as well. I will give it a test for APPR status to see if it causes a problem in the current use case.
    4. MR solution: The complexity of the MR solution in anywhere was one reason for opting for this  but I promoted using planned materials more than MR as it can be extended for storeroom items as well in future also the reorder process works really well to convert the requested item( stocked and non stocked) into PO. Reorder process also considers the purchase contracts as well. It saved a lot of our development efforts in Anywhere and Maximo and simplified the requirement without much customization and fulfills the customer use case.


    Thanks,
    Biplab

    ------------------------------
    Biplab Choudhury
    Maximo Consultant
    Tata Consultancy Services
    Melbourne
    ------------------------------