cancel
Showing results for 
Search instead for 
Did you mean: 

Avoid data loss on unsuccessful synchronization

Former Member
0 Kudos

Hi mobile gurus!

I'm currently developing a mobile solution on MI 7.0 SP14. I have observed that when an unsuccessful synchronization occurs, the persistence layer throws an exception 'The data is inconsistent please reset the data to ensure consistency' when I try to add a new syncbo instance. I understand that this is the default behavior of the MI platform to ensure data consistency, but when a client reset is done, all mi client tables are deleted. As new local data not synced could exist on the client (for example a new invoice in our case), the data will be lost.

Is there any way to keep the good data on a client reset?

Thanks All!

Regards,

Juan José Cruz

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Juan Jose Cruz

Generally this kind of error does not occur very frequently and i am quite surprised at this behaviour. We have done few fixes in higher patches (1 and 2) on SPS14 related to client data reset and upgrading to the latest patch might help . Kindly refer to SAP notes 1106639 and 1090645. This might solve your problem. Also make sure the outbound sequence numbers for smart sync data is not ignored on the server in merep_mon. In most of the cases this is the root cause of this error to come up. If this doesnt solve the problem, kindly paste the contents of the client trace file with the exception and this might provide me with some clue to resolve this issue.

Best Regards

Sivakumar

Former Member
0 Kudos

Hi Sivakumar!

We have come to this type of error during a synchronization with the Backend. Our scenario is similar to the DSD one. For example, if the master data of a customer on the R/3 Backend contains a "strange character", during the synchronization process the smartsync layer throws an exception of type "java.lang.internal error" as a character conversion can not be done. Then the persistence layer is marked as dirty and so, a client reset must be made. Then if new data was present on the device, it is lost when a client reset is done. As on DSD scenario, we download data before uploading new data. Maybe a quick fix is to upload before downloading. (We will test this approach), but I understand that the scenario described here implies "sometimes" a data loss. My primary question is if there is a way to keep new data on a client reset without doing dirty tricks (like saving all new stuff to temp tables via jdbc).

Thanks for your quickly reply.

Best Regards,

Juan Jose Cruz

Former Member
0 Kudos

Hi Juan,

well, I guess you are in development or testing phase and the application is self developed?

Well, if that is the case, please be so kind and check your implementation of BAPI wrappers again. Most likely you have an error in these or a more or less general missunderstanding of the process and so a problem while creating items.

the error should not occure as long as you simply sync with the backend, but it will occure as soon as you create an item on the backend. Most likely you return a wrong GUID for the created item or something close to that. It is hard to say from here, cause without knowing the coding and the exact thing you are doing it is more or less digging in the dirt.

Anyway I hope I get you an idea where to look for that error - as much as I can say: this is most likely notMI related, cause products like MAM do not have this type of error.

Regards,

Oliver

Former Member
0 Kudos

Hi Oliver,

We have updated from MI SP14 to SP16 and tested again the solution. We have some master data on the backend that causes a java.lang.internal error while the synchronization process runs. We have come to the conclusion that the data on the mobile application is uploaded before the crash happens, so the possibility of new data (invoices, deliverys) loss is "theorically impossible". An OSS note have been posted to SAP to see what the problem is, as we are using an unicode system an these type of errors should not happen.

I'll keep you updated.

Thanks again,

Juan Jose Cruz

Former Member
0 Kudos

Hi All,

We have developed our own solution to avoid data loss if the synchronization fails in the scenario described in this message. A response from SAP to our OSS note has been received. The SAP development team is currently testing a backup tool to avoid this type of error. It will be included in a near SP.

Thanks all for your help,

Juan Jose Cruz