Menu and Security System
User Manual


Author:A J Marston
Date Created:November, 1986
Date Revised:February, 1992
Version:01.010.010

CONTENTS


1. Introduction

1.1 Block Mode

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:

  1. All the screen definitions are maintained in an external formsfile rather than within individual programs, which concern themselves only with those portions of the screen which they are allowed to manipulate (ie: unprotected input/output fields).
  2. When data is typed in it is stored in the terminal's memory until the ENTER key is pressed - then the whole screen is transmitted to the computer for validation and subsequent processing.
  3. Each screen definition may contain some initial validation such as checking for required data, or numeric values, etc.
  4. After any screen validation has been performed the program itself may validate further (eg: by checking for values on the database).
  5. If any field fails its validation the following takes place:
  6. If more than one field is found to be in error then all relevant fields will be highlighted, but the error message and cursor will apply to the first field only.

1.2 Screen Conventions

Certain conventions are used throughout the system. These are:

  1. Input fields (ie: fields where the user can enter or change data) will be displayed in half-bright inverse video.
  2. Display-only fields will be in normal video.
  3. Function key labels will be set by individual programs as and when the indicated options become available.
  4. The window line (line 24) will never be blank - it will contain an instruction, information, or an error message.
  5. All application window messages will be prefixed with a six-digit number which is used to retrieve the text from a customisable message catalog (MENUMSG.PROG).

1.3 Standard Function Keys

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:

1.3.1 Print Screen (f6)

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.

1.3.2 Help (f7)

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).

1.3.3 Exit (f8)

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).

1.4 Time-outs

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.


1.5 Super Users

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:

  1. Can access any transaction without the need for an entry on the access profile.
  2. Not affected by a device being disabled.
  3. Not affected by the company being disabled.
  4. Not affected by the company time-out.
  5. Not affected by the user record being disabled.
  6. Not affected by the user group being disabled.

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.


1.6 OTHER OPTIONS Function Key

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.


2. Logon Screen

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.

menu-user-01 (3K)

After a successful logon the user will normally be presented with a menu screen such as this:

menu-user-02 (2K)

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:

  1. This is the first time that this logical device has been used, in which case an entry is automatically created on dataset M-LDEV but with the ACCESS-ALLOWED flag set to "N".
  2. Transaction MGR08 has been used to set the ACCESS-ALLOWED flag to "N" for this logical device.
  3. The previous user on this device failed to enter the correct password after a number of attempts - see PASSWORD below.

The user enters the following:

  1. OPERATOR (required): must exist on dataset M-USER for the company entered below.
  2. PASSWORD (required): must match the password defined on the M-USER record. There may be a limit on the number of retries if an invalid password is entered (see section 6.1). If this retry limit is exceeded the security program will disable both the M-USER and M-LDEV records (by setting the ACCESS-ALLOWED flag to "N"), and terminate the session.
  3. NEW PASSWORD (optional): this will become the password for this operator name/user identity provided that the current password is valid. This is dependent on the values defined on the system control record - see section 6.1.
  4. COMPANY (required): must exist on dataset M-COMPANY. The default is the previous company number used on this device. The function key labelled LIST COMPANY can be pressed to display a list of the available company numbers and names.
  5. TRANSACTION-CODE (optional): if blank this will default to the transaction code nominated as FIRST-TRAN on the M-USER record.

Processing after successful logon:


3. Selection Validation

Before a user's selection is actioned the menu program will check the following details on the MENU database:

  1. The company has not been disabled.
  2. The company has not been locked by any other user.
  3. * The user has not been disabled.
  4. * The user has not been locked by someone else using the same id.
  5. * The user group has not been disabled.
  6. * The user group has not been locked by another user.
  7. The transaction has not been disabled.
  8. The transaction has not been locked by any other user.
  9. The transaction group has not been disabled.
  10. The transaction group has not been locked by any other user.
  11. * The logical device has not been disabled.
  12. * The user is valid for this device.
  13. The transaction is valid for this device.
  14. The transaction is valid for this user.

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:

  1. Any access counts will be incremented.
  2. Any IN-USE flags will be set to the number of the user's device.
  3. The M-LDEV record will be updated to show the current time and the identity of the selected transaction.
  4. The session time-out will be set to the company/user-group/user/transaction time-out (whichever is applicable).
  5. Any file equates for the transaction group will be issued (but only once in a single session).
  6. Any file equates for the transaction (if type "SP") will be issued.
  7. The details of the selected transaction will be loaded into the standard screen heading.

