cancel
Showing results for 
Search instead for 
Did you mean: 

XI to RFC processed successfully but not working

Former Member
0 Kudos

Hello,

I finally configured my RFC - XI - RFC async scenario.

If I go to SXMB_MONI the message is processes OK, the mapping is OK too because I can see the output payload data in the technical routing tab.

But, the destination RFC must change a DataBase table in the his R3 server and it didn't happened so something is wrong.

How can I know where is the problem? It looks like XI runs fine, then I think the problem is in R3 destination. How can I check if the RFC has been called?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi !

Two simple tests:

- if your target RFC is custom, then add some kind of trace lines to write some message in a file to be able to check if it is called.

- temporarily replace your receiver RFC adapter with a File adapter and check if the file is written. If the file is written, you will be sure that all the scenario is ok.

- log into your R3, go to SE37 and try to execute the target RFC from there to see if it works ok.

Regards,

Matias

ps: please award points if useful.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Marshal,

Have a look at the adapter engine log in the Runtime Workbench. There you will the message related to the RFC call. It might give u a detailed information about the problem.

As far as SXMB_MONI in R/3 is concerned, it does exist in R/3. But, it will be useful only in case of proxy communication and not in case of communication using RFC adapter.

Regards,

Akshay

Former Member
0 Kudos

Thank you Akshay.

There is no SXMB_MONI in my R3. It's a very old version (4.6c or b).

I've checked Runtime Workbench messages and it gives me the same information than SXMB_MONI in XI.

Former Member
0 Kudos

Hi Marshal,

If you are seeing everything successful, then check whether it mapped the data to the target structure or not. In sense, were the RFC parameters actually filled by XI mapping. You can get this in one of the messages.

Regarding SXMB_MONI, it exists in R/3 4.7 or ECC systems. You need not worry about that since you are usinf adapters in your interfaces.

Regards,

Akshay

Former Member
0 Kudos

HI Marshal,

Which RFC you are calling? Check if you need commit work after calling RFC.

Also you can check if messages are not stuck in XI trfc queue using transaction code :SM58.

Hope this will help.

Nilesh

Former Member
0 Kudos

HI Marshal,

Which RFC you are calling? Check if you need commit work after calling RFC.

Also you can check if messages are not stuck in XI trfc queue using transaction code :SM58.

Hope this will help.

Nilesh

And how I know if I have to commit work? And how I commit work from XI?

The RFC it's a custom RFC and it has only one line code:

---> MODIFY ZTABLE FROM IT_TABLE.

IT_TABLE is the parameter from XI and ZTABLE is a custom transparent table. I've tested and it works fine.

I also checked SM58 in XI and nothing is there.

The RFC destination parameters are filled OK too, I've checked in SXMB_MONI from XI.

I don't know what else can I check

Former Member
0 Kudos

Hi Marshal,

Do the following things

1. Check SMQ1 & SMQ2. If you dont find anything goto the next point

2. Goto TCode : SM50. Whenever ur RFC gets called by XI, any entry for that user (which XI uses to call RFC) gets created. If you are able to see that entry ur RFC is indeed called. The whole process is a split second one, so u need to pass a lot of records to the RFC. Once you see the entry, click on it to see more details like the program name associated with ur RFC .

If this also doesn't work, goto the next point.

3. Live Debugging:

Refer note 668256

Regards,

Akshay

Former Member
0 Kudos

Thanks Akshay,

Finally I resolved the problem.

As usually the biggest problems are the more stupid errors and the problem was in the unique line of code of the RFC function

The RFC was using the header of the internal table and not the full internal table. When I tested the RFC I only entered 1 register to the table so I didn't realised about the error.

But when you send a table from XI the header line isn't sent and nothing happens then.

The RFC has been called all the times... I've found the problem thanks to Matias Denker when I wrote some code lines to log if the RFC was being called.

Thanks to all.

Former Member
0 Kudos

Hi,

Can you check the SXMB_MONI in the R/3 side and see wheather its successfull there, If not it will tell what is the error. If not there is some problem with the RFC which need to be taken care by r/3 folks.

Thanks

Amaresh

Former Member
0 Kudos

??

SXMB_MONI obviously doesn't exist in the R3 server.

The message in XI SXMB_MONI is processed OK but I'm the XI and the R3 folk :S and I don't have knowledge about controlling entring remote function calls from XI.

Which transaction can I check in R3 to see if RFC has been called?

Former Member
0 Kudos

Hi,

SXMB_MONI is there in R/3 also. You can check that at R/3 side and see what it is saying. If everything fine there also, then definitely the problem is with RFC connection establishment at R/3.

Please check it.

Regards

Bhanu

Intelligroup.