cancel
Showing results for 
Search instead for 
Did you mean: 

SmartSync Error: Record not on device?

Former Member
0 Kudos

Hi,

I'm developing a JSP MI Client SmartSync application. This application can add a record successfully. The source code is more or less following the <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/21eba3a7-0601-0010-b982-92f1fca3258a">SmartSync Inventory Example</a>. But when i tried to modify it, the record wasnt updated in the R3.

Below is the log in the merep_mon, there is an error in <b>I-Error</b>:

Cl. Run Number

Msg Cntr. RT Cntr. Msg Type Created on Time Message text

100 55016

1 3 I 19.10.2007 11:36:03 MEREP_HANDLER has started for run number 0000055016 and runtime counter 3

2 3 D 19.10.2007 11:36:03 Return code 0 (HANDLER ENABLED)

3 5 E 19.10.2007 11:36:03 <b>Record not on device</b>

4 5 E 19.10.2007 11:36:03 Return code 1 (DOWNLOADER)

Any help would be highly appreciated . Thanks.

- julius

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Julius,

this error can have multiple reasons, so lets start simple. As you type the message, it says the item is not in the device. So, could you show the code for modify?

I guess there you do not really access the item or in the code itself is something wrong. Normally, if you modify, you first read the item, have to key of the item, then you modify it and save this entry afterwards. This is the best idea to avoid this error.

Well, if you create an item, then it is pretty much lke that. You do not want to create a new item, if the same item is alresdy on the device. This could cause issues in backend otherwise. So you first read the persistence and check if this particular item is alredy there. If this is the case - well, you have the key then, so see above.

In all cases youshould have the key of the item. If then the key is not in Sync state - because then modify is not allowed - you can modofy it. So the question is: have you perhaps written a test code, that takes the item you have created previously in your test code and where you believe it is on the client and try to modify it - but you have not really checked if the item is really still on the device?

Please give a little more input.

Regards,

Oliver

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Julius,

Please paste the client trace for analysys.

Thanks,

Abhijit

Former Member
0 Kudos

Hi Abhijit,

There is no trace for Error or Fatal Errors.

This is a trace from <b>Warning Messages</b>:

[20071020 07:12:41:750] W [MI/Smartsync ] ConversationID is shorter than minimum length of 22. This will lead to ambigous PostStateIds

[20071020 07:12:43:984] W [MI/Smartsync ] Request ID must have a length of 32 but it has a length of 20 Content: 0115bc41aebba7cff532. Padding request id up with empty spaces.

[20071020 07:12:44:046] W [MI/Smartsync ] Request ID must have a length of 32 but it has a length of 20 Content: 0115bc41ae3ebaca8859. Padding request id up with empty spaces.

- julius

Former Member
0 Kudos

Hi,

This error should occur in the first place since MI handles this scenario internally. There is a report which is called the key mapping report. This report should be run only once in SP18 or lower. If the report has been run in a system. The tables MEREP_111 and MEREP_112 table keeps track of the SyncBOs which are deleted. If the data is not present in this table also, then this error will take place. The only reason i see here is that report has been run by someone in the middleware which has led to data loss.

Also this table is also deleted by MEREP_PURGE tool. If the tool has been run with very low time lines then the data intended to be record may also have been lost.

So check if this report was run by the admin or any other developer. Also check the merep_purge report input parameters and increase the time period for deletion.

Thanks..

Preetham S