cancel
Showing results for 
Search instead for 
Did you mean: 

Block IDOC in XI

Former Member
0 Kudos

Hello,

my scope is to block in XI some IDOC sent from R/3 to SRM-SUS. The condition is the creation date of the order (ex. cutoff_date=01-01-2006 order created 12-01-2006 ==> pass IDOC to SRM-SUS, order created 23-11-2005 ==> stop IDOC in XI).

How can I implement this functionality in XI?

Thank you

Bye Corrado

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Re: Block IDOC in XI

Posted: Feb 7, 2006 7:55 PM Reply

Hi,

Create a User Defined function to Check the if the date of the IDoc falls below or above the Cutoff date.

For Example : If the date is less than the Cutoff Date then we should Block the Idoc from reaching the Target system, in this case RAISE A EXCEPTION to stop processing the current IDoc Message.

Refer to these Blogs on the way to raise runtime exceptions in XI mapping to terminate the processing.

/people/sap.user72/blog/2005/02/23/raising-exceptions-in-sap-xi-mapping

/people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping

Hope This helps your requirement

Answers (1)

Answers (1)

bhavesh_kantilal
Active Contributor
0 Kudos

One solution will be to go for <b>Conditional Receiver Determination.</b>

While doing your receiver determination, you can specify a condition under the receivers.

The condition has to be on the basis of the source message. So, if your date is being passed as

the input message, then this will be an easy solution to go for.

Just check the receiver determination part under this blog for more info,

/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

You can also check how to specify conditions using this help link on SAP

http://help.sap.com/saphelp_nw04/helpdata/en/26/5ccd3bb4560f01e10000000a11402f/content.htm

Hope this helps,

regards,

bhavesh

Former Member
0 Kudos

Hi,

I followed your indications and I created this expression in the expression editor:

/ORDERS02/IDOC/E1EDK03/[number(DATUM) > 20060208] EX

(DATUM is a string)

But this doesn't work because in XI I received this error: No receiver could be determined.

Maybe I wrote the expression in wrong mode?

Thank you

Regards

Corrado