Previous | Contents | Index |
If you make changes to add background text, you are adding literals, in DECforms terminology. Be sure that your new background text areas do not conflict with areas on the panel that are already defined for use in the ACMS_MENU.IFDL file.
To change the prompt, you must alter the wording in two panel definitions. These definitions begin with:
Panel DEFAULT_PANEL |
and
Panel COMMAND_PANEL |
Example A-7 shows the section of the default panel definition in the ACMS_MENU.IFDL file which needs to be altered to change the prompt.
Example A-7 Default Panel Field Definition |
---|
Literal Text Line 22 Column 1 Value "Selection: " |
Example A-8 shows the section of the ACMS_MENU.IFDL file which needs to be altered to change the Command: prompt in the Command Panel definition.
Example A-8 Command Panel Field Definition |
---|
Literal Text Line 22 Column 1 Value "Command: " |
You can replace the quoted string in either definition with text which suits your needs.
To change the text of the instructions which appear on multiple-page menus, you also make changes in the DEFAULT_PANEL and COMMAND_PANEL panel definitions in the ACMS_MENU.IFDL file.
To change these instructions, you must find the record group SELECT_LINE_GROUP in the ACMS_MENU.IFDL file. Example A-9 shows how the group entry appears in the ACMS_MENU.IFDL file supplied with ACMS.
Example A-9 Record Group SELECT_LINE_GROUP |
---|
Group SELECT_LINE_GROUP Entry Response If (CTL_MULTI_PAGE = "T") Then If (CTL_LAST_PAGE = "T") Then Let INFO_LINE_1 = " ....... "- "Press <RET> for first page ......." Else Let INFO_LINE_1 = " ....... "- "Press <RET> for more ......." End If |
To change the instructions, change the text within the quotation marks. Remember to change the text in both the DEFAULT_PANEL panel definition and the COMMAND_PANEL definition or the instructions the user sees will vary depending on what panel is in use.
If you want to change any other characteristics of the ACMS menu
format, you must modify the other areas in the ACMS_MENU.IFDL file
beyond the panel definitions.
A.2.5 Changing SELECTION_STRING Field Lengths
The SELECTION_STRING is an ACMS-supplied system workspace. It allows a user to enter input after making a menu selection. ACMS places this input in the SELECTION_STRING workspace and ACMS has access to it within the task called by the menu selection. It could be used, for example, to pass an employee number to an employee record update task.
In the ACMS_MENU.IFDL file, the selection string fields are defined as a 68-character field beginning after the Selection: or Command: prompt and a 79-character field beginning in column 1 of the line below the Selection: or Command: prompt.
If you need SELECTION_STRING fields of different lengths than these, you must alter the ACMS_MENU.IFDL file in four places.
First, you must change two record groups, SELECT_LINE_GROUP and RECORD_LIST. Example A-10 shows the two groups as they appear in the ACMS_MENU.IFDL file.
Example A-10 SELECTION_STRING Record Groups |
---|
Group SELECT_LINE_GROUP SELECTION_STRING_1 Character(68) SELECTION_STRING_2 Character(79) End Group Group RECALL_LIST Occurs 20 RECALL_ITEM_1 Character(68) RECALL_ITEM_2 Character(79) End Group |
The length values for the fields can be changed. If a change is made in one group, however, the corresponding change must be made in the other group.
Next, you must change the SELECTION_STRING field sizes in the panel definitions to correspond to the new values you entered in the record group definitions. Remember to change the field sizes in both the DEFAULT_PANEL and COMMAND_PANEL definitions. Example A-11 shows the field definitions as they appear in the panel definitions in the ACMS_MENU.IFDL file supplied by ACMS.
Example A-11 SELECTION_STRING Panel Definitions |
---|
Field SELECTION_STRING_1 Line 22 Column 12 Autoskip Output Picture X(68) End Field Field SELECTION_STRING_2 Line 23 Column 1 Output Picture X(79) End Field |
Remember that the values in the panel field definitions must correspond
to the changes you made earlier in the record group definitions.
A.2.6 Changing the Number of Entries per Screen
The menu file supplied with ACMS causes a maximum of 16 entries per screen to be displayed when the DEFAULT_PANEL panel definition is used. The ACMS_MENU.IFDL file also contains panel definitions for a COMMAND_PANEL and for two expert panels.
As supplied by ACMS, the menu file allows up to 16 lines per menu screen in the default panel and eight lines per screen in the command panel. The expert panels display only the prompts Selection: or Command: for those who want to make selections without seeing menu entries.
When there are fewer than 16 menu entries, ACMS fills out the screen with blanks. When there are more than 16 menu entries, ACMS will break up the menu into multiple pages. Each screen will display one page of the menu. If you need to change the number of entries allowed per screen, you need to make changes in two places: in a record definition and in the DEFAULT_PANEL definition.
The first change you need to make is in the record group ENTRIES. Example A-12 shows how that record group appears in the ACMS_MENU.IFDL file as supplied with ACMS.
Example A-12 ENTRIES Record Group |
---|
Group ENTRIES Occurs 16 Current MENU_ENTRIES_INDEX ENTRY_ENABLE Character(1) ENTRY_NUMBER Character(6) ENTRY_FILL Character(3) ENTRY_KEY Character(10) ENTRY_FLAG_TEXT Character(56) End Group |
You can change the "Occurs 16" line to the number of lines you wish to be the maximum per menu screen.
Next you must change the Displays statement of the record group ENTRIES in the DEFAULT_PANEL panel definition. Example A-13 shows how that section of the panel definition appears in the ACMS_MENU.IFDL file.
Example A-13 ENTRIES Record in Default Panel Definition |
---|
Group ENTRIES Vertical Displays 16 |
You can change the number of entries allowed per screen for the Command Panel in a similar fashion.
When you change the number of entries allowed per screen, you must also change the size of the record for the entries passed from the ACMS CP to the menu form. To let the ACMS CP know about the change in the size of the record for the entries, you have to specify the new number of entries allowed per screen in the ACMS menu definition. Example A-14 shows an example of this.
Example A-14 Menu Definition Specifying Entries per Screen |
---|
CREATE MENU PERSONNEL_MENU HEADER IS " P E R S O N N E L M E N U"; CONTROL TEXT IS "DFMNU" WITH 12 ENTRIES PER SCREEN; DEFAULT APPLICATION IS "PERSONNEL"; ENTRIES ARE ADD : TASK IS ADD_EMPLOYEE; TEXT IS "Add a new employee record"; . . . END ENTRIES; END DEFINITION; |
DFMNU is the default control text response. If you have defined other control text responses in the form, you can specify those responses. On each system, all the menus use the same form, so all menus must use the same number of entries allowed per screen.
You can include more entries in the menu definition than the number you specify in the WITH ENTRIES PER SCREEN phrase. For example, you can include 13 or more entries in the menu definition shown in Example A-14 even though the WITH ENTRIES PER SCREEN phrase specifies 12 entries for each screen. In this case, when ACMS displays the menu it also displays the message:
"....... Press <RET> for more .......". |
If the user presses [Return], ACMS displays the additional
entries listed in the menu definition. But remember that whatever
number of entries per screen you choose, that is the number that must
be used by all menus on your system.
A.2.7 Changing the Size of the Command Line Recall Buffer
Another item that can be changed, if need be, is the number of lines in the command line recall buffer. This buffer stores the commands you issue at the terminal keyboard. Commands can be recalling by pressing the up-arrow key, much as commands can be recalled at the DCL level. As supplied by ACMS, the number of commands that can be recalled is 20.
To change the number of commands that can be recalled, you need to change the default value of 20 in two definitions in the ACMS_MENU.IFDL file. Example A-15 shows how those definitions appear in the form file supplied with ACMS.
Example A-15 Command Line Recall Buffer Definitions |
---|
Group RECALL_LIST Occurs 20 RECALL_ITEM_1 Character(68) RECALL_ITEM_2 Character(79) End Group RECALL_MAX Longword Integer Value 20 |
Remember to change the definitions so that the two values match.
A.2.8 Changing the DECforms Layout Size
Another area of the ACMS menu format which you can change is the layout size.
The layout size specifies the largest rectangular area on the terminal screen that the menu form will occupy at any given time. In the ACMS_MENU.IFDL file supplied with ACMS, this size is the DECforms default value, 24 lines deep by 80 columns wide.
If you need to change this, you must alter the DEFAULT_LAYOUT definition in the ACMS_MENU.IFDL file. Example A-16 shows how that definition appears.
Example A-16 Definition of Default Screen Layout |
---|
Layout DEFAULT_LAYOUT Device Terminal VT_100_DEV Type %VT100 Terminal VT_200_DEV Type %VT200 End Device Size 24 Lines by 80 Columns |
You can write new control text responses and panel definitions in the ACMS_MENU.IFDL file in order to create exactly the responses or panels that meet your needs. If so, you must include a CONTROL TEXT clause in your menu definition to point to the new panel definition.
When you use the CONTROL TEXT clause in a menu definition, you specify the control text response or responses that you want to execute when the ACMS CP gets input from users. By default, ACMS executes the DFMNU control text response for the default menu and the COMND control text response for the command menu.
Example A-17 shows an example of a menu definition that uses the CONTROL TEXT clause.
Example A-17 Menu Definition Using CONTROL TEXT |
---|
CREATE MENU PERSONNEL_MENU HEADER IS " P E R S O N N E L M E N U"; CONTROL TEXT IS "MENU1MENU2MENU3"; DEFAULT APPLICATION IS "PERSONNEL"; ENTRIES ARE ADD : TASK IS ADD_EMPLOYEE; TEXT IS "Add a new employee record"; . . . END ENTRIES; END DEFINITION; |
In the CONTROL TEXT clause, you must include the five-character string
that identifies the CONTROL TEXT RESPONSE. Here, the string
"MENU1MENU2MENU3" sets up a sequence of three responses.
DECforms automatically reads each five characters as the CONTROL TEXT
definition. You can specify up to five control text responses. At least
one of these responses must have an accept phase, or input from the
user. Otherwise, you will get a "control text response not
found" error.
A.2.10 Building and Installing the New Menu Form
After you have customized the ACMS_MENU.IFDL file, you must build the new menu form as an executable image and make it available to the ACMS system.
You build a new menu form by creating a new ACMS_MENU.EXE file. This involves translating the form, extracting an object from the .FORM file to create a .OBJ file, linking the object file to produce a shareable image, and copying the new executable file to the common SYS$SHARE directory on the system.
If you have customized the ACMS menu form definition file, you must rebuild the form image file. Use the following DCL command to rebuild and install the new form image file on the system:
$ @SYS$MANAGER:ACMS_BUILD_MENU_FORM.COM |
In order to make the new version of the menu form file available to the command process, you must stop and restart the ACMS terminal subsystem. Do this by using the ACMS/STOP TERMINALS and ACMS/START TERMINALS commands. Make sure your ACMS user definition points to the menu database containing the menu that uses the new menu format. Then sign in to ACMS and check whether or not:
If ACMS cannot display the new menu, you get this error message when signing in to ACMS:
A DECforms request failed in the menu form SYS$SHARE:ACMS_MENU.EXE |
If you get this message, check the record, form, control text response,
and panel definitions for unmatched names, inappropriate file
protection, or differences in the number of entries.
A.3 Disabling the SELECT Command in the ACMS Command Menu
The SELECT command appears on the ACMS Command Menu and permits a user to select tasks by application and task name. To disable the SELECT command, remove it from the ACMS Command Menu by editing and replacing the command menu definitions, and rebuilding the command database as outlined in the following steps:
HEADER IS " ACMS Command Menu"; ENTRIES ARE "Continue": TEXT IS "Continue interrupted operation"; COMMAND 3; "Exit": TEXT IS "Leave the ACMS menu environment"; COMMAND 8; "Help": TEXT IS "Display ACMS help information on the terminal"; COMMAND 17; "Menu": TEXT IS "Display selection and command menus"; COMMAND 18; "Nomenu": TEXT IS "Do not display selection and command menus"; COMMAND 19; !"Select": ! TEXT IS "Select task by application name and task name"; ! COMMAND 20; END ENTRIES; END DEFINITION; |
$ ADU ADU> @ACMSMENU.COM |
$ ADU ADU> BUILD MENU COMMAND$ROOT ACMS$DIRECTORY:ACMSCMD.MDB ADU> EXIT |
Previous | Next | Contents | Index |