When running the menu system has the following structure:-
A session starts by activating MNU_0001, the logon screen, which asks the user to enter a user ID and a password. These are validated by service component MNH_H001 which performs the following steps:-
If this validation is successful MNU_0001 will call MNU_0090L2 in case there are other active sessions for the same user ID. Unless the ALLOW MULTIPLE LOGONS switch in MNU_0070U is set ON the only way for other sessions to be shown here is if they did not terminate normally. Screen MNU_0090L2 gives the user the ability to set any such sessions as 'inactive'.
After MNU_0090L2 is closed the application start-up shell passes control to MNU_0002, the menu screen, so that the starting transaction as identified on the user's Security Class can be activated. This is usually a menu screen, but it may be any transaction within the system. MNU_0002 validates the user's selection by calling MNU_H001 which performs the following steps:-
If the transaction is of type 'Online' then MNU_0002 will activate the component using details obtained from the menu database:-
If the transaction is of type 'menu' then MNU_0002 will display the list of options that were defined using screen MNU_0050M. Note that any options which are not on the user's access profile will not be shown. Although the user may select a series of menus one after the other only one instance of the menu screen will be used. The screen's contents are cleared and rebuilt for each menu, with a history of menu ID's being maintained so that it is possible to reverse through all the previous selections. If there are no previous menu screens then the standard message '1909 - Do you really want to leave this application? (Y?N)' will be displayed.
When a session ends, either by returning to the logon screen or leaving the application completely, the following will be performed:-