How to handle Approval records that have passed their Due Date but remain in Pending Status

Version 1

    Details

    In the default configuration, when an approval vote has passed the due date the approval votes remain in the pending status even though they can no longer be acted upon. The lack of status change can create issues for approvers because they may have to wade through left over pending requests in self service to locate an active request that is still pending. There is no 'Expired' status, or any way to filter these obsolete requests.


    Resolution

     

    Once the due date on an approval passes, if there are approval votes still in a pending status, they can no longer be approved or denied, and cannot be filtered out of dashboards easily. To facilitate this, we will create a workflow that moves them to a new expired status when they pass their due date and can no longer be approved. The new status will also be filtered from My Open Items in self service.

    1. Log into the Administrator role
    2. Select Configure Application
    3. Select Business Objects
    4. Search for and open FRS_ApprovalVoteTracking
    5. Select Object Fields
    6. Select Status
    7. In the Pick List section, click on the Values link
    8. Click the Add button
    9. Set Vote Status: Expired
    10. Set Progress Bar Position: 5
    11. Save
    12. Click Close
    13. Optional: click values again to set any translations needed for language localization
    14. Close the Admin UI, return to the Client side and refresh
    15. Open the workspace picklist (The More… link near the top)
    16. Select My Item Status 
    17. Select New My Item Status
    18. Set Status: Expired
    19. Save
    20. Select Home
    21. Select My Dashboards
    22. Click the Edit pencil next to Self Service
    23. Click the Edit pencil next to the My Open Items dashboard part
    24. Set Parameters: {ignoreStatus:["Resolved","Denied","Closed","Fulfilled","Expired"]}
    25. Save the dashboard part
    26. Save the dashboard
    27. Select Configure Application
    28. Select Business Objects
    29. Find and open FRS_ApprovalVoteTracking
    30. Select Workflows
    31. Select Add New
    32. Set List Name: Move to Expired
    33. Set Display Name: Move to Expired
    34. Set Description: When an unapproved approval vote passes the Due Date, this workflow moves it to Expired status so it can be filtered.
    35. Save
    36. Click Add Version
    37. Click Configuration
    38. Check Created
    39. Set Field: RecID
    40. Set Operator: Is Not Empty
    41. Save
    42. Add a Start block
    43. Add a Wait block
    44. Open the Wait block
    45. Set Title: Wait for Due Date
    46. Set Timeout: Check Field, select DueDateTime
    47. Set Wait Conditions: Check Or, Set: Status Not Equal to Pending
     
    48. Save
    49. Add Update block
    50. Set Title: Set Status to Expired
    51. Set Value for Status: Expired
    52. Check Overwrite
     
    53. Save
    54. Add a Stop block
    55. Connect the OK exit on the Start block to the Wait block
    56. Connect the OK exit on the Wait block to the Stop block
    57. Connect the Timed Out exit on the Wait block to the Update block
    58. Connect both exits on the Update block to the Stop block
     

    59. Save
    60. Click OK
    61. Click the arrow in the upper right
    62. Publish the workflow
    63. Click Yes

    The workflow will handle any new approvals. To update records currently past the due date, we will need to create a saved search and a quick action:
    1. Select Automation Tools
    2. Select Saved Searches
    3. Select Add next to Approval Vote Tracking
    4. Set name: Expired Approvals
    5. Publish Action to: Administrators
    6. Set parameter: DueDateTime LessThan $(CurrentDateTime())
    7. Click plus to add new parameter
    8. Select AND
    9. Set Parameter: Status = Pending
    10. Save and Close
    11. Select Automation Tools
    12. Select Quick Actions
    13. Select Add/Edit next to FRS_ApprovalVoteTracking
    14. Select Create New Actions
    15. Select Update Object
    16. Set name: Set to Expired
    17. Set Field: Status
    18. Set Field Value: Expired
    19. Publish to Administrators
    20. Save
    21. Close the Quick Action editor and the Admin UI
    22. Click More… 
    23. Select the Approval Vote Tracking workspace
    24. Select Saved Searches
    25. Select Expired Approvals
    26. Set Page Size to 100
    27. Highlight all records returned
    28. Select Action Menu
    29. Select No Category
    30. Select Set to Expired
    31. Repeat if there are more pages of records (you can only update 100 at a time)

    To also filter Expired approvals from My Items:
    1. Select Configure Application
    2. Select Users and Permissions
    3. Select Roles and Permissions
    4. Select Self Service
    5. Select Object Permissions
    6. Select page 201-250
    7. Across from FRS_MyItem, click Edit in the Access column (far right)
    8.     Click the existing constraint
    9. Click the Plus sign to add a new AND clause to the constraint
    10. Configure the role to be able to Update and View records where FRS_MyItem’s Status is not equal to “Expired”
    11. Click Update
    12. Save at the top