cancel
Showing results for 
Search instead for 
Did you mean: 

How to trigger email to a different recipient based on a value of PI Payload? Help!

gopalkrishna_baliga
Participant
0 Kudos

Hi Experts,

   I have a Async scenario where data is sent from SAP R/3 via Proxy to PI and PI then sends the same to external system using JMS adapter.

   Currently for system error (adapter engine errors) I have configured Alert rules in runtime work bench and email alert is sent to a fixed set of recipient.

   Now the customer wants email to be sent to different set of recipient based on the value of a field in the PI payload.

   For example the inbound interface payload that is sent to JMS as shown below:

   <Issue>

       <Issue_id>6000345</Issue_id>

       <Target system>SPD01</Target system>

   </Issue>   

   If the Target_system value is SPD01 then send email alert for any system error to recipient1.

   Else if Target_system value is SPD02 then send email alert for any system error to recipient2 and so on

  How can we do this without ccBPM? Is there any config possible in alert category (ALRTCATDEF) for this? Please help!

Thanks

Gopal

Accepted Solutions (0)

Answers (2)

Answers (2)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

This can be done in few ways.You can do multimapping. Basically two mails receivers on the target system in addition to jms. Use XPath and do the payload check in receiver determination and based on the value you send mail to different recipients.  Each mail channel has configured to specific recipient. This is one approach.  Vidya Sagar already pointed out the second option.

gopalkrishna_baliga
Participant
0 Kudos

Thanks for your reply. But I did not get the solution I am looking for.

Let me explain my question more clearly.

Actually in PI I have only 1 receiver system. This receiving system uses JMS to receive messages from PI.

Therefore, in this case enhanced receiver determination cannot be used.

The XML payload that is used for the receiver system has a field named target_system.

I only want to trigger email to different email addresses (email recipient and not receiver system) based on the target_system value. If the target_system has value SPD01 then send email to user1@mail.com. Similarly if target_system has value SPD02 then send email to user2@mail.com. Also this email is triggered only for system or adapter engine exceptions.

Former Member
0 Kudos

Hi Gopal,

Even though you use different Receivers ,you can use same communication channel in both receiver agreements,so that messages is sent to a singel target system,

With this we can use maintain two different alert rules in RWB and trigger alert mails in two different receipients.

In Alert rules itself you can choose the type of errors to triggers the alerts too.

Regards

Vidyasagar

Former Member
0 Kudos

Hi Gopal,

You can use the following approach:

1)Use enhanced Receiver determination to set different receivers (RCV1 & RCV2)based on on your input.

2)Create two different alert categories with different receipents(ALRT1 & ALRT2) and in alert rule call the two alertcategories for different receivers.

Let me if you need further details.

Regards

Vidyasagar