Incorrout procedure
INCORROUT is when either output is missing,
or output is incorrect.
Keyword: INCORROUT
Use this procedure to determine the appropriate search argument.
Always
use the keyword INCORROUT for problems related to
incorrect or missing output.
Keyword: utility module name
If the incorrect or missing output is associated with a utility, use the utility module name as a keyword. For example, if output from the File Select and Formatting Print utility (DFSERA10) is incorrect, use DFSERA10 as a keyword.
Keyword: command
If
the output from a command is missing or incorrect, use the first three
letters of the command as a keyword. Also, you should use the OR operator
in the search argument with CMDxxx, where xxx is
replaced by the first three letters of the command.
DISPLAY command provides incorrect output,
use the following search argument: 5655J3800 INCORROUT DIS | CMDDISPIDS/5655J3800 INCORROUT PCSS/DISIf applicable, you can add the output column or heading as a keyword in the search argument.
Keywords: columns, headings, fields
5655J3800 INCORROUT DFSUTR20 DEADLOCK | DMBPIDS/5655J3800 INCORROUT RIDS/DFSUTR20
PCSS/DEADLOCK PCSS/DMBIf you receive too many search results, remove the OR operator (|) to focus the selection.
Keyword: database type or call
If the incorrect output is a database record, use the database type (such as VSAM, HDAM, or HIDAM) and possibly the call (such as GU, ISRT, or DELETE).
Additional diagnostics
This section does not apply to a Database Control (DBCTL) environment.
If the output is a transaction message produced as output from an application program, perform the steps below. (The message can be directed either to a terminal or to another application program. This is called a program switch.)
- If the output is missing, continue with this step; otherwise,
go to step 2.
- When the output is missing, determine if the transaction
is being scheduled.
- Issue the
/DIS ACTIVEcommand to make sure the transaction is not stopped. - Then issue the
/DIS TRANcommand to find out if the transaction is scheduled.
QCT should decrease by at least one each time the transaction is scheduled and terminates normally.
If the transaction is not being scheduled, go to step 1f.
- Issue the
- Determine if the message is being enqueued to the proper output
destination by issuing one of the following commands:
- Issue the
/DIS TRANcommand (for program switch). ENQCT should increase. - Issue the
/DIS LTERMcommand (for output to terminal). ENQCT should increase.
If the message is not being enqueued to the proper output destination, go to step 1e.
- Issue the
- If the output destination is another application program, it should
be scheduled as a result of the message enqueue.
If the transaction is scheduled but there is no input, the problem is probably within the SYS function.
If the application program is not scheduled, go to step 1f.
- If the output destination is a terminal, verify that I/O errors
did not prevent the message from being sent. Take both of the
following actions.
- Review the console log for I/O error messages.
- Issue the
/DIS LTERMcommand for operational status.
- Determine if the application program is using the
proper PCB for the
ISRTcall.- Force a dump in the application program at the time of the
ISRTcall.
If the proper PCB is being used, the problem is probably within the SYS function. Stop here and build your search argument. Otherwise, stop here and correct the application program.
- Force a dump in the application program at the time of the
- Determine if the resources necessary to schedule
the application program are available.
- Issue the
/DIS ACTIVEcommand for the active region. - Issue the
/DIS SUBSYS ALLcommand for all external subsystems connected to or in the process of being connected to IMS. - Issue the
/DIS TRANcommand to make sure the transaction is not stopped. - Issue the
/DIS DATABASEcommand to determine if the necessary databases are available.
If a resource is not available, stop here and make it available. Otherwise, force a console dump. Use the PST ANALYSIS step in procedure WAIT/LOOP procedure to determine the reason the transaction is not being scheduled. Stop here and build your search argument using that information.
- Issue the
- When the output is missing, determine if the transaction
is being scheduled.
- If the incorrect data is input to an application,
perform this step, otherwise go to step 3.
- Verify the text data in the X'01' log record to determine
if the data reached IMS properly.
If the data did not reach IMS properly, go to step 2c.
- Force a dump in the application program immediately after the
application program GU call, in order to determine if the data reached
the I/O area correctly.
If the data did not reach the I/O area correctly, the problem is probably within the SYS function. Stop here and report the problem. Otherwise, the application program received the data correctly. Stop here.
- Start the line or node trace and verify the data
in the X'6701' log record to determine if the data reached
the input TP buffer correctly.
If the data reached the input TP buffer correctly, the problem is probably within the DC function. Stop here and report the problem. Otherwise, if the data did not reach the input TP buffer correctly, the problem is probably a hardware or an operating system failure. Stop here and correct the hardware or operating system problem.
- Verify the text data in the X'01' log record to determine
if the data reached IMS properly.
- Determine if the message data is actually incorrect
rather than merely formatted incorrectly.
- Compare received data with expected data.
- Check MFS blocks for correct format definition.
- Force a dump in the application program just before the ISRT call
to determine whether the data is correct in the I/O area at the time
of the ISRT.
If the data in the I/O area is incorrect, the problem is probably in the application program. Stop here and correct the application program. Otherwise, continue. Verify the text in the X'03' log record to determine whether the data reached the message queue correctly.
If the message did not reach the message queue correctly, the problem is probably within the SYS function. Stop here and build your search argument. Otherwise, continue.
- Start the line or node trace and verify the data in the X'6701' log
records, in order to determine if the data reached the output TP buffer
correctly.
If the data did not reach the output TP buffer correctly, the problem is probably within the DC function. Stop here and build your search argument. Otherwise, if the data is correct in the output TP buffer, but not at the terminal, the problem is probably a hardware or operating system failure. Stop here and correct the hardware or operating system problem.
IRLM problems
Incorrect output from the IRLM can be divided into the following three areas:
- Incorrect information on a display status command
- Locks granted when locks should not be granted
- Locks not granted when locks should be granted
For help in diagnosing these problems, call the IBM® Support Center. A support representative will tell you what type of documentation to gather.