Dirk C., October 22, 2016 - 11:25 am UTC
Hi,
Thank you for your answer. I tried several things with the on-logon trigger and the logon built-in. But I can't trap the error code. I see no solution for this. Maybe querying a data dictionary table?
Sadly enough management won't upgrade forms but they are constantly asking new development. And the development team keeps begging for an upgrade but we don't get it.
Best regards,
Dirk
October 24, 2016 - 12:41 am UTC
You could perhaps go about this via a very long-winded fashion.
- Form logs in with a known (fixed) username / password with limited privileges
- the user has just enough privs to call a proc which queries DBA_USERS to pick up status, expiry date etc etc
- if appropriate, pop up a customer change password etc dialog
- re-login as the true username/password.
Sounds like hard work :-(
To Dirk
J. Laurindo Chiappa, October 24, 2016 - 12:36 am UTC
Dirk, I will not able to test this right now but if I remember correctly, when Forms 6i receives an error or a warning from the database, they both can be trapped via ON-ERROR / ON-MESSAGE triggers , and inside the code you could ask for it, something like this :
...
IF SQLCODE = 'ORA-28002' (or DBMS_ERROR_CODE = 'ORA-28002') THEN
clear_message;
Message('Your password will expire within 7 days.');
Message('Your password will expire within 7 days.');
END IF;
Another possibility could be the POST-LOGON trigger (not the ON-LOGON) : POST-LOGON fires after the database logon is complete... In that trigger mayv]be you could check the STATUS column in USER_USERS view asking for userĀ“s own status....
Regards,
J. Laurindo Chiappa