cancel
Showing results for 
Search instead for 
Did you mean: 

Message Split - Strange recursive behaviour

Former Member
0 Kudos

Hi,

I hope you can help me with this. I am running out of my mind!

I am dealing with the case where I have to pass information from MATMAS from system SC_1 to two different interfaces (SOAP) of system SC_2. I have configured Interface determination to split the message and gave appropriate XPath condition for that.

Configuration Test works fine and delivers two correct output messages.

At runtime, when the real messages (IDocs) are sent from SC_1, some strange things are shown in the Message Monitor.

I was expecting 3 messages: one for branching, and two for messages after the split.

What i get is this:

Questions:

- Why do I get so many messages?

- Why MATMAS is being sent to CS_2 four times?

- Why do I get twice a call to IF_1 and twice a call to IF_2? And what is this additional IF_1 branching ("Branching: Multiple receivers found") at the end?

Don't tell me to redo the whole configuration.

Everything works fine as soon as I disable the message split feature (by removing all but one interface from the Interface Determination).

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Dynia

Lets first try removing the acknowledgement generation and see if it helps.I  assume you dont need acks.

please go to transaction SE38 in PI and run the program  IDX_NOALE - enter sender port and client - selecet Do not request Acknowledgments  for MATMAS  IDOC type.


Regards

Srinivas

Former Member
0 Kudos

Hi Srinivas,

Thanks for your response.

I haven't tried this yet. I want to understand the behavior it before I make a change, please

So I am implementing IDoc to SOAP. Do I need acknowledgments or not?

What about IDoc messages that arrive at SAP PI but cannot be forwarded to target system as the system is busy, or temporally unavailable?

For now I have something that ignores the responses from SOAP, e.g.

Is this OK? I guess I have to implement some proper mechanism that can keep the messages in the queue until are successfully delivered to the target system.

regards,

Miroslaw

former_member194786
Active Contributor
0 Kudos

Hi Miroslaw,

Here are my pointers:

  • Do I need acknowledgments or not? --> This depends on your integration requirement.
  • What about IDoc messages that arrive at SAP PI but cannot be forwarded to target system as the system is busy, or temporally unavailable? --> I believe you are using Exactly once and that is guaranteed protocol, hence once the end system is available your failed messages can be delivered to the end system.
  • Above suggestion was that if you don't need to process the acknowledgement, you can suprress the receiving of it in  SAP PI through the report mentioned. Hope it helps.

Regarding the actual problem, can you verify if the split messages are actually generated out of the payload of source message? Verifying the payload might provide more information.

Regards,

Sanjeev.

Answers (2)

Answers (2)

Muniyappan
Active Contributor
0 Kudos

Hi,

use Test Configuration in ID to see what happens with the same payload.

may be it can help you to get some idea.

Regards,

Muniyappan.

Former Member
0 Kudos

Hi Muniyappan,

As I have already mentioned, the configuration test seems fine for me.

For exactly the same MATMAS it runs w/o errors and produces two messages for two SOAP interfaces that I have expected.

Muniyappan
Active Contributor
0 Kudos

Hi,

this is strange to see id testing is giving correct one and sxi_moni is giving different output.

1. if this is happening because of acknowledgement you can try the same scenario with simple one like file to file. this is making sure this happens because of ack.

2. as per your screen shots from sxi_monitor you have 4 output messages instead of 2. can you check all output payload to see anything different?

3. did you design your interface determination to have 4 interfaces which give 4 output messages? and then later you have changed to produce two output messages as your it test configuration produces. you could check your cache notifications also.

Regards,

Muniyappan.

ambrish_mishra
Active Contributor
0 Kudos

Hi,

please find the response below.

Why do I get so many messages? 

- Why MATMAS is being sent to CS_2 four times?

The only possible reason is the target message getting created multiple time in message mapping. I suggest to use the same source payload and test in respective operation mappings.

- Why do I get twice a call to IF_1 and twice a call to IF_2? And what is this additional IF_1 branching ("Branching: Multiple receivers found") at the end?

May be the coniditions have something in common that the interface gets called again for braching.

I know it will be a big task sharing the entire development objects as a post but we can't decipher or find the root cause unless we go through the entire design.

Hope it helps!

Ambrish