cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping error in multiple Synchronous scenarios

udayabhaskar
Explorer
0 Kudos
137

Dear Gurus,

I am using PI for connecting MQ server to ECC server. The adapters being used are JMS and RFC. There are multiple synchronous scenarios (5 scenarios). MQ team has provided individual XSD's for each scenario.

I have created separate Synchronous server interface, message mapping, operation mapping, Sender and Receiver communication channel for MQ and receiver communication channel for RFC, Sender Agreement, Receiver Agreement, Receiver Determination & Interface Determination.

There are multiple JMS queue, channels and IP address provided for the MQ server connection. I am using only a single queue, channel and IP address for the connection as of now. There is a CCDT file provided by the MQ team and I need to use it for which also I need help.

The problem I have is, if I start all the communication channels and trigger a data from the MQ side, the data is being sent to any of the synchronous scenario and not the particular scenario for which it has been triggered and giving mapping error.

I am manually starting the channel for which I need to do the testing and have all the other channels stopped.

Please help me out in how exactly I can achieve this. I need to have all the communication channels started and the data needs to go to the particular interface for which it has been triggered.

Also, help me out in how I can use CCDT. I have placed the CCDT file in a location on the PI server and mentioned the same in the communication channel. However, getting the CCDT connection error.

Regards,

Uday

View Entire Topic
udayabhaskar
Explorer
0 Kudos

Dear Gurus,

Please help me out on this one.

Regards,

Udaya Bhaskar

turmoll
Active Contributor
0 Kudos

Have you you tried to have one outbound interface with five synchronous operations? And use only one channel?

Maybe consider also using aync to sync bridge if SAP PO "complains" about many "synchronous" operation in one "sender agreement"/ICo.

/k

udayabhaskar
Explorer
0 Kudos

Hi Jakub,

Thank you for your reply.

I have tried to create a single Synchronous Service Interface with different message mappings and operation mappings. Getting an error when creating a single operation mapping for multiple message mappings as all the scenarios are synchronous.

I will try to explain my scenario in detail

1. MQ is putting multiple message types (with different root nodes in the XML schema) on the same queue.

2. I have created multiple communication channels for each message type which contain the same parameter details (A single communication channel cannot be used as the scenarios are synchronous).

3. When the messages are put on the MQ queue, they are randomly picked by the communication channels (irrespective of the XML message type) and giving mapping error.

4. Enhanced interface determination or multi-mapping or multiple operations cannot be used as the scenarios are synchronous. JMS Async/Sync bridge is being used to deal with this issue.

5. The option (I think the only option) left to use is the JMS selector in all the communication channels created to segregate/identify the correct XML message type. Is there any particular JMS selector that needs to be used for this?

As a single RFC is used for all the scenarios and if all the XML schemas are bought into a single XML schema will there be any mapping issue or any issue in creating the sender agreement?

Regards,

Uday

turmoll
Active Contributor
0 Kudos

What about:

- outbound interface with many asynchronous operations (that should fix problem of picking up wrong message by wrong operation) and async-sync bridge ?

/k

udayabhaskar
Explorer
0 Kudos

Hi Jakub,

After the response from R/3 is sent to the MQ server, MQ will validate the data and another data for the same fields is sent to PI through the same XML schema.

So, I think asynchronous operations are not a possible option.

Regards,

Uday

turmoll
Active Contributor
0 Kudos

Uday,

Can you elaborate last sentence?

Do you have 5 different Request/Response messages for 5 synchronous outbound interfaces? Or you use 5 different  Requests and one common Response?

I understand you use only one RFC module as target interface (for all aforementioned 5 synchronous outbound interfaces)?.

/Jakub