The menu program will then pass control to the selected transaction:


4. Standard Screen Headings

Once the LOGON screen has been passed the menu program will maintain the following details in the standard screen heading:

4.1 Line 1

  1. USER-NAME: from the M-USER record identified by the OPERATOR identity entered on the LOGON screen.
  2. COMPANY-NAME: from the M-COMPANY record identified by the company entered on the LOGON screen. This may be changed to the name of the transaction group for the current transaction if the HEADING-FLAG field on the TRAN-GROUP record is set to "Y" (refer to section 6.4).
  3. CURRENT-DATE: in the format "MON, OCT 27, 1986".

4.2 Line 2

  1. TRANSACTION-CODE: the identity of the user's current selection.
  2. TRANSACTION-DESCRIPTION: from the M-TRAN record for the user's current selection.
  3. CURRENT-TIME: in the format "hh:mm AM/PM", updated each time the screen is redisplayed.

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.


5. Menu Screens

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.

menu-user-03 (5K)

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:


6. Maintenance Transactions

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.


6.1 MGR00 - System Controls maintenance (D-CONTROL)

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.

menu-user-04 (4K)
  1. ENQUIRY MODE

    This is the initial mode for this transaction, in which the details of the current values will be displayed. Function key options are:

  2. MODIFY MODE

    All items that can be modified will have their screen enhancements changed from full-bright normal to half-bright inverse video:

    1. LOGON-TIME-OUT (optional): a value in seconds. This will be the time-out value for the LOGON screen (refer to section 1.4 for more details).
    2. PSWD-FORMAT (optional): this defines the minimum pattern for new passwords using the following characters:
      • "A" - any alphabetic character (A-Z, a-z)
      • "N" - any numeric character (0-9)
      • "X" - any non-blank character.
      • " " - any character (trailing only, not leading or embedded)
    3. PSWD-RETRIES (optional): numeric. This defines the number of retries allowed for the entry of an invalid password on the LOGON screen, after which the system will terminate.
    4. PSWD-CHANGE (required): must be "Y" or "N". If "N" then the NEW-PASSWORD field on the LOGON screen must always be blank. Must be "Y" if either of PSWD-COUNT or PSWD-DAYS is non-zero.
    5. PSWD-COUNT (optional): numeric. This will force the user to enter a new password via the LOGON screen when this logon count is exceeded.
    6. PSWD-DAYS (optional): numeric. This will force the user to enter a new password via the LOGON screen if the current password is older than this date.

6.2 MGR01 - Company maintenance (M-COMPANY)

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.

menu-user-05 (5K)
  1. ENQUIRY MODE

    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:

    1. IN-USE: shows if this record is currently locked for single user access.
      • Zero = not locked
      • non-zero = locked
    2. ACCESS-COUNT: will be incremented each time a user logs on to this company, provided that the relevant flag is set.
  2. MODIFY MODE

    All items that can be modified will have their screen enhancements changed from full-bright normal to half-bright inverse video:

    1. COMPANY-NAME (required): free-format. This name will be used in the standard screen heading.
    2. SUPER-USER (required): must exist on the M-USER dataset for this company, USER-NAME will be displayed for confirmation.
    3. ACCESS-ALLOWED (required): must "A" "N" or "S".
      • "A" - any number of users may be logged on.
      • "N" - no users (ie: this company is disabled). This does not affect the Super User.
      • "S" - single user only. If this option is used then the IN-USE item will show the logical device number of the session that has this company locked.
    4. TIME-OUT (optional): a value in seconds. See section 1.4 for a more detailed explanation.
    5. SHUTDOWN-MESSAGE (optional): free format. If this is non-blank it will be picked up by all sessions when they next call the SAVINITFORM routine to load and initialise the next VPLUS form. It will be displayed on the window line in place of any informative messages (but not error messages) using the enhancements specified below.
    6. FAST-MENUS (required): must be "Y" or "N". If set to "Y" this will enable the "fast menu" option - see Appendix K of the Functional Specification for more details.
    7. FAST-PROFILES (required): must be "Y" or "N". If set to "Y" this will enable the "fast profile" option - see Appendix L of the Functional Specification for more details.
    8. ACCESS-COUNTING (required): "Y" or "N". These are for turning on the access counts for various parts of the system. They are used as follows:
      1. COMPANY - will update the count on the M-COMPANY record each time a user logs on to this company.
      2. USER - will update the count on the M-USER record each time a user of this company logs on.
      3. TRANSACTION - will update the count on the M-TRAN record each time a transaction is accessed.
      4. DEVICE - will update the count on the M-LDEV record each time a session is initiated. This is only actioned if this flag is set on the company "00" record as other company records are not accessed until after the session has been initiated and the user passes the LOGON screen.
      5. TRANSACTION/USER - if both (b) and (c) are set to "Y" then the count on the D-TRAN-USER record will be updated each time a user accesses a transaction.
    9. ENHANCEMENTS (required): must be "NONE", or any combination of the following:
      • "H" - half-bright (the default is full bright)
      • "I" - inverse video (the default is normal video)
      • "U" - underline
      • "B" - blinking

      These are used to set the display enhancements on the window line (line 24) for the following circumstances:

      1. ERROR - for all error messages.
      2. WINDOW - for all informative messages or instructions.
      3. SHUTDOWN - for the shutdown message.
    10. WELCOME-MESSAGE (optional): free format. This text will appear at the bottom of each MENU screen for users who are logged on to this company. The message for company "00" will also appear on every LOGON screen.
  3. ADD MODE

    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:


