Accounts

Top  Previous  Next

 

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, may not contain spaces and are limited to 32 characters.

 

 

The standard files present in an account are shown below.

 

VOCThe vocabulary, a file that controls all aspects of command processing within QM.
BPApplication 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.
$ACCThis is the account directory viewed as a QM directory file.
$COMOQM 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.

$FORMSThis 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.
$HOLDThis 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).
$SAVEDLISTSThis is a directory file used to store saved select lists. See the SAVE.LIST and GET.LIST commands for more information.
$SCREENSThis 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:

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

stacksA subdirectory under the account used to store saved command stacks when a user exits from QM. On Windows systems, users of QMConsole sessions do not use this file. Instead, the command history is stored in a VOC record named $COMMAND.STACK.

 

The following files are in the QMSYS account only:

ACCOUNTSThe 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.
binA subdirectory, not visible from within QM, containing all the operating system level executable programs that form part of QM.
ERRMSGA 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.
gcatNot directly visible from inside QM, this is the global catalogue directory. This file should only be accessed using the standard catalogue processing commands.
NEWVOCThe 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.
$IPCThis file, not visible from inside QM, is used to support inter-process communication and should not be touched by users. (Not present on a PDA)
$MAPThis file, visible from all accounts, is the default destination for a map of the system catalogue produced with the MAP command.
SYSCOMThe SYSCOM file holds standard definitions for use in QMBasic programs. It also contains QMClient.bas, a set of definitions for use in Visual Basic programs that use the QMClient API.
tempWindows only. This subdirectory holds temporary files that are used to pass control information from the QMSvc service to the QM processes that it starts. All users must have full access to this directory.
terminfoA subdirectory containing definitions of control data for terminal devices. (Not present on a PDA)
terminfo.srcThe master source from which the terminfo definitions are built. (Not present on a PDA)

 

Accounts that are no longer needed can be deleted using the DELETE.ACCOUNT command.