on 10-06-2007 9:39 AM
Hi,
I am using enhanced receiver determination..is there any settings should be made in interface mapping..
In my scenario there are two receivers..i created two message mapping..i also check the blog about enhaned receiver determination..i got confused in creating interface mapping..
Can any one give clear idea for creating interface mapping..
Regards
Prakash
check my wiki for this.. go to wiki>xi>step by step guide>enhanced receiver determination
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI,
U CHECK THE BLOG CAREFULLY ONC AGAIN, U WILL SET IT.
REGARDS,
KEERTHI
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Keerthi,
Can u explain in detail..i created one data type and one message type..
As source structure and receiver structure is same..
i created three message interface..one for source and two for receiver..
I created message mapping for each receiver and message mapping for determining receivers..
Whether in interface mapping i need to mention three message mapping program or not..
Explain in detail,,
Regards
Prakash
Hi Prakash,
Take this exaple scenario u will get to know about enhanced receiver determination.
Soure Message: A_Msg
Based on the data in one of the field in A_Msg You are sending this message to two receivers.
Target Message: B_Msg1, B_Msg2
There should be two message mapping like A_MsgToB_Msg1 and A_MsgToB_Msg12.
Also Two interfaces for these Message mappings ok.
To determine the receivers dynamically you need to have one more message mapping, for that Soure message is A_Msg and targat message is <b>Receivers</b> From SAP BASIS Sofware component.
And inetrface mapping for the above Message mapping. for that use ReceiverDetermination Interface from SAP BASIS.
Use this interface mapping in ur Enahnced receiver determination.
Other configurations are same.
Prakash,
what is your requirement? based on the data, do you need to have respective mappings(3) has to be triggered or need to go to different receivers? or need to get different mesages from one single message?
if one of the first two is the requirement then you need to go with Xpaths with standard interface determination ,if third is the requirement then you need go for Multimapping with enhanced interface determination.
can you give more idea about the requirement,may I am able to help you.
thank you,
Babu sri
Hi Prabhu,
I followed ur steps and completed IR side.i also finished ID part..when the scenario is executed i got some error in sxmb_moni as "Receiver could not be determined".
How to rectify the error..In ID part, i created
Two Business service for each receiver
One Business service for sender
While creating Receiver determination after selecting type of receiver as extended..i specified one interface mapping name..then i created two interface determonation and two receiver aggreement..
Whether above procedure is correct or any thing else should be done.
Regards
Prakash
Hi Prabhu,
I created three message mapping...two mapping for each receiver and one mapping for determining receiver.In this mapping i used target message type as "Receivers",.I wrote user defined function based on employee category receiver should be selected...this is the code
int i;
int A=0;
int B=0;
for(i=0; i<a.length;i++)
{
if( a<i>.equals("A") && A==0)
{
result.addValue("BS_Cat_A");
A=1;
}
if( a<i>.equals("B") && B==0)
{
result.addValue("BS_Cat_B");
B=1;
}
}
</textarea>
My source structure is
MT_EmpCat
>Emp_info
EmpId
EmpCat
EmpDep
Both receiver structure is same as source..
Check whether the code is correct..Also message type from SAP Basis "Receivers" the occurence of service is specified as 1..whether the occurence to be changed..
Regards
Prakash
>>>>Check whether the code is correct.
I think code is correct, test ur mapping and check Queues of ur UDF.
>>>>SAP Basis "Receivers" the occurence of service is specified as 1..whether the occurence to be changed..
No need to chande the occurence, since the message will be sent to one receiver based on ur condition.
Hi
I feel something is wrong with the code of your scenario, that is why you are not able to get the desired output.
Please use this and see and check..
int i;
int A=0;
int B=0;
for(i=0; i<a.length;i++)
{
if( a<i>.equals("A") && A==0)
{
result.addValue("BS_Cat_A");
A=1;
}
if( a<i>.equals("B") && B==0)
{
result.addValue("BS_Cat_B");
B=1;
}
}
Thanks
Hi Monika,
My code
public void Service_Det(String[] EmpCat,ResultList result,Container container){
int i;
int A=0;
int B=0;
for(i=0; i<EmpCat.length;i++)
{
if( EmpCat<i>.equals("A") && A==0)
{
result.addValue("BS_Cat_A_IB");
A=1;
}
if( EmpCat<i>.equals("B") && B==0)
{
result.addValue("BS_Cat_B_IB");
B=1;
}
}
</textarea>
}
I given as EmpCat slong with array index 'i' in the code
Based on Employee category receiver should be determined..So i mapped EmpCat to target service in message mapping based on the blog..
I kept cache as "Context" and BS_Cat_A_IB,BS_Cat_B_IB are two receivers service
Can u check it still i am facing the error Receiver could not be determined
Regards
Prakash
Hi Monika,
Based on condition, receiver got selected..Now my requirement is contents of source is to be transferred to both receivers (i.e) there is no condition.I changed the UDF
int i;
int m=0;
int n=0;
for(i=0; i<a.length; i++)
{
if( !a<i>.equals(" ") && m==0)
{
result.addValue( "BS_Cat_A_IB" );
m=1;
}
if( !a<i>.equals(" ") && n==0)
{
result.addValue( "BS_Cat_B_IB" );
n=1;
}
}
But file is going to one receiver...is anything to be changed in UDF
Regards
Prakash
Hi Monika,
My first requirement is working
Based on some condition i moved data from source to corresponding receivers using enhanced receiver determination..its working fine..
Second requirement is
I need to move all data from source to all receivers (no conditional based ) using enhanced receiver determination...there are two receivers.. I changed UDF which i posted earlier..
I need clarification whether i need to change only UDF or any thing alse..
Regards
Prakash
Hi
Just wanted to confirm because..when you said the UDF is not working i gave it a try..In my case it is always going to only one Receiver.If the 1st record is ms then it goes to Service 2 and doenst go to Service 1 for second record of Mr and visa versa.
For your second req i need to prepare the UDF and try it out..
Thanks
hi,
we hav create an mapping for RECEVIER DETERMINATION....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.