23
Sat, Nov
1 New Articles

System Values to Control Your AS/400, Part 3

Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

This article, the third and final part of our system values series, explores how to reclaim unused spool storage, change the date and time of the system, and change library lists.

This article completes my exploration of the AS/400 system values. Many of them, such as automatic configuration (QAUTOCFG), can make our lives easier if we use them correctly. Others, such as performance adjustment (QPFRADJ), require thought and analysis.

Let’s look at some more system values to see what they can do for us.

Allocation

Most of us yearn for better system performance; we constantly look for tips to help increase response time. Well, here’s a tip for you: Look at the system value that controls the initial total number of active jobs on the system—QACTJOB.

QACTJOB sets an amount of DASD storage for jobs on the system when your machine IPLs. If this value is set so low that your AS/400 exceeds the total number of jobs, the system has to stop and allocate more DASD, which slows down your system. If this value is set too high, you could be wasting valuable resources. If you set this value properly, the system slows down only at IPL to set up these resources. Most programmers IPL when use of the system is low and few or no users are signed on, so be sure to set this value high enough to avoid forcing the system to allocate resources during peak periods.

How do you know how much is enough? First, use the Work with Active Jobs (WRK-ACTJOB) command (or the corresponding API, QUSRJOBI) to look at the total number of user jobs. View this display at peak times to accurately assess system usage. Second, use IBM’s Performance Measurement 400 (PM400). PM400 reports the highest number of active jobs found during a given time period. This service is free for up to two reports a year. You will have to pay for more reports. Third, use performance tools (5769- PT1) to find your value. PM400 is my preferred option.

Whatever your method, find your value, add 10 percent to it, and use that number as the value for QACTJOB.

If your system exceeds the maximum number of active jobs, it will use another system value, additional number of active jobs (QADLACTJ), to automatically increase DASD. Set this value to 20 percent of your QACTJOB value.

Note that these percentages are not scientific. They are estimates that I have come up with over the years.

Set the next system value, the total number of jobs (QTOTJOB), in the same manner as QACTJOB by using the Work with System Status (WRKSYSSTS) command, performance tools, or PM400 to determine the total number of jobs (active, spooled, queued, and disconnected). If the system reaches this number of jobs, it uses the additional number of total jobs (QADLTOTJ) system value to increase DASD. When this happens, depending on your system and your system load, you may notice that the AS/400 seems to be slow or even “frozen,” and you have to wait for your next screen to appear. As with active jobs, find the maximum number and add 10 percent for QTOTJOB. Take 20 percent of that for QADLTOTJ.

You can turn the dynamic priority scheduler on or off with the QDYNPTYSCD system value.

• 0—off
• 1—on The task scheduler uses this system value to schedule jobs. For each job on the system, the AS/400 ships with an initial size of 3,516 bytes for the spooling control block system value (QJOBSPLA). This value allows for two spooled files per job. If this value is set lower than 3516, the system actually uses 3,516 bytes. If you need more spooled files, set the value at 9600, which will give you about eight spooled files per job. This value usually impacts only performance, not DASD storage.

You’ve probably noticed that some jobs have only one job log and others have multiple job logs. QJOBMSGQMX sets the maximum amount of storage that a job log can have (the value is in megabytes). Once that value is reached, QJOBMSGQFL decides what action to take.

• *NOWRAP—Do not wrap the job log; end the job when the value specified in QJOBMSGQMX is reached. (Ouch! This dangerous value is the default.)

• *WRAP—Wrap the job log. You could lose vital information with this value; the oldest data simply vanishes.

• *PRTWRAP—Write the job log out to the specified queue, and start another log. I’d definitely use this value.

Date and Time

The AS/400 (unlike me) handles time changes in the spring and fall easily. There are five values that tie specifically to the date.

• QDATE—This is the system date in either five or six characters, depending on the system date format (QDATFMT), which I’ll discuss later. If that format is any combination of the year, month, and day formats, this value must be six characters. If the date format is Julian, it must be five characters.