6.3 MGR02 - Printer maintenance (M-PRINTERS)

This transaction maintains the details for print devices that may be specified for the output from jobstreams.

menu-user-06 (3K)
  1. SELECT MODE

    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:

  2. ENQUIRY MODE

    This will display the current details for this PRINTER-NAME, and will allow the following function key options:

  3. MODIFY MODE

    The following items may be modified:

    1. DEVICE-DETAILS (required): free format. These should be consistent with the parameters available on the MPE "FILE" command which has the format:
      FILE <printer name>;DEV=<device details>
      
      There is no validation performed by this program.
    2. LOCATION (optional): free format. This is to show where this printer is actually located, and is for information purposes only.
  4. DELETE MODE

    If function key f5 is selected this record will be deleted.

  5. ADD MODE

    Type in the remaining details (as for MODIFY MODE) and press ENTER. This record will then be added to the control database.


6.4 MGR03 - Transaction Group maintenance (M-TRAN-GROUP)

This transaction maintains the details for transaction groups. Each transaction on the system must be assigned to one of these groups.

menu-user-07 (3K)
  1. SELECT MODE

    This is the initial mode for this transaction. The user enters a GROUP which results in one of the following:

  2. ENQUIRY MODE

    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:

    1. IN-USE: shows if this record is currently locked for single user access (ACCESS-ALLOWED = "S").
      • Zero = not locked
      • non-zero = locked
  3. MODIFY MODE

    The following items can be changed:

    1. GROUP-NAME (optional): free format. See also HEADING-FLAG below.
    2. ACCESS-ALLOWED (required): must be "A" "N" or "S".
      • "A" - any number of users may access this transaction group.
      • "N" - no users (ie: this group is disabled).
      • "S" - single user only. If this option is used the IN-USE item will show the logical device number of the session that has this transaction group locked.
    3. HEADING-FLAG (required): must be "Y" or "N". If "Y" the GROUP-NAME will replace the company name in line 1 of the standard screen heading while any transaction from this group is being processed.
  4. ADD MODE

    Type in the remaining details (as for MODIFY MODE) and press ENTER. This record will then be added to the control database.


6.5 MGR04 - Transaction maintenance (M-TRAN)

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.

menu-user-08 (4K)
  1. SELECT MODE

    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:

  2. ENQUIRY MODE

    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:

    1. IN-USE: shows if this record is currently locked for single user access (see ACCESS-ALLOWED = "S").
      • Zero = not locked
      • non-zero = locked
    2. ACCESS-COUNT: will be incremented each time this transaction is selected, provided that the relevant flag is set on the company record.
  3. MODIFY MODE

    The following function key option will be available:

    The following items may be modified:

    1. ENTRY-POINT (depends on TRAN-TYPE): If TRAN-TYPE is "SP" this must be the name of an entry point in a subprogram that has been joined into this program. It is possible for the same ENTRY-POINT name to be used on more than one M-TRAN record - this allows the same subprogram to be referenced by different names.

      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:

      • "AT=hh:mm"
      • "IN=days,hours,minutes"

      For all other TRAN-TYPES this field must be blank.

    2. TRAN-DESCRIPTION (required): free format. This description will be loaded into line 2 of the standard screen heading whenever this transaction is being accessed.
    3. TRAN-GROUP (required): must exist on dataset M-TRAN-GROUP. The GROUP-NAME will be displayed for confirmation.
    4. TRAN-TYPE (required): must be "SP" "JS" "ME" or "MP".
      • "SP" = internal subprogram.
      • "JS" = jobstream.
      • "ME" = menu.
      • "MP" = MPE command(s) and/or external programs.
    5. ACCESS-ALLOWED (required): must be "A" "N" or "S".
      • "A" - any number of users may access this transaction.
      • "N" - no users (ie: this transaction is disabled).
      • "S" - single user only. If this option is used then the IN-USE item will show the logical device number of the session that has this transaction locked.
      NOTE: for menu transactions (TRAN-TYPE = "ME") the access flag must be set to "A".
    6. TIME-OUT (optional): a value in seconds. See section 1.4 for a more detailed explanation.
  4. DELETE MODE

    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.

  5. ADD MODE

    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.

  6. RENAME 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.


