Skip to Content
avatar image
Former Member

Message Split - Strange recursive behaviour

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).

pastedImage_0.png (40.0 kB)
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Oct 26, 2013 at 12:50 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • 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.

  • Oct 26, 2013 at 03:27 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 26, 2013 at 05:23 AM

    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.

    Add comment
    10|10000 characters needed characters exceeded

    • 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.