Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
MPE/iX Commands Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 12 Command List X

Commands SAVE thru SHUTQ

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

SAVE

Saves a file in the permanent system file domain.

Syntax

SAVE { $OLDPASS,newfilereference tempfilereference }

Parameters

$OLDPASS

A system-defined temporary file. After this file is saved, it can no longer be referenced by the name $OLDPASS.

newfile-reference

New actual file designator assigned to $OLDPASS when it is made permanent. Its format is:

 filename[/lockword][.groupname[.acctname]]

If groupname is used, it must indicate a group to which you have save access, as defined by your account manager. If groupname is omitted, the logon group is assigned.

tempfile- reference

Actual file designator of the temporary file to be made a permanent file under the same designator. The file is deleted from the job/session temporary file domain and entered into the system file domain. Its format is:

 filename[/lockword][.groupname[.acctname]]

If groupname is used, it must indicate a group to which you have save access, as defined by your account manager. If groupname is omitted, the logon group is assigned.

Operation Notes

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.

Use

This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command.

Examples

To save the temporary file $OLDPASS, containing an object program, to the program file PROGFILE, enter:

 SAVE $OLDPASS,PROGFILE

To save the temporary file TEMPFL as a permanent file with the same name, enter:

 SAVE TEMPFL

To save the temporary file DATAFILE in the group GROUPX, enter:

 SAVE DATAFILE.GROUPX

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:

 SAVE DATAFILE
RENAME DATAFILE,DATABASE

Related Information

Commands

PURGE, LISTFILE, LISTFTEMP, RENAME

Manuals

None

SECURE

Reinstates all file security provisions that you previously suspended with the RELEASE command.

Syntax

SECURE filereference

Parameters

filereference

Specifies the actual file designator for which you want to reinstate file access control. The filereference can be either in MPE or HFS syntax.

MPE Syntax

If the filereference does not begin with a dot or a slash, it is parsed according to the MPE syntax and has the form:

 filename[/lockword][.groupname[.acctname]]

If the file has a lockword, you must specify it; otherwise, the system prompts you for it. If you do not specify groupname.acctname, the system assumes the logon group and account.

HFS Syntax

If the filename begins with a dot (.) or a slash (/), it is parsed according to HFS syntax.

Operation Notes

  • Usage

    You can use this command only for permanent disk files you created. Under default system security provisions, the file must be in your logon account and must belong to your logon or home group.

  • Checking the file status

    You can enter the LISTFILE command to determine if a file is currently released or secured. Refer to the LISTFILE command in this book for more information.

  • Access control definition

    An access control definition (ACD) overrides file access controls whether or not you have released or secured the file.

Use

You can enter this command from a session, a job, a program, or in break mode. Pressing Break does not affect this command.

Example

  • To reinstate file access control previously in effect for the file named FILE1, enter:

     :SECURE FILE1

Related Information

Commands

ALTSECT, LISTF, LISTFILE, RELEASE'

Manuals

None

SEGMENTER

Starts the MPE segmenter.

Syntax

SEGMENTER [listfile]

Parameters

listfile

Actual file designator of an ASCII output file that is to receive listed output from the MPE segmenter. Formal file designator is SEGLIST. Default is $STDLIST. Usually this file is a line printer. This must be defined in a FILE command, and then backreferenced (see "Example").

NOTE: The formal file designator used in this command, SEGLIST, cannot be backreferenced as actual file designators in the command parameter list. For further information, refer to the "Implicit FILE Commands for Subsystems" discussion of the FILE command.

Operation Notes

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.

Use

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.

Example

To call the MPE segmenter from a session and transmit the output to a line printer instead of the standard list device, enter:

 FILE LISTFL;DEV=LP
SEGMENTER *LISTFL

Related Information

Commands

FILE

Manuals

MPE Segmenter Reference Manual

SET

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)

Syntax

SET[ STDLIST={ DELETE | SAVE } ] [;MSG={ON | OFF}]
[ECHO={ ON| OFF}][ ;SPEED={ 300 | 1200 | 2400 | 4800 | 9600 | 19200 | 19.2K}]