6.6 MGR05 - User maintenance (M-USER)

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.

menu-user-09 (4K)
  1. SELECT MODE

    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:

  2. ENQUIRY MODE

    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:

    1. PSWD-COUNT: shows the number of logons using this password.
    2. PSWD-DATE: shows the date on which this password was changed.
    3. IN-USE: shows if this USER-ID is currently locked for single user access (see ACCESS-ALLOWED = "S").
      • Zero = not locked
      • non-zero = locked
    4. ACCESS-COUNT: will be incremented each time this user logs on, provided that the relevant flag is set on the company record.
    5. TIMESTAMP: will be set when this user passes the LOGON screen.
    6. DATESTAMP: will be set when this user passes the LOGON screen.
  3. MODIFY MODE

    The following items may be modified:

    1. USER-NAME (required): free format. This is the name that will appear in all standard screen headings while this user is running a session.
    2. PASSWORD (optional): free format. This is compared with the password entered on the LOGON screen before this user is allowed to gain access to the system.
    3. USER-GROUP (optional): if non-blank this user group must exist on the user-group dataset (see section 6.14).
    4. FIRST-TRAN (required): must exist on dataset M-TRAN. The transaction description will be shown for confirmation. If the user does not enter a transaction code on the LOGON screen this will be used as the first transaction. It will normally be a MENU (TRAN-TYPE="ME") but may be any other type of transaction.
    5. TIME-OUT (optional): a value in seconds. See section 1.4 for a more detailed explanation.
    6. ACCESS-ALLOWED (required): must be "A" "N" or "S".
      • "A" - any number of sessions may use this USER-ID.
      • "N" - no users (ie: this user is disabled).
      • "S" - single user only. If this option is used the IN-USE item will show the logical device number of the session that has this USER-ID locked.
    7. PRINTER (required): must exist on dataset M-PRINTERS. This will be used as the default print device for the output from jobstreams.
  4. DELETE MODE

    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.

  5. ADD MODE

    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.


6.7 MGR06 - Menu maintenance (D-MENU, D-FAST-MENU)

This program maintains the list of transactions that are linked to menu screens. This list will be displayed when the menu is selected.

menu-user-10 (3K)
  1. SELECT MODE

    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:

  2. MODIFY MODE

    This will display the first transaction (in sequence number order) in the list associated with the selected menu.

    The following item may be modified:

    1. SEQUENCE-NUMBER (required): numeric, default is zero. The entries on the menu screen will be sorted by this sequence number. Entries with the same number will be sorted by their transaction codes.

    The following function key options will be made available:

  3. ADD MODE

    The user must enter the following:

    1. TRANSACTION-CODE (required): must exist on M-TRAN. This must not be the same as the current MENU name (ie: a menu cannot be added to itself). The description will be displayed for confirmation.
    2. SEQUENCE-NUMBER (required): numeric, default is zero. Same as for MODIFY MODE.
    If f5 is pressed this transaction will be added to the current list.
  4. DELETE MODE

    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.

  5. FAST MENU MODE

    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.


6.8 MGR07 - User/Transaction Access (D-TRAN-USER, D-FAST-PROFILE)

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.

