Monday, June 30, 2008

Kaikaku:

Kaikaku is a rapid change event as opposed to Kaizen which is smaller incremental changes. Kaikaku is revolutionary while Kaizen is evolutionary.

Kaikaku, does mean radical change, and is also the Kaizen Blitz, which came directly from Toyota.

Running Queries on Remote Database:

Yes, there is a way to write a query on one iSeries server, run it on a database residing on a second iSeries server, and have the resulting report or outfile on the first iSeries. The STRQMQRY command accepts a database name, user and password, and will connect to the remote database for the query execution.

STRQMQRY runs by default Query Management Queries which are created with STRQM -- an excellent alternative to WRKQRY since you can write your own SQL in a query. However, there is an option to run regular queries (of type *QRYDFN) as well. To run a regular query, use the ALWQRYDFN(*YES) option. Thus, a regular query called MYQRY that is to execute on another computer called AS4002 and to print the results on the local machine will be

STRQMQRY QMQRY(MYQRY) OUTPUT(*PRINT) RDB(AS4002) USER(USER) PASSWORD(pwd) ALWQRYDFN(*YES)

Note:
You have to define AS4002 with the WRKRDBDIRE command before this works.

Thursday, June 26, 2008

GRPI:

GRPI – Goals, Roles, Processes, Interpersonal [Relationships] is a four-step project planning tool used in Six Sigma business methodology to help Green Belt and Black Belt team leaders ensure productivity, efficiency, and quality.

The four steps function as follows:

1) Goals – clearly defines the team's mission and establishes objectives that conform to the "SMART" approach (i.e., goals that are specific, measurable, attainable, relevant, and timely);

2) Roles – uses a "roles statement" to define clearly each team member's function and the interrelationships between individual and team roles, objectives, and processes;

3) Processes – identifies and defines processes inherent in and essential to the project (e.g., problem-solving, decision-making, etc.); and

4) Interpersonal – ensures open communication between team members, encourages creative and diverse contributions from all members, and discourages "groupthink."

Clear Data Queues easily:

One method of clearing data queues it to read all of the data queue entries using QRCVDTAQ API and to clear a data queue. With a very large data queue, you can just imagine how long it would take to clear because your program has to read each and every entry of the data queue. In fact, it will consume a lot of resources since you are calling an API so many times.

This problem can be solved in a simple way bay calling a singe API just once. QCLRDTAQ API is supplied by IBM. By using it, you can delete all entries in a data queue or some specified entries if the data queue is a keyed one.

Wednesday, June 25, 2008

Green Belt:

An employee of an organization who has been trained on the improvement methodology of Six Sigma and will lead a process improvement or quality improvement team as *part* of their full time job are called Green Belt Employees. Their degree of knowledge and skills associated with Six Sigma is less than that of a Black Belt or Master Black Belt. They operate under the guidance of Black Belts and support them in achieving the overall objectives.

Extensive product knowledge in their company is a must in their task of process improvement.

The green belt employee plays an important role in executing the Six Sigma process at an organization level.

Tuesday, June 24, 2008

Display User Space:

Here's a simple way to display the contents of a user space without using the API, QUSRTVUS.
DSPF STMF('/QSYS.lib/mylib.lib/MYSPACE.usrspc')
where MYSPACE is the user space in library MYLIB.

Sunday, June 22, 2008

Gemba:

Gemba is a Japanese term meaning "the place where the truth can be found." Others may call it "the value proposition."

In quality management, gemba means the manufacturing floor and the idea is that if a problem occurs, the engineers must go there to understand the full impact of the problem, gathering data from all sources. Unlike focus groups and surveys, gemba visits are not scripted or bound by what we want to ask.
Glenn Mazur introduced this term in the Quality Function Deployment (QFD) (a quality system for new products where manufacturing has not begun) to mean the customer's place of business or lifestyle. The idea is that to be customer-driven, one must go to the customer's gemba to understand his problems and opportunities, using all one's senses to gather and process data.
Toyota have a very high proportion of their management on the shop floor (the Gemba) so that supervisors can be intimately involved in quality issues as they arise. Their presence in the Gemba informs their decision making and speeds resolution of problems. This Gemba attitude is driven by the belief that all customer value is created in the Gemba and it is therefore the qualities of the Gemba which will determine the success of the company.
Japanese detectives call the crime scene a gemba.

