Skip to Content

Can we create single message mapping and operation mapping for multiple receivers?

Hi All,

In File-To-File scenario I have one source structure, it contains 10 fields. i want to send fist 5 fields to one receiver and second 5 fields to another receiver.

Above requirement i have created ESR components:

1)one source structure (contain 10 fields)

2)two receiver structures (first receiver contain 5 and second receiver contain another 5)

3)three service interfaces(one for sender and another two for receiver).

3)one message mapping( using signature table i have placed two receiver structure) and one operation mapping.

And ID components:

1)three business systems(one for sender and another two for receivers) with communication channels.

2)two receiver agreement and one sender agreement.

3)two interface determinations and one receiver determination.

Finally i didn't get output like first receiver have five and second have five . i got output like first receiver have all 10 and second receiver also have 10.

Can any one help on this issue ?

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

4 Answers

  • Best Answer
    Jun 04, 2015 at 10:02 AM

    Hi Narsaiah,

    You can go with ValueMapping, for this requirement.

    Please have a look into the below link.

    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90dcc6f4-0829-2d10-b0b2-c892473f1571?overridelayout=t…

    Regards,

    Satish ch

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 04, 2015 at 10:03 AM

    H NarsaIah,

    . i want to send fist 5 fields to one receiver and second 5 fields to another receiver.

    If i understand right you, you want to send one set of fields to one receiver and another set of fields to another receivers. Then you should use multi-mapping: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90dcc6f4-0829-2d10-b0b2-c892473f1571?overridelayout=t… (you need at least a SAP PI 7.1).

    If the fields are the same to all the receivers, you would only need to add the receivers in the integration directory.

    Regards.

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 04, 2015 at 10:04 AM

    Hi,

    Receiver determination do not filter the data, it is just identify the receiver for the sender interface. For your case (use one message map) the design will needs two flow.

    One sender interface sends data to intermediate service (say PI_INT) via SOAP receiver with two receiver interfaces. it would have multimapping with one source structure and two receiver structure to filter the data.

    Now at PI_INT service you have two messages and route them to respective receiver.

    Hope this help!!

    Harish

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 05, 2015 at 05:47 AM

    Use Mapping based message split in your case.

    Defining Message Splits - SAP NetWeaver Process Integration - SAP Library

    Your mapping Traget structure will look like this,

    <Messages>

    <Message1>

    first 5 fields structure goes here.

    </Message1>

    <Message2>

    last 5 field structure goes here.

    </Message2>

    <Messages>

    Rest of the things will be same as you have created.

    ID: Create 2 separate channels for each interface

    At Interface determination choose your single operation mapping.

    At receiver agreement (Outbound Processing for PO), choose your channel accordingly for each interface.

    2)two receiver agreement and one sender agreement.

    3)two interface determinations and one receiver determination.

    Create only one interface determination.

    Create only one receiver agreement, there you will get option to set two receivers using two separate channels.That's the issue.

    Defining Receiver Determinations - Integration Directory - SAP Library

    Add comment
    10|10000 characters needed characters exceeded