I had a requirement where I needed to send the alert emails to different people based on the interface.In more simple word, for Interface#A I had to send email to firstname.lastname@example.org but for interface#B, I had to send alert email to email@example.com. So basically I had to use CBMA to send email alert but to the different consumer/recipients for different interfaces. So we created the consumer/alert and jobs for Interface#A and repeated the same step for Interface#B.
Here are the steps I performed.
Step1: Create Alert in ID:Assign corresponding objects for which you want to create the alert.In my case, I added one ICO.
Now as we want to create a new consumer to be used here in this alert rule, we do not set the consumer name in the Extended tab. Leave it blank and activate(you may get warning after activation of the rule).
Step2: Now we need to register the new CONSUMER we want to create along with the ALERT RULE we created in Step1.
To do this, go to Service Registry.
Now search for the definition called AlertRuleIn.
Now go to Endpoints tab and click on TEST button.
A new window will be opened.There you need to click on RegisterConsumer service and Next.
On the next page we need to put the exact name of the AlertRule created in ID and the new CONSUMER we want to create.
Once you click on Next, you should be able to see a message in XML like below.
After this step you should be able to see the CONSUMER added to Alert Rule automatically.
Step3(One Off Activity): Now you need to configure Java Mail Client.
NWA>Configuration > Infrastructure > Java System Properties > Services – Java Mail Client.
In properties Tab, provide the mandatory parameters like below.
Step4: Scheduling a task to send the emails using the new alert/consumer we created(step1,Step2) and the Java mail client configured(step3).
Go to NWA> Operations > Jobs > Java Scheduler > Task.
Add a new Task.
Now you need to select the existing consumer job.
Click on Next.Here you can provide a suitable task name.
Click on Next.
Here you need to set properties.
Click on Next.
Here you need to set the start/end time and the frequency at which the Job should run. In my case it is 1 hour.
Then click on Add.
Now click on Finish and you should be able to see the task created.
With this the configuration is completed.
Result: If there any error happened then the recipient should get an email like below.
Now repeat the step1 to Step4 (Except Step3)for Interface#B to generate the alert emails to different set of recipients.
If you are not happy with the email body and want get a more readable one then please follow Generate Formatted or structured EMAIL using CBMA
Not many consultants use 'Services Registry' effectivly. Good work.
Keep it up.
Thanks for your time and putting this so clearly.
One suggestion: step2 can be avoided by adding the new consumer directly in step1 itself and activating it? This had worked for me so you may please give a try?
Thanks Binod. I will surely try it.
Thanks for your post.
I tried to check AlertRuleIn in Service Registry page, but it is not there. in this case how i create the endpoint in service defenition list. please help me.
As stated by Binod Mondal , try writing the name of the consumer(as per your wish) in the consumer section of the alert rule and activate the same. Then you don't need the service registry step.
Good work. Keep it up
Good work, I have Configured Alert Consumer JOb v2 following your thread.
I have one doubt?
Is there any way to customize SUBJECT also of Alert Email using Alert Consumer Job V2?
If yes, how?
Thanks in Advance.
Sorry I am not sure about changing the Subject.
Did you check the below blog?
Customize E-Mail Body and Subject in Alerts in SAP PI 7.31 – Java Stack Only – Part 1 – ESR
It's indeed a good one.
i am trying to generate the alerts using CBMA for interface specific, it's all working fine and we are able to receive emails.
however, I have created more than one rule for different set of interfaces (Rule A - interface A and Rule B - Interface B) and selected check boxes for central integration Engine, Central adapter Engine and ABAP proxy and selected all check boxes for adapter types from Extended tab for both alert rules. i am using different consumers for different alert rules and separate job scheduled for each consumer.
If any message failed in ABAP proxy related to interface A, the alert is logging for both alert rules and both consumers are getting same alert email (I am expecting it supposed to trigger alert for rule A only isn't it? and the same way if message failed for interface B then same situation i.e logging alert for all alert rules and sending emails for all consumers.
Can you advise is there a way to restrict logging the alert specific to relevant alert ID which the failed message relevant interface listed in?
Sorry for delay as I was off for few days! However I would suggest you to post a thread so that every one on the community can help you at any time.