cancel
Showing results for 
Search instead for 
Did you mean: 

Doubt in Enhanced Receiver Determination

Former Member
0 Kudos

Hi all,

I have gone through the blog ([/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16|/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16]) for Enhanced Receiver Determination and the recent thread related to it ().

But I still have some doubts as follows:

(a) Normally when I want to have only one of the both receivers dynamically, I can just go ahead with specifying condition in ReceiverDetermination. I hope that will serve my purpose. In that case what is the need of Enhanced Receiver Determination?

(b) When I go for Enhanced Receiver Determination as per the blog, there are three message mappings defined. One for Receiver Services, and remaining two for each receiver structure. Here, I didn't find any relation between Receiver Service mapping and the actual two receivers' mappings. But in Interface Maping RcvrDetm_MM (receiver service mapping) is used. How does it serves my purpose of mapping to one of the receivers dynamically?

Please clarify me. Thanks in advance.

Regards

Bhanu

Intelligroup.

Accepted Solutions (0)

Answers (2)

Answers (2)

GabrielSagaya
Active Contributor
0 Kudos

1) what is the need for Enhanced Receiver determination?

This is used to identify the receiver based on message mapping at run time.

There may be more than one receivers in your requirement.

but based on condition in your source structure you are forwarding the message to the particular receiver alone.

2) relation between Receiver Service mapping and the actual two receivers' mappings.?

Receivers could be part of the incoming message and are being determined using a mapping lookup

E.g. you could have a plant code in an incoming document and use a mapping lookup to retrieve the business system belonging to this plant.

Former Member
0 Kudos

Hi,

Thanks for useful replies.

I understand that using Enhanced Receiver Determination, we need not to list all receivers. It will dynamically select the respective receiver to process the message. Ok fine.

But coming to mapping part, in the blog i've followed, service mapping is used in Interface mapping. My question is how that mapping actually picks the desired receiver mapping?

Regards

Bhanu

Intelligroup.

GabrielSagaya
Active Contributor
0 Kudos

assume that there are 2 receivers as MrService and MsService.

Based on the input in name that contains the substring mr. or ms.

If there is at least one “name” starting with “Mr” then MrService is added to the receivers list. In a similar manner if there is a “name” starting with “Ms” then MsService is added to the receivers list.

see the UDF

function myudf(name[],ResultList result, Container container)

{

int i;

int mr=0;

int ms=0;

for(i=0; i<name.length;i++)

{

if( name<i>.substring(0,2).equals("Mr") && mr==0)

{

result.addValue("MrService");

mr=1;

}

if( name<i>.substring(0,2).equals("Ms") && ms==0)

{

result.addValue("MsService");

ms=1;

}

}

}

Hence your service may contain any one of the receiver as populated.

Former Member
0 Kudos

Hi Gabriel,

I've seen the code earlier.

But, now I understand that from the mapping one of the receiver is picked (by the UDF) and mapped to Service, which in turn picks the respective receiver service.

Thanks for your cooperation. My question is answered.

Regards

Bhanu

Intelligroup.

Former Member
0 Kudos

Hi,

> Normally when I want to have only one of the both receivers dynamically, I can just go ahead with specifying condition in ReceiverDetermination. I hope that will serve my purpose. In that case what is the need of Enhanced Receiver Determination?

In (normal) RD you have to specify all receivers. In the ERD it's not necessary.

Imagine you have 1000 receivers then it's more comfortable to get the receiver dynamical than to enter 1000 receivers in the RD.

Regards

Patrick