Changes to these date values affect the job scheduler. If the time is set back, jobs that have been scheduled to already run will not be rescheduled. If the date is set forward, OS/400 combs the scheduler to see what (if anything) was scheduled to run between the current time and the changed time. Those jobs are run according to their entries and submitted all at once.

Dates are supported between the dates of August 24, 1928 and July 6, 2053. QDATE consists of more values that can be changed by themselves:
• QYEAR —This value is the year subset of QDATE.
• QMONTH—This value is the month subset of QDATE. You can change this value if the date format is not Julian. The range is 1 to 12.

• QDAY—This value is the day subset of QDATE. If your date format is Julian, the valid range is 1 to 366 (366 for leap year). If your date is not Julian, the valid range is 1 to
31. The system checks for invalid dates, such as February 29 and June 31.
• QCENTURY—If the date is between 1928 and 1999, the century value is 0. If the date is between 2000 and 2053, the value is 1. I guess that IBM will have to modify the definition of this value sometime within the next 55 years.

The day of the week (QDAYOFWEEK) value is a display or output-only value. It reflects the day of the week of QDATE, ranging from *SUN to *SAT.

If you use a calendar other than the Gregorian calendar, you may need to change the leap year adjustment (QLEAPADJ) value. Generally, it is set to 0 and should be left as such. If you use a non-Gregorian calendar, divide that year by four and use the re-mainder as this value.

QTIME is the time of day. Fortunately, our predecessors have not given us multiple time formats. QTIME, like QDATE, can be changed by itself or in three other variables: • QHOUR—The hour subset of QTIME

• QMINUTE—The minute subset of QTIME
• QSECOND—The second subset of QTIME QTIME has one format, hhmmss, where hh is the hours in a military (24-hour) clock, and mm and ss are the minutes and seconds respectively. Unfortunately, we cannot set the milliseconds of our AS/400, but they can be retrieved. Thanks, Rochester!

You can set your AS/400 to your time zone. For example, there is a three-hour difference between the time in my hometown of Bristol, Virginia, and the time at Midrange Computing in Carlsbad, California. When Bristol is busily starting a new day, Carlsbad is still sleeping.

Bristol is minus five hours from Universal Time Coordinated (UTC) or Greenwich Meridian Time (GMT). Likewise, Carlsbad is minus eight hours. The universal time offset (QUTCOFFSET) system value can set such a difference for you. Its format is five characters: one for a plus (+) or a minus (-), two for hours, and two for minutes. My AS/400 is set at -0500; Midrange Computing’s AS/400 is set at -0800. Using QUTCOFFSET, you can calculate the time difference between your AS/400 and AS/400s in different time zones. (You may have noticed that email time stamps work similarly.)

In the date and time section of this article, I covered some system values only briefly. Here’s a more thorough explanation.

The date format (QDATFMT) system value can be set to the following values:
• YMD—year, month, day
• MDY—month, day, year
• DMY—day, month, year
• JUL—Julian (YYDDD where YY is the year, and DDD is the sequential day of the The currency symbol (QCURSYM) system value sets the dollar notation used in the system. It can be any character except a minus sign (-), an ampersand (&), a semicolon (;), an asterisk (*), or 0. It is used when an output file uses the DDS keywords edit word (EDTWRD) or edit code (EDTCDE).

The date separator (QDATSEP) system value is used as a default for jobs in the system. It can be changed within a job. These are the valid values for separators:

• 1—Slash (/)
• 2—Minus sign (-)
• 3—Period (.)
• 4—Comma (,)
• 5—Blank ( ) The decimal format (QDECFMT) sets the comma and decimal parameters for your system.

Editing

year).

• Blank—This value uses a period for the decimal point and a comma for the three- digit grouping. Zero suppresses any zeros to the left of the decimal point.

• J—The reverse of the blank, this value uses a comma for the decimal point and a period for three-digit grouping. It has at least one 0 to the left of the decimal point.

• I—This value is similar to J, but it has zero suppression to the left of the decimal The J and I values are for standards used by countries other than the United States. The time separator (QTIMSEP) can have these values:
• 1—Colon (:)
• 2—Period (.)
• 3—Comma (,)
• 4—Blank

