Part 2 of this series goes deeper into the exploration of the plethora of system control system values. This article investigates how you can use system values to manipulate power down, device recovery, queries....
In last months issue of MC, I started a discussion about system control system values (see System Values to Control Your AS/400, Part 1, MC, September 1998). This month, I will continue that discussion. You can find a table of all the system values reviewed in these articles by accessing the MC Web site at http://www.midrangecomputing. com/98/09. Just look in the online table of contents for System Values to Control Your AS/400, Part 1.
Query System Values
Do you have runaway queries? You can control how long the query runsor at least the time the system estimates the query will runvia the QQRYTIMLMT system value.
*NOMAXThe query could run forever; there is no maximum time.
0 to 2147352578Specify in seconds how much time that the query time estimator is allowed to continue the query. If the estimation is greater than this system value, the query does not run.
Is it me, or does this seem ridiculous? (Come on, IBM, give us a figure that we can comprehend, like one measured in minutes.) If you use it at all, set this system value to something like 7200 seconds (2 hours) or 10800 seconds (3 hours) at most.
If you have multiple processor AS/400s, you might be interested in the Parallel processing degree (QQRYDEGREE) system value. It will allow you to configure parallel processing or symmetric multiprocessing (SMP).
*NONENo parallel processing for query.
*IOUse I/O parallel processing.
*OPTIMIZEThe query processor can choose parallel I/O or SMP.
*MAXSimilar to *OPTIMIZE, but the query processor allows itself to use all memory allocated to the pool the job is running in.
Even if you have a single processor, set the system value to *OPTIMIZE. This option allows the operating system to split processing cycles as it sees fit.
To determine if the double-byte character set (DBCS) is installed on your system, consult the QIGC (the DBCS version indicator) system value. When retrieved, it returns a logical value:
0No, DBCS is not installed.
1Yes, DBCS is installed. If you do have DBCS installed, the DBCS font name is located in QIGCCDEFNT.
*NONENo coded font is found.
The font name can be up to eight characters.
Communications
The Communications recovery limit (QCMNRCYLMT) system value is unique. Most system values contain a single value. This one contains two:
0 to 99The count of attempts
0 to 120The time limit in minutes Once the system reaches the count, it waits for the time interval and sends the system control message queue a message that the count has been reached.
If you need to keep a lid on the number of passthrough sessions, including Client Access and 5250 emulation, use the Passthrough server (QPASTHRSVR) system value.
*CALCLet the system calculate the number of passthrough jobs.
1 to 100You define the number of passthrough jobs handled by your AS/400. *JOBCTL with *IOSYSCFG authority is required to change this system value.
Battery Backup
If your system has an installed battery backup unit (most AS/400s do, but it is an option and could be omitted) or a UPS, you can control when and if a power failure can shut down the system. First, a message is sent to the message queue specified in the UPS message queue (QUPSMSGQ) system value. If this system value is not the system operator message queue (QSYS/QSYSOPR), two message queues will receive power- related messages, QSYSOPR and the queue specified.
You can set a time system value to trigger a normal system power down. This is set in the UPS delay time (QUPSDLYTIM) system value.
*NOMAXThe system does not start any action on its own.
*BASICThe system will power only the load source, the I/O processor, and the processor cards on a 9402 or 9404 AS/400.
*CALC The system calculates the wait time needed. The work management manual states that this should be used only on 9402 and 9404 systems.
0Immediately start a system power down when the power failure occurs.
1 to 99999You tell the system how many seconds (27.78 hours maximum) to wait before initiating a system power down.
I suggest that you have an external UPS powering your AS/400. The small battery backup units are not robust enough for most shops. UPSs are rated at an uptime per half load, and the UPS manufacturer should have those numbers available for your model of AS/400. You will know your AS/400 and how much it is loaded. Use sensibility when setting this system value. There is not one good value for everyone. Stay away from *NOMAX, 0, and *BASIC. Use *CALC or set a value yourself.
There are some gotchas with using these values.
If *NOMAX is used for the delay time, the message queue must exist. If the queue is not QSYSOPR, it must be a workstation message queue and be in break or notify
IGC
mode; if it is not a workstation message queue, it must be allocated by a job. If these requirements are not met, the system begins an immediate power down.
All messages in the QUPSMSGQ queue are cleared when the system IPLs.
Changes to these system values take place when the next power failure occurs.
Device Configuration
Remember the old days (for me, it was the S/3 and S/34) when you had to preconfigure all new devices before connecting them? If you had several of the same devices, the task was not hard. However, the market for workstations flourished, and many new types of devices came on the market. I remember randomly trying different settings to get the devices to work. Enough nostalgia. Today, via the Automatic configuration of devices (QAUTOCFG) system value, the AS/400 automatically configures devices if you want it to. This system value is another logical value. 0You must configure all devices and controllers.
1New devices are automatically configured, and a message is sent to the system operator message queue. I have found one scenario in which you still must configure a device, the connection on an ASCII workstation controller.
For most shops, letting the system configure new devices is not a problem. Unless your shop considers auto configuration a security risk, leave this value at 1.
There is a way to let the system configure these devices, yet avoid letting users on the system without your knowledge. Simply do not run subsystem QINTER, which has the ability to let any device attach to it. The subsystem description has the workstation type *ALL. I run other subsystems and allow only certain workstations in those subsystems. Even if a user is clever enough to add a new device, the user will not see a sign-on screen until that device is added to the subsystem with the Add Workstation Entry (ADDWSE) command.
Remote controllers can be configured as well. Set the Automatic configuration of remote controllers (QAUTORMT) system value accordingly.
0You must configure all remote controllers.
1Remote controllers are automatically configured. And, finally, we come to virtual devices (QAUTOVRT). I have never liked the term virtual devices. It implies that the devices are not real or valid, but they are. This system value either allows or disallows automatic configuration for these virtual devices (such as 5250 emulation). This value is a number rather than a logical value.
0No virtual devices are automatically configured.
1 to 9999Allow this number of virtual automatic configurations. If you have this system value set to 50 and have 50 virtual devices configured, what would happen if you lowered the value to 45? Would five virtual devices be deleted? No, they would not, but you would not have device 51 created automatically, either.
Id like to move away from the automatic topic but remain on the device idea. How is a device automatically named? If the system creates it, what does the system name it? With the Device naming (QDEVNAMING) system value, you tell the system what to do.
*S36Use the S/36 device naming conventions (e.g., W1, W2,...).
*NORMALUse the AS/400 naming conventions (e.g., DSP01, DSP02,...).
*DEVADRUse the AS/400 conventions with the device address (e.g., DSP010000, DSP0105,...).
Unless you are running in the S/36 environment, use either *NORMAL (my preference) or *DEVADR.
You can define the default printer for the system. It is found in the print device (QPRTDEV) system value.
Have you wondered where the header and border information come from when you use the print screen key? That information is contained in the Print key format (QPRTKEYFMT) system value.
*PRTBDRPrint border information on print screens.
*PRTHDRPrint header information on print screens.
*PRTALLPrint header and border information on print screens.
*NONENothing but the print screen data appears. One of the things I hate about the computer industry is all the cords you have to put up with. Power, Ethernet, printer, monitor, speaker, twinax, phonethese cords are all there to add to your frustrations. Once I was working at a users desk, and the monitor and PC suddenly powered off. I thought this odd, but the user had a power strip that had been acting erratically with any touch. My foot happened to touch it. After replacing the power strip, I wondered what would happen to the users emulation session. The user had been on a Work with Output Queue (WRKOUTQ) screen, and I had my Device recovery action (QDEVRCYACN) system value set to return the system to where the user was before I kicked the power strip. These are the possible values:
*DSCMSGDisconnect the job and send a message to the application program.
*DSCENDRQSDisconnect the job and send a cancel request to the application program.
*MSGSend a message to the application program and let the program worry about recovery.
*ENDJOBEnd the job and write a job log entry and an entry to QHST. The system will lower the priority of the job by 10, set the timeslice to 100, and purge to *YES to lower the impact on the system.
*ENDJOBNOLISTEnd the job without a job log entry, but still write an entry to QHST to indicate that the job ended.
In a LAN or WAN, the disconnect values can allow others on the LAN or WAN to attach themselves to a disconnected job. To avoid this scenario, use another value.
Going through these system values has made me wonder why some of them are named as they are. Somelike QDEVRCYACN and QUPSDLYTIMmake sense to me. The Special environment (QSPCENV) system value seems misnamed. It isnt special; its one of two values. It should be a logical value, but it is not.
*NONEWhen you sign on, you are in the AS/400 environment.
*S36When you sign on, you are in the S/36 environment. If I had been at the wheel when this system value was created, I would have named it Sign-on environment and made it a logical value.
The Keyboard type (QKBDTYPE) system value is set when the language of the AS/400 is installed.
Miscellaneous
The last time I helped set up a new general ledger chart of accounts, the client and I debated whether to have some miscellaneous accounts. These accounts would hold dollar amounts long enough to be moved to an actual account (usually a new account) at month end.
These last few system control system values had very little in common with the other values, so I set them in that dreaded miscellaneous account. I wont move them out, though.
One of the (many) things I like about the newer releases is that the AS/400 manuals started coming on CD-ROM about five years ago. You can copy all of the manuals to the Integrated File Server (IFS), and everyone on the AS/400 can search them. That path name is in the Book path (QBOOKPATH) system value. It may have up to five entries of 63 characters apiece.
The Coded character set ID (QCCSID) system value is a set of characters that describes the character sets, code pages, and character representation used by your AS/400. Most people will set it at 65535. However, if you use the DBCS, it will be a mix of DBCS and single-byte character set (SBCS).
The Character set and code page (QCHRID) system values work hand in hand with the QCCSID system value. Those values must be compatible. To determine compatibility,
consult the Data Management and National Language Support books. QCHRID is a two- part, 10-position value. Half of it contains the character set identifier, and the other half contains the code page identifier. On my AS/400, the character set identifier is 697, and the code page identifier is 37.
The Country identifier (QCNTRYID) system value tells the system which country the machine is being used in. Mine is US for United States. Other valid countries include Australia (AU), Denmark (DK), and French Guiana (GF).
Tied closely with these system values is the Language ID (QLANGID) system value. Valid languages include United States English (ENU), United Kingdom English (ENG), and Danish (DAN).
Last in the languages category is the Locale path name (QLOCALE) system value. It determines the language, territory, and code set.
*NONE
*C
*POSIX Most of us have had at least one abnormal system end. It seems like the system takes forever to come back up after an abend. For a part of that time, the system is rebuilding physical and logical file paths. The Database recovery wait (QDBRCVYWT) system value is a logical value that lets us control recovery.
0Database recovery is completed before the IPL.
1Database recovery is completed after the IPL. Much of recovery depends on how the files were created. If files were created with RECOVER(*IPL) in the Create Physical File or the Create Logical File (CRTPF or CRTLF) command, those files are recovered before the IPL, regardless of this system value. If you have a sufficiently sized UPS and the QUPS... system values set, this should not be a problem.
Last in this group of system values is the Server authentication interval (QSVRAUTITV) system value. It identifies the users time interval to access an object. Set this value between 1 and 108000 minutes (108,000 minutes equal 1,800 hours).
Examine Your System Values
I hope this series of discussions on system values makes you look at your values one more time. You may be able to lighten your loads (such as with QAUTOCFG and QUPSDLYTIM) and ease your minds.
Realize that an AS/400 is a powerful piece of hardware, but it gives you ample abilities to control it to your liking.
Next month, I will continue with the series on system values. I will discuss groups of values such as allocation, date and time, and library list values. Stay tuned....
Reference
OS/400 Work Management Guide V4R1 (SC41-5306, CD-ROM QB3ALG00)
LATEST COMMENTS
MC Press Online