on 04-18-2008 9:34 AM
Hi Experts,
Please, can someone explain to me how to debug functional module that is called via RFC? Thanks in advance.
Best Regards,
Aleksandar
Hi,
Did you try placing an external breakpoint in the RFC module.
Regards
Vandana
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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 cant stop in breakpoint.
Any suggestion?
Best Regards,
Aleksandar
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
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
Hi Micha,
First of all, thanks for your answer, honestly speaking at the first I didnt 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
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
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
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
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
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 cant 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 cant 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
Hi Laxman,
Thanks a lot for you effort. Unfortunately when I press F5 it doesnt 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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
8 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.