cancel
Showing results for 
Search instead for 
Did you mean: 

Help with XI calling an RFC

Former Member
0 Kudos

Hello Experts,

I have inherited the following situation that is currently not working - and I need to resolve it. We have a 3rd party program that stores data in a MySQL 5.0 database. A java proxy server is set up to send jobs from that database to XI. Then XI is supposed to call an RFC on our SAP 6.40 system. Somewhere along the way there is a problem. I can debug the ABAP RFC code myself, but the problem is before any job gets to the RFC. How can I tell if the RFC is being called at all? How can I tell if jobs are being stored in a queue on XI?

Any help as to where to begin would be greatly appreciated. I am very new to XI, so even things you might think are obvious would help.

Reward points for helpful answers

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi Shane,

do you see any errors in SXI_MONITOr transaction ?

for messages in queues check SMQ1 and SMQ2 (and SM58)

you can also check:

BPM monitoring:

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb4...

hot to monitor XI:

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0b4580be-0601-0010-d3ad-bd6...

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>

Former Member
0 Kudos

In SXI_MONITOR, all the messages have a status of "Processed Successfully"

Could it be a problem with the sender service or the receiver service???

I checked SMQ1. It says " Number of displayed entries : 34.945 "

SMQ2 says " Number of displayed entries : 2.115 "

Does this mean there are thousands of entries in the queue???

When I run SM58, there are three types of messages written (all called by XIAFUSER):

(1 - most common) Time limit exceeded

(2) Error in target system

(3 - occasionally) Transaction executing

Anything else you can think of? Thanks

Former Member
0 Kudos

Hey

>>SMQ2 says " Number of displayed entries : 2.115 "

u have to unlock all these entries from the queues.for scenarios to work properly,there should not be any entries in SMQ2

thanx

Ahmad

Former Member
0 Kudos

Hi Ahmad,

Should I be clicking the "Unlock queue" button, or the "Unlock without activating" button.

Also, when I view the queue, it says status "STOP" - is this correct?

Thanks

Message was edited by:

Shane LaBonte

Former Member
0 Kudos

Hey

u can hit the Unlock queue,see the bottom line is there should not be any entries in SMQ2 and SMQ1 ,so even if u to delete the queues then do that.

Status STOP is not correct,its coz of these queues that ur scenarios are not workin,even if u had a scenario which waz working properly in the past may not work coz of these queues.

thanx

ahmad

Message was edited by:

Ahmad

Message was edited by:

Ahmad

Answers (3)

Answers (3)

Former Member
0 Kudos

Shane, try this approach.

Go into the queue. Try to unlock the queue with activation. if the queue says that "Transaction Executing", see for the time stamp. If it is changing, then let it run. If it is not throwing and if the queue is still holdong messages without doing anything, ask for your Admin to restart the Java stack of XI. This will clear the queue. Or if it is OK to delete (like say the env is development), then delete all the LUW entries in the queue. This should clear your queue. Now run the scenario again. This is one option for queues.

Now for your requirement, check the following stages:

1. SXMB_MONI of XI - Should have an entry and should be successful.

2. SMQ2 of SAP - There should not be any value left here. If it is there, debug it and resolve the error.

3. SXMB_MONI of SAP - Should have an entry here.

Former Member
0 Kudos

Hi Sarath,

Thanks for the suggestions. Right now, I am trying to process the jobs out of the queue. If I choose to delete them, how would I do that?

I see that in SMQ1, the number of entries gets lower, while in SMQ2, the number gets larger. What do these two queues represent. Why are there two queues?

Former Member
0 Kudos

Hey

SMQ1 is inbound queue and SMQ2 is outbound queue.

>>If I choose to delete them, how would I do that?

just select the queue and hit the Delete(trash can) button

thanx

ahmad

Former Member
0 Kudos

If I were to delete a queue, does it just get re-created automatically once a new job gets sent to XI?

Am I right in assuming that SMQ1 holds the jobs sent from the java proxy server, and SMQ2 holds the jobs before they get sent to our SAP 6.40 system?

Former Member
0 Kudos

hey

here the inbound and outbound means

Inbound:Comin into XI

Outbound:Going out of XI

>>If I were to delete a queue, does it just get re-created automatically once a new job gets sent to XI?

well if u have any process which is causing this problem and it keeps on pooling and getting stuck,then definately u will see numbers in queues increasin,just try to delete all the entries and execute ur scenario once again

thanx

ahmad

Former Member
0 Kudos

Hi,

see the below links

Queue stopped - and queue register - https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/20bb9649-e86e-2910-7aa9-88ed4972...

Introduction to queues in message mapping - /people/venkat.donela/blog/2005/06/09/introduction-to-queues-in-message-mapping

Eo/EOIO?BE - Queue - ? - /people/sap.india5/blog/2006/01/03/xi-asynchronous-message-processing-understanding-xi-queues-part-i

Please go through these links

/people/sap.india5/blog/2006/01/03/xi-asynchronous-message-processing-understanding-xi-queues-part-i

For queues in message mapping

/people/venkat.donela/blog/2005/06/09/introduction-to-queues-in-message-mapping

Here are the Queues for Asynchronous Message Processing

http://help.sap.com/saphelp_nw2004s/helpdata/en/7b/94553b4d53273de10000000a114084/frameset.htm

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c7567...

There are some cases when re-executing the message makes it pass successfully.

For such errors, just schedule the program RSXMB_RESTART_MESSAGES, so that such messages can be re-started and don't block a queue.

you've to set the parameter MONITOR/QRFC_RESTART_ALLOWED to 1.

Now Coming back to Queues getting Blocked I dont hink Queue Prioritization is a ggod Idea, We have to manually Deal with Queues and the Data in Ind, remember if are force to delete any data from the Queues Delete the Complete LUW rather then individual message.

Have a Look at this Blog as well::

/people/stefan.grube/blog/2006/04/27/how-to-deal-with-stuck-eoio-messages-in-the-xi-30-adapter-framework

Regards

Piyush

Please reward some points if found usefull

Former Member
0 Kudos

I unlocked my outbound queue (smq1) - so now there are no entries sitting in that queue anymore.

By doing this, it appears as though all the records moved to my inbound queue. But my inbound queue is unlocked, has a status of READY, and yet it does not get rid of records. It is still sitting at 38.000 records.

Any ideas how to clear the inbound queue (without just deleting it)?

Thanks

Former Member
0 Kudos

Hey

a lot of times u have to activate the queues before deleting them

u can select all the queues using F5 and then hit delete,if they dont,then activate dem before deleting.u should not be having any entries in SMQ1 or SMQ2

thanx

ahmad

paolo_romano2
Participant
0 Kudos

Ahmad is right, there could be some serious errors on your queues.

They shouldn't contain any item at all!

In normal conditions, the messages should persist here only for some seconds or for no time at all(!).

If they do not restart, try to delete the error item(s), usually the first, then to unlock the queue.

Check for the errors and fix it, or delete the transaction you cannot restart.

If you haven't activated the parameters(via SXMB_ADM) MONITOR/QRFC_RESTART_ALLOWED to 1, you can only delete the uncorrect items to restart the queues.

regards,

Paolo

Former Member
0 Kudos

Hi Shane,

Try debuging the RFC on your SAP system can help.

you might have to put a small do while loop with a infinite condition say checking for flag as X .

This will stop the processing in R/3 .

you can debug the RFC by going to SM50 , selecting your process and then going to menu program/session -> Program -> Debugging.

Even if you trigger this from XI you can debug it .

Hope that will help

Nikhil