Storage

In a WRKSYSSTS display, the base storage pool (system pool 2 in Figure 1) has two parts that can be controlled via system values: the pool size (QBASPOOL) and the base activity level (QBASACTLVL). If you have the performance adjustment system value (QPFRADJ) set to 1, 2, or 3, it can change these values; a change on WRKSYSSTS can also change these values.

The machine pool (QMCHPOOL) system value, like QBASPOOL and QBASACTLVL, can be changed via the performance system value or WRKSYSSTS. The machine pool is always pool 1 (as shown in Figure 1). You cannot set a value for the activity level of the machine pool.

However, you can set the maximum number of jobs that compete for resources (QMAXACTLVL) in the system. The values range from 2 to *NOMAX. I think 2 is too small for any AS/400. A value that is too small results in an excessive amount of waits for jobs that need resources. *NOMAX could cause degradation in performance in the other direction. PM400 can help you determine how to set this system value as well.

One of the tuning tools you can use in your system is the time slice end pool (QTSEPOOL). This specifies whether an interactive job moves to the base pool when its time slice ends. A change to this value affects only jobs entering the system after the value is changed, not currently running jobs.

• *BASE—Moves
• *NONE—Does not move

Library List

Two values control your library list when you first sign on. Programs called after sign-on can modify that list, though. The system part of the library list (QSYSLIBL) and the user part of the library list (QUSRLIBL) values set the user’s library list immediately after sign-on.

Use caution when setting these values. You cannot delete a library when it’s in use, and you cannot delete any library in a user’s initial list unless a change is made in the list or the user signs off.

QSYSLIBL can have up to 15 libraries, and QUSRLIBL can have up to 25.

Message Logging

As users discuss how much they use the system, they often complain that they need faster response time. You can monitor system use with the accounting level (QACGLVL) system value.

• *NONE—no accounting information written to a journal
• *JOB—Job resource use written to a journal
• *PRINT—Print file resource use written to a journal
• *JOB and *PRINT can be used together. To perform job accounting and journaling, you must have a journal named QACGJRN in library QSYS and an associated receiver that can reside anywhere on your system. Next, look to the user profile to create an accounting code.

point.

Each AS/400 has a history log, and you can control how many records you want in a single log. The maximum number of records in each history log is set in QHSTLOGSIZ. Once this value is reached, a new log is created. You can display the logs with the Display History Log (DSPHST) command.

The problem filter (QPRBFTR) system value specifies the name of the filter object used by the service activity manager. The maximum number of days that a problem can be kept (QPRBHLDITV) is from 0 to 999 days.

If you use separator pages, set the print text (QPRTTXT) on these separator pages to either nothing (*BLANK) or up to 30 characters of text.

You can log software errors, or not, by setting the QSFWERRLOG value. The values are *LOG and *NOLOG.

The service dump QSRVDMP system value allows you to control whether the “Dump in Progress” message on line 24 of the screen is seen or not.

• *NONE—No dumps in any jobs
• *DMPSYSJOB—Service dumps for only system jobs
• *DMPUSRJOB—Service dumps for only user jobs
• *DMPALLJOB—Service dumps for all jobs The QSTSMSG system value determines whether status messages, which also appear on line 24 of the display, are displayed.

• *NORMAL—Display
• *NONE—Do not display

The Value of System Values

This article concludes the series on system values. My object was to provoke some thought and (hopefully) to cause you to review your own system values. If you are like me, you have upgraded to a new release of the operating system at least once since you last took a hard look at your system values. Some have crept in on you. I learned a lot by writing this series, and I hope that you benefited from it.

You can find the complete table of system values from this series on the Midrange Computing Web site at http://www.midrange computing.com/mc/98/09.

Reference

OS/400 Work Management Guide V4R1 (SC41-5306, CD-ROM QB3ALG00)




Figure 1: The Work with System Status (WRKSYSSTS) command display



System_Values_to_Control_Your_AS-_400__Part_306-00.png 900x516
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: