cancel
Showing results for 
Search instead for 
Did you mean: 

synchronization error after MBO structure is modified in RFC FM

Former Member
0 Kudos

Hi Team

I am facing issue after modifying RFC structure. First  Created MBO with an RFC FM and deployed in Unwired server. it worked successfully. then i modified the RFC structure ( added new Field ) and tried to create a new MBO within the same project (in ECLIPSE). When i deployed in Unwired server i got synchronization error like JCO FIELD NOT FOUND ( New field was not part of the struture ;like that ... )    while  Mobile application was under development by .Net guys.

Hence we deleted the previous application and package in sybase server and re-deployed the new MBO object. i still receive the same error.. like JCO FIELD NOT FOUND ( New field was not part of the struture ;like that ... )

Again we restarted the sup server and tried still the same error..any sugesstions/inputs pls............

Error screen shot attached pls help us ......

Regards

Thanga

pthangamariappan@gmail.com

Accepted Solutions (1)

Accepted Solutions (1)

brenton_ocallaghan
Active Participant
0 Kudos

Hi Thanga,

This is a very annoying bug that you will find when developing with SAP and the SMP and it is caused by some caching that occurs in the the JCO which will not be refreshed by a simple SUP restart, it has to be windows.

If you change the interface of an SAP RFC, then you MUST restart the SMP (SUP) server box (including windows).

What happens is that the server caches the BOR (business objects repo) including the interfaces for your RFCs. This can have some really weird results when the SMP (SUP) then tries to use the RFC which it thinks has interface A when actually it has been changed to interface B.

My rule of thumb when updating or adding a new package to the SUP server is:

  • If you are adding new RFCs, just restart the SUP services (but really it should be OK)
  • If you are updating a model and an interface has changes restart both SUP and the windows Box
  • And if you really just want to be safe, just restart - usually works

Hope that helps,

Brenton.

midhun_vp
Active Contributor
0 Kudos

Good technical answer.

markteichmann
Product and Topic Expert
Product and Topic Expert
0 Kudos

Finally I reached the point where I also changed the structure of an RFC FM twice.

After the first change I could not guess why it suddenly worked (but the Windows server was restarted due to Windows Updates shortly after the change).

Now after the second change I found this thread and I am really annoyed.

It is not the first time that I come to the insight that the core of the SUP platform is designed absolutely wrong.

Answers (4)

Answers (4)

DoanManhQuynh
Active Contributor
0 Kudos

Hi Thanga Mari.

i ussually have to change the interface from my backend with Mbo and got this kind of error too. After a few time solve it, I think those things below should be make sure for new change:

1. BAPI work fine.

2. the old project deployed should be deleted ( or not, when you re-deploy new one, you should do in "replace" mode).

3. The old connection with the old project should be deleted.

4. Unwired server need to restart after re-deploy project.

5. The code re-generate from workspace should be a "new" one (when generate, check "clean up destination before code generation" indicator).

6. Make sure the new code would be deploy to simulator or device ( uninstall or delete old one).

Good luck

midhun_vp
Active Contributor
0 Kudos

Refresh the MBO's and operations if any. If it didn't happens give default input values and refresh.

Delete the existing queries if any.

Uncheck and check primary keys if any.

Redeploy and check.

Former Member
0 Kudos

thank you Midhun Sync error is solved.but now i am getting NO data found though i have data in ECC.

Also the .Net Mobile Apps developler says there is no query  for newly addeed input field . is it something that i have to add in MBO ? if yes where ?

Regards

Thanga

midhun_vp
Active Contributor
0 Kudos

I believe the .net developer is using findall query.

Delete the MBO package from SCC.

uncheck the findall query in the MBO

deploy the package

Check the findall query in the MBO

deploy the package.

Generate the code

.Net developers work:

Delete the generated code from project(Some times developers will overrite the code instead of deleting the code and copying it may result it some issues).

Copy the newly generated code in the project

Former Member
0 Kudos

Hi Thanga,

I am new to SDN, but i got the same problem like u.

I tried with following different solutions.I hope that might help u.

1. Check your connection profile.

2. Check have you properly created personalization parameters or not?

3.Check whether your backend connection is working or not(ping it).

4. From MBO properties try to use preview button to fetch data for that MBO.

4. If your modified MBO is still  not working then try to delete all deployed content from server, from SCC and package from connection profile.sometime SUP just uses old version if it is not deleted in SCC.

5. Deploy fresh copy.

6. From your given description it looks like your backend is SAP ECC then try to use external breakpoint in FM to debugg  whether data is coming or not.

7.Last option is to create fresh new MBO project with different name and then test it.

In my case , i deployed complete new project after deleting from SCC and it worked.

I hope these options will resolve your problem.

Thanks

Sameer

Former Member
0 Kudos

thank you sameer. Sync error is solved.but now i am getting NO data found though i have data in ECC.

Also the .Net Mobile Apps developler says there is no query  for newly addeed input field . is it something that i have to add in MBO ? if yes where ?

Regards

Thanga

Former Member
0 Kudos

I studied your problem, I think you need to declare personalization parameter for your input field, map it to your input filed coming in MBO &  again have to deploy complete project as maintained earlier.

Usually you can do this in properties window of MBO project.

Select your MBO, then go to properties ,in attributes tab , you will find load argument.

In Load arguments , you have to map your personalization parameter to your input field of MBO.

If you are setting up default value for your input field then also you will see your default values in Load arguments.

May be your values are not properly reflected and hence not getting data.

By doing this your developer will be able to find query about your new field in generated code.

If you have done this already then do some cache refresh and try to deploy fresh copy of project on server.Then Generate code and check .

This will help you.

Thanks

Sameer

agentry_src
Active Contributor
0 Kudos

Hi Thanga,

This community is for reporting bugs in the SCN system itself, not for bugs in application development for SUP/Mobility.

Jason, et. al.

This should be moved, but I am not sure where the appropriate community would be.  Probably SAP for Mobile.

Regards, Mike

Former Member
0 Kudos

I'm going to move this to SAP Mobile Platform.

Former Member
0 Kudos

Thank you Keith..Can you give me the link where i can see my post and replies....

Former Member
0 Kudos

I guess you found it? http://scn.sap.com/thread/3312353

Regards,

Keith