Author | : | A J Marston |
Date Created | : | November, 1986 |
Date Revised | : | February, 1992 |
Version | : | 01.010.010 |
This system performs all its screen handling in BLOCK MODE, using the standard facilities described in the HP VPLUS/3000 manual.
BLOCK MODE has the following characteristics:
Certain conventions are used throughout the system. These are:
On the terminal's keyboard there are eight function keys identified with the characters f1 to f8. On the bottom of the VDU screen (below line 24) there is a row of eight boxes which are capable of showing textual descriptions of the functions that will be performed if the corresponding function key is selected. These boxes (or labels) are set by the program as and when the relevant option becomes available.
Three function keys have been set aside for standard options in all parts of the system. These are:
This will produce a copy of the current screen contents on a print device, which may either be any system line printer or a print device which is attached directly to your VDU (eg: a thermal printer, or a THINK JET). See section 5.17 of the Functional Specification for precise details on how to select a particular print device.
This will call the online HELP subroutine in order to display some useful information concerning the current transaction. When it is invoked it will use the transaction code as a keyword to access the catalog of help text (MENUHELP.PROG). This will display the initial page of text, followed by the keywords for additional pages of text (if these are available).
This will terminate the current transaction immediately and return to that part of the system from which it was invoked. This may have been a linked transaction, a menu, or the LOGON screen. The actual label for function key 8 will be modified to give some indication of the return point:
EXIT SYSTEM |
Will appear on the LOGON screen, and will terminate this session. |
LOGON SCREEN |
Will appear on the top-level (ie: initial) MENU, and will return to the LOGON screen. |
PREVIOUS MENU |
Will appear on any subordinate MENU, and will return to the previous MENU. |
EXIT <tran> |
Will exit from the current transaction back to the previous transaction (or MENU screen). |
Time-out values can be specified for the following:
A transaction time-out is overruled by a user time-out (if one is specified). A user time-out is overruled by a user group time-out (if one is specified). A user group time-out is overruled by a company time-out (if one is specified).
A time-out value is expressed as a number of seconds:
The effect of a non-zero time-out is to simulate the pressing of the EXIT key (f8) if no other key is pressed within the specified time limit. The system will return to the previous function (a menu, or another transaction), when the time-out cycle will start again. This process will eventually stop at the LOGON screen where a different time-out value (as defined on the system control record) applies.
Two time-out values have special significance:
Changes to user, user group and transaction time-outs do not come into effect for a particular session until that session passes from the menu to another transaction (when the relevant records are reread as part of the selection validation).
Changes to the company time-out are brought into effect as soon as each application subprogram calls SAVINITFORM to load the next VPLUS form.
Time-outs can be used to remove users from the system in a controlled and safe manner - provided that there is no user dialogue while the database is being locked and updated.
Although time-out values can be set for transactions of type "MP" it is not possible for these to remain effective during the running of an external program unless that program contains the relevant code. There is, however, a method of terminating an external program if a company shutdown condition is set - please refer to section 5.20 of the Functional Specification.
One user within each company of users is designated as being the Super User for that company. This user has certain privileges which are as follows:
It is not advisable to use this identity for normal day-to-day access of the system - it should be used only for the maintenance of the security data on the control database.
This is a method whereby a user is able to select the next transaction without having to return to a menu screen. This facility is available only in those transactions which have a function key labelled OTHER OPTIONS which invokes the USELECT subroutine when pressed.
This subroutine will expect to find a record on the D-OTHER-OPTIONS dataset for the user's current transaction. This information is maintained by using transaction MGR12, and can contain up to eighteen options (transaction codes and associated function key labels).
If the D-OTHER-OPTIONS record does not exist for the current transaction a message will be displayed in the window line.
Each of the 18 options is compared with the user profile to check that it is accessible by the user - if it is not the function key label is not displayed.
If none of the options defined on the D-OTHER-OPTIONS dataset for the current transaction is accessible by the user a message will be displayed in the window line.
The first six options will be displayed using function key labels 1-6.
If one is selected then the corresponding transaction code will be put in the AUTO-SELECT area of COMMON-LINKAGE - the current transaction will then return control to the menu program which, in turn, will pass control to the selected transaction as if it had been selected from a menu screen.
If there are more options function key 7 will be labelled as NEXT OPTIONS and will show the next set of six if selected. Function key 8 will be labelled as PREVIOUS OPTIONS and will return to the original transaction if selected.
This is the first screen that will be seen once the session has been initiated. This screen must be passed before the user is allowed to access any functions which have been defined on the MENU database.
After a successful logon the user will normally be presented with a menu screen such as this:
The standard screen heading will show the following:
The user area will show the following:
If the window message shows the following:
020055: This device has been temporarily disabled
the user will not be able to pass this screen unless the id of a Super User is entered. This condition occurs because of one of the following reasons:
The user enters the following:
Processing after successful logon:
Before a user's selection is actioned the menu program will check the following details on the MENU database:
Items marked with "*" will not be performed if the fast profile option has been turned on - see Appendix L of the Functional Specification.
If all this validation is successful these updates will take place:
The menu program will then pass control to the selected transaction:
020060: Transaction <code> (entry point) is unknown to systemis displayed it means that the ENTRY-POINT name has not been included in the USERCALL routine, and the relevant code has not been added into the program file by the USERPREP jobstream.
Once the LOGON screen has been passed the menu program will maintain the following details in the standard screen heading:
These values are maintained in the MENU's COMMON-LINKAGE area, and are transferred to the relevant fields on the current form each time the standard screen handler UVPLUS is invoked.
A menu is a transactions (ie: exists on M-TRAN) with a TRAN-TYPE of "ME". It has a series of entries on dataset D-MENU which identify the transactions that have been associated with it. These entries are sorted into transaction code sequence.
Before being displayed on the menu screen this list is compared with dataset D-TRAN-USER in order to "edit out" any transactions which the logon user is not allowed to access.
Up to 12 options can be displayed at any one time. If there are further options available then function key f2 will be labelled as NEXT PAGE - this will present the next series of options.
If the first page of options has been passed then function key f1 will be labelled as FIRST PAGE - this will reset the display of options from the start of the current list.
Each line of the MENU display will show the following:
If "**" appears before the transaction description this signifies that either the transaction or the transaction group to which it belongs has been temporarily disabled (ie: cannot be accessed).
The bottom three lines of each MENU screen will show the welcome message from the company which was selected on the LOGON screen.
The user may select an option in one of the following ways:
If another MENU transaction is selected the system will append it to the current menu hierarchy. This hierarchy has a limit of 10 levels of menu - an error message will be issued if this limit is exceeded.
There are two reserved words which will enable the user to abandon the current hierarchy of menus:
This menu and security system is controlled by the data that exists on its control database (MENU.DATA). This data identifies the various entities, their attributes, and their relationships with other entities.
A series of subprograms have been built into the system in order to maintain that data. Each of these subprograms has its own entries on the control database in order to be recognised and invoked by the menu program.
As these transactions affect the access and security of the whole system they are initially only available to the person designated as the Super User of company "00".
If any additional companies are created then their Super Users will also have automatic access to these transactions.
Other users will not be allowed to access these transactions unless the relevant entry is made on their individual user profiles.
This transaction maintains the parameters for all users of the system. A single control record must always exist - it can only be displayed or modified, not added or deleted.
This is the initial mode for this transaction, in which the details of the current values will be displayed. Function key options are:
All items that can be modified will have their screen enhancements changed from full-bright normal to half-bright inverse video:
This transaction maintains the parameters for a particular company of users. These values will be applicable to all users who have specified this company on their LOGON screen.
This is the initial mode for this transaction, in which the details of the user's logon company will be displayed. Other modes may be chosen by selecting the relevant function key:
The following functions are only available if the user's logon company is company "00":
NOTE: there is no delete function for the M-COMPANY dataset.
The following items are display-only and may not be changed:
All items that can be modified will have their screen enhancements changed from full-bright normal to half-bright inverse video:
These are used to set the display enhancements on the window line (line 24) for the following circumstances:
This mode can only be entered by the Super User of company "00". It is used to create a new company of users. In addition to those items mentioned for MODIFY MODE the following items will also need to be input:
This transaction maintains the details for print devices that may be specified for the output from jobstreams.
This is the initial mode for this transaction. The user enters a PRINTER-NAME (usually equivalent to an MPE device name), which results in one of the following:
This will display the current details for this PRINTER-NAME, and will allow the following function key options:
The following items may be modified:
FILE <printer name>;DEV=<device details>There is no validation performed by this program.
If function key f5 is selected this record will be deleted.
Type in the remaining details (as for MODIFY MODE) and press ENTER. This record will then be added to the control database.
This transaction maintains the details for transaction groups. Each transaction on the system must be assigned to one of these groups.
This is the initial mode for this transaction. The user enters a GROUP which results in one of the following:
This will display the current details for this TRANSACTION-GROUP, and will allow the following function key options:
NOTE: there is no delete facility for transaction groups.
The following item is display-only and cannot be input or changed:
The following items can be changed:
Type in the remaining details (as for MODIFY MODE) and press ENTER. This record will then be added to the control database.
This transaction maintains the list of options that are available for selection within this system. All new functions must be defined here before they can be added to menu screens or user profiles.
This is the initial mode for this transaction. The user enters a TRANSACTION-CODE which results in one of the following:
The following function key option is also available at this point:
This will display the current details for this TRANSACTION-CODE, and will allow the following function key options:
The following items are display-only and may not be input or changed:
The following function key option will be available:
The following items may be modified:
If TRAN-TYPE is "JS" there is the option to define a start time to delay the scheduling of the batch job. The following formats are available:
For all other TRAN-TYPES this field must be blank.
Before the option to confirm this deletion is offered the program will check that no subordinate data exists on the control database for this TRANSACTION-CODE. If any data is found the error message will indicate the relevant dataset name, and the label for f5 will be blanked out.
If function key f5 is selected this record will be deleted.
Type in the remaining details (as for MODIFY MODE) and press ENTER. If the validation is successful press f5 to confirm the addition, or f3 to cancel and return to SELECT MODE.
The user may enter a new identity for this transaction - this code must not currently exist on the system. If the CONFIRM function key is pressed then this transaction will be renamed wherever it appears on the menu database - as this involves a great deal of searching and updating this could take some time, and preferably should not be attempted while other users are accessing the system.
NOTE: If "fast profiles" are being used they must be recompiled after a transaction has been renamed - see section 6.8 for more details.
This transaction maintains the details for users within the current logon company. It is not possible to access the details for users who are associated with other companies.
This is the initial mode for this transaction. The user selects a USER-ID (OPERATOR on the LOGON screen), which results in one of the following:
The following function key option is also available at this point:
This will display the current details for the selected USER, and will allow the following function key options:
The following items are display-only and may not be input or changed:
The following items may be modified:
Before the option to confirm this deletion is offered the program will check that no subordinate data exists on the control database for this USER-ID. If any data is found the error message will indicate the relevant dataset name, and the label for f5 will be blanked out.
If function key f5 is selected this record will be deleted.
Type in the remaining details (as for MODIFY MODE) and press ENTER. If the validation is successful press f5 to confirm the addition, or f3 to cancel and return to SELECT MODE.
This program maintains the list of transactions that are linked to menu screens. This list will be displayed when the menu is selected.
This is the initial mode for this transaction. The user selects an existing menu transaction (TRAN-TYPE = "ME"), which results in one of the following:
The following function key option will be available:
This will display the first transaction (in sequence number order) in the list associated with the selected menu.
The following item may be modified:
The following function key options will be made available:
The user must enter the following:
If f5 is pressed the transaction being displayed will be deleted from the current MENU list. The user must then select his next action by pressing the relevant function key.
This will delete/create entries on the D-FAST-MENU dataset for the "fast menu" option - see Appendix K of the Functional Specification for more details. Note that any modifications performed using either ADD MODE or DELETE MODE will not be duplicated in any "fast menus" until they are recompiled using this procedure.
The following function key options will be available:
Alternatively the user may select a single menu code, in which case the function key labels will be switched from "ALL" to "CURRENT" so that changes to the D-FAST-MENU dataset will be for the selected menu code only, and not the entire menu structure.
This program maintains the list of transactions that are accessible by each user. This list is also known as the USER PROFILE. No user (except a Super User) will be able to select a transaction that is not on his profile.
This is the initial mode for this transaction. The user enters one of the following combinations:
The following function key will be available:
This will display either the transactions for the selected user or the users (within the logon company) of the selected transaction.
The following item is display-only and may not be input or changed:
The following function key options will be made available:
The user may change the following item:
If f5 is pressed the transaction (or user) being displayed will be deleted from the current profile. The user must then select his next action by pressing the relevant function key.
If f1 is pressed all transactions for this user, or all users of this transaction (depending on the selection) will be deleted. The program will then return to SELECT MODE.
This mode allows transactions to be added to user profiles, either by adding transactions to the selected user, or users to the selected transaction depending on the selection criteria used in 6.8.1.
The user enters the following:
or
TRANSACTION-CODE (required): must exist on dataset M-TRAN. The description will be displayed for confirmation.
The following function key options will be available:
The following function key option will be made available, but only if a user-id was selected, and the user has no entries on his profile.
The user enters the following:
These will delete/create entries on the D-FAST-PROFILE dataset for the "fast profile" option - see Appendix L of the Functional Specification for more details. Note that any modifications performed using any of the previous modes will not be duplicated in any "fast" profiles until they are recompiled using this procedure.
The following function key options will be available:
Alternatively the user may select a single user id, in which case the function key labels will be switched from "ALL" to "CURRENT" so that changes to the D-FAST-PROFILE dataset will be for the selected user id only, and not for all users in the logon company.
If the initial selection was a transaction code, this option will add the selected transaction to the access profiles of all users within the logon company.
If the initial selection was a user identity, this option will add all transactions to the access profile of the selected user.
If the initial selection was a transaction code, the user is asked to enter the identity of a user group whose name will be displayed for confirmation. If confirmed, all users within that group will have the selected transaction added to their profiles.
If the initial selection was a user identity, then a transaction group will be requested. If confirmed, all transactions within that group will be added to the access profile of the selected user.
There will be one entry for every logical device used for online access. The device number corresponds to the MPE device number. These records are constantly being updated by the menu program in order to provide the information for the WHO transaction.
If an online session is initiated on a device that does not currently have an entry on M-LDEV the menu program will create one. However, it will set the ACCESS-ALLOWED item to "N" to prevent access by anyone except a Super User.
This is the initial mode for this transaction. The user enters a DEVICE-NUMBER (the logon device number is shown), which results in one of the following:
This will display the current details for the selected DEVICE, and will allow the following function key options:
NOTE: There is no DELETE MODE for this dataset.
The following items are display-only and may not be input or modified:
The user may change the following items:
The following function key options will also be made available:
This option is only available if the current TRAN-CODE is anything other than "LOGON" or "LOGOFF". It should only be used if the session aborted and left any parts of the system locked for single-user access, thus preventing access by other users.
This ERROR RECOVERY is also performed by the menu program whenever a session is initiated on a device where the TRAN-CODE is not "LOGOFF".
If the CONFIRM key is pressed the program will reset any IN-USE flags and set the TRAN-CODE to "LOGOFF".
Type in the details (as for MODIFY MODE) and press ENTER. Press f5 to confirm this addition, or f3 to return to SELECT MODE.
This program should only be used if it is required to restrict access to a transaction to a single (or series of) logical device numbers.
A separate list of allowable device numbers is maintained for each transaction code. If a particular transaction has no entries on its list then there are no device restrictions - if there is a list then it must be selected from one of the specified devices, otherwise the request will be rejected.
This is the initial mode for this transaction. The user enters a TRAN-CODE which results in one of the following:
There is no MODIFY MODE for this dataset.
This will display the first device number (in numeric sequence) for the selected transaction.
The following function key options will be made available:
Press f5 to confirm the deletion, or f3 to cancel and return to ENQUIRY MODE.
The user enters a device number, then either f5 to confirm or f3 to cancel the addition. The program will then return to ENQUIRY MODE.
This program should only be used if it is required to restrict access for a user to a single (or series of) logical device numbers.
A separate list of allowable device numbers is maintained for each user identity. If a particular user has no entries on his list then there are no device restrictions - if there is a list then the user must logon to one of the specified devices, otherwise his access will be denied.
This is the initial mode for this transaction. The user enters a USER-ID which results in one of the following:
There is no MODIFY MODE for this dataset.
This will display the first device number (in numeric sequence) for the selected USER-ID.
The following function key options will be made available:
Press f5 to confirm the deletion, or f3 to cancel and return to ENQUIRY MODE.
The user enters a device number, then either f5 to confirm or f3 to cancel the addition. The program will then return to ENQUIRY MODE.
This transaction maintains the MPE commands associated with various entities on the system.
This is the initial mode for this transaction. The user selects a COMMAND-TYPE which is a concatenation of a two-character ENTITY-TYPE plus the ENTITY-IDENTITY, as follows:
TYPE | IDENTITY | VALIDATION |
---|---|---|
CO | Company | Must be the logon company |
LD | Logical Device | Must exist on M-LDEV |
UG | User Group | Must exist on M-USER-GROUP |
US | User | Must be a user for the logon company |
GP | Transaction Group | Must exist on M-TRAN-GROUP |
SP | Internal Subprogram | Must exist on M-TRAN, TYPE = "SP" |
JS | Jobstream | Must exist on M-TRAN, TYPE = "JS" |
MP | MPE Commands | Must exist on M-TRAN, TYPE = "MP" |
This will result in one of the following:
The first page of entries for the selected COMMAND-TYPE will be shown, sorted into LINE-NO sequence. The following function key options will be made available when appropriate:
This allows the current page of details to be modified, as follows:
After the ENTER key has been pressed and the changes have been made, this program will return to ENQUIRY MODE from the first page.
If the current page is full it will be possible to add further entries by selecting the function key labelled "ADD DETAILS".
Each line will require a sequence number and some text. It is advised that the sequence numbers be entered using increments of 10, to allow the later insertion of new lines between existing lines without having to resequence all the existing entries.
The text for each line will not be validated by this program - care should be taken therefore to enter data that can be successfully interpreted by MPE. The leading colon (":") will not be required on any line, and only jobstreams should have a leading exclamation mark ("!") on each MPE command.
Once the first page of text has been entered the program will return to ENQUIRY MODE - further additions/changes can be made by pressing the function key labelled "MODIFY DETAILS".
The following function key option will be available if there are no current entries for the selected entity:
The user enters the following:
The following function key options will then become available:
This transaction maintains the list of options that may be offered to the user if the "OTHER OPTIONS" function key is selected. See section 1.6 for a more detailed explanation.
This is the initial mode for this transaction. The user selects a transaction code which must currently exist on the M-TRAN dataset. The transaction description will be displayed for confirmation.
This will result in one of the following:
This will display all options that have been defined for the selected transaction, up to a maximum of eighteen.
Each line will show the following:
The following function key option will be available:
For each option that is required the user must enter the following:
Any line may be left blank.
This has the same validation as for ADD MODE. Any option may be deleted by removing the key label and transaction code. An option may be re-sequenced by changing its sequence number.
This transaction maintains the details for user groups within the logon company. Each user may be assigned to one of these groups.
This is the initial mode for this transaction. The user enters a GROUP which results in one of the following:
This will display the current details for this USER-GROUP, and will allow the following function key options:
NOTE: there is no delete facility for user groups.
The following item is display-only and cannot be input or changed:
The following items can be changed:
Type in the remaining details (as for MODIFY MODE) and press ENTER. This record will then be added to the MENU database.
This is an enquiry-only transaction. It displays details from dataset M-LDEV which is constantly being updated by the menu/security program in order to record who is accessing the system and which transaction they are currently processing.
Each line of the display will show the following details:
The initial display will show only ACTIVE devices (those which are not marked as being logged off), but a function key option will display ALL devices (ie: both ACTIVE and INACTIVE). The same function key can be used to "toggle" between the two displays.
Other function key options are:
This option should only be used by the System Supervisor. It will produce a print file which shows the current system version number, plus the version numbers of the formsfile, database, and all internal modules, as in the following example:
Program file: MENU.NMPROG.STANDARD ME-N-U Menu/Security System - System version: 01.010.009 MENUFAST.FORMS Version: 01.010.008 English Modified: 29/07/91 Compiled: TUE, DEC 3, 1991, 4:04 PM MENU.DATA Version: 01.010.004 Program Version Changed Compiled ULOGON 01.065.004 02/25/92 16:03:07 UMENU 01.019.007 07/30/91 17:33:23 MENU00 01.021.001 05/22/91 10:53:18 MENU01 01.002.000 03/24/90 09:07:21 MENU02 01.000.000 05/30/91 15:28:05 MENU03 01.008.000 11/28/90 17:42:25 MENU04 01.002.000 03/24/90 09:09:04 MENU05 01.003.000 03/24/90 09:09:48 MENU06 01.011.000 05/29/90 13:56:11 MENU07 01.009.001 03/24/90 09:12:29 MENU08 01.005.001 03/24/90 09:13:42 MENU09 01.009.002 05/22/91 08:52:12 MENU10 01.003.002 07/29/91 10:48:58 MENU11 01.003.000 03/24/90 09:17:26 MENU12 01.003.000 03/24/90 09:18:18 MENU13 01.008.001 08/08/91 09:39:42 MENU14 01.003.000 03/24/90 09:20:15 MENU15 01.006.002 05/28/91 16:44:25 MENU16 01.002.000 11/29/90 09:30:25 MENU17 01.001.000 03/24/90 09:22:33 UBITS 01.002.000 08/28/91 14:45:42 UDATE 01.003.001 03/24/90 09:28:32 UDBLOCK 01.005.000 07/12/90 13:27:24 UERROR 01.020.005 02/20/92 12:15:30 UGETMENU 01.000.000 05/02/91 13:19:16 UHELP 01.005.002 03/24/90 09:32:00 UJOB 01.007.002 12/12/91 09:04:25 UMPE 01.028.001 11/08/91 14:25:15 UNUMBER 01.001.000 03/24/90 09:34:27 UPAUSE 01.001.000 03/24/90 09:35:02 UPROCESS 01.025.002 05/29/91 15:50:20 USCREEN 01.000.000 03/24/90 09:36:45 USELECT 01.005.004 10/22/91 13:42:11 USTREAM 01.009.005 02/12/92 15:22:59 UTEXT 01.003.000 03/24/90 09:41:17 UVPLUS 01.042.012 05/29/91 16:40:19 UXDS 01.004.001 07/25/90 19:21:50
This type of transaction allows the user to place a job into the batch queue using commands that have been pre-defined on the MENU database.
Some jobstreams may require parameters that can only be specified when they are actually requested - this facility is provided, although it should be noted that only limited online validation can be performed.
To create a new jobstream follow the procedure defined in Appendix G of the Functional Specification.
When this transaction is selected the following takes place:
This type of transaction allows the user to issue a preset command (or series of commands) without having to leave the menu system.
Please refer to Appendix D of the Functional Specification for details on how to create a transaction of this type.
Please refer to Appendix E of the Functional Specification for details on the RUN command.
Please refer to Appendix F of the Functional Specification for details on special commands (eg: prompting for values at runtime).
When this transaction is selected the following takes place:
Note: Not all MPE commands can be issued in this way - please refer to section V of the MPE INTRINSICS manual ("Executing Commands Programmatically").
Note: The Native Mode version of the menu program uses the HPCICOMMAND intrinsic, which accepts UDC names and MPE command file names as valid commands. The TIMER process should be turned off before executing these commands - please refer to section 5.20 of the Functional Specification for more details.
If any of the command lines defined for a type "MP" transaction begin with "RUN " this indicates to the menu program that another (external) program needs to be run. This involves the creation of a son process in order to load and run the designated program, during which time the menu program will suspend itself until the son process reactivates it.
If the son process suspends itself before passing control back to the menu program its process identification number (PIN) will be stored in an array for future reference. If the same program is referenced again the suspended process will be reactivated - this is more efficient than creating and activating a new son process.
The array of suspended processes can be examined by the following special commands in a transaction of type "MP":
- END -