System Management Utility Functions

Menu maintenance

Last Revised: 02/11/06

 Menu Maintenance is the program used to maintain the menus, sometimes called selectors.

The Menu Maintenance Screen

Menu Code:
1.  Menu Title:
2.  Date Index/Force Entry:
3.  Return to Menu Code:
4.  Company Code for Text:
5.  Menu Prefix:
 

Detail Screen

Line:
1.  Description:
2.  Omit:
3.  Type/Hotkey:

CDS880
Menu Code This is a 3 character code assigned to each menu or selector. There should be some correlation between the code and the selector title so that the code will be remembered and direct access to a particular selector may be made quickly, i.e. A/R Accounts Receivable, INQ Inquiry Functions, SIS Serialized Inventory Subsystems, etc. Earlier versions of the System Management Software referred to the menu code as system code.
Menu Title This may be up to 40 characters in length. It is printed at the top of the menu screen and is used to describe the specific section of a system from where all related programs will be processed.
Date Index/Force Entry This index determines which date will appear on the selected menu.  The system or calendar date will be desired on most menus. A date index of zero implies today's actual date. You may use a date index of 0 thru 9. For example, you may use date index 1 for the Accounts Receivable Date, date index 2 for the Accounts Payable Date, etc.

For the date indexes of 1 or higher, there are three methods of changing the date:

1You may add an entry to the selector to run the program CDC900. This program requires channel 1 opened to the selector file XXSI50.
The application software may call CDS900. The calling arguments are Y$ and an optional window title.
3You may set the force date entry parameter to Y which will prompt the operator for the date when first selecting this menu.
Return to Menu Code This code represents the menu to return to when the operator touches the F4 key.
Company Code for Text Enter the 2 character company code that contains the text which explains this selector. The text should be named "blank" plus the three character menu code, and be maintained using Documentation Text Maintenance on the FMS menu for the company code specified.
Menu Prefix If present, this field is included in the prefix when this menu is active. It may contain references to global strings by using parenthesis, i.e., (BBXDIR)std/ will replace (BBXDIR) with the STBL("BBXDIR") resulting in a prefix including /u/basis/pro5/std/.
Detail
Line Each line represents a task and is assigned a sequence number which determines the order the tasks will be displayed on the menu. There is a maximum of 16 lines per menu.
Description The description identifies the task. The program name itself is often used for this description. Note that when adding a new selection to a menu, entering a sequence number for the Description will copy that selection to the new selection being added. This option is useful when re-ordering selections within a menu without re-entering all selection details.
Omit This option allows a program or task to be put on a selector without having to actually have it appear on the menu. Omitting instead of deleting avoids reentering the line when the customer purchases a particular module or decides to use a certain report which was previously not used.
Type This field indicates the type of selection. Valid types include:
 
'R'Run program
'S'Selector
'M'File maintenance
'D'  Driver
'O'Other BBx program
'!'O/S Call
'C'Called program
Program/File & VDT Suffix A program, file name, or selector code may be entered. A program or file beginning with the company code is usually entered with XX for the company code, i.e. XXU040 Sales Order Printing. The 'XX' is replaced with the company code when selected. If there is a screen background to be invoked through the selector, it is entered after the program/file, i.e. XXUM10 A Customer Maintenance.
Multi-Task Type/Position These two fields are used to prevent two or more operators from executing conflicting programs at the same time. They are often used to prevent someone from executing the same program from two different terminals at the same time.

The Type field can be P for Process, or R for Restrict. Multiple P type jobs may be run at the same time, but an R type job may only be run if there are no other jobs running with the same multi-tasking position. The Position field may be any number from 1 to 99. Only jobs with the same Position field conflict with each other.

For example, an update program that should not be run from two terminals at the same time is coded R-10. The data entry program would be coded P-10. This will allow multiple data entry programs to execute at the same time, but prohibit the update if there is any other P-10 (or R-10) jobs running.

Note that multi-tasking restrictions are company specific. There is no global system-wide multi-tasking.
Ghost Task Option If set to 'Y," the operator will have the option of running the job using a ghost task. This option is used mostly for printing listings or reports where no operator intervention is necessary to complete the job successfully once the printer has been selected and initial questions answered. It is not recommended for updates since unexpected errors may be encountered. This option is available only on selected MAI Basic Four computers.
Report Paper Width This field indicates the maximum number of print positions that this report requires. N is used for narrow reports requiring 80 print positions or less. W is used for wide reports requiring up to 132 print positions. E is used for extra-wide reports requiring up to 255 print positions. Blank is the same as W.

This field is used by the printer selection routine to insure printing to a compatible printer at the correct horizontal characters per inch.

Pass Parameter If a single program can be executed in different ways, the pass parameter may be set to any operator-defined values and tested within  the application program using Y.PASSPARM$.

For type M (file maintenance) selections, setting the Pass Parameter to Q will invoke an inquiry-only version of file maintenance, which permits display but no modification, deletion, or addition of records.

Escapes Allowed This field is used to enable or disable the A to abort option in the error/escape routine should the operator interrupt the execution of the program. If escapes (interrupts) are allowed, then selecting the A to abort option will return directly to the selector.
Pages This field has significance primarily on Basic Four computer systems.  On BBx systems, the Base Memory pages (System Control Maintenance) is used to determine the number of memory pages to use for all jobs. On older systems, the memory pages could vary from selection to selection and be specified in this field.
Escapes Allowed This field is used to enable or disable the A to abort option in the error/escape routine should the operator interrupt the execution of the program. If escapes (interrupts) are allowed, then selecting the A to abort option will return directly to the selector.
Pages This field has significance primarily on Basic Four computer systems.  On BBx systems, the Base Memory pages (System Control Maintenance) is used to determine the number of memory pages to use for all jobs. On older systems, the memory pages could vary from selection to selection and be specified in this field.
File Names The menu processor will open data files and a printer if specified in the file name fields. If the first two characters of the file name is XX then the XX will be replaced with the company code.

The menu processor will open each data file to the channel indicated but will also set a numeric variable to the channel number as well. This numeric variable is the last four characters of the file name. For example if the first file to open is XXSO40 then a numeric variable named SO40 will be set to 1.  It is the desired practice within the application to use SO40 as the channel number instead of 1.

The Block option applies only to certain MAI Basic Four systems that permit opening data files with a BLK=1024 option which improved sequential file performance.

The Lock option will lock the file if required.

If any data file has a string template associated with it, then a string variable will be dimensioned to this template with a name of the last four characters of the file name. For example S040$ will be dimensioned to the template for file XXS040.