Parameters

DELETE

Flags the job's $STDLIST for deletion at job termination.

SAVE

Cancels the effect of a previous SET STDLIST=DELETE command. Default is SAVE.

ECHO

Turns terminal echoing ON or OFF.

MSG

Specifies whether or not TELL messages are displayed on the user's terminal. MSG=OFF prevents TELL messages from appearing on the terminal. WARN messages override MSG=OFF and will appear on the terminal. (This parameter provides the same function as the SETMSG command.)

SPEED

Specifies the terminal's data transmission rate, within the upper and lower bounds outlined above. The user is responsible for manually changing the terminal's speed setting. (This parameter provides the same function as the SPEED command.)

Operation Notes

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
STDLIST=DELETE
can be reversed by entering SET STDLIST=SAVE into the job stream. Note that the SET command works only on jobs with a spooled $STDLIST.

Use

This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command.

Example

The following example illustrates using the SET command from within a program:

 !JOB EXAMPLE, USER.TECHPUB,XGROUP
!CONTINUE
!RUN UPDATE.PUB.SYS;PARM=1;MAXDATA=16000
!IF JCW < FATAL THEN
!SET STDLIST=DELETE
!ENDIF
!EOJ

Related Information

Commands

SETMSG, SPEED, ECHO

Manuals

None

SETCATALOG

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)

WARNING! If you do not specify a catfilename, all UDC's are disabled (deleted from the UDC directory) regardless of whether or not the ;DELETE option is used.

Use only MPE/iX flat files as UDC files. Issuing the SETCATALOG command for any other file type may cause unpredictable results.

Syntax

SETCATALOG [ catfilename[ ,catfilename, ...[ ,catfilename]]]
[ ;SHOW] [ ;SYSTEM] [ ;ACCOUNT]
[ ;USER=username[ .acctname]]
[ ;RESET][ ;APPEND][ ;DELETE]

Parameters

catfilename

The name of a file containing user-defined commands to be cataloged. Commands within the file must be separated from each other by a line whose first character is an asterisk (*).

SHOW

Specifies a listing of the user-defined commands as the UDC files are cataloged. Error messages are printed for command lines that contain any errors. This parameter is useful for locating errors in UDC files.

ACCOUNT

Specifies cataloging of the file at the account level. Using this parameter requires account manager (AM) capability.

SYSTEM

Specifies cataloging of the file at the system level. Using this parameter requires system manager (SM) capability.

USER

Allows users who have AM capability to change the UDC catalog set for users in their account. Users having SM capabilities can change the UDC catalog set for any user. USER does not rebuild an executing UDC directory, but becomes effective when the user logs off and then logs on after the command has been invoked.

RESET

Causes the file(s) being cataloged to replace all files that are already cataloged. RESET is the default if no option is specified.

APPEND

Permits the user to add UDCs to the directory. This option causes the file(s) being cataloged to be appended to the existing catalog. It also finds and makes adjustments for any logon UDCs if appropriate.

DELETE

Deletes the file(s) from the existing UDC directory. This permits the user to delete individual files from the catalog directory. The original order of the catalog is maintained. It also finds and makes adjustments for logon UDCs. The ACCOUNT and SYSTEM options allow the user to delete the cataloged file at the account or system levels. The default is user level.

Operation Notes

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

Use

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.

Examples

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.

 SETCATALOG UDCA; USER=JOHN.WORKERS

The following two command sequences are equivalent:

 SETCATALOG UDCA, UDCB

SETCATALOG UDCA
SETCATALOG UDCB ;APPEND

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.

 SETCATALOG UDCA ;DELETE ;ACCOUNT
NOTE:

It is not a good practice to create UDC's which have the same name as other files, especially command files or any other files your users may confuse with UDC's.

