cancel
Showing results for 
Search instead for 
Did you mean: 

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

former_member197830
Participant
0 Kudos

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 ?

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

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

Regards,

Satish ch

Answers (3)

Answers (3)

former_member183816
Active Participant
0 Kudos

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

Harish
Active Contributor
0 Kudos

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

iaki_vila
Active Contributor
0 Kudos

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-c892473f1... (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.

former_member197830
Participant
0 Kudos

Hi Vila,

In our scenario we don't have any conditional fields like location = 'INDIA' or NE to 'INDIA'.

blindly first 5 fields data  to first receiver and second 5 fields data to second receiver.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

Here's a poc using the same idoc on this thread .

MANDT to OUTMOD - BC1 (Business Component 1)

EXPRSS to MESFCT - BC2 (Business Component 2)

Sample condition for BC1:

Sample condition for BC2:

Sample input:

Receiver det.

Interface det:

At runtime:

BC1 message

BC2 message

Regards,

Mark