cancel
Showing results for 
Search instead for 
Did you mean: 

SMQ1 routing - destination RFC where defined

0 Kudos

Hi People,

I have been configuring a PI messaging scenario to communicate with SAP ERP, previously, the configuration routed messages to client 100.

I have configured another (separate) to route another group of messages to client 200 and have managed to find my messages arriving in the queue SMQ1.  However, the RFC destination is incorrect and the message when processed is looking at client 100 due to the incorrect RFC.

Can anyone tell me where the RFC destination is configured before arriving in the queue?

In the above image, MY_QRFC routes to client 100 but I cannot find where the value comes from, since the destination is already preset, I am assuming it must be in the integration builder but cannot find anywhere that references said destination.

What I need is, for the above item which arrived in the correct client, to have a different rfc "MY_QRFC_200" so the processing of the message will then look at the data in client 200 instead of 100 as it does now.

Any advice appreciated.

Thanks,

Malcolm

Accepted Solutions (0)

Answers (2)

Answers (2)

ambrish_mishra
Active Contributor
0 Kudos

Hi,

I guess its the port definition ...IDX1? please check. It uses SM59 RFC destination.

Ambrish

0 Kudos

Hi Ambrish,

IDX1 has nothing defined in it for PI nor SAP ERP unfortunately.

Malcolm

ambrish_mishra
Active Contributor
0 Kudos

Malcolm,

Can you please explain a bit what exactly are you trying to do ? Testing SAP inbound scenarios by copying the config to send the messages to a different client ?

Ambrish

0 Kudos

Hi Ambrish,

I am trying to route messages from PI to ERP using the XI integration builder to a specific client.

After debugging the SMQ2 for one of the incoming messages, I can see the XBQRZNAME_RFC as the destination. Once the message in SMQ2 is processed, the item in SMQ2 is deleted and an entry appears in SMQ1 with a destination defaulted, SERVICE_QRFC, I want to know where the SERVICE_QRFC is configured/what determines where the value comes from.

The SERVICE_QRFC is a logical entry in SM59, I created another for SERVICE_QRFC_200 for client 200 but I cannot find out how to configure the items in SMQ2 to select the new SM59 destination.

Is that any clearer?

Thanks,

Malcolm

ambrish_mishra
Active Contributor
0 Kudos

Check the RFC adapter in ID. RFC destination is entered there.

Ambrish

0 Kudos

Hi Ambrish,

Do you mean the queue name in SMQ2 XBRQZNAME_RFC or the Sender ID? or niether?

Thanks,

Malcolm

0 Kudos

Hi Ambrish,

Which ID are you referring to?

Malcolm

ambrish_mishra
Active Contributor
0 Kudos

I was referring to the RFC adapter in Integration directory.

Ambrish

0 Kudos

Ok, thanks Ambrish.

is that setup in the integration builder or the enterprise services builder? I haven't seen any mention of the queue name I am looking for in it, only a registered application for the RFC which maps to a registered server program.

Malcolm

ambrish_mishra
Active Contributor
0 Kudos

HI Malcolm,

It would have the RFC name in the adapter with registered program.

I am not aware of Queue and RFC mapping. I dont have access to SMQE in my system but its worth checking there.

Ambrish

0 Kudos

Hi Ambrish,

Thanks for the info,

Do you mean this?

The program id is correct and the SM59 connection test succeeds.

Or were you expecting something else?

Thanks,

Malcolm

ambrish_mishra
Active Contributor
0 Kudos

This is good...

Check the receiver adapter RFC destination as well...

Ambrish

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

Can you check the communication channel config, I believe you have just copied the config for 100 and forgot to replace it with 200.

Regards,

Mark

0 Kudos

Hi Mark,

Thanks for the reply.

I did copy the 100 config, but I also checked the business system and client references and changed to 200, if not, there wouldn't be a message in the 200 SMQ1? unless the queue the message arrives in is only determined by the login information/client/password, even then, the only login details for client 200 are in the communication channels for the BS_CLNT_200 in the integration builder.

<SAP:Sender>

  <SAP:Service>BS_SYS_200</SAP:Service>

  <SAP:Interface namespace="" />

  </SAP:Sender>

- <SAP:Receiver>

  <SAP:Party agency="" scheme="" />

  <SAP:Service>BS_CLNT_200</SAP:Service>

Looking at the message itself, there is only mention of the service 200 not 100 as above.

Which part of the process actually populates the "MY_QRFC" Destination field before the message arrives in the queue? I have seen no mention of the MY_QRFC in any incoming config. I am going to try debugging SXMB_XI_MESSAGE but am not sure that's the right class yet.

Thanks,

Malcolm