cancel
Showing results for 
Search instead for 
Did you mean: 

How to Debug Functional Module called via RFC?

Former Member
0 Kudos

Hi Experts,

Please, can someone explain to me how to debug functional module that is called via RFC? Thanks in advance.

Best Regards,

Aleksandar

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Did you try placing an external breakpoint in the RFC module.

Regards

Vandana

Former Member
0 Kudos

Hi Vandana,

Thanks for your suggestion, I have already tried that. Actually, in back end system that is called via RFC by front end system (in this case CRM) I set up ‘External Break Point’ in functional module that I want to debug. Beside that, in the same system (back end system), in Menu option Utilities -> Settings -> ABAP Editor tab -> Debugging tab, in field users, I inserted the user that makes calls to the current system, checked ‘New Debugger’ and checked ‘Session breakpoint active immed’. But I still can’t stop in breakpoint.

Any suggestion?

Best Regards,

Aleksandar

Former Member
0 Kudos

I guess you are using ISA/ICSS . 2 scenarios i have come across in my experience.

1. use XCM user Id if it is statefull connectin(or stateless backend object ).

2. use refernce user in case of stateless connection(or stateless backend object )

This should work. After you change user, need to re-launch application again and try debugging.

regards,

Laxman

Former Member
0 Kudos

Hi Laxman,

First of all, thanks for your answer. Yes, you are right, I am using ISA/ICSS scenario, actually trying to debug calls from WebClient CRM 2007 to back end.

Regarding to your suggestion here I have few doubts.

1. XCM user should be created on back-end system, I guess. Is there any sort of special authorization profiles that should be applied? Should XCM user be used for ‘External Debugging Users’?

2. Reference user. Should have special authorization profiles? Should be used for ‘External Debugging Users’?

Thanks in advance,

Best Regards,

Aleksandar

Former Member
0 Kudos

Hi Aleksandar,

Did you try my suggestion above??

This works perfect..

Kind regards,

Micha

Former Member
0 Kudos

Hi Micha,

First of all, thanks for your answer, honestly speaking at the first I didn’t understand but after a while I got your idea. I believe it works, but as I am debugging standard function module there must be way to do debugging without copying to Z* FM.

Do you know another way to do it?

Best Regards and thanks again

Aleksandar

Former Member
0 Kudos

Hi ,

Try this:

1.First go to the Function Module and set an external breakpoint in display mode.

2.In CRM go to transaction SICF and then press F8.

3.Now expand the first tree structure displayed there

and select the top node.

4.Now on the menu click on Edit->Debugging->Activatedebugging

5.A pop up will appear with 2 check boxes.Uncheck every thing and press enter.

6.Now run ur application which is calling the function module.

7.I believe it should go in debugging mode.

Thanks.

Ashish

Former Member
0 Kudos

Hi ,

Try this:

1.First go to the Function Module and set an external breakpoint in display mode.

2.In CRM go to transaction SICF and then press F8.

3.Now expand the first tree structure displayed there

and select the top node.

4.Now on the menu click on Edit->Debugging->Activatedebugging

5.A pop up will appear with 2 check boxes.Uncheck every thing and press enter.

6.Now run ur application which is calling the function module.

7.I believe it should go in debugging mode.

Thanks.

Ashish

Former Member
0 Kudos

Hi ,

Try this:

1.First go to the Function Module and set an external breakpoint in display mode.

2.In CRM go to transaction SICF and then press F8.

3.Now expand the first tree structure displayed there

and select the top node.

4.Now on the menu click on Edit->Debugging->Activatedebugging

5.A pop up will appear with 2 check boxes.Uncheck every thing and press enter.

6.Now run ur application which is calling the function module.

7.I believe it should go in debugging mode.

Thanks.

Ashish

Former Member
0 Kudos

Hi Ashish,

Thanks for your effort and time. I have tried what you have explained but unfortuntately it doesn' t work at least not in my case.

Best Regards,

Aleksandar

Former Member
0 Kudos

Hi Aleksandar,

To clarify your points,

1. Yes you need to have admiinistrative authorization for XCM user including debug in Dev/QA environment.

If you debug backend object you will realise this is the user should have sufficient authorization to create order or make private connection to login to the CRM system.

2. Mistakenly I typed Reference user, it is Logged-in(internet user) user for stateless calls to backend.

Let me know which scenario you are trying to debug so that I can guide whether it is Stateless/Stateful scenario.

Regards,

Laxman

Edited by: laxman on Apr 22, 2008 5:28 PM

Former Member
0 Kudos

Hi Laxman,

First of all thank you very much for giving attention to my post. Ok, I am trying to debug function module in RM-CA (FICA), function module is called by CRM system (via RFC) and in addition all this chain is triggered by WebClient.

I have user that can login on the CRM as well as on RM-CA (ECC 6.0) system, but those users are different (unfortunately I do not have administration permission so I can’t change profiles of my users but I can ask for it). I can without any problem debug calls that come from WebClient, so setting an external break point in CRM system I can catch whatever I want but when process comes to point where actually call to back-end (RM-CA) takes place I simply can’t get into functional module, that resides on RM-CA side. Actually what happens is that processing continues as was chosen ‘NEXT STEP’ (F6).

To resume, two systems and two different users. Where XCM user should be created? (on RM-CA system or CRM). Should I change something in Menu option Utilities -> Settings -> ABAP Editor tab -> Debugging tab, in field users? If you need any additional info please tell me.

Thanks again for your support.

Aleksandar

Former Member
0 Kudos

Hi Aleksandar,

You are one step ahead to reach CRM system, that is good. As far I remember you dont need to have any xcm user for ECC. Once it reached CRM FM it is similar to ABAP debugging. What is happening when you press F5 ? If it exit , i dont have any clue.

Regards,

Laxman

Former Member
0 Kudos

Hi Laxman,

Thanks a lot for you effort. Unfortunately when I press F5 it doesn’t happen nothing, it just passes to the next step as it was pressed F6. I checked values for IS_CRMC_FICA_SYST-RFCDEST but it points to the system where I am waiting to stop, but… the value for SY-SUBRC is 0 so everything is ok …… well, thanks again, I will leave this post open in case someone has another idea.

Best Regards to you.

Aleksandar

Former Member
0 Kudos

Hi

You can give a last try putting external debugging point with same user in both system same.

Regards,

laxman

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Aleksandar,

What I normally do is use SM50 and there you see the process of the FM call. When you have time enough you can use the menu Program --> Program --> Debugging.

When the call is finished to soon and it is a RFC call to a Z* FM, you can enter an endless loop and then once in debugging you can see the trigger so that the endless loop is ended.

Something like this:



data: timer type i value 0.

while timer EQ 0.
  wait up to 1 seconds.
ENDWHILE.

Once in debugging set the timer to 1 and the coding will continue.

Hope this helps,

Micha