This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.
BMC Service Request Management
BMC Service Request Management
Troubleshooting Steps for Approval Notifications Not Going Out:
(Still Pending, Still Pending (repeat), Still Hold, Still Hold (repeat), Still More Info, Still More Info (repeat), Still Error, Still Error (repeat))
First, let's consider which forms store information about what text the notifications contain, and which forms store information about when the notifications are supposed to go out. There are two main forms involved in configuring Approval Notifications:
1) AP:Process Definition. You can reach this form by going to AP:Administration and then highlighting one of your existing Process Names and then clicking the 'View' button. Here is where you define when the intervals are for the notifications to go out. You can define these intervals for an Approval Request that is "Still Active" (aka "Still Outstanding"), "Still Pending," "Still Error," "Still Hold," or "Still More Info." (For information on each of these states, see Approval Guide 5.5 pages 137 - 138).
If you only want a notification going out one time for a given state, only configure the first time interval. If you wish to have repeat notifications going out, specify a repeat interval. The repeat notifications will continue until the Approval request moves out of that state.
2) AP:Notification. You can create new notifications by going to AP:Administration > Notification tab, and clicking the "Create" button. Here is where you define what these notifications say and who they go to. Select your Process Name that the notification will fire against, and for the 'Notify On' field, specify one of the listed 'Notify On' events (Again, see pages 137-138 for more info on these states). Configure the subject and message of the notification in the "Details" tab. Upon saving the notification, the "Administrative Information" tab will contain the new filter ID. For example, if it shows a Notify ID of "000000000000057", then the actual filter name on the server will be AP:Notify-000000000000057.
** For every signature escalation state you define an interval for in the AP:Process Definition form, you want to create a notification for that exact same 'Notify On condition in AP:Notification. If you define a repeat interval in AP:Process Definition, be sure you also create a notification in AP:Notification that has a "repeat" Notify-On state. **
Here is an overview on how the approval notifications should work:
A. For Still Pending, Still Pending (repeat), Still Hold, Still Hold (repeat), Still More Info, Still More Info (repeat), Still Error, Still Error (repeat):
When a Change ticket is first put into the approval process, the Approval Server runs one of its internal commands to create a Detail-Signature record. The Approval server sets the 'Approval Status, and the 'Next State Escalation Time' field is populated with the TIMESTAMP when the next signature escalation should occur. This information is taken from the "First Interval" value on AP:Process Definition as defined for the particular Approval State (Pending, Hold, Error, or More Info) . For example, if I have defined "Still Pending" in AP:Process Definition as a 2 hour first interval, then my AP:Detail-Signature record will display a 'Next State Escalation Time' of the current time plus two hours and an 'Approval Status' of "Pending".
Escalations fire against AP:Detail-Signature every hour, and check both the 'Approval Status field, and the 'Next State Escalation Field field to see if it is earlier than the current time. The names of these escalations are called AP:Dtl-Sig-HoldEsc, AP:Dtl-Sig-MoreInfoEsc, AP:Dtl-Sig-PendingEsc, and AP:Dtl-Sig-ErrorEsc. If the escalation passes the qualification, it will issue a Sig-Notify-State command. This causes the notifications defined for that state in AP:Notification to fire.
If you've defined repeat intervals for these Approval states, then workflow fires to check the repeat interval from AP:Process Definition and it updates the 'Next State Escalation Time' with the current time plus the repeat interval specified there. The appropriate escalation (AP:Dtl-Sig-HoldEsc, AP:Dtl-Sig-MoreInfoEsc, AP:Dtl-Sig-PendingEsc, or AP:Dtl-Sig-ErrorEsc) will fire every hour to see if that AP:Detail-Signature record is still in that particular Approval State, and it'll check to see if the current time is later than the 'Next State Escalation Time' . If so, the escalation will again issue a Sig-Notify-State command, and the repeat notification will be triggered to fire. The repeat notifications are also defined in the AP:Notification form, and they will continue to go fire until that record is no longer in that state.
B. For Still Active and Still Active (repeat) notifications:
A "Still Active" record is defined as a record that is not in an Approval Status of "Rejected," "Approved," "Cancelled," or "Closed." The workflow for these notifications is similar to the notifications described in part A, however on the Still Active and Still Active (repeat) notifications, it's the 'Next Global Escalation Time' field on the AP:Detail-Signature record that gets populated with the time to notify next. The time to notify next is basically the current time plus the number of hours specified in the First interval for "Still Outstanding".
The escalation object which checks the "Still Active" records is called AP:Dtl-Sig-GlobalEsc. If it passes, it issues a Sig-Notify command. This causes the notification defined as "Still Active" in AP:Notification to go out. If you've defined repeat intervals for "Still Outstanding" in AP:Process Definition, then workflow continues to update the 'Next Global Escalation Time' field on AP:Detail-Signature until the record is not in that state anymore. The AP:Dtl-Sig-GlobalEsc continues to check the records, and if it passes, it triggers the repeat notifications to fire.
C. How can I troubleshoot a problem where I'm not receiving a notification?
To effectively troubleshoot this problem, we need to first unhide the 'Next Global Escalation Time' and 'Next State Escalation Time' fields on AP:Detail-Signature.
To unhide these fields and bring them into view of the join form, you first you need to go to the AP:Signature form and go to Current View > Fields in View, and place the 'Next Global Escalation Time' and 'Next State Escalation Time' fields in view. Save the form.
Then go the AP:Detail-Signature form and go to Current View > Fields in View and place 'Next Global Escalation Time' and 'Next State Escalation Time' in view. Save the form.
Then go to AP:Administration, select your Process and press the View button. Go to the Signature Escalations tab, and make a note of what your first interval and repeat interval values are for each "Notification State."
Next create a new Change Request that will require approval. After setting the 'Approval Status' to "Pending Approval" and saving the Change Request, make a note of the Change ID.
Then in the User tool, open AP:Detail-Signature. Search for the new detail-signature record by querying off the 'Request' field. For example, if my Change ID is 100, I'll search for "%100" in the 'Request' field
You should be able to see the 'Next Global Escalation Time' and 'Next State Escalation Time' fields. If you're testing the "Still Active" notification, you only need to look at the 'Next Global Escalation Time' field; if you're troubleshooting any of the other states, you'll be looking at the
'Next State Escalation Time' field.
The timestamp should be the current time + whatever value you specified in AP:Process Definition for that Notification state. Make sure the value is correct; if it is, then the workflow has fired correctly up to this point. If you dont see the right values in the 'Next Global Escalation Time field or in the 'Next State Escalation Time field, then check the records in AP:ProcessDefinition. Make sure you have values specified for the First Interval and any repeat intervals for a given state. This is where the workflow is pulling the time intervals to add to the current time.
If this much is working, we can then move on to testing the approval notification workflow, which involves escalations, filters and approval server commands.
For testing purposes, modify the time value on the AP:Detail-Signature record (the 'Next Global Escalation Time or the 'Next State Escalation Time) to a value that is earlier than the current time. (We are doing this for troubleshooting purposes so that we can trigger the notifications to fire). Save the record.
Now log into the Admin tool and look for the escalation that corresponds to the notification youre testing.
Enable both filter and escalation logging on the server (via Admin tool>File Server Info> Log Files). Also, enable Approval Server Debug logging.
Set the time criteria to a 5-minute interval (for troubleshooting purposes). With logging enabled, trigger the escalation to fire by disabling and saving it, then enabling it and saving it. Now that it has run, turn off the logs.
When we look at the escalation and filter logs, we should see the escalation object firing and issuing a Sig-Notify-State command (or if testing "Still Active," a Sig-Notify command). We should also see your AP:Notify filter firing and sending out the notification.
Does everything work?
If you still dont get the notification, check to see if the relevant escalation passed the run if qualification. If the escalation passed and fired, check to see that it triggered the right Notification filter (ie, that it is enabled). If you wish to change the information going out in notification, make the change in AP:Notification.
If everything fired correctly in this test situation, but it doesnt seem to notify at the right intervals normally, go back and check the escalation time criteria of your escalations. These need to be set to an appropriate interval. The Time Criteria interval on the escalation is how often the escalation checks the AP:Detail-Signature records. If your interval in AP:Process Definition is set to 1 hour, then having an escalation fire time of 1 hour may not be efficient. Re-set the time criteria so that the escalations check more frequently than the specified intervals in AP:Process Definition.
Use these same steps in troubleshooting the repeat notifications. If the 'Next Global Escalation Time or the 'Next State Escalation Time values arent correct for repeat notifications, double-check the repeat intervals specified in AP:ProcessDefinition. If the time values are correct, but the notifications still aren't going out, make sure that you have the configured your notifications in AP:Notification correctly. **The repeat notifications are the ones that have the 'Notify On field set to "Still Active (repeat)", "Still Hold (repeat)", "Still Pending (repeat)", "Still More Info (repeat)", and "Still Error (repeat)".