menu-user-11 (4K)
  1. SELECT MODE

    This is the initial mode for this transaction. The user enters one of the following combinations:

    1. A valid USER-ID (must exist on M-USER for the logon company):
      • if a profile does not currently exist then this transaction will go into ADD MODE.
      • if a profile does exist then ENQUIRY MODE will start at the first transaction (in alphabetical sequence) for the user.
    2. A valid USER-ID, and all (or part of) a TRAN-CODE:
      • Same as option (a) above but will start ENQUIRY MODE at the selected TRAN CODE (or the nearest if an exact match is not found).
    3. A valid TRAN-CODE (must exist on M-TRAN):
      • If this is contained in any user profiles (where the users belong to the logon company) then ENQUIRY MODE will start at the first user (although not in any particular sequence).

    The following function key will be available:

  2. ENQUIRY MODE

    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:

    1. ACCESS-COUNT: will be incremented each time this USER accesses this transaction, provided that the relevant flags are set on the company record.

    The following function key options will be made available:

  3. MODIFY MODE

    The user may change the following item:

    1. ACCESS-ALLOWED (required): must be "A" or "N".
      • "A" - access allowed.
      • "N" - no access allowed (ie: access temporarily disabled).
  4. DELETE CURRENT

    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.

  5. DELETE ALL

    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.

  6. ADD 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:

    1. USER-ID (required): must exist on dataset M-USER for the logon company. The user name will be displayed for confirmation.

      or

      TRANSACTION-CODE (required): must exist on dataset M-TRAN. The description will be displayed for confirmation.

    2. ACCESS-ALLOWED (required): must be "A" or "N".
      • "A" - access allowed.
      • "N" - access not allowed (ie: access temporarily disabled).

    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.

  7. COPY PROFILE MODE

    The user enters the following:

    1. COPY-COMPANY (required): any available company (default is the logon company).
    2. COPY-USER (required): anyone but the Super User. This will copy the whole profile of the nominated user, then return to ENQUIRY MODE. If the dataset capacity is insufficient an error message will be generated, and the copy will not be allowed to proceed.
  8. FAST PROFILE MODE

    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.

  9. ADD ALL MODE

    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.

  10. ADD GROUP MODE

    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.


6.9 MGR08 - Device maintenance (M-LDEV)

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.

menu-user-12 (4K)
  1. SELECT MODE

    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:

  2. ENQUIRY MODE

    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:

    1. ACCESS-COUNT: this will be incremented each time a session is initiated on this device, provided that the relevant flag is set on the record for company "00".
    2. TIMESTAMP: will be set each time an event occurs on this device (eg: logon, logoff, transaction selection).
    3. DATESTAMP: same as TIMESTAMP above.
    4. MPE-LOGON: will show the USER.ACCOUNT originally used to log on to MPE.
    5. USER: will show the USER-ID, USER-NAME and COMPANY specified on the LOGON screen if a session is active on this device.
    6. TRANSACTION: will show the TRAN-CODE and DESCRIPTION of the selection currently being processed. May also show: one of the following:
      • "LOGON" - waiting on the LOGON screen, or
      • "LOGOFF" - no session currently active.
      • "DISABLED" - too many attempts with an invalid password.
  3. MODIFY MODE

    The user may change the following items:

    1. LOCATION (optional): free format. This is to show where this device is actually located, and is for information purposes only.
    2. ACCESS-ALLOWED (required): must be "A" or "N".
      • "A" - access allowed.
      • "N" - access not allowed (ie: this device is disabled).

    The following function key options will also be made available:

  4. ERROR RECOVERY MODE

    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".

  5. ADD MODE

    Type in the details (as for MODIFY MODE) and press ENTER. Press f5 to confirm this addition, or f3 to return to SELECT MODE.


6.10 MGR09 - Transaction/Device Security (D-TRAN-LDEV)

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.

menu-user-13 (3K)
  1. SELECT MODE

    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.

  2. ENQUIRY MODE

    This will display the first device number (in numeric sequence) for the selected transaction.

    The following function key options will be made available:

  3. DELETE MODE

    Press f5 to confirm the deletion, or f3 to cancel and return to ENQUIRY MODE.

  4. ADD 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.


6.11 MGR10 - User/Device Security (D-USER-LDEV)

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.

menu-user-14 (3K)
  1. SELECT MODE

    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.

  2. ENQUIRY MODE

    This will display the first device number (in numeric sequence) for the selected USER-ID.

    The following function key options will be made available:

  3. DELETE MODE

    Press f5 to confirm the deletion, or f3 to cancel and return to ENQUIRY MODE.

  4. ADD 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.


6.12 MGR11 - Command File maintenance (D-COMMAND)

This transaction maintains the MPE commands associated with various entities on the system.

