What extra steps do you want to take if the password has expired?
An approach would be to check the age of the password everytime a user tries to log on and use a PL/SQL statement trigger before logon. This would mean that nothing is done on the date of expiry of the password.
Yes, I think we are on the same wavelength. I want to keep an array of five previous passwords. If the password has expired according to the timestamp of the last password change <<< also stored In the USER'S Table on an Oracle DB >>>> compare the new suggested password against these.... It should not be equal to any of these.
From there, set the new password and record the timestamp (update DB) and allow the program flow to proceed from there as usually wld.