Friday, June 20, 2008

Take Control of your job logs:

A job log is invaluable in determining the cause of a problem when a job ends abnormally. If not properly managed, though, job logs can eat up huge amounts of system storage. Understanding how job logs get generated is the first step to understanding how to managing them.
A record of requests submitted to the system by a job, the messages related to the requests, and the actions performed by the system on the job. The job log is maintained by the system program.
Every job that runs on your server has an associated job log that records its activities. A job log can contain the following:
• The commands in the job
• The commands in a control language (CL) program
• All messages associated with that job
What determines when a job log will be created?
There are several ways within OS/400 to specify the creation of or restrict the creation of a job log.
The message logging parameters on the job description and for an active job determine what kind of information will be collected:
Message logging: LOG
Level . . . . . . . . . . . . 4
Severity . . . . . . . . . . . 00
Text . . . . . . . . . . . . . *NOLIST
Log CL program commands . . . . LOGCLPGM *NO
I won't go into all the specifics related to those values at this time, but if the message logging 'TEXT' parameter is set to *NOLIST, a job log will be created only if the job ends abnormally. If the job completes normally, no job log will be created. This is the same whether the job is an interactive or batch job.
If any value other than *NOLIST is specified for the message logging 'TEXT' parameter in a batch job, a job log will always be produced -- whether the job ends normally or abnormally.
This works differently for interactive jobs, though. To conserve disk space consumed by job logs, the SIGNOFF command may be defined as
Sign Off (SIGNOFF)

Type choices, press Enter.

Job log . . . . . . . . . . . . LOG *NOLIST
Drop line . . . . . . . . . . . DROP *DEVD
End connection . . . . . . . . . ENDCNN *NO

So, by default, when an interactive job is ended normally, no job log will be produced as specified by the LOG(*NOLIST) parameter. However, if an interactive job ends abnormally, a job log will be produced.
This job log is usually stored in the QEZJOBLOG output queue in library QUSRSYS. You can determine where your job log output goes with this command:
DSPFD FILE(QPJOBLOG)
Scroll down to the Spooling Description section of the Display File Description listing to see which output queue job log output will be directed to:
Spooling Description
Spooled output queue . . . . . . . . . . . : OUTQ QEZJOBLOG
Library . . . . . . . . . . . . . . . . . : QUSRSYS
If you want to always force the creation of a job log from an interactive job, you can do it in one of two ways:
1. When you sign off enter SIGNOFF LOG(*LIST) instead of using the default.
2. Prior to signing off enter DSPJOBLOG OUTPUT(*PRINT).
When one of those options is used, a job log will always be created from an interactive job.
Now that you understand how job logs are created on the iSeries, let's look at how to view one?
To view a job log that has already been created, use one of the following commands:
DSPSPLF FILE(QPJOBLOG) JOB(job_number/Usrid/Job_name)

DSPJOB JOB(job_number/Usrid/Job_name) OPTION(*SPLF)
To see ALL job log output on the system, use this command:
WRKOUTQ OUTQ(QUSRSYS/QEZJOBLOG)
For further information on how to create/display or modify job descriptions, review the HELP text associated with the following OS/400 commands:
CHGJOBD
CRTJOBD
DSPJOBD
WRKJOBD
For further information on how to view/change a jobs message logging attributes and to display a job log, review the HELP text associated with these OS/400 commands:
DSPJOB
CHGJOB
DSPJOBLOG

Thursday, June 19, 2008

View Description of an Active User:

Have you ever wanted to see the description of an active user on the system instead of just seeing his or her user profile?
Try this:
Go Managesys
Option 12
F11
3 User descriptions
This will show you all active users, in username order, with their names shown beside them.
If you want to send a break message to them, press F10 and this will send a message to all active users.

Wednesday, June 18, 2008

Gap Analysis:

In business and economics, gap analysis is a business resource assessment tool enabling a company to compare its actual performance with its potential performance. At its core are two questions:

