An account is a place to work, typically corresponding to an application. Physically, an account is represented by an operating system directory in which files private to that application are stored. As well as one or more user accounts representing different applications or versions of a single application, there is always a system account named QMSYS which contains all of the components of the QM database product itself. You should not use this account for your own applications as parts of it are overwritten when a new version is installed. You may also want to restrict access to some files in this account for improved system security.
A new account may be created from any other account by use of the CREATE.ACCOUNT command. Alternatively, use the relevant operating system command to make a new directory in a suitable position and invoke QM in that directory. You will be prompted to confirm that you wish to make this directory into a new account.
Whichever method you use, QM will create a VOC file in this directory and it is then ready for use. Other system files may be created subsequently by some commands.
QM maintains a register of account names and their corresponding operating system pathnames in a file named ACCOUNTS in the QMSYS account. This file is visible from all accounts on the system but, because ACCOUNTS is the sort of name that might well be used as an application file, the alternative name QM.ACCOUNTS is used. Account names are mapped to uppercase in QM. They must start with a letter or digit, may not contain spaces and are limited to 32 characters. On ECS mode systems, account names must contain only characters from the 8-bit character set. The format of records in the accounts register is:
|F3||Account group name (allows grouping of accounts for some operations). This may be multivalued to allow an account to be in multiple groups.|
|F4-9||Reserved for future use|
|F10-19||Reserved for user use. These fields are not accessed by QM.|
The standard files present in an account are shown below.
|VOC||The vocabulary, a file that controls all aspects of command processing within QM.|
|BP||Application programs are written using the QMBasic programming language. The BP file (Basic Programs) is the default place to keep application programs. This file must be created when first needed and is usually a directory file. The compiler output is placed in a file of the same name as the source file but with a suffix of .OUT added (e.g. BP.OUT). The output file is created automatically when first required and must be a directory file.|
|PVOC||The optional private vocabulary file. This is a multifile with subfiles corresponding to the uppercase form of the user's login name.|
|$COMO||QM provides a facility to record output that is displayed at the user's screen in a file. This file is known as a como (command output) file for compatibility with other systems. The $COMO file is automatically created as a directory file when the COMO ON command is first used. The command also specifies the record name to be used to store the output.|
This file also contains the log files generated by background (phantom) processes.
|$ED||Created automatically by the ED editor when first required, this file holds pre-stored edit command sequences.|
|$FORMS||This VOC entry points to a file in the QMSYS account that is shared by all accounts as a repository for Pick style form queue definitions created using the SET.QUEUE command and used by the SP.ASSIGN command.|
|$HOLD||This is a directory file used to receive output sent to a print unit by a program or standard command that has been set into mode 3 (output to hold file). |
|$SCREENS||This is a dynamic file used to hold screen definitions that are to be shared between accounts. See the description of the SCRB screen builder for more information.|
The $COMO, $HOLD and $SAVEDLISTS files tend to collect redundant data as time goes by and may be cleared using the CLEAN.ACCOUNT command or some other process appropriate to your application.
Other files not directly visible from QM are:
|cat||A subdirectory under the account holding programs added to the private catalogue using the CATALOGUE verb. Users should not modify this file except by use of the associated QM commands.|
The private catalogue can be moved by creating an X-type VOC entry named $PRIVATE.CATALOGUE in which field 2 contains the pathname of the alternative private catalogue directory. This only takes effect when QM is re-entered or on use of the LOGTO command. This feature is particularly useful where two or more accounts are to share a common private catalogue. The US spelling, $PRIVATE.CATALOG, may be used instead. If both are present, the British spelling takes priority.
|stacks||A subdirectory under the account used to store saved command stacks when a user exits from QM.|
The following files are in the QMSYS account only:
|ACCOUNTS||The register of account names described above. This file is visible from all accounts as QM.ACCOUNTS. Field 1 contains the pathname of the account. Field 2 can be used to store a brief description of the account. Field 3 contains an optional multivalued list of account group names to which this account belongs.|
|bin||A subdirectory, not visible from within QM, containing all the operating system level executable programs that form part of QM.|
|ERRMSG||A file of standard Pick style message texts provided for compatibility with other multivalue products and used by the QMBasic STOP, ABORT and ERRMSG statements for programs compiled with Pick style message processing.|
|gcat||Not directly visible from inside QM, this is the global catalogue directory. This file should only be accessed using the standard catalogue processing commands.|
|NEWVOC||The template vocabulary file from which new accounts are created. This file should not be updated by users as it will be overwritten on upgrading to a new release.|
|$IPC||This file, not visible from inside QM, is used to support inter-process communication and cannot be cannot be accessed directly by users.|
|$LOGINS||A register of login names of users who may access QM. This file cannot be accessed by directly users. See Application Level Security for more details.|
|$MAP||This file, visible from all accounts, is the default destination for a map of the system catalogue produced with the MAP command.|
|$SERVERS||This file, not visible from inside QM, holds details of public QMNet server definitions.|
|SYSCOM||The SYSCOM file holds standard definitions for use in QMBasic programs. It also contains versions of the QMClient include record for Visual Basic, C and other languages.|
|temp||This subdirectory holds internal temporary files. All users must have full access to this directory.|
|terminfo||A subdirectory containing definitions of control data for terminal devices.|
|terminfo.src||The master source from which the terminfo definitions are built.|
Accounts that are no longer needed can be deleted using the DELETE.ACCOUNT command.