| United States-English |
|
|
|
![]() |
MPE/iX Commands Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 12 Command List XCommands SAVE thru SHUTQ |
|
Saves a file in the permanent system file domain.
The SAVE command saves a temporary file by converting it to a permanent file in the system file domain. This command is necessary when the subsystem or program that created your file does not allow you to save it while the program is executing. You must specify a new filename for $OLDPASS, because MPE/iX does not allow $OLDPASS as a permanent file name. If there is a file in the temporary domain with the same name specified by newfilereference, MPE/iX attempts to save $OLDPASS by creating a new temporary file. This temporary file name, created by SAVE, starts with S and is followed by seven digits: Sdddhhmm, where ddd is the Julian day of the year, hh is the hour of the day, and mm is the minute. The new temporary file is then saved under the file name specified by newfilereference, and is deleted from the temporary domain. If both temporary and permanent files exist under the same name specified by newfilereference, the temporary SAVE file is saved as a permanent file. In this case, a printed error message states the file name for the new SAVE file. It can be renamed later using the RENAME command. This command applies only to temporary files on disk. It is similar to opening a file with the FOPEN intrinsic, and then closing it with the FCLOSE intrinsic, using a permanent file disposition. Use the SAVE command to save KSAM XL files. Since the KSAMUTIL utility is not supported for KSAM XL, the SAVE command is the only method of doing so. This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command. To save the temporary file $OLDPASS, containing an object program, to the program file PROGFILE, enter:
To save the temporary file TEMPFL as a permanent file with the same name, enter:
To save the temporary file DATAFILE in the group GROUPX, enter:
To save a temporary file (other than $OLDPASS) and change its name, use the SAVE and RENAME commands. Only the logon group and account directories in the current session are searched, for example:
Reinstates all file security provisions that you previously suspended with the RELEASE command.
You can enter this command from a session, a job, a program, or in break mode. Pressing Break does not affect this command. Starts the MPE segmenter.
This command starts the segmenter subsystem from MPE/iX. The segmenter subsystem performs the intermediate functions between source code compilation and program execution. The segmenter employs temporary files named T999SYM, SEGTMP01, and SEGTMP00. If you create temporary files with these names, the segmenter attempts to purge them. You must have READ and LOCK access to use a relocatable library with the SEGMENTER command. This command may be issued from a session or a job. It may not be issued in BREAK or from a program, unless the user or the MPE segmenter has process handling (PH) capability. Pressing Break suspends the execution of this command. Entering the RESUME command continues the execution. To call the MPE segmenter from a session and transmit the output to a line printer instead of the standard list device, enter:
Defines elements of the command interpreter. It also allows a job using a spooled $STDLIST to mark its standard list device for deletion when the job terminates. (Native Mode)
The SET command specifies several elements of the command interpreter including the terminal echo and baud rate. In a job, the SET command can be placed anywhere between the JOB and EOJ statements. It is most practical to place it at
the end of a job stream since the command does not execute if the
job fails. $STDLIST then prints, allowing you to study your listing
and to locate the problem. The effect of a SET This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command. The following example illustrates using the SET command from within a program:
Catalogs, or enables, the user-defined commands (UDCs) in a specified catalog file at the user, account, or system level. You can also use this command to disable all UDCs on the system. (Native Mode)
The SETCATALOG command allows you to catalog user-defined commands. When you set your own UDCs, the change takes place in your UDC catalog immediately. If you specify the ACCOUNT or SYSTEM parameter, your UDC catalog is changed immediately, but other users in your account or system must log on again in order to have those changes available to them. If you set a UDC and specify another user (USER=), that user must log on again in order to have the changes available. The ability to delete or append files is particularly useful because, although most UDC files do not change, new UDC commands are frequently added or modified. Using the DELETE or APPEND parameter allows you to make changes without incurring the overhead of recataloging the entire directory for every change. Grouping UDC files into functions further reduces the work involved in modifying UDCs. The RECURSION option relieves the user of having to define a particular command more than once in a catalog set, and from having to maintain a particular order for commands within a catalog set. Refer to the discussion on options in "User Commands" in Using the HP 3000 Series 900: Advanced Skills. If SETCATALOG is used in a UDC, all valid commands through and including the SETCATALOG command execute. But execution of the UDC terminates after the execution of the SETCATALOG command. Commands that follow do not execute. The SETCATALOG command does not have this effect when executed in a command file. The SETCATALOG command may be invoked only from the logon command interpreter (user main), where it is passed through the scanner/parser. . It cannot be invoked from any other program (any child process). This command is available in a session, job, or in BREAK. It is not available from a program. Pressing Break has no effect on this command. The following command sets the UDC directory for the user JOHN.WORKERS with the commands in the file named UDCA. The USER option cannot be specified with the ACCOUNT or SYSTEM options. Attempting to do so produces an error.
The following two command sequences are equivalent:
In the first example, the command has an implied RESET, and thus overwrites the previous file set in the directory. In the second example, UDCA is entered into the directory, and then UDCB is appended to the directory without affecting UDCA. It also finds new logon commands if appropriate. The following command deletes UDCA from the directory at the account level, provided it was cataloged at the account level. If other account-level UDCs reside in the directory along with UDCA, they remain undisturbed by this deletion. When appropriate, a new logon UDC is set up.
Alters the system time or system time zone.
The SETCLOCK command is used to change the system time or to change the system's time zone. Changing the system time or time zone does not affect any interval timers in effect. Thus, a PAUSE for a given time duration will maintain that same duration regardless of how the system time is changed. Changing the system time or time zone will cause any jobs streamed with a time specification (;AT=, ;DAY=, ;DATE= or ;IN=) to be introduced in accordance with the newly-changed system time. Thus, a job streamed with ;AT=9:00 will be introduced when the changed system time is equal to 9:00. The user may provide SETCLOCK with a date and time, a time correction, or a time zone. The Date-Time form, the Correction form, and the Time Zone form are mutually exclusive; for instance, the user may not provide specifications for both a time correction and a time zone in a single command. The Date-Time and Correction forms of the command are intended for slight adjustments of the system time. For example, these forms would be used to move the time forward or backward slightly in order to keep the system time synchronized with an external time source. Both local and Universal (GMT) time are adjusted. The Time Zone form of the command is intended for the larger time changes required to move the system to a new time zone, such as moving between Standard Time and Daylight Savings Time. This form of the command alters the local time without changing Universal Time. Date-Time: If the Date-Time form of the command is used, the system time is adjusted to the specified date and time. This adjustment is gradual by default. It may be made immediate if ;NOW is specified and the user has System Manager (SM) capability. Correction: If the Correction form of the command is used, the system time is adjusted forward or backward by the amount of the correction. This adjustment is always gradual. Time Zone: If the Time Zone form is used, local time is adjusted to match that of the specified time zone. In addition, the system time zone offset is changed to reflect the new time zone. The Use of The Time Zone Offset On the HP3000 Universal Time (GMT) is calculated by starting with local time and adding or subtracting a time zone offset. When changing time zones (such as moving from Standard to Daylight Savings Time and back) the local time is altered, but this change must not affect Universal Time. To prevent Universal Time from being altered, both the local time and the system time zone offset must be adjusted. Therefore, using the Time Zone form of this command is the only way to accurately change time zones. If the Date-Time or Correction form of the command is used, Universal Time will drift along with local time. Thus, the Date-Time and Correction forms of this command should only be used to adjust the clock for drift, not to change time zones. Results of the Time Zone Form
This method of changing time zones ensures that no out-of-sequence time stamps will occur either in local time or in Universal Time. How a Gradual Time Change Works Whether the Date-Time or a Correction form is used, the default method of changing the time is to gradually speed up or slow down the system clock until the change is achieved. Thus, even when a previous time is requested, the system clock will still move forward, although at a slower pace than real time. This slower pace will continue until the desired time "catches up" with the system clock. Because of the system clock's forward motion, there will never be a case where two consecutive timestamps appear to be out of sequence and where system time appears to run backwards. This change in clock speed is accomplished by establishing a system time correction which is gradually consumed. During this time the system clock speeds up or slows down as necessary. When the correction reaches zero, the system clock resumes its normal pace. The rate of the correction depends on the load on the system. The correction rate will be slowed down by frequent timestamp requests, file accesses and frequent operating system activity such as context switches. In general, the correction will take no longer than twice the requested time difference. For example, a request to slow down the clock by one hour will take a maximum of two hours to complete. Results of the ;CANCEL Parameter Any time during an on-going correction, issuing this command with the ;CANCEL parameter will immediately set the correction to zero and cause the system clock to resume its normal pace. Any previous correction will remain. When this option is used, the system will report the amount of correction which was cancelled. How a System Time Change Affects Accounting Information Changing the system time, even gradually, may cause accounting CONNECT-MINUTES to be distorted. Anyone logging on before the change and then logging off after the change is completed will have their accounting CONNECT-MINUTES data distorted; if the time change is forward, CONNECT-MINUTES will be increased by the amount of the time change, and if the time change is backward, CONNECT-MINUTES will be decreased by the amount of the time change. Dangers in Using the ;NOW Parameter The ;NOW parameter permits immediate forward or backward time changes. However, several dangerous situations can occur:
This list is only meant to include a few of the dangers associated with an immediate time change; this list does not represent all of the problems likely to be encountered. Therefore, if the ;NOW option must be used, it should be used only with a full knowledge of its effects on the system's workload. This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command. Diagnostician (DI) and either Operator (OP) or System Manager (SM) capabilities are required to issue this command. Additionally, System Manager (SM) capabiltiy is required to use the ;NOW parameter. The following example illustrates setting the system time by providing a date and time:
The following example illustrates providing a time correction to advance the system time by one hour.
or
Both of the above examples cause Universal Time (GMT) to change as well as local time, and therefore while they are useful in correcting the system time for drift (time gain or loss), they are not accurate ways to change time zones. The following example illustrates setting a time correction, executing a SHOWCLOCK command, cancelling the correction, then again executing a SHOWCLOCK command. Note that by the time of the first SHOWCLOCK the correction has already begun to be consumed.
Note that in the example above the system clock was slower than normal for several minutes. Cancelling the correction did not undo that change; it merely prevented any further time change. Thus after this sequence of commands, the system clock is set to a slightly earlier time than if no SETCLOCK command had been issued. Moving from Standard Time to Daylight Savings Time: The following example illustrates changing the system time zone offset from 8 hours 00 minutes in the Western Hemisphere (Pacific Standard Time) to 7 hours 00 minutes in the Western Hemisphere (Pacific Daylight Savings Time). This command will cause local time to jump forward immediately one hour. Universal Time will be unchanged.
Moving from Daylight Savings Time to Standard Time: The following example illustrates changing the system time zone offset from 7 hours 00 minutes in the Western Hemisphere (Pacific Daylight Savings Time) back to 8 hours 00 minutes in the Western Hemisphere (Pacific Standard Time). This command will cause local time to slow down until it loses one hour. Users of Universal Time will see an immediate one-hour jump forward, followed by a slowdown until system Univeral Time again matches real Universal Time.
Sets the next value of a specified resource counter, and optionally enables automatic rollback when a specified limit is reached. Duplicate values are avoided.
The SETCOUNTER command allows you to specify limits other than 1 and the maximum possible value of one of four counters (but within that range) You may set limits for one counter with each use of the command and, therefore, you must invoke the command four times to change the limits of all four coutners. You may also use SETCOUNTER to display the current values of the counters. Only one invocation of the command is necessary to see all current values. To set a maximum operating value for the specified counter and enable its operation, enter a positive value for the MAX keyword. Specify MAX=0 to disable the operation, that is, the counter's limit is then its maximum possible value. Omitting MAX leaves its previous value in force. Once MAX is reached, the next value tried is the BASE value. If you specify a non-zero value for MAX, it must be greater than the current BASE for the corresponding counter, but less than the maximum possible value The BASE keyword causes the specified counter to be immediately yanked to the specified value. If you supply a value, it must be less than the supplied or current value of MAX (other than 0), and in any case, less than the maximum possible value. If you do not specify BASE, it is not changed, nor is current sequencing affected. For each counter, duplicate values are avoided. For example, if #O10 is in use when due to be assigned as the next output spoolid, it is skipped and #O11 is tried. This process continues until an available value is found. The defaults, established when the system is booted, are MAX=0 and BASE=1. This is for backward compatibility; if these settings are not changed, the system will operate as it does today. These boot time settings can be modified by including one or more instances of this command in SYSSTART.PUB.SYS. The SHOW option can be used alone to display the current values of BASE and MAX for a specified counter or for all four counters. If used in addition to either BASE or MAX, the value(s) displayed are the new setting(s). This command may be issued from a session, job, program, or in Break. Any display specified by the SHOW option is breakable, but command operation is not. Any user may execute this command with only the SHOW option to display current values of BASE, Next, and MAX for the specified counter (or all counters if none is specified). When changing either value, this command may be executed only:
To display the current BASE, Next, MAX, and maximum possible values for all four counters, enter:
To limit input spoolids to the same range as their corresponding jobs, enter:
Arms the system debug facility for a process abort. (Native Mode)
This command enables the stackdump facility for any process created later under the current session or job. If the call is armed (enabled), and the process aborts, SETDUMP executes the system debug commands given in the "commands" parameter. If no commands are specified, a default command string is used to produce a stacktrace and register dump. If the process is interactive, it subsequently enters the system debugger to wait for further commands. If it is not interactive, the process simply terminates instead of entering the debugger. Any combination of the four strings (DB, ST, QS, or ASCII) is parsed without error in MPE/iX, but they have no effect on the functional behavior of the commands. The "commands" string, preceded by the DEBUG keyword, is interpreted as a series of system debug commands and is sent to the system debugger that way. The "commands" parameter may contain a maximum of 255 characters.
This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command. Creates or assigns a value to a job control word (JCW) variable.
A job control word (JCW) is a flag that allows information to be passed between processes within a single job or session. There are three forms of JCWs: system-defined, user-defined, and system-reserved. Job control words in MPE/iX are classed as system variables of type JCW. You may delete user-created variables. You may modify the two system-defined variables CIERROR and JCW. Refer to appendix A, "Predefined Variables in MPE/iX," for a list of system-defined variables. The SETVAR command creates and assigns variables too, but variables created or assigned with SETVAR are not of type JCW and cannot function as true job control words. If you create or assign a value to a variable using the SETJCW command and later reassign its value using the SETVAR command, the reassignment succeeds. If the new value is out of range for a JCW, the variable type is changed to that of an ordinary user-defined variable:
PROGCNTR is now a user-defined variable and does not function as a job control word. JCWs can be tested against specific values. The user can use IF and WHILE conditional statements that act according to the results of these tests. The user-defined JCWs can also be set to user-selected values by a process so that they reflect the completion of steps within that process. System-defined JCWs can be used to determine whether certain events have occurred within MPE/iX. The values in the system-reserved JCWs can be inspected by the user, but not altered. To display the contents of a JCW use the SHOWJCW or the SHOWVAR command. JCW Values and Mnemonics JCWs may be assigned any positive integer value between 0 and 65,535 inclusive (%0 and %177777). These values are treated as 16-bit unsigned integers by MPE/iX, since all 16 bits are used for numeric information, rather than using the most significant bit as a sign bit. MPE/iX treats the two most significant bits of a JCW in a special way: the bits define "bases" or "steps" of 16K each. Each of these steps is given a mnemonic to simplify references to it or to the numbers between steps. If the 14 least significant bits are considered to be zeros, the two "step" bits, step value (in decimal), and mnemonic have the following relationship: Table 12-1 JCW Values and Mnemonics
It is important to remember that these mnemonics are not the names of JCWs. They cannot be used as user-defined JCW names. You may use a combination of mnemonics and numbers to indicate numeric values between steps. If you specify a mnemonic and a number with no intervening spaces, an implied addition takes place. For example, WARN3 has a value of 16,387, since it is WARN (16,384) plus 3. The value of the mnemonic plus the appended number value may not exceed 65,535. Again, no valid value of the form, mnemonic[number], may be used as a valid user-defined jcwname. An explicit addition or subtraction can also be specified, using a + or - sign, as in OK+7 (7) or WARN-4 (16,380). A mnemonic may also be added to another mnemonic, as in WARNFATAL. The result of a mathematical operation must be in the range of 0 to 65,535, inclusive; if the number is out of range, an error message is generated, and the value of the JCW remains unchanged. When the result of an operation is greater than the value of the next "step", the JCW value displayed by the SHOWJCW command will be the mnemonic of the higher step plus any offset. For example, the value OK16385 is displayed as WARN1. User-Defined JCWs User-defined JCWs are created and initialized to a value by the SETJCW command or PUTJCW intrinsic. The JCW name contains alphanumeric characters and must begin with an alphabetic character. The name can be up to 255 characters long. The value assigned to the JCW must be in the range of 0 to 65,535, inclusive. The SETJCW command scans the MPE/iX variable table for the name of the specified JCW (jcwname). If the specified name is found, the JCW is set to value. If the jcwname is not found, it is created and set to value. The term "value," as used here, means the explicitly stated or the computed value. You may not begin a JCW name with the mnemonic names OK, WARN,
Naming a JCW with a mnemonic or predefined JCW value results in an error message, as in the following example:
Negative or out-of-range JCW values cause the following error message to be displayed:
System-Defined JCWs JCW and CIERROR are MPE/iX system-defined JCWs created for each job and session. The JCW named JCW is always initialized to zero at the beginning of the job or session and remains zero, unless fatal errors occur, or unless the user changes the value. There are two special values for the system-defined JCW:
The CIERROR JCW tracks command interpreter (CI) errors. CIERROR is set to zero at the beginning of the job or session. If a command interpreter error occurs, CIERROR is updated to reflect the current CI error message number. Users are advised not to alter the values of the CIERROR and JCW job control words. User-defined JCWs should be used for information the user wishes to control. The following example shows the use of the CIERROR JCW:
System-Reserved JCWs The system-reserved JCWs are HPMINUTE, HPHOUR, HPDAY, HPDATE, HPMONTH, and HPYEAR. They contain system-assigned minute, hour, day, date, month, and year information. If the user attempts to assign values, an error message is displayed. You can retrieve the values in these JCWs with the FINDJCW intrinsic. The values can also be tested if the JCW is used with an IF, WHILE, SETJCW, SETVAR, or CALC command. The names of the system-reserved JCWs are reserved. The following describes system-reserved JCWs and possible values:
Conditional Execution Using JCWs JCWs are typically used to control the flow of batch jobs, based on events that take place within the job. You can use the MPE/iX IF/THEN (ELSE/ELSEIF), ENDIF, and WHILE/ENDWHILE statements to test JCW values. The following example illustrates a conditional execution function. The sample job runs a program that edits, verifies, and counts valid transactions (CHEKPROG). If no fatal errors occur, the job runs the program SHIPPROG, which schedules shipments. The job then runs FINALRPT, which produces a final report. If fatal errors do occur, the CHEKPROG sets the value of the JCW CHEKPROGSTAT to FATAL, and SHIPPROG is not run. Instead, ERRORRPT is run, which produces an error report. A final report is also produced by FINALRPT. You can use the SHOWVAR command to display the value of any specified variable or any group of variables, including JCW type variables. You can display the contents of a system-defined JCW with the SHOWJCW command only if you specify the jcwname. In the following example the CONTINUE command prevents an abort in case of errors; the RUN CHEKPROG edits, verifies, and counts valid transactions; the IF command specifies that if no fatal errors occur, schedule shipments; the RUN command schedules the shipments; the ELSE command produces the error report and resets the JCW to 0; and the RUN command produces a final report:
This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command. To set the job control word CURR1 to 100, and use a comma (,) as the delimiter instead of an =, enter:
To set CURR1 to the value of the mnemonic WARN, and use a slash (/) as the delimiter instead of an =, enter:
To use an arithmetic operation to set one JCW value relative to another, enter:
To schedule a full backup job on Saturdays and a partial backup job on the other days of the week, you could create a user command:
Enables or disables the receipt of user or operator messages at the standard list device.
This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command. Allows a job or session to receive or block TELL messages from other users. WARN messages from the system operator override quiet mode and are received and displayed. Assigns values to MPE/iX variables. (Native Mode)
This command assigns values to MPE/iX variables. Variable names may be any combination of letters and numbers plus the underbar character, up to a total of 255 characters. Variables must start with a letter or the underbar character. The expression parameter may be an MPE/iX expression, a Boolean, integer, or string value, or the name of another variable. If expression consists of elements and operators MPE/iX accepts ('abc' + 'cd' or 2*5+1), SETVAR will evaluate it. The operators defined in Table 12-2 “Logical Operators - The SETVAR Command” may be used in expression. Table 12-2 Logical Operators - The SETVAR Command
The allowed operands are any variable, integer constant (hexadecimal ($), octal (%), or decimal) quoted string constant, the Boolean constants TRUE and FALSE, or the JCW mnemonics (SYSTEM, FATAL, for example, as defined in the SETJCW command). Note that all variables are global, so the CI variable name should not be the same as the JCW name that is being used or the operation of the code that uses that JCW will be affected. Compound logical expressions can be formed using the AND, NOT, XOR, and OR logical operators, and nested within parentheses. The Boolean value of the keyword TRUE or FALSE is overridden if there is a variable of the same name. For example, to store the string value 'ABC' in X, enter:
The SETVAR command may be used to set the command interpreter's search path (HPPATH), the command interpreter's prompt (HPPROMPT), and all other variables. You use SHOWVAR to see all the variables that were created by the user. Issuing SHOWVAR @ causes the display of every predefined and user-defined variable. This command may be issued from a session, job, program, or in BREAK. Pressing Break terminates an INPUT ( ) function. To change the command interpreter prompt to your username.accountname, enter:
The result is the same regardless of which form of the command you use. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||