Overview of Model 204 commands

From m204wiki
Jump to navigation Jump to search

This page describes the syntax of all Model 204 control commands. The commands page provides an alphabetical listing of links to the command descriptions.

In general, all the information necessary to issue and use a command is included in the command description.

Cross-referencing other Model 204 documentation

Many commands are best understood in the context of more global concepts introduced in other Model 204 documentation pages. For example, the description of the checkpoint commands, CHECKPOINT, CHKABORT, and CHKMSG, can be supplemented by the general description of the checkpoint and restart facilities. The field description and field attributes mentioned in the presentation of fields for the DEFINE and REDEFINE commands are described in greater detail in Defining fields manually.

Commands are context sensitive

If not otherwise indicated, you can issue a command from within a procedure. However, some of the system control commands cannot be issued from within a procedure. If procedure specification is not permitted for an individual command, this is indicated in the command description.

You can issue most commands in either file or group context (that is, when the current default is either a file or a group). In some cases, as indicated in the descriptions of the commands, commands can be issued only in file context.

What Model 204 commands do

System control commands instruct Model 204 to perform specified operations. Unlike SOUL statements, which you must compile in Model 204 before you can run them, commands are executed immediately.

Commands as system interface

Commands provide the first system interface between users and Model 204. For example, at most installations, a user must issue a LOGIN command to establish communication Model 204.

To enter and run a SOUL request, first you must open a Model 204 file with the OPEN command and enter a BEGIN or MORE command. To invoke any of the Editor functions, you must enter an EDIT command. Commands also create files and groups, define procedures, and perform a wide variety of other functions.

Typical command operations

There are approximately one hundred Model 204 commands. The following list summarizes some representative operations that you can perform with these commands:

  • Logging in and out of Model 204
  • Creating files or groups
  • Defining or redefining the fields in a file
  • Opening and closing Model 204 files and groups
  • Defining procedures
  • Displaying file, group, record, and field information, procedure text, and access rights
  • Deleting groups, procedures, and fields
  • Protecting files and procedures from unauthorized access
  • Examining and resetting Model 204 parameters
  • Sending a message to the operator or to another user
  • Requesting system monitoring functions

Using the asterisk (*) for Model 204 command and SOUL comments

To form a comment, use the asterisk character as the first non-blank character, either in a line in a series of Model 204 commands or as a SOUL statement; both uses, with some interesting variations, are shown here:

OPEN MYPROCS *MYPXX1 * Preceding line is actual password - a good practice is to start all file passwords with an asterisk PROCEDURE BROWSE.RECS OPENC DATAFILE *DTFXX9 begin %arg is longstring * Get arguments from INCLUDE command: %arg = %(system):arguments:unspace IN DATAFILE fr where rectype = %arg * Note: if a comment line inside a SOUL request ends with a continuation - character (hyphen), the continued line is part of the comment print '* Record number:' and $currec ; * Recno can be useful for diagnostics pai end for end CLOSE DATAFILE END PROCEDURE

Within a SOUL statement, of course, an asterisk can be used for other purposes such as a pattern matcher in the ordered index:

find company.name is like 'ABC*'

or as the multiplication operator in an arithmetic expression.

Notes:

  • The "effective" LINEND value within the SOUL compiler is a semicolon, to enable a comment after a SOUL statement such as after the statement ending in $currec above. Also, the SIREDIT X'02' bit is very useful, since it will preserve these end-of-line comments without introducing a line break.
  • For "command comments" (that is, outside a SOUL request), it is usually safest to include a blank character after the *; in commands before the User 0 parameter line, you must include a blank after the *.
  • An asterisk is also used (without a following blank) as the beginning of non-published commands, such as *LOOK or *ZAP.
    Non-published commands are not documented for Model 204 because they are not intended for regular customer use, but you might at times be advised to use them by Technical Support.

Command level and user type

Using Model 204 commands requires understanding of the two basic concepts introduced in this section: command level and user type. Model 204 commands can be classified by the type of user that is allowed to issue them. This section differentiates the user types and lists the individual commands that each user type can issue.

Command level

System control commands are issued only from command level. You are at command level when Model 204 is waiting for input other than the following:

  • Editor command after an EDIT command has been issued
  • Response to a Model 204 prompt (for example, after a $READ prompt)

The text of a procedure can include system commands. Commands entered within a procedure are part of the procedure. They are not run until the procedure itself is run as a result of an INCLUDE or IF command.

User type