If you enter a fully qualified file name that has the same name as an existing UDC, the group and account part of the fully qualified name are passed to the UDC as a parameter. For example, if COMM is a UDC, entering COMM.GROUP.ACCT will cause .GROUP.ACCT to be passed to COMM as a parameter even if COMM.GROUP.ACCT is a separate file.

Related Information

Commands

SHOWCATALOG, HELP <udcname>

Manuals

System Startup, Configuration, and Shutdown Reference Manual

Using the HP 3000 Series 900: Advanced Skills

SETCLOCK

Alters the system time or system time zone.

SYNTAX

SETCLOCK{DATE=date spec; TIME=time spec [ ;GRADUAL | ;NOW]}
{CORRECTION= correction spec}
{TIMEZONE= time zone spec}
{ ;CANCEL}

Parameters

date spec

A specification of local date in the form mm/dd/yy[yy]. The year may be expressed in two or four digits. If a date is provided, a time must also be provided.

time spec

A specification of local time in the form hh:mm[:ss] where seconds are optional. This specification uses a 24-hour clock; it is not permissible to specify the time using A.M. or P.M. If a time is provided, a date must also be provided.

The operating system will experience problems if the system date and time are too close to the base time of midnight, January 1, 1970. Therefore, for proper system operation this command requires the date and time to be later than ten minutes past midnight on January 1, 1970.

correction spec

An integer specifying the desired change in the system time. The units are seconds. Thus a positive correction will cause the system clock to advance by the specified number of seconds, while a negative correction will cause the system clock to slow by the specified number of seconds.

time zone spec

A specification of the time zone in the form hh:mm, preceded by a required "W" or "E" to specify the Western or Eastern Hemisphere. Thus a specification of W7:00 represents a seven-hour displacement from Universal Time (GMT) with the time zone being in the Western Hemisphere.

Providing a time zone spec is the only way to change the system time and maintain both local and Universal Time (GMT) accurately. See the Operation Notes section for details.

GRADUAL

This option is meaningful only when the date and time specifications are provided. GRADUAL causes the system clock to speed up or slow down until the time change is completed, at which time the system clock will resume its normal pace. GRADUAL is the default for the Date-Time form of the command.

NOW

This option is meaningful only when the date and time specifications are provided. NOW forces the change to be immediate. See the warning in the Operation Notes section about the dangers of changing the system time immediately.

CANCEL

Cancels a current time correction. Any correction which has already taken place before the cancellation will remain; this option does not undo a correction which has already been accomplished. See the Operation Notes and Examples sections for details.

Operation Notes

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

  • If the change in time zone is to a later time (a change to Daylight Savings Time or an "Eastern" geographic movement), both local time and the time zone offset are changed immediately.

    The effect is that users of local system time will see an immediate jump forward to the new time zone, while users of Universal Time will see no change.

  • If the change in time zone is to an earlier time (a change from Daylight Savings to Standard Time or a "Western" geographic movement), the time zone offset is changed immediately. Then the local time slows down until the system time corresponds to the time in the new time zone.

    The effect is that users of local system time will see a gradual slowdown to match the new time zone, while users of Universal Time will see an immediate forward jump, then a slowdown until the system time again matches "real" Universal Time.

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:

  • Any applications which rely on the forward progression of time may give inconsistent results if the time is immediately set backwards. Such applications include the processing of timestamped transactions in which the sequence of those transactions is important.

  • In order to recover data in case of an unexpected hardware or software failure, some applications require that the system time must never seem to go backwards. For instance, some applications log transactions to a circular file. These transactions are timestamped, and if the transactions must be recovered, the recovery program determines the end of data by looking for timestamps which are out of sequence. If the system time is set backwards immediately, transactions which occur after the time change may not be recovered. Therefore, do not set the time backwards using the ;NOW option if there are applications which log their transactions using timestamps.

  • Accounting CPU-SECONDS data may be distorted. The user whose process was active during an immediate forward or backward change might seem to have a CPU-SECONDS time which is an extremely large positive or negative number.

  • STORE/RESTORE, TurboSTORE/XL, or any other file archive system based on dates or times may not store or restore the files in the expected manner, since some files may have creation or access times in the future or may even have access times which precede their creation times.

  • Some compilation tools like MAKE rely on the relative modification dates of the files in the compilation unit. Setting the system time backward and then modifying the main file in the compilation unit may force an unnecessary full compilation, since the main file may have an earlier modification time than the files it depends on. Setting the system time backward and then changing a file needed by the main file will cause MAKE to think that the changed file's modification time precedes that of the main file. Thus, the changed file will not be included in the recompilation.

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.