menu-user-15 (5K)
  1. SELECT MODE

    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:

    TYPEIDENTITYVALIDATION
    COCompanyMust be the logon company
    LDLogical DeviceMust exist on M-LDEV
    UGUser GroupMust exist on M-USER-GROUP
    USUserMust be a user for the logon company
    GPTransaction GroupMust exist on M-TRAN-GROUP
    SPInternal SubprogramMust exist on M-TRAN, TYPE = "SP"
    JSJobstreamMust exist on M-TRAN, TYPE = "JS"
    MPMPE CommandsMust exist on M-TRAN, TYPE = "MP"

    This will result in one of the following:

  2. ENQUIRY MODE

    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:

  3. MODIFY MODE

    This allows the current page of details to be modified, as follows:

    1. Resequencing, by changing the value of any LINE-NO.
    2. Deleting lines by blanking them out.
    3. Inserting new lines by typing the details onto any available blank line, with the required LINE-NO.

    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".

  4. ADD MODE

    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:

  5. COPY COMMANDS

    The user enters the following:

    1. COPY-FROM (required): must have entries on the D-COMMAND dataset. Note that the ENTITY-TYPE (identified by the two character prefix) will be the same as the selected entity.

    The following function key options will then become available:


6.13 MGR12 - OTHER OPTIONS maintenance (D-OTHER-OPTIONS)

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.

menu-user-16 (5K)
  1. SELECT MODE

    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:

  2. ENQUIRY MODE

    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:

  3. ADD MODE

    For each option that is required the user must enter the following:

    1. SEQUENCE NUMBER (required): Must be in range 1-18, duplicates not allowed.
    2. KEY LABEL (required): A value must be entered in the first eight-character box. The second eight characters are optional.
    3. TRANSACTION CODE (required): Must exist on dataset M-TRAN. The description will be displayed for confirmation. A dummy transaction code of "-1" may be entered which will be interpreted by the menu program as the previous transaction (whatever that may be) in the current sequence.

    Any line may be left blank.

  4. MODIFY MODE

    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.


6.14 MGR13 - User Group maintenance (M-USER-GROUP)

This transaction maintains the details for user groups within the logon company. Each user may be assigned to one of these groups.

menu-user-17 (3K)
  1. SELECT MODE

    This is the initial mode for this transaction. The user enters a GROUP which results in one of the following:

  2. ENQUIRY MODE

    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:

    1. IN-USE: shows if this record is currently locked for single user access (see ACCESS-ALLOWED = "S").
      • Zero = not locked
      • non-zero = locked
  3. MODIFY MODE

    The following items can be changed:

    1. GROUP-NAME (optional): free format. This is for description purposes only.
    2. TIME-OUT (optional): a value in seconds. See section 1.4 for a more detailed explanation.
    3. ACCESS-ALLOWED (required): must be "A" "N" or "S".
      • "A" - any number of users may access this transaction group.
      • "N" - no users (ie: this group is disabled).
      • "S" - single user only. If this option is used the IN-USE item will show the logical device number of the session that has this user group locked.
  4. ADD MODE

    Type in the remaining details (as for MODIFY MODE) and press ENTER. This record will then be added to the MENU database.


6.15 WHO - Display Current Users

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.

menu-user-18 (4K)

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:


6.16 Print Module Version Numbers

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

7 Jobstreams

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.

menu-user-19 (3K)

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:

  1. A screen is displayed showing the user's default printer, and the prompt text for any runtime parameters.
  2. The user may change the printer identity, and enter any parameters on the same line as the relevant prompt text. Each reply will be validated according to the specifications (if defined).
  3. After pressing ENTER the jobstream will be copied from the command file into a temporary file, and all parameter prompts will be replaced with the data entered by the user.
  4. The temporary file ($OLDPASS) will then be placed in the job queue by issuing the STREAM command, and the MPE job number will be displayed at the bottom of the screen.
  5. The user presses f8 to return to the menu program, or the RESTART key in order to repeat the job with another set of parameters.

8 MPE Commands

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:

  1. The terminal is switched from block mode to character mode, the "SETMSG ON" command issued to turn QUIET mode off, and the MODES/USER key is enabled.
  2. The command line(s) are examined in sequence and processed as necessary, according to the type of command:
    1. "RUN" commands will be processed as defined in section 9.
    2. Special commands (those starting with "$") will be processed as defined in Appendix F of the Functional Specification.
    3. All others will be passed to the COMMAND intrinsic - any fatal errors will produce an informative message and cause all command lines remaining for the transaction to be ignored (unless the $CONTINUE command was specified previously), any warnings will display an informative message but processing will continue.

    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.

  3. After the last command has been processed the terminal will be switched back into block mode, the "SETMSG OFF" command issued to return the terminal to QUIET mode, the MODES/USER key will be disabled, then the menu program will resume processing from the previous menu.

9 External Programs

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 -

counter