Model 204 commands can be classified by the type of user that is allowed to issue them. There are eight types of Model 204 users, and certain commands are restricted to one or more types of users or user functions. The different types of users are described in the following table:

User typeDescription
System manager Responsibilities include starting, halting, and monitoring Model 2  04, setting user priorities, entering passwords and privileges into the Model 204 password table, sending certain types of messages, creating and deleting permanent groups, and defining networks.
System administrator Issues certain system control commands such as those that monitor Model 204, set user priorities, suspend user processing, and maintain networks. A system administrator can be an operator or an aide to the system manager.
User 0 Has privileges similar to those of the system administrator.
File manager Designs files, defines fields in files, and monitors space usage in files. There might be many file managers at an installation.
Superuser Has the privileges of any user but can also create files.
User A user (also known as an "ordinary user") is any logged-in user. Any user can issue commands that do not change a file’s organization or affect general operations. Any user can open and close files, define procedures, examine and reset most parameters, and perform a variety of other operations.
Operator The system console operator.
Subsystem Can issue commands affecting Model 204 application subsystems. The privileges to issue these commands are defined in the individual subsystem.

Model 204 security determines whether a particular type of user is authorized to issue a particular command. For a complete list of the commands that each type of Model 204 user can issue, see Commands by user type.

Comparing user types

The user types shown in this section do not form a simple hierarchy. The table below shows the types of commands that each user type can issue.

Some of the user types shown correspond to user privilege bit settings that you can modify in the password table with the LOGCTL command. You can view user privilege bits with VIEW UPRIV.

Model 204 user types
Type of user Can issue these commands See...
System manager System manager
System administrator
Operator
User
LOGCTL X'08'
System administrator System administrator
Operator
User
LOGCTL X'40'
Operator Operator
User User
Superuser Superuser
User
LOGCTL X'80'
File manager File manager
User
LOGCTL and PRIVDEF
User 0 See Issuing User 0 commands
Subsystem Defined in the subsystem

Viewing lists of commands by user type

The Commands category contains subcategories listing the commands that each user type can issue:

Issuing User 0 commands

Model 204 CCAIN stream commands can be issued only by the user currently functioning as User 0. Which commands User 0 can issue depends on the setting of the system option parameter SYSOPT.

If the SYSOPT value requires login, that is, includes the 16 option (X'10'), the following commands can be issued in the CCAIN stream:

  • BROADCAST (for login message)
  • DEFINE STREAM (can be issued before the User 0 input line)
  • DEFINE DATASET (can be issued before the User 0 input line)
  • EOD
  • EOJ
  • HALT
  • REGENERATE
  • RESET (privileges depend on parameter being modified)
  • RESTART
  • *SLEEP

If the SYSOPT value does not require login, that is, does not include the 16 option (X'10'), and no User 0 login ID and password are present, User 0 by default has special superuser privileges and can issue all commands except those requiring system manager privileges.

The User 0 function is explained in Structure of CCAIN.

Command abbreviations

You can abbreviate to one or more characters the Model 204 commands in the table below.

Abbreviations are interchangeable with the complete command name.

Model 204 command abbreviations

Command Abbreviation
BEGIN B
DISPLAY D
EDIT E
INCLUDE I
MONITOR M
NEW PAGE N or NP
OPEN O
PROCEDURE PROC
REGENERATE REGEN
REORGANIZE REORG
RESET R
TIME T
USE U
VIEW V

IN: Specifying an IN clause in a command

You can specify an IN clause in any of the Model 204 commands to indicate the particular file or group to be manipulated by the command. IN overrides the current default file or group for the command in which it is specified. IN precedes the command in the form:

[IN [FILE | [PERM | TEMP] GROUP] name [AT location]] command

If neither FILE nor GROUP is specified, Model 204 searches for the specified name by examining open temporary groups, followed by open permanent groups, followed by open files. For example, suppose that the following is specified:

IN INVENTRY BEGIN

Model 204 looks first for a temporary group named INVENTRY to serve as the default for the request initiated by the BEGIN command. If a temporary group cannot be found, Model 204 looks for a permanent group named INVENTRY and then for a file.

See Reference context for more information about the IN clause.

Command descriptions

The command page contains alphabetical links to all system-level commands for Model 204.

The description of each command provides the following information:

  • Name and brief description of the command
  • Types of users who can use the command
  • Command’s function
  • Syntax diagram illustrating required and optional terms
  • Explanation of the terms in the syntax diagram
  • Syntax notes that provide rules and helpful hints for entry and execution
  • Examples
  • Usage notes that provide further explanation about how to use the command