cancel
Showing results for 
Search instead for 
Did you mean: 

How to not process a message without failing it?

Former Member
0 Kudos

Hi Experts,

I have an inbound JMS-MQ to IDOC scenario. In this scenario lets say SAP PI is receiving an XML from JMS-MQ server with a field "Topic" which can have values 1, 2, 3, ....,19, 20. But the end R3 system is not interested in all 1 through 20 values of field "Topic". It wants IDOC to be triggered only if "Topic" have values equal to 2, 4 or 6. In this case PI shall reject other messages containing other values of field "Topic". When I say reject it means it should not trigger IDOC in R3 system, not even a BLANK IDOC.

Now the problem is when I am trying put a filter in mapping on "Topic" to be selective about it, whenever I am receiving values other than 2, 4, 6 I am seeing a red flagged message in sxi_monitor.

Can someone please suggest some generic to suppress/reject a message if it doesn't pass through filter, set in mapping? (without red flag failure in sxi_monitor).

Regards

Saurabh

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Saurabh,

You can get your goal using receiver rules. Check this blog

You can choose between your ECC and another alternative receiver basing in your payload "Topic" value.

Regards.

Answers (3)

Answers (3)

RaghuVamseedhar
Active Contributor
0 Kudos

Saurabh,

Please try to ignore messages in 'Receiver Determination'.

iaki_vila
Active Contributor
0 Kudos

Hi all,

Another option is to throw an exception at mapping level

You only need to change the logic with your logic.

Regards.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Saurabh,

You can use java or xslt mapping to send empty (no payload) documents without mapping failures. The downside is that you need to translate your graphical mapping logic.

Regards,

Mark