cancel
Showing results for 
Search instead for 
Did you mean: 

RFC(receiver) terminated suddenly without any error

daixiong_jiang3
Active Participant
0 Kudos

Hi All,

I am facing a very strange issue, when the PI system try to execute the RFC in ECC system, the connection is OK and part of the code can be executed, but then RFC will be terminated without any errors, then the communication channel displays the message 'successfully processed'.

the RFC was changed yesterday and then transported to ECC production system today, also the ESR and IB content has been refreshed. then the error comes.

for example, if there are 100 lines of code in the RFC, only 10 lines of the code will be executed, then it will exit the RFC without running the left 90 lines of code, and when I test it in debug mode, I am sure that all the data transported from PI is correct and it should not exit at the code line 11.

I have repeated several tests for this scenario, and every time the RFC will exit at the same code line.

how does this happen and how to correct it? is there something about the cache refresh? I have restarted the RFC adapter but the issue is still the same.

by the way, there are several RFC receiver channels connected to the ECC system, and all of them works fine.

thanks in advance.

Dario

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Let me reiterate what I understood: Before the RFC was changed, everything worked fine but after changing the RFC code it exits at 10th line and doesn't execute the rest of the lines. Hope this is correct.

If so and if you think SAP PI has something wrong with it, then let me summarize the steps needed once you change your RFC in ABAP.

1. RFC Adapter has a cache of its own and it keeps the metadata in the cache. So once any modification is done in the RFC, you need to start the RFC Adapter service from NWA/Visual Admin. It seems you have already done it, if not then please do so.

2. If there is any mapping then you need to reimport the RFC in the ESR. I hope this is also done.

So, the reason RFC Adapter just doesn't throw an exception is that it's not a problem in PI, from PI perspective it is sendign the correct RFC and no exceptions are raised, hence RFC adapter doesn't complain.

How to debug:

1. Check if local execution of RFC is successful (without PI).

2. If so, check what is being passed by the RFC Adapter to the RFC. You can check the content in MDT and confirm that the changed data is being tranferred i.e. if you added a new field XYZ, it should be visible in the payload content which is transmiited from RFC Adapter.

3. Take the default trace from RFC Adapter as per the RFC Adapter note and check, there should be exact payload which is transferred from RFC Adapter, if that payload has the latest version of the content, then it is some problem in the ABAP.

4. Now for the code exiting after 10th line, you need to see if the code execution relies on the changed data/RFC. If so, then probably RFC Adapter is not sending the updated code which you can check with step 2 and 3 above. If not, then its a problem in your RFC. So will need to check the RFC code to find a reason for the same.

Best Regards,

Pratik

Answers (1)

Answers (1)

daixiong_jiang3
Active Participant
0 Kudos

this is not the issue of PI or ECC,it's mine.

I have made a stupid mistake in the function module, pls ignore this thread.

sorry for wasting your time and happy new year!