What Happens At Logon
Published By | Date | Version | Knowledge Level | Keywords |
---|---|---|---|---|
Sprezzatura Ltd | 01 APR 1991 | 2.03+ | EXPERT | LOGON, RESTART, @ACCOUNT, @USERNAME |
Recently when setting up a new user for an Account, a user nominated a subroutine as the RESTART Code and Command. The system hung (or to be more precise, recursively called the RESTART Code and Command ad infinitum). This prompted an investigation into the exact sequence of events at logon as an account and as a user. The Logic Flow could be represented by the following Pseudo Code
If Logging in as Account If LOGON verb is specified in Account Record in System File then Run LOGON Verb else If a Voc entry exists with same name as @ACCOUNT then Run @ACCOUNT Voc Entry else If a Voc entry exists called LOGON then Run LOGON Voc Entry end end else If Logging in as User If LOGON verb is specified in User Record in System File then Run LOGON Verb else If a Voc entry exists with same name as @USERNAME then Run @USERNAME Voc Entry else If a Voc entry exists with same name as @ACCOUNT then Run @ACCOUNT Voc Entry else If a Voc entry exists called LOGON then Run LOGON Voc Entry end end end end If a Restart Code and Command is specified in User/Account record then Loop Run Restart Code and Command Repeat else Loop Begin Case Case Default System Mode = "M" If Default System Menu (DSM) then Call DSM else Call Main Case Default System Mode = "S" Call Interactive SQL Window Case 1 Call TCL End Case Repeat end
(Volume 2, Issue 10, Page 5)