on 02-10-2010 5:55 AM
Dear All,
As my last post I came to know that i was using invaild data in input payload so i now have tested with proper data.
i am getting lot of invaild things in my input like space ,# and all from ECC side in first step of pipeline(Receiver Determination). so thinking to use extended reciver determination so that there i can validate the input paylaod there only..........is this possible
Plz suggset.....
Regards
Abhay Agarwal
I have used the trim and repalceString fn for this req in mapping and it was not working . then i have used the Extended Receiver Determination in that I have used trim Fn with Fix Value Fn (Because I have to validate the payload in Receiver Determination Step which is the 1st Step in Pipeline).that ' s why i think it won't work in mappiing... and it is working fine Now for My scenario.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
i am getting lot of invaild things in my input like space ,# and all from ECC side in first step of pipeline(Receiver Determination). so thinking to use extended reciver determination so that there i can validate the input paylaod there only..........is this possible
No need of extended receiver determination here. Message mappings can do it for you. If you know the fields that come with these data you can handle them at message mapping level only.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI Somen,
Let say i am having input xml like this
<row><Index>0 </Index>
<Date>20100210</Date>
<MANDT>100</MANDT>
<Flag>0 </Flag>
<Identifier>UST04</Identifier>
<BNAME>............</BNAME>
<PROFILE>............</PROFILE>
</row>
now i want to remove this space frm Index tag then which fn i have to use......
<row><Index>0 </Index>(mapping)<row><Index>0</Index>
Regards
Abhay
HI Somen,
trim is not working for this .
i getting the error in receiver determination step only..........this paypload is from receiver determination only....
<row>
<Index>0 </Index>
<Date>20100210</Date>
<MANDT>100</MANDT>
<Flag>0 </Flag>
<Identifier>UST04</Identifier><
BNAME>............</BNAME>
<PROFILE>............</PROFILE>
</row>
and I think i am using Trim fn in mapping which is not the first step of pipeline,.........
Regards
Abhay
Hi Somen Hi Amit,
I have used both fn replaceString and Trim and both are not working beacuse I am getting the error in first pipeline step
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Receiver Identification
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>No receiver could be determined</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
i using condition to determine the receiver on basis of Index Value
<row>
<Index>0 </Index>
<Date>20100210</Date>
<MANDT>100</MANDT>
<Flag>0 </Flag>
<Identifier>UST04</Identifier><
BNAME>............</BNAME>
<PROFILE>............</PROFILE>
</row>
if index value=0 then it use Service1
and if index value=1 then it use Service2
so in testing when i am removing this space from Index tag it's working fine.
so that is why i want to remove this space from here . for this i think we need first check input payload in first pipeline step only...........plz correct me if i wrong........:)
Regards
Abhay
Hi Abhay,
As per your post,I feel you are having problem in determining reciever due to the payload data ie a space.I believe you are using a udf for determining the receiver as you have mentioned:
If index value = 0 then Service1 else service2
So,problem is space is not read by the function and its giving error.So,kindly use trim function in the udf itself as:
index.trim value = 0 or 1.Please frame the code something like this.Then it will work.
Otherwise, do by grapical mapping by using
index>trim>if then else function--->
if 0--->service1
else--->service2
Please do this and let me know.It will resolve the issue.
Regards,
Nutan
Hi Nutan,
NO I am not using any udf wht i am trying to to say
My req is to use
2 service
BS1
BS2
for this I have added one field in structure
<Index>
my logic in Conditional Editor
if<Index>=0 then BS1
If <Index>=1then BS2
so when data is coming from ECC side in Payload
<Index= 0> like this and it getting failed IN first step Receiver Identification Not in Mapping step
Any ways as per the suggestion from Amit and Somen I have used both Trim And ReplaceString IN My mapping
And that one is Not working.........
and when ussing that same payload by removing that space and sending from RWB it is proceesing successfully...........
plz suggest
Regards
Abhay
<SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
Abahy, try to follow the below steps...
1. DO NOT use any extended receiver determination in your configuration and first try to test the scenario using Test Configuration giving simple input(with no spaces in the index value).If all the pipeline steps executes successfully then move to step 2 given below. If again you see the same error mentionedabove, then try deleting the receiver determination and creating again.
2.In the message mapping, write a small udf to replace the unwanted characters in the input with blank.The udf is as below.
strInput1,strInput2 and strInput3 are the three arguments should be passed to the udf. strInput1 should the input value(ex: index) strInput2 should be the character to be replaced(" space" in this case) and strInput3 should be the character to be replaced with.("blank" in this case).
String temp = strInput1.replaceAll(strInput2,strInput3);
return temp;
use the above udf, o trim the unwanted characters.
This should solve your issue.Let us know if you still face any more errors.
Regards,
Swetha.
HI Shewta,
I have used the trim and repalceString fn for this req in mapping and it was not working . then i have used the Extended Receiver Determination in that I have used trim Fn with Fix Value Fn (Because I have to validate the payload in Receiver Determination Step which is the 1st Step in Pipeline).that ' s why i think it won't work in mappiing... and it is working fine Now for My scenario. thanks for Your Alll Help.
Any new Ideas are most welcome.
Regards
Abhay Agarwal
Hi Abhay,
As i read the all the posts in this thread.. and ur error status is..
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>No receiver could be determined</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
This problem is not from the mapping which will be in interface determination... also,
the mapping(interface determination) comes only after the receiver determination...
So the problem lies in the receiver determination configuration....
please delete the receiver determination once and recreate it once more(some times due to cache problem's)
For ur requirement dont create the extended receiver determination...(it's required only when u want to determine the receivers in run time)
To delete the spaces and special chars...
u can solve these in mapping,using the stringReplace and trim functions....
Also i doubt if at all the incoming source XML is proper structure or not... please check once in the SXMB_MONI.. the incoming payload.
Still some problem... please post the problem in detail .. so that others can also understand..
Babu
Hi Babu,
That is wat I am saying , If I will use the trim and RepalceByValue Fn in mapping it won't work.Beacuse I have to validate the payload in Receiver determination on basis of paylaod in Receiver Determination I have to define the receivers.
Regards
Abhay Kumar
Edited by: Abahy Aggarwal on Feb 11, 2010 6:13 AM
Edited by: Abahy Aggarwal on Feb 11, 2010 6:15 AM
Hi Abahy,
i am getting lot of invaild things in my input like space ,# and all from ECC side in first step of pipeline(Receiver Determination). so thinking to use extended reciver determination so that there i can validate the input paylaod there only..........is this possible
Why do you want to go for extended receiver determination, you can validate the input payload in your message mapping itself(either by simple graphical or java mapping depending on your requirement).
Regards,
Swetha.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
11 | |
10 | |
9 | |
9 | |
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.