Use

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.

Examples of Date-Time and Correction Forms:

The following example illustrates setting the system time by providing a date and time:

 :SETCLOCK DATE=07/04/1993;TIME=15:00

The following example illustrates providing a time correction to advance the system time by one hour.

 :SETCLOCK CORRECTION= +3600 

or

 :SETCLOCK CORRECTION= 3600 

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.

 :SETCLOCK CORRECTION= -3600 

:SHOWCLOCK

SYSTEM TIME: FRI, JUL 24, 1987, 8:47:35 AM
CURRENT TIME CORRECTION: -3568 SECONDS
TIME ZONE: 7 HOURS 0 MINUTES WESTERN HEMISPHERE

:SETCLOCK; CANCEL

CORRECTION OF -3550 SECONDS HAS BEEN CANCELLED

:SHOWCLOCK

SYSTEM TIME: FRI, JUL 24, 1987, 8:52:53 AM
CURRENT TIME CORRECTION: 0 SECONDS
TIME ZONE: 7 HOURS 0 MINUTES WESTERN HEMISPHERE

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.

Examples of the Time Zone Form:

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.

 :SETCLOCK TIMEZONE=W7:00

SYSTEM TIME: SUN, APR 4, 1993, 7:12:00 AM
CURRENT TIME CORRECTION: 3600 SECONDS
TIME ZONE: 7 HOURS 0 MINUTES WESTERN HEMISPHERE

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.

 :SETCLOCK TIMEZONE= W8:00

SYSTEM TIME: SUN, OCT 31, 1993, 06:23:14 AM
CURRENT TIME CORRECTION: -3600 SECONDS
TIME ZONE: 8 HOURS 0 MINUTES WESTERN HEMISPHERE

Related Information

Commands

SHOWCLOCK, SHOWTIME

Manuals

Performing System Management Tasks

SETCOUNTER

Sets the next value of a specified resource counter, and optionally enables automatic rollback when a specified limit is reached. Duplicate values are avoided.

Syntax

SETCOUNTER[ COUNTER=] [ INSP | OUTSP | JOBNUM | SESSNUM ]
[ ;BASE = num] [ ;MAX = num ]
[ ;SHOW]

Parameters

INSP

Specifies the input spoolid counter.

OUTSP

Specifies the output spoolid counter.

JOBNUM

Specifies the job number counter.

SESSNUM

Specifies the session number counter.

The target counter (INSP, OUTSP, etc.) is only optional if the SHOW option is used by itself to display BASE and MAX values for all counters without changing any of them. For any other form of the command, the target counter is a required parameter.

num

A positive integer. For MAX, num may also equal zero. A non-zero num for MAX must be less than or equal to the maximum possible value for that counter. Those values are:

INSP

9999999

OUTSP

9999999

JOBNUM

16383

SESSNUM

16383

For BASE, num must be less than MAX, except when MAX is equal to zero.

Operation Notes

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:

  • at a console session,

  • by a user with SM capability, -OR-

  • by any user who has been allowed the use of the SETCOUNTER command with the ALLOW command.

Examples

To display the current BASE, Next, MAX, and maximum possible values for all four counters, enter:

 :SETCOUNTER ; SHOW
Absolute
COUNTER BASE Next MAX maximum

Input spoolid 1 172 16383 9999999
Output spoolid 1 1872 32767 9999999
Job number 1 172 0 16383
Session number 1 2753 0 16383

To limit input spoolids to the same range as their corresponding jobs, enter:

 :SETCOUNTER INSP; MAX=16383

