Skip to Content

One Sender, two receivers: 1 passthrough, 1 mapping

Hi there,

Scenario:

Single message routed to:

a) file - passthrough without mapping

b) receiver (R/3) - mapping

Message is an email attachment - might be XML or PDF (distinguishable by FileName attribute delivered by splitter module). XML schema is known.

Using dummy interfaces, I was able to resolve passing data to file.

But I am left with dummy sender interface.

Is it possible to add another receiver in iFlow to achieve the following ?

- if FileName is *XML

- assume message is not DUMMY but based on XML schema

- perform mapping

- deliver to r/3

I believe I could do it in two steps: create another scenario in which previously stored file would be processed further, but I'd like to stay with 1 scenario if possible.

Thanks,

Bart

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

6 Answers

  • Best Answer
    Sep 19, 2017 at 09:59 AM

    Hi Bartosz!

    I would create outbound interface with XML message type. Since you choose receiver according to FileName, it doesn't matter if non-XML payload comes to Receiver determination. Thus, in first case you just set receiver interface (even dummy) and receiver communication channel for that interface and in second - you will be able to select appropriate Operation mapping for your source interface/XML message type.

    Regards, Evgeniy.

    Add comment
    10|10000 characters needed characters exceeded

    • "Will report progress"... right.

      Well, better late than never.

      Thanks for suggestions and java code.

      Java receiver determination worked in a separate test flow, just to check if it generally works.

      Had other issues which stopped me from a fully working solution - used external component for extracting attachments and creating separate messages from them. In this flow it just didn't work. Started getting pending messages, which were not delivered at all. Eventually gave up, went with SOAP -> File. File -> R/3

  • Sep 15, 2017 at 12:27 PM

    Hi,

    Yes you can achieve this using put the condition at Interface or receiver determination step in ICO

    Regards

    GAgan

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 15, 2017 at 02:42 PM

    Hi Bartozs!

    In general I 'm agree with Gagandeep, but you can face some issues.

    Your receiver determination can raise exception in case of non-XML payload. In this case you should apply SAP Note 1354905.

    In receiver determinaton you use condition for receiver in case of XML payload and default receiver for cases when condition is not true (for non-XML payloads). You set the rule to use default receiver when no condition matches your source data.

    Regards, Evgeniy.

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 18, 2017 at 01:43 PM

    Added another communication component in the ICO-Receiver tab.

    Set condition: "FileName CP *.xml"

    Moved to ICO-Receiver interfaces tab, selected newly added receiver, but I can't pick any inbound service interfaces.

    Inbound service is currently used in another flow and it does work in that setup.

    Why can't I pick up any inbound interfaces from newly added receiver ?

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 18, 2017 at 02:45 PM

    Hi Bartosz!

    If you've used Business Component as receiver, did you assign any inbound interfaces for it?

    Regards, Evgeniy.

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 19, 2017 at 09:02 AM

    I wasn't able to pick any interface up because I've configured technical system as Standalone and couldn't assign Software Component to it.

    Changed that, now I can see values.

    But... another issue...

    My outbound interface is dummy, as I do not know the structure of XML data.

    To add another receiver for XML with known structure I need to create operation mapping.

    The point is I am not able to create OM for a dummy service interface and thus add mapping in receiver determination.

    Add comment
    10|10000 characters needed characters exceeded