Where are we?
Where do we want to be?

If a company or organization is under-utilizing resources it currently owns or is forgoing investment in capital or technology then it may be producing or performing at a level below its potential. This concept is similar to the base case of being below one's production possibilities frontier.

This goal of the gap analysis is to identify the gap between the optimized allocation and integration of the inputs and the current level of allocation. This helps provide the company with insight into areas that have room for improvement. The gap analysis process involves determining, documenting and approving the variance between business requirements and current capabilities.

Gap analysis naturally flows from benchmarking and other assessments. Once the general expectation of performance in the industry is understood it is possible to compare that expectation with the level of performance at which the company currently functions. This comparison becomes the gap analysis. Such analysis can be performed at the strategic or operational level of an organization.

Note that 'GAP analysis' has also been used as a means for classification of how well a product or solution meets a targeted need or set of requirements. In this case, 'GAP' can be used as a ranking of 'Good', 'Average' or 'Poor'.

Monday, June 16, 2008

FISH:

FISH (First In, Still Here) is an accounting buzzword that describes when companies still have inventory on hand that is not being sold due to inattention or obsolescence. While not an official type of accounting treatment, the term is named after the LIFO and FIFO accounting methods.

Companies in a state of FISH accounting tend to have turnover rates that are lower than the industry average. Investors tend to avoid investing in companies that are in a "FISH-like" state, because having inventory lying about consumes expensive capital and storage space.

Sunday, June 15, 2008

Showing fields in SQL:

When using SQL to view data interactively, it can be maddening to window to the right (F20) to find the field you want to see.
Wouldn't it be nice to be able to show all fields, but have certain fields show up in the left-most columns so you don't have to window to the right to find them?
Here's how it can be done:
1. Normal way of showing all fields with SQL:
SELECT * FROM Filename
This will show all fields in the order they occur in the file.
2. Select field1, field2, filename.*
This shows field1 in the first column, field2 in the second column, and all fields will be shown (including field1 and field2 again, wherever they occur) beginning in the third column.

Friday, June 13, 2008

Design of Experiments:

A Design of Experiment (DOE) is a structured, organized method for determining the relationship between factors affecting a process and the output of that process.
Design of experiments is the design of all information-gathering exercises where variation is present, whether under the full control of the experimenter or not. Often the experimenter is interested in the effect of some process or intervention on some objects, which may be people. Design of experiments is thus a discipline that has very broad application across all the natural and social sciences. It is also called experimental design at a slight risk of ambiguity (it concerns designing experiments, not experimenting in design).
Early examples of Experimental Design
In 1747, while serving as surgeon on HM Bark Salisbury, James Lind, the ship's surgeon, carried out a controlled experiment to discover a cure for scurvy.
Lind selected 12 men from the ship, all suffering from scurvy, and divided them into six pairs, giving each group different additions to their basic diet for a period of two weeks. The treatments were all remedies that had been proposed at one time or another. They were
• A quart of cider per day
• Twenty five gutts of elixir vitriol three times a day upon an empty stomach,
• Half a pint of seawater every day
• A mixture of garlic, mustard and horseradish, in a lump the size of a nutmeg
• Two spoonfuls of vinegar three times a day
• Two oranges and one lemon every day.
The men who had been given citrus fruits recovered dramatically within a week. One of them returned to duty after 6 days and the other became nurse to the rest. The others experienced some improvement, but nothing was comparable to the citrus fruits, which were proved to be substantially superior to the other treatments.
In this study his subjects' cases "were as similar as I could have them", that is he provided strict entry requirements to reduce extraneous variation. The men were paired, which provided replication.
From a modern perspective, the main thing that is missing is randomized allocation of subjects to treatments.

Wednesday, June 11, 2008

Know all Fields and Tables on your iSeries:

If you need to search one field or one file, follow this code on SQL:
Select * from Syscolumns
or
Select * from Systables
This way you can see the dictionary catalog on your iSeries.

Tuesday, June 10, 2008

Simple check for IFS objects existence:

