An operation in BIM-EDIT/XP is performed either by an internal command, a REXX or BIM-EDIT/XP procedure, or a host command. When a command is entered, an in-memory command table is searched in order to determine what internal command, REXX or BIM-EDIT/XP procedure, or host command to invoke to process the command. The in-memory command table is built at startup (or at ResourceRefresh) time by processing files DFNCMDS1.CTL, DFNCMDS2.CTL, DFNCMDS3.CTL, and DFNCMDS4.CTL.
The command files contain three fields:
Logical command. The entered command will be matched against this value. If the logical command value contains a plus symbol (+), characters after the plus symbol are considered optional. For example, it the command entered is "t", and the logical command value is "t+op", the entered command is considered to match the logical command. However, if the command entered is "tot", and the logical command value is "t+op", the entered command will not match the logical command.
Type. One of the following:
C Internal command.
H Host command.
P REXX or BIM-EDIT/XP procedure.
S Command string.
Internal command name (this is the name under which the command is documented in this manual), a procedure file name, or a host command (as documented in the BIM-EDIT manual), or a command string (any string that could be entered through the command line).
Any number of logical commands can be defined. Each logical command is associated with either an internal command, a REXX or BIM-EDIT/XP procedure, a host command, or command string. Any number of logical commands can be associated with a single internal command, procedure, host command, or command string.
The in-memory command table is built at startup time or ResourceRefresh time by processing files DFNCMDS1.CTL, DFNCMDS2.CTL, DFNCMDS3.CTL, and DFNCMDS4.CTL, in that order. For each file, BIM-EDIT/XP searches first in the Specific User Directory (if user not "DEFAULT"), then in the Default User Directory, then in the Site Directory, and finally in the System Directory. If a logical command matches a logical command that has already been processed, the logical command being currently processed will supercede the previously processed logical command. If the logical command being currently processed has a blank entry for the "Internal Command, Procedure File Name, or Host Command" field, the logical command is effectively deleted.
BIM-EDIT/XP as distributed defines all logical commands in DFNCMDS1.CTL. DFNCMDS2.CTL, DFNCMDS3.CTL, and DFNCMDS4.CTL are empty, and are provided for the sole purpose of serving as models for the creation of the files in the site or user directories.
Site-wide customization of the command table is usually accomplished by creating/updating file DFNCMDS2.CTL in the Site Directory.
User customization of the command table is usually accomplished by updating file DFNCMDS3.CTL in the Default User Directory. An Edit session of this file can be quickly created by selecting "Options / Edit command table, user customization' in the menu hierarchy. The Command Definition Table will automatically be rebuilt when this file is saved.
Caution: You should never create, delete, or update any files in the System Directory as these files will get replaced when a new release of BIM-EDIT/XP is installed. The Site Directory, Specific User Directory, and Default User Directory are provided in order to isolate customization files from distributed files.