The Check For Expiring Contracts scheduled action is sending notification emails, and/or creating bookmarks, for contracts that should be expired, or the expiration date is within the preset notification window.
However:
Note: Should your site not be configured to receive notifications for contracts that should be expired by the Check For Expiring Contracts scheduled action, they may not actually be expired by the schedule action.
Duplication Steps:
Expected Result: You receive a notification email for the soon-to-be expired contract Actual Result: No notification is sent.
Issue 082279 has been entered to fix this problem.
Work-around: To fix this problem, open the buyer's Employee object. On the Properties view, Roles tab, and Materials sub-tab, set the Buyer property (in the Purchasing group box) Alternatively, if the employee is no longer active, set the buyer to a valid employee with the Buyer role.
When a contract is updated by the Check For Expiring Contracts scheduled action, either to have its Notified property set, or the status set to Expired, the contract may fail on an attempt to persist the contract to the database.
A primary reason for a persist failure can be due to the contract's assigned buyer (e.g., the Employee object) not having it's Buyer role set. In this case, were you to expire a contract via the user interface, you would relieve the following message:
Contract xxxxxxxxx could not be persisted. Buyer-> xxxxxxxxx is not a buyer. Only buyers may be identified as the contract's buyer.
Contract xxxxxxxxx could not be persisted.
Buyer-> xxxxxxxxx is not a buyer. Only buyers may be identified as the contract's buyer.
The server log file may also have a message similar to the following:
Ivara.OTAssert [12] File: Iref.cpp(736) : Failed Assert: oIndirectRef::setState(..) - setting pers state to UNLOCKED on an object that is still modified ( Class Contract CID:1000003324 OID:845 )Modified caxes:CID:1304 OID:1000047661 "ExpiredOn" data: "2017-07-24"CID:1304 OID:1000047649 "Status" data: "Expired"
A work-around for this problem, open the buyer's Employee object. On the Properties view, Roles tab, and Materials sub-tab, set the Buyer property (in the Purchasing group box).
Alternatively, if the employee is no longer active, set the buyer to a valid employee with the Buyer role.
This problem was resolved in release 7.11.
N/A.