Skip to Content
avatar image
Former Member

Information Deleted on Device Mobile after Sync process

Hi! Everybody

How can I guarantee that the information on the PDA will be on the Backed System, if the order is used for someone else on the Backend system (order locked) ??

After we modified or created something on a notification/Ordes on the Device Mobile and this one is being used on the backend after the Sync process the information get lost. I am sorry. I need to solve this problem because the people can not losse their time wfter they were working.

Thank you for your help

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    avatar image
    Former Member
    Jan 30, 2008 at 11:31 AM

    Hi Xiamora,

    well, this is a little more tricky - and I hope I do not loose you somewhere now....

    First of all that is the reason why we have the MOBI status in MAM - the user should see: do not touch this item, it is on the mobile device! So it is a really bad behaviour if someone opens an order in IW32 even he gets the warning: Hey, this order is on state MOBI.

    Well, now it always happen that some users access the order in IW32, even they just want to check some values. Well, to do that they should use IW33 as I said - but anyway. If they open IW32 then the order gets locked on the table and so you can not save the values form the mobile device at that time. There is no real solution for that - cause it is a standard Database behaviour and that makes totally sence! The Middleware throws an exception/warning in that case you can see in the log file - simply reprocess the order as admin once the order is closed by the other user and the change should be there - as long as the order was not changed in the backend.

    That is another bad behaviour - someone changes an order on the backend - even the data is on the mobile device. If the same item was changed on the backend and on the client, then you have to decide which version has to be taken: PDA or BACKEND. This is a general decision - you can not code around that in the standard MAM, telling the system: if the change was done by user A he wins, if it was done by user B he always looses. So either every time the backend wins and the change on the PDA is overwritten, or the PDA wins and the change on the backend is overwritten. SAP Standard is: backend wins. Makes sence again, cause you have so many orders in the backend, how do you know that the change was overwritten once you completed your work? You change this setting in MEREP_PD. BUT: be carefull, changing the value to Client wins gives you even more hassle with deletion of orders - so leave it is it is and train the backend people better!

    Third scenario - and this makes the second one a little less problematic: mostly the item on the backend changes in a different way then the one on the PDA. Lets say the PDA changes the user status, someone on the backend adds another Work task. Actually this causes a confusion, because after the sync only the Work task is left, the change of user status is lost. This is not necessary, cause both things are stored in a different item in MAM001. There is a so called row comparison available for MI. There is a note available for MAM2.0 and MAM2.5 - in MAM3.0 I hope it is using the standard MI behaviour.

    If you want to test Row LEvel Comparison, open the SAP notes search page and have a look for RLDC.

    So at the end you have two problems you can not really solve:

    1.) Item is locked on the backend by a user at sync time - this causes the admin to reprocess this order

    2.) PDA and Backend changed the same item - lets say user status - on an order at the same time. With the sync one of these two changes has to be deleted. Standard is: backend wins. PDA wins is possible, but I do not recommend it, cause it gives more hassle on other processes.

    Hope this helps!

    Regards,

    Oliver

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jan 30, 2008 at 05:19 AM

    Hi,

    This is the standard behaviour of any MI application. Always the backend wins if there is a conflict/lock on the backend and the data on the backend is pushed to the clients. But I think the way to solve this problem is, the administrator on the middleware can check this scenario and try to reprocess the request once the lock on the backend is released for that particular mobileid on the middleware.

    In most of the applications it is always the backend who wins in such scenarios.

    Hope this helps.

    Best Regards,

    Siva.

    Add comment
    10|10000 characters needed characters exceeded