on 12-05-2006 11:08 PM
I have a scenario as follows: file adapter ->XI ->RFC
(This is similar to a problem I posted a few weeks ago,
but not quite the same).
When I plug in values in the debugger(running the RFC), I get a PO created.
When I run the file scenario via XI, I get no PO and no errors in SXMB_MONI.
(Per SXMB_MONI, "Processed successfully"
There are no dumps and no error in SM58(tRFC).
There is a commit statement in my RFC, and I know the RFC works when I run in via
debugger.
How can I track this problem down?
Is there anything in particular in the SXMB_MONI output that would
tell me that the call is/is not being made to the RFC?
Michael, thanks for that blog suggestion. I will look into it.
I came up with another method out of desperation yesterday.
I decided to insert statements in the RFC that would write a msg to
a text file. That way I could maybe tell where the RFC was failing
or find out if the RFC was even accessed.
Here is what I did:
First I used transaction AL11 to find out what directories I could access,
then chose one I knew I could look at outside of SAP.
Next, I inserted some code into my RFC.
*----
My troubleshooting section.
Writes a message from the RFC to a text file that can be read outside of SAP.
DATA: mydatasetname(200).
CONCATENATE '
<IP addr of server>\dirname1\'
'<\subdirname2\my_textfile_name.dat'
INTO mydatasetname.
*Write debug info to a text file
OPEN DATASET mydatasetname FOR OUTPUT IN TEXT MODE.
TRANSFER 'Now in line xxx of RFC <rfcname>' TO mydatasetname.
CLOSE DATASET mydatasetname.
COMMIT WORK.
end of My troubleshooting section.
*----
I had to use CONCATENATE to force a long path & filename into one line.
I also was able to plug in variables to output a variable value at a critical
time.
I'm sure there is a better way to do this, but IANAAP, and this
was a faster method for me than figuring out how to write a bunch of
similar msgs to a dataset. My method is slower but will probably allow
me to gain more RFC debugging skills in the short term.
So far, I've figured out that I'm at least reaching my RFC and my BAPI
call to create a PO doesn't return what it's supposed to. So, next step
I'll add some different text file calls to figure out what's being passed in.
I suspect that the text file I'm passing in has some slight value
difference than the values I plugged into the debugger.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Are you making Synch RFC call or Async RFC call ?
If it is Synch RFC call then on a successful RFC call you would get a response back with the PO number...
If it is Asynch RFC call then SXMB_MONI would show the status "Processed successfully" once it is delivered to Adapter Engine. You can go to RWB->Message Mononitoring-> Choose Adapter Engine and Display to check the staus of your message on the Adapter Engine. This will show if the RFC call was made successfully. You can also look into transaction ST22 in R/3 system for any ABAP dumps while executing the RFC...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi,
you can try using the method I presented:
/people/michal.krawczyk2/blog/2006/01/17/xi-debugging-rfc-calls-from-the-xi-not-possible-who-said-that-
Regards,
michal
-
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I forgot to add that RWB shows that the call to the RFC was successful.
However, start and end times are only 5 seconds apart -- not sure that
it would have run that fast.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.