Related Information

Commands

SWITCHNMLOG

Manuals

None

SETDUMP

Arms the system debug facility for a process abort. (Native Mode)

Syntax

SETDUMP [DB [,ST [,QS]]] [;ASCII] [;DEBUG="commands"]

Parameters

DB

This parameter is ignored.

ST

This parameter is ignored.

QS

This parameter is ignored.

ASCII

This parameter is ignored.

"commands"

A string of system debug commands surrounded by quotation marks. Refer to the DEBUG command in this chapter.

Operation Notes

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.

NOTE: The DB, ST, QS, and ASCII parameters are retained for compatibility reasons. These parameters are ignored.

Use

This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command.

Example

To arm the stackdump/debug facility, enter:

 SETDUMP

Related Information

Commands

DEBUG, RESETDUMP

Manuals

System Debug Reference Manual

SETJCW

Creates or assigns a value to a job control word (JCW) variable.

Syntax

SETJCW jcwname delimiter value [{ + - }value]

Parameters

jcwname

The name of a new or existing user-defined or system-defined job control word (JCW). You can use @ to specify all currently defined JCWs.

You may not specify the system-reserved JCWs, HPMINUTE, HPHOUR, HPDAY, HPDATE, HPMONTH, or HPYEAR.

delimiter

One or more punctuation characters or spaces, except %, !, and -. Whatever character is used delimits the name and value.

value

One of the following:

  • An octal number between %0 and %177777, inclusive.

  • A decimal number between 0 and 65,535, inclusive.

  • An MPE/iX-defined JCW value mnemonic (OK for 0; WARN for 16,384; FATAL for 32,768; SYSTEM for 49,152) or an offset value of a mnemonic (OK3 for 0 + 3).

  • The name of an existing JCW.

All specified values must be in the range of 0 to 65,535, inclusive. If the option + or - is used, the result of the indicated operation must also be within the range of 0 to 65,535, inclusive.

Operation Notes

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:

  SETJCW PROGCNTR 0
....
SETVAR PROGCNTR 65536
JCW VARIABLE RECLASSIFIED AS A STANDARD VARIABLE
(CIWARN 8126)

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

Bit ValueStep ValueMnemonic
000OK
0116,384WARN
1032,768FATAL
1149,152SYSTEM

 

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,
FATAL,
or SYSTEM, unless you append a number to the mnemonic such that the computed value exceeds 65,535 (for example, WARN999999, or SYSTEM200000). If the computed value exceeds 65,535, MPE/iX does not recognize the term as a valid mnemonic, and treats it as the name of a JCW. This restriction is intended to eliminate the possibility of an ambiguous JCW assignment. For example, it is unclear from the following two commands whether the JCW X is equal to 100 or to 0:

 SETJCW OK=100
SETJCW X=OK

Naming a JCW with a mnemonic or predefined JCW value results in an error message, as in the following example:

  SETJCW OK200=1982
JCWNAME CANNOT BE A VALID JCW VALUE (CIERR 1725)

Negative or out-of-range JCW values cause the following error message to be displayed:

 VALUE NOT IN RANGELEGAL RANGE IS 0 TO 65535 (CIERR 1712)

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:

 %140000 (System 0) Program aborted per user request.

>%140000 Program terminated in an error state.

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:

  LISTF
^
UNKNOWN COMMAND NAME. (CIERR 975)
SHOWJCW CIERROR
CIERROR = 975
RUN
^
NO PROGRAM FILE SPECIFIED. (CIERR 600)
SHOWJCW CIERROR
CIERROR = 600
:

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:

HPDAY

Day of the week. The possible integers are 1 through 7. Sunday is indicated by 1. Saturday is indicated by 7.

HPDATE

Day of the month. The possible integers are 1 through 31.

HPMONTH

Month of the year. The possible integers are 1 through 12. January is indicated by 1.

HPYEAR

Year of the century. The possible integers are 00 through 99.

HPHOUR

Hour of the day. The possible integers are 0 through 23.

HPMINUTE

Minute of the hour. The possible integers are 0 through 59.

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:

 !SETJCW CHEKPROGSTAT=OK
!CONTINUE
!RUN CHEKPROG
! IF CHEKPROGSTAT<FATAL THEN
! RUN SHIPPROG
! ELSE
! SHOWJCW CHEKPROGSTAT
! RUN ERRORRPT
!ENDIF
!RUN FINALRPT

Use

This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command.

Examples

To set the job control word CURR1 to 100, and use a comma (,) as the delimiter instead of an =, enter:

 SETJCW CURR1,100

To set CURR1 to the value of the mnemonic WARN, and use a slash (/) as the delimiter instead of an =, enter:

 SETJCW CURR1/WARN

To use an arithmetic operation to set one JCW value relative to another, enter:

 SETJCW NEWJCW=LASTJCW + 56

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:

 SETJCW FRIDAY=6
IF HPDAY = FRIDAY THEN
SCHEDJOB FULLBKUP;IN=1
ELSE
SCHEDJOB PARTBKUP;IN=1
ENDIF

Related Information

Commands

DELETEVAR, SETVAR, SHOWJCW, SHOWVAR

Manuals

Appendix A, "Predefined Variables in MPE/iX"

SETMSG

Enables or disables the receipt of user or operator messages at the standard list device.

Syntax

SETMSG { OFF ON }

Parameters

OFF

Sets job or session to quiet mode and blocks the receipt of TELL command messages from other users.

ON

Enables user or operator messages to be received and displayed at the standard list device.

Use

This command may be issued from a session, job, program, or in BREAK. Pressing Break has no effect on this command.

Operation Notes

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.

Examples

To block messages, enter:

 SETMSG OFF

To receive messages, enter:

 SETMSG ON

Related Information

Commands

SET, TELL

Manuals

None

SETVAR

Assigns values to MPE/iX variables. (Native Mode)

Syntax

SETVAR varname { <space> , ; } expression

Parameters

varname

The variable that is to be set to a value.

expression

The expression that is evaluated and assigned to varname.

Operation Notes

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

Logical operators:AND, OR, XOR, NOT
Boolean functions and values:BOUND, TRUE, FALSE, ALPHA, ALPHANUM, NUMERIC, ODD
Comparison operators:=, <>, <, >, <=, >=
Bit manipulation operators:LSL, LSR, CSR, CSL, BAND, BOR, BXOR, BNOT
Arithmetic operators:MOD, ABS, * , / , + , -, ^ (exponentiation)
Functions returning strings:CHR, DWNS, UPS, HEX, OCTAL, INPUT, LFT, RHT, RPT, LTRIM, RTRIM, STR
Functions returning integers:ABS, LEN, MAX, MIN, ORD, POS, TYPEOF
Other functions:FINFO, SETVAR

 

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:

 SETVAR TRUE 'ABC'
SETVAR X TRUE

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.

Use

This command may be issued from a session, job, program, or in BREAK. Pressing Break terminates an INPUT ( ) function.

Example

To change the command interpreter prompt to your username.accountname, enter:

 SETVAR HPPROMPT "!HPUSER.!HPACCOUNT:" or

SETVAR HPPROMPT HPUSER+"."+HPACCOUNT+":"

The result is the same regardless of which form of the command you use.

Related Information

Commands

DELETEVAR, INPUT, SETJCW, SHOWJCW, SHOWVAR

Manuals

Appendix A, "Predefined Variables in MPE/iX"

Appendix B, "Expression Evaluator Functions"

SHOWALLOCATE

Displays status information about the ALLOCATE command.

Syntax

SHOWALLOCATE [ STATUS[,listfile]
ALLOCATE [,[fileset] [,listfile]]
ALL [,[fileset] [,listfile]] ]

Parameters

STATUS

Request to display a summary of status information includes:

(1)Number of programs allocated;

(2)Size and percentage of utilization of the following system tables:

Code segment table, code segment extension block table, and load