cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver Determination condition

Former Member
0 Kudos

HI Experts,

We have a scenario, File to IDOC

I01xxxxxxxxxxxx

I02xxxxxxxxxxxx

.

.

.

.

I99xxxxxxxxxxxx   is the file structure.

Sometime I may get only one line Starting with

I99xxxxxxxxxxxxx

I need to stop these messages in receiver determination based on Condition.

i have tried with "Myfield[(starts-with(.,"I99"))]"  and also used "substring" also....but it is throwing error.

please help me out in this as it is an urgent requirement.

Thanks a lot in advance.

Prasad

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello,

Check this XPath:

/p1:MT_Name[not(RECORDS[starts-with(field[1],'I99')])]  EX

Above expression will determine the receiver if the first "field" occurrence has any value other than I99**...

Thanks

Amit Srivastava

Former Member
0 Kudos

Hi Amit,

Thanks for your reply

I just tried with the above condition, but it is failing in test configuration and showing the follwoing error

pls let me know am I giving any wrong input, my structure contains only one field

"/p1:MessageType[not(RecordSet[starts-with(IBS_DATA[1],'I99')])]"

Thanks,

Prasad.

Former Member
0 Kudos

Hello,

I have tested this condition and it should work, paste ur RD screenshot along with the source structure.

BTW, p1 is the namespace prefix adjust it according to ur structure.

Thanks

Amit Srivastava

Former Member
0 Kudos

HI Amit,

pls check my RD and Source Structure Screenshots

"RecordSet" will repeats in the structure.

prefix was coming by default I am not editing that.

Former Member
0 Kudos

Hello,

Ur condition looks OK to me, do a end to end test and then apprise me with ur test results?

Thanks

Amit Srivastava

Former Member
0 Kudos

HI Amit,

I have tested End to End. every message is getting stopped irrespective of "I99" or another.

please let me know how can i achieve this...

Thanks,

prasad

Former Member
0 Kudos

Hello,

Really strange!!

Try this:

/p1:MT_Name/RECORDS[substring(field[1],1,3) != 'I99']  EX

Thanks

Amit Srivastava

Former Member
0 Kudos

Hi Amit,

Thanks for your reply, the above condition seems to be working, But I observed some wierd behaviour, that When I am Testing the scenario by pushing the message through RWB it is working fine, but When I tried to place file in sender directory it is failing and throwing error in MONI saying "No Receiver could be determined".

Can you or anybody help me on this.

Thanks in advance,

Prasad

Former Member
0 Kudos

Thanks all for the immediate replies.

Issue got resolved now, Its problem with the data in file.

Thanks a lot.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Prasad,

Would suggest to rather do a multi mapping. Please see the tutorial below.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90dcc6f4-0829-2d10-b0b2-c892473f1...

Regards,

Jannus Botha

naveen_chichili
Active Contributor
0 Kudos

Hi Prasad,

Instead of trying the logic in Receiver Determination why can you try this in mapping?

Regards,

Naveen

Former Member
0 Kudos

HI Naveen,

Can you pls tell me How Can I achieve in mapping....

is it Multimapping by cretaing another structure? or any other

please suggest