Overview of Model 204 commands: Difference between revisions

From m204wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page describes the syntax of all Model 204 control commands. The [[List of Model 204 commands|commands]] page provides an alphabetical listing of links to the command descriptions.  
This page describes the syntax of all Model 204 control commands. The [[List of Model 204 commands|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.
In general, all the information necessary to issue and use a command is included in the command description.


===Cross-referencing other Model 204 documentation===
===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, <var>CHECKPOINT</var>, <var>CHKABORT</var>, and <var>CHKMSG</var>, can be supplemented by the general description of the [[Checkpoints: Storing before-images of changed pages|checkpoint]] and [[System and media recovery#RESTART recovery considerations for sub-transaction checkpoints|restart]] facilities. The field description and field attributes mentioned in the presentation of fields for the <var>[[DEFINE command|DEFINE]]</var> and <var>[[REDEFINE command|REDEFINE]]</var> commands are described in greater detail in [[Defining fields manually]].
Many commands are best understood in the context of more global concepts introduced in other Model&nbsp;204 documentation pages. For example, the description of the checkpoint commands, <var>CHECKPOINT</var>, <var>CHKABORT</var>, and <var>CHKMSG</var>, can be supplemented by the general description of the [[Checkpoints: Storing before-images of changed pages|checkpoint]] and [[System and media recovery#RESTART recovery considerations for sub-transaction checkpoints|restart]] facilities. The field description and field attributes mentioned in the presentation of fields for the <var>[[DEFINE command|DEFINE]]</var> and <var>[[REDEFINE command|REDEFINE]]</var> commands are described in greater detail in [[Defining fields manually]].


===Commands are context sensitive===
===Commands are context sensitive===
Line 12: Line 12:


==What Model 204 commands do==
==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.
System control commands instruct Model 204 to perform specified operations. Unlike SOUL statements, which you must compile in Model&nbsp;204 before you can run them, commands are executed immediately.


===Commands as system interface===
===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 <var>LOGIN</var> command to establish communication Model&nbsp;204.
Commands provide the first system interface between users and Model&nbsp;204. For example, at most installations, a user must issue a <var>LOGIN</var> command to establish communication Model&nbsp;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.
To enter and run a SOUL request, first you must open a Model&nbsp;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===
===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:
There are approximately one hundred Model&nbsp;204 commands. The following list summarizes some representative operations that you can perform with these commands:
<ul>
<ul>
<li>Logging in and out of Model 204</li>
<li>Logging in and out of Model 204</li>
Line 35: Line 35:
</ul>
</ul>


<div id="commentLines"></div>
===<b id="commentLines"></b>Using the asterisk (*) for Model 204 command and SOUL comments===
===Using the asterisk (*) for Model 204 command and SOUL comments===
<!--Caution: <div> above-->
 
To form a comment, use the asterisk character as the first non-blank character, either in a line in a series of <var class="product">Model 204</var> commands or as a SOUL statement; both uses, with some interesting variations, are shown here:
To form a comment, use the asterisk character as the first non-blank character, either in a line in a series of <var class="product">Model 204</var> commands or as a SOUL statement; both uses, with some interesting variations, are shown here:
<p class="code"><nowiki>OPEN MYPROCS
<p class="code" style="font-size:90%"><nowiki>OPEN MYPROCS
*MYPXX1
*MYPXX1
   * Preceding line is actual password - a good practice is to start all file passwords with an asterisk
   * Preceding line is actual password - a good practice is to start all file passwords with an asterisk
Line 70: Line 67:
<li>The "effective" <var>[[LINEND parameter|LINEND]]</var> value within the SOUL compiler is a semicolon, to enable a comment after a SOUL statement such as after the statement ending in <code>$currec</code> above.  Also, the <var>[[SIREDIT parameter|SIREDIT]]</var> X'02' bit is very useful, since it will preserve these end-of-line comments without introducing a line break.</li>
<li>The "effective" <var>[[LINEND parameter|LINEND]]</var> value within the SOUL compiler is a semicolon, to enable a comment after a SOUL statement such as after the statement ending in <code>$currec</code> above.  Also, the <var>[[SIREDIT parameter|SIREDIT]]</var> X'02' bit is very useful, since it will preserve these end-of-line comments without introducing a line break.</li>


<li>For "command comments" (that is, outside a SOUL request), it is usually safest to include a blank character after the <code>*</code>; in [[Pre-user 0 commands|commands before the user 0 parameter line]], you <b>must</b> include a blank after the <code>*</code>.</li>
<li>For "command comments" (that is, outside a SOUL request), it is usually safest to include a blank character after the <code>*</code>; in [[Pre-user 0 commands|commands before the User 0 parameter line]], you <b>must</b> include a blank after the <code>*</code>.</li>


<li id="look">An asterisk is also used (without a following blank) as the beginning of non-published commands, such as <var>*LOOK</var> or <var>*ZAP</var>. <br/>
<li id="look">An asterisk is also used (without a following blank) as the beginning of non-published commands, such as <var>*LOOK</var> or <var>*ZAP</var>. <br/>
Non-published commands are not documented for Model 204 because they are not intended
Non-published commands are not documented for Model&nbsp;204 because they are not intended
for regular customer use, but you might at times be advised to use them by [[Contacting Rocket Software Technical Support]].</li>
for regular customer use, but you might at times be advised to use them by [[Contacting Rocket Software Technical Support|Technical Support]].</li>
</ul>
</ul>
</blockquote>
</blockquote>


==Command level and user type==
==Command level and user type==
Using Model 204 commands requires understanding of the two basic concepts introduced in
Using Model 204 commands requires understanding of the two basic concepts introduced in this section: command level and user type.
this section: command level and user type.
Model&nbsp;204 commands can be classified by the type of user that is allowed to issue them. This
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
section differentiates the user types and lists the individual commands that each user type
can issue.
can issue.


===Command level===
===Command level===
System control commands are issued only from command level. You are at command level
System control commands are issued only from command level. You are at command level when Model&nbsp;204 is waiting for input other than the following:
when Model 204 is waiting for input other than the following:
<ul>
<ul>
<li>Editor command after an EDIT command has been issued</li>
<li>Editor command after an EDIT command has been issued</li>
Line 97: Line 92:
Model 204 commands can be classified by the type of user that is allowed to issue them. There
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
are eight types of Model 204 users, and certain commands are restricted to one or more types of
users or user functions. The functions of the different types of users are:
users or user functions. The different types of users are described in the following table:  
<ul>
 
<li>The system manager’s responsibilities include starting, halting, and monitoring Model 204,
<table>
setting user priorities, entering passwords and privileges into the Model 204 password table,
<tr class="head"><th>User type</th><th>Description</th>
sending certain types of messages, creating and deleting permanent groups, and defining
<tr><td nowrap>System manager</td> <td>Responsibilities include starting, halting, and monitoring Model 2 &nbsp;04, setting user priorities, entering passwords and privileges into the Model&nbsp;204 password table, sending certain types of messages, creating and deleting permanent groups, and defining networks.</td></tr>
networks.</li>
 
<li>The system administrator, who can be an operator or an aide to the system manager, is
<tr><td nowrap>System administrator</td> <td>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.</td></tr>
allowed to issue certain system manager commands that monitor Model 204, set user
 
priorities, suspend user processing, and maintain networks.</li>
<tr><td>User 0</td> <td>Has privileges similar to those of the system administrator.</td></tr>


<li>User 0’s privileges are similar to those of the system administrator.</li>
<tr><td>File manager</td> <td>Designs files, defines fields in files, and monitors space usage in files. There might be many file managers at an installation.</td></tr>


<li>The file manager is responsible for designing files, defining fields in files, and monitoring
<tr><td>Superuser</td> <td>Has the privileges of any user but can also create files.</td></tr>
space usage in files. There might be many file managers at an installation.</li>


<li>The superuser has the privileges of any user but can also create files.</li>
<tr><td>User</td> <td>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.</td>


<li>An ordinary user is any logged-in user. Any user can issue commands that do not change
<tr><td>Operator</td> <td>The system console operator.</td></tr>
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.</li>


<li>The operator commands are the commands that the system console operator can issue.</li>
<tr><td>Subsystem</td> <td>Can issue commands affecting Model 204 application subsystems. The privileges to issue these commands are defined in the individual subsystem.</td></tr>
</table>


<li>Subsystem commands affect Model 204 application subsystems. The privileges to issue these
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
commands are defined in the individual subsystem.</li>
</ul>
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 [[Overview of Model 204 commands#Commands by user type|Commands by user type]].
issue, see [[Overview of Model 204 commands#Commands by user type|Commands by user type]].


===Comparing user types===
===Comparing user types===
The user types shown in this section do not form a simple hierarchy. The table below shows the
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.  
types of commands that each user type can issue.  


<p>Some of the user types shown correspond to user privilege bit settings that you can modify in the password table with the <var>LOGCTL</var> command. You can view user privilege bits with [[VIEW command|VIEW UPRIV]].</p>
<p>Some of the user types shown correspond to user privilege bit settings that you can modify in the password table with the <var>LOGCTL</var> command. You can view user privilege bits with [[VIEW command|VIEW UPRIV]].</p>


<b>Model 204 user types</b>
<table>
<table>
<caption>Model 204 user types</caption>
<tr class="head"><th>Type of user</th> <th>Can issue these commands</th> <th>See...</th></tr>
<tr class="head"><th>Type of user</th> <th>Can issue these commands</th> <th>See...</th></tr>


<tr><td>System manager</td> <td>System manager <br>System administrator <br>Operator <br>Ordinary user</td> <td>[[LOGCTL_command:_Modifying_user_ID_entries_in_the_password_table|LOGCTL]] X'08'</td></tr>
<tr><td>System manager</td> <td>System manager <br>System administrator <br>Operator <br>User</td> <td>[[LOGCTL command: Modifying_ user ID entries in the password table|LOGCTL]] X'08'</td></tr>


<tr><td>System administrator</td> <td>System administrator <br>Operator<br>
<tr><td>System administrator</td> <td>System administrator <br>Operator<br>
Ordinary user</td> <td>[[LOGCTL_command:_Modifying_user_ID_entries_in_the_password_table|LOGCTL]] X'40'</td></tr>
User</td> <td>[[LOGCTL command: Modifying user ID entries in the password table|LOGCTL]] X'40'</td></tr>


<tr><td>Operator</td> <td>Operator</td></tr>
<tr><td>Operator</td> <td>Operator</td></tr>


<tr><td>Ordinary user</td> <td>Ordinary user</td></tr>
<tr><td>User</td> <td>User</td></tr>


<tr><td>Superuser</td> <td>Superuser <br>Ordinary user</td> <td>[[LOGCTL_command:_Modifying_user_ID_entries_in_the_password_table|LOGCTL]] X'80'</td></tr>
<tr><td>Superuser</td> <td>Superuser <br>User</td> <td>[[LOGCTL command: Modifying user ID entries in the password table|LOGCTL]] X'80'</td></tr>


<tr><td>File manager</td> <td>File manager <br>Ordinary user</td> <td>[[LOGCTL_command:_Modifying_file_entries_in_the_password_table|LOGCTL]] and [[PRIVDEF_parameter|PRIVDEF]]</td></tr>
<tr><td>File manager</td> <td>File manager <br>User</td> <td>[[LOGCTL command: Modifying file entries in the password table|LOGCTL]] and [[PRIVDEF parameter|PRIVDEF]]</td></tr>


<tr><td>User 0</td> <td>See [[Overview_of_Model_204_commands#Issuing_User_0_commands|Issuing User 0 commands]]</td></tr>
<tr><td>User 0</td> <td>See [[Overview of Model 204 commands#Issuing User 0 commands|Issuing User 0 commands]]</td></tr>


<tr><td>Subsystem</td> <td>Defined in the subsystem</td></tr>
<tr><td>Subsystem</td> <td>Defined in the subsystem</td></tr>
</table>
</table>
===Viewing lists of commands by user type===
The [[:Category:Commands|Commands]] category contains subcategories listing the commands that each user type can issue:
<ul>
<li>[[:Category:System manager commands|System manager commands]]</li>
<li>[[:Category:System administrator commands|System administrator commands]]</li>
<li>[[:Category:Operator commands|Operator commands]]</li>
<li>[[:Category:User commands|User commands]]</li>
<li>[[:Category:Superuser commands|Superuser commands]]</li>
<li>[[:Category:File manager commands|File manager commands]]</li>
<li>[[:Category:Subsystem commands|Subsystem commands]]</li>
</ul>


==Issuing User 0 commands==
==Issuing User 0 commands==
Line 160: Line 161:
parameter <var>SYSOPT</var>.
parameter <var>SYSOPT</var>.


If the SYSOPT value requires login, that is, includes the 16 option (X‘10’), the following
If the SYSOPT value requires login, that is, includes the 16 option (X'10'), the following
commands can be issued in the CCAIN stream:
commands can be issued in the CCAIN stream:
<ul>
<ul>
Line 174: Line 175:
<li>*SLEEP</li>
<li>*SLEEP</li>
</ul>
</ul>
If the <var>SYSOPT</var> 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.
If the <var>SYSOPT</var> 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 [[Defining the runtime environment (CCAIN)#Structure of CCAIN|Structure of CCAIN]].
The User 0 function is explained in [[Defining the runtime environment (CCAIN)#Structure of CCAIN|Structure of CCAIN]].
===Commands by user type===
Commands are listed below by the user type that is generally allowed to issue them.
====System manager commands====
<table>
<tr><td>AUTHCTL</td> <td>IFAMOPEN</td></tr>
<tr><td>CHKABORT</td> <td>IFAMSTART</td></tr>
<tr><td>CLOSE LINK</td> <td>LOGCTL</td></tr>
<tr><td>CREATE (PERM GROUP)</td> <td>LOGFILE</td></tr>
<tr><td>CREATEG (User 0 only)</td> <td>LOGGRP</td></tr>
<tr><td>DEFINE (STREAM)</td> <td>LOGKEY</td></tr>
<tr><td>DELETE (PERM GROUP)</td> <td>LOGLST</td></tr>
<tr><td>DEFINE (LINK)</td> <td>MODIFY</td></tr>
<tr><td>DEFINE (PROCESS)</td> <td>OFFLOAD</td></tr>
<tr><td>DEFINE (PROCESSGROUP)</td> <td>OPEN LINK</td></tr>
<tr><td>DUMPG</td> <td>RESTOREG</td></tr>
<tr><td>EOD</td> <td>START (LINK)</td></tr>
<tr><td>EOJ</td> <td>STOP</td></tr>
<tr><td>IFAMCLOSE</td> <td>TMASKUPDATE</td></tr>
<tr><td>IFAMDRAIN</td> <td>VTAMOFF</td></tr>
<tr><td>IFAMFORCE</td> <td>VTAMON</td></tr>
<tr><td>IFAMHALT</td> </tr>
</table>
====System administrator commands====
<table>
<tr><td>ALLOCATE</td> <td>MONITOR</td></tr>
<tr><td>BROADCAST</td> <td>MSGCTL</td></tr>
<tr><td>BUMP</td> <td>OPEN (LINK)</td></tr>
<tr><td>COPY</td> <td>PRIORITY</td></tr>
<tr><td>DEFINE (DATASET)</td> <td>REACTIVATE</td></tr>
<tr><td>DEFINE (PRINTER)</td> <td>*SLEEP</td></tr>
<tr><td>DEFINE (PROCESS)</td> <td>*SNAP</td></tr>
<tr><td>DEFINE (PUNCH)</td> <td>START (FILE/GROUP)</td></tr>
<tr><td>DISPLAY (EW)</td> <td>START (LINK/PROCESSGROUP)</td></tr>
<tr><td>ENQCTL</td> <td>STATUS (FILE)</td></tr>
<tr><td>FREE</td> <td>STOP (FILE/GROUP)</td></tr>
<tr><td>IFAMSTAT</td> <td>STOP (LINK/PROCESSGROUP)</td></tr>
<tr><td>LOGWHO</td> <td>VIEW (ERRORS)</td></tr>
<tr><td>MODIFY</td> <td>WARN</td></tr>
</table>
====Operator commands====
<table>
<tr><td>BROADCAST</td> <td>REACTIVATE</td></tr>
<tr><td>BUMP</td> <td>*SNAP</td></tr>
<tr><td>ENQCTL</td> <td>STATUS</td></tr>
<tr><td>MSG</td> <td>VTAMOFF/VTAMON</td></tr>
<tr><td>OFFLOAD</td> <td>WARN</td></tr>
<tr><td>PRIORITY</td></tr>
</table>
====Ordinary user commands====
<table>
<tr><td>ALLOCATE (with ALOCPRIV)</td> <td>LOGIN</td></tr>
<tr><td>ASSIGN</td> <td>LOGOFF</td></tr>
<tr><td>BEGIN</td> <td>LOGON</td></tr>
<tr><td>CHECKPOINT</td> <td>LOGOUT</td></tr>
<tr><td>CHKMSG</td> <td>*LOWER</td></tr>
<tr><td>CLEARG</td> <td>MORE</td></tr>
<tr><td>CLEARGO</td> <td>M204APND</td></tr>
<tr><td>CLOSE</td> <td>M204CMS</td></tr>
<tr><td>COPY</td> <td>PROCEDURE M204FDEF</td></tr>
<tr><td>CREATE (TEMP GROUP)</td> <td>M204LDEF</td></tr>
<tr><td>DEASSIGN</td> <td>M204SQSH</td></tr>
<tr><td>DEBUG</td> <td>M204UTIL</td></tr>
<tr><td>DEFAULT</td> <td>M204XFER</td></tr>
<tr><td>DEFINE (FIELD)</td> <td>NEW PAGE</td></tr>
<tr><td>DELETE (PROCEDURE)</td> <td>OPEN</td></tr>
<tr><td>DELETE (TEMP GROUP)</td> <td>OPENC</td></tr>
<tr><td>DISCONNECT</td> <td>PROCEDURE</td></tr>
<tr><td>DISPLAY (FIELD)</td> <td>SETGRC</td></tr>
<tr><td>DISPLAY (FILE)</td> <td>STATUS (to list user IDs)</td></tr>
<tr><td>DISPLAY (GROUP)</td> <td>TIME</td></tr>
<tr><td>DISPLAY (PROCEDURE TEXT)</td> <td>*UPPER</td></tr>
<tr><td>DISPLAY (RECORD)</td> <td>USE</td></tr>
<tr><td>EDIT</td> <td>UTABLE</td></tr>
<tr><td>IF</td> <td>VIEW (except for ERRORS)</td></tr>
<tr><td>INCLUDE</td> <td>XREF</td></tr>
</table>
====Superuser commands====
CREATE (FILE)
====File manager commands====
<table>
<tr><td>BROADCAST (FILE)</td> <td>REDEFINE</td></tr>
<tr><td>DECREASE</td> <td>RENAME</td></tr>
<tr><td>DELETE (FIELD)</td> <td>REORGANIZE</td></tr>
<tr><td>DESECURE</td> <td>RESTORE</td></tr>
<tr><td>DISPLAY (PROC PRIVILEGES)</td> <td>SECURE</td></tr>
<tr><td>DUMP</td> <td>TABLEB</td></tr>
<tr><td>FILELOAD (User 0 only)</td> <td>TABLEC</td></tr>
<tr><td>INCREASE</td> <td>TRANSFORM</td></tr>
<tr><td>INITIALIZE</td> <td>Z (User 0 only)</td></tr>
</table>
====User 0 commands====
See [[Overview_of_Model_204_commands#Issuing_User_0_commands|Issuing User 0 commands]].
====Subsystem commands====
START SUBSYSTEM <br>
STOP SUBSYSTEM <br>
TEST SUBSYSTEM


==Command abbreviations==
==Command abbreviations==
You can abbreviate to one or more characters the Model 204 commands in the table below.
You can abbreviate to one or more characters the Model&nbsp;204 commands in the table below.


Abbreviations <b>are</b> interchangeable with the complete command name.  
Abbreviations <b>are</b> interchangeable with the complete command name.  
Line 290: Line 186:
===Model 204 command abbreviations===
===Model 204 command abbreviations===
<table>
<table>
<tr><th>Command</th> <th>Abbreviation</th></tr>
<tr class="head"><th>Command</th> <th>Abbreviation</th></tr>
<tr><td>BEGIN</td> <td>B</td></tr>
<tr><td>BEGIN</td> <td>B</td></tr>
<tr><td>DISPLAY</td> <td>D</td></tr>
<tr><td>DISPLAY</td> <td>D</td></tr>
Line 307: Line 203:
</table>
</table>


==IN: Specifying an IN clause in a command==
==<b id="inClause"></b>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
You can specify an IN clause in any of the Model&nbsp;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
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:
command in which it is specified. IN precedes the command in the form:
<p class="code">[IN [FILE | [PERM | TEMP] GROUP] <var class="term">name</var> [AT <var class="term">location</var>]] <var class="term">command</var></p>
<p class="code">[IN [FILE | [PERM | TEMP] GROUP] <var class="term">name</var> [AT <var class="term">location</var>]] <var class="term">command</var></p>


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


<p class="code">IN INVENTRY BEGIN</p>
<p class="code">IN INVENTRY BEGIN</p>
Model 204 looks first for a temporary group named INVENTRY to serve as the default for the
Model&nbsp;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
request initiated by the BEGIN command. If a temporary group cannot be found, Model&nbsp;204
looks for a permanent group named INVENTRY and then for a file.
looks for a permanent group named INVENTRY and then for a file.


Line 325: Line 220:


==Command descriptions==
==Command descriptions==
The [[List of Model 204 commands|command page]] contains alphabetical links to all system-level commands for Model 204.
The [[List of Model&nbsp;204 commands|command page]] contains alphabetical links to all system-level commands for Model&nbsp;204.


The description of each command provides the following information:
The description of each command provides the following information:

Latest revision as of 14:14, 21 February 2019

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