I am using BAM 11.5 and I am trying to use an alert that has a lookup field as a filter? Is this possible? When I use the lookup field, the alert does not get triggered. My goal is for the alert to send one email message to the employee per travel requestid. To do this, I was attempting to use sequenceID as a filter. Even though approver and sequenceID are dynamic, there will always be a sequence 1 for each travel request.
My data object that has the lookup fields look like this:
TravelID LATEST RequestStatus approver sequenceID TravelLateDate employee
TR000012 Y SUBMIT jstein 3 11/22/2012 12:00:00 AM jcooper
TR000012 Y SUBMIT wfaulk 2 11/22/2012 12:00:00 AM jcooper
TR000012 Y SUBMIT cdickens 1 11/22/2012 12:00:00 AM jcooper
approver and sequenceID are lookup fields to another data object
I am using "When a data field in a data object meets specified conditions"
The filter looks like this:
LATEST is equal to Y
TravelLateDate is less than or equal to NOW()
RequestStatus is equal to SUBMIT
sequenceID is equal to 1
Using sequenceID the alert does not get triggered. If I take out the sequenceID from the filter, the alert gets triggered, and an email is sent to the employee for that travel request. However, sometimes the employee gets mulitiple e-mails depending how many approvers there are for the travel request. Sometimes it only sends one e-mail even though there are several approvers. This seems to be intermittent.
Is there a way to work around this or is there a better way to send the email? Does the alert only get triggered when the travel request is submitted or can it get triggered when the TravelLateDate has passed? So if an employee enters a travel request today(11/20/2012), and the late date is 11/24/2012 will the alert get triggered on 11/24/2012? If not, how can this be accomplished?
If you want the email to only be sent once, you'll need to create a rule that will send based off of when the row gets created. It would also be possible to create a custom Java action that has the logic to only send one email per row, regardless of when it is created.
If you don't need the email to be sent just once, you can create a rule that runs on a scheduled basis (maybe once a day). Then have that rule just call another rule that will check the rows in your data object to see which need an email sent.