Another simple way to check for the existence of an IFS object --without having to dig into IFS APIs -- is to use the DSPLNK command with the printer output option. The command will generate CPFA0A9 if the object(s) do not exist.
The only drawback to this method is that it will create a spool file listing the object(s) -- if they actually exist. But you could encapsulate it in a CL where you could override and hold the spool file before issuing the DSPLNK command, then delete it when done.
OVRPRTF FILE(QSYSPRT) HOLD(*YES)
DSPLNK OBJ('/path/objectname') OUTPUT(*PRINT) OBJTYPE(*ALL)
DETAIL(*BASIC)
DSPOPT(*USER)
DLTSPLF FILE(QSYSPRT) SPLNBR(*LAST)

Monday, June 9, 2008

Cost of Non-Conformance:

(CONC.) The element of the *Cost Of Quality* representing the total cost to the organization of failure to achieve a good *Quality* product.
CONC includes both in-process costs generated by quality failures, particularly the cost of *Rework*; and post-delivery costs including further *Rework*, re-performance of lost work (for products used internally), possible loss of business, possible legal redress, and other potential costs.

Thursday, June 5, 2008

Embedded SQL in free format RPG:

At last free-form coders no longer have to relegate SQL calls to traditional C-spec subroutines or subprocedures at the bottom of the program (or worse, break out of /Free in the middle of the program). Now, an SQL statement can be placed directly in a /Free block. This is the new features in SQL with i5/OS V5R4.. The only rules are:
• The SQL Statement must begin with EXEC SQL (on one line)
• The statement itself can span multiple lines (without a special line extender)
• The statement, like normal free format, must be terminated with a semicolon
A sample statement with host variables looks like the following in free form RPG:

EXEC SQL Select EmpName
Into :EmpName
Where EmpNo=:EmpNo;

Wednesday, June 4, 2008

Quickly find SQL Error message Description:

These two methods are easy to use and are sure to help eliminate a lot of frustration when it comes to searching for SQL error message descriptions.
1. Use the following Display Message Description command, replacing the RANGE value with the SQL error code that you are investigating: DSPMSGD RANGE(SQL7007) MSGF(QSQLMSG)
2. Go to the DB2 Universal Database for iSeries page of the IBM Information Center web site, scroll down and then click on "SQL Message Finder". Key in your error number and you will quickly find yourself back on the road to productivity again.

Tuesday, June 3, 2008

Chaku Chaku:

The term "chaku chaku" may sound funny to most of us, but it's serious business in Boeing's Portland, Ore., bevel gear-making organization.
Japanese for "load load," chaku chaku is an efficient style of production in which all the machines needed to make a part are situated in the correct sequence very close together. The operator simply loads a part and moves on to the next operation. Each machine performs a different stage of production, such as turning, drilling, cleaning, testing or sandblasting.
In the past, using the "job shop" method, these machines were located in separate areas of the factory, and each required a separate machinist to operate it. They turned out hundreds of parts in batches that were then loaded into baskets for transporting to another area or simply sat there in stacks waiting until they were needed or the whole batch was completed.
The machines in the new chaku chaku line are located in a U-shaped flow line. The machines eject the parts automatically and everything is timed just right, so the operators don't spend time unloading or waiting.

This flow line is assigned only those resources (equipment and labor) that are required for the specific activities to be performed. Included in the line are appropriate inspection tools to ensure no quality problems are passed on to the next operation.
Because each flow line is responsible for turning out a completed product, it is easier to keep track of how many parts are being produced and to stay on schedule.

Monday, June 2, 2008

iSeries Pager Messages:

If your pager or cell phone has an e-mail address for text messages, and your iSeries is configured for SMTP, a simpler method is to send the messages using the SNDDST command.
SNDDST TYPE(*LMSG) TOINTNET(&ADDR) DSTD(&SUBJ) LONGMSG(&MSG)
Where:
&ADDR is the email address of your pager or cell phone (such as 7145551234@mobile.com )
&SUBJ is any subject text
&MSG is the message text

Monitor the number of Active Users in the System:

The DSPSYSSTS command with the assistance level as *BASIC provides the number of users active in the system. It also gives the total number of batch jobs in the system and the disk usage of the system.
DSPSYSSTS OUTPUT(*) ASTLVL(*BASIC)