ibm-information-center/dist/eclipse/plugins/i5OS.ic.cl_5.4.0.1/dmpjob.htm

409 lines
11 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Dump Job (DMPJOB)</title>
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body bgcolor="white">
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<a name="DMPJOB.Top_Of_Page"></a>
<h2>Dump Job (DMPJOB)</h2>
<table width="100%">
<tr>
<td valign="top" align="left"><b>Where allowed to run: </b>All environments (*ALL)<br>
<b>Threadsafe: </b>Yes
</td>
<td valign="top" align="right">
<a href="#DMPJOB.PARAMETERS.TABLE">Parameters</a><br>
<a href="#DMPJOB.COMMAND.EXAMPLES">Examples</a><br>
<a href="#DMPJOB.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="DMPJOB"></a>
<p>The Dump Job (DMPJOB) command dumps the basic data structures, or specific calls of the current job or of the job being serviced as a result of the Start Service Job (STRSRVJOB) command. The information is dumped to a spooled printer file (QPSRVDMP) to be printed. If the user had specified SPOOL(*NO) on either the CHGPRTF command or the OVRPRTF command, then the output is not spooled but printed directly; and, if the printer is not available, then this command overrides the print job and spools the output. When the user specifies SPOOL(*NO) on one of the two commands above, the user must specify QPSRVDMP as the printer file. The dump includes formatted information about the specified programs, and dumps of specified operating system objects, system objects, and threads associated with the job.
</p>
<p><b>Restrictions:</b>
</p>
<ul>
<li>This command is shipped with public *EXCLUDE authority.
</li>
<li>The following user profiles have private authorities to use the command:
<ul>
<li>QPGMR
</li>
<li>QSYSOPR
</li>
<li>QSRV
</li>
<li>QSRVBAS
</li>
</ul>
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="DMPJOB.PARAMETERS.TABLE">Parameters</a></h3>
<table border="1" cellpadding="4" cellspacing="0">
<!-- col1="10" col2="15" col3="30" col4="10" -->
<tr>
<th bgcolor="aqua" valign="bottom" align="left">Keyword</th>
<th bgcolor="aqua" valign="bottom" align="left">Description</th>
<th bgcolor="aqua" valign="bottom" align="left">Choices</th>
<th bgcolor="aqua" valign="bottom" align="left">Notes</th>
</tr>
<tr>
<td valign="top" rowspan="5"><a href="#DMPJOB.PGM"><b>PGM</b></a></td>
<td valign="top">Program to dump</td>
<td valign="top">Single values: <b><u>*ALL</u></b>, *NONE<br>Other values (up to 10 repetitions): <i>Element list</i></td>
<td valign="top" rowspan="5">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Program</td>
<td valign="top">
<i>Qualified object name</i></td>
</tr>
<tr>
<td valign="top" style="padding-left:10pt">Qualifier 1: Program</td>
<td valign="top"><i>Name</i></td>
</tr><tr>
<td valign="top" style="padding-left:10pt">Qualifier 2: Library</td>
<td valign="top"><i>Name</i>, <b><u>*ALL</u></b></td>
</tr><tr>
<td valign="top">Element 2: Call level</td>
<td valign="top">
<i>Integer</i>, <b><u>*LAST</u></b>, *FIRST, *ALL</td>
</tr>
<tr>
<td valign="top"><a href="#DMPJOB.JOBARA"><b>JOBARA</b></a></td>
<td valign="top">Job structure areas</td>
<td valign="top"><b><u>*ALL</u></b>, *NONE</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#DMPJOB.ADROBJ"><b>ADROBJ</b></a></td>
<td valign="top">Objects referenced by address</td>
<td valign="top"><b><u>*YES</u></b>, *NO</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#DMPJOB.JOBTHD"><b>JOBTHD</b></a></td>
<td valign="top">Job threads</td>
<td valign="top"><b><u>*YES</u></b>, *NO, *THDSTK</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#DMPJOB.SLTTHD"><b>SLTTHD</b></a></td>
<td valign="top">Thread ID to include</td>
<td valign="top">Single values: <b><u>*ALL</u></b>, *SELECT<br>Other values (up to 20 repetitions): <i>Hexadecimal value</i></td>
<td valign="top">Optional</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="DMPJOB.PGM"></a>
<h3>Program to dump (PGM)</h3>
<p>Specifies which program to dump. Up to 10 programs can be specified.
</p>
<p><b>Single values</b>
</p>
<dl>
<dt><b><u>*ALL</u></b></dt>
<dd>All programs on the call stack are dumped.
</dd>
<dt><b>*NONE</b></dt>
<dd>No programs are dumped. Only the lists of called and activated programs are dumped.
</dd>
</dl>
<p><b>Element 1: Program</b>
</p>
<dl>
<dt><b></b></dt>
<dd>
<p><b>Qualifier 1: Program</b>
</p>
<dl>
<dt><b><i>name</i></b></dt>
<dd>Specify the name of the called program to dump.
</dd>
</dl>
</dd>
<dt><b></b></dt>
<dd>
<p><b>Qualifier 2: Library</b>
</p>
<dl>
<dt><b><u>*ALL</u></b></dt>
<dd>Specifies that all libraries will be used to locate the specified program to dump. If *ALL is specified, a call level (element 3) cannot be specified.
</dd>
<dt><b><i>name</i></b></dt>
<dd>Specify the name of the library to use to locate the program to dump.
</dd>
</dl>
</dd>
</dl>
<p><b>Element 2: Call level</b>
</p>
<dl>
<dt><b><u>*LAST</u></b></dt>
<dd>The last (most recent) call with the program name specified is dumped.
</dd>
<dt><b>*FIRST</b></dt>
<dd>The first (oldest) call with the program name specified is dumped.
</dd>
<dt><b>*ALL</b></dt>
<dd>All calls with the program name specified are dumped.
</dd>
<dt><b><i>integer-number</i></b></dt>
<dd>Specify the call level for a program with multiple calls in the stack. If *ALL is specified for the library name qualifier, the call level cannot be specified.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="DMPJOB.JOBARA"></a>
<h3>Job structure areas (JOBARA)</h3>
<p>Specifies that the job structure areas of the process are dumped. Job structure areas consist of the following:
</p>
<ul>
<li>Work Control Block
</li>
<li>Library Search List
</li>
<li>Job Temporary Library
</li>
<li>Job Local Data Area
</li>
<li>Spool Control Block
</li>
<li>Data Management Communications Queue
</li>
<li>Service Communication Object
</li>
<li>Process Definition Template
</li>
<li>Process Lock List
</li>
<li>Machine Interface (MI) Response Queue
</li>
</ul>
<dl>
<dt><b><u>*ALL</u></b></dt>
<dd>The job structure areas are dumped.
</dd>
<dt><b>*NONE</b></dt>
<dd>The job structure areas are not dumped.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="DMPJOB.ADROBJ"></a>
<h3>Objects referenced by address (ADROBJ)</h3>
<p>Specifies that objects addressed from the program storage of a program being dumped are also dumped. If *NONE is specified on the <b>Program to dump (PGM)</b> parameter, no addressed objects are dumped.
</p>
<dl>
<dt><b><u>*YES</u></b></dt>
<dd>The addressed objects are dumped.
</dd>
<dt><b>*NO</b></dt>
<dd>The addressed objects are not dumped.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="DMPJOB.JOBTHD"></a>
<h3>Job threads (JOBTHD)</h3>
<p>Specifies whether the list and information of the threads in the job is dumped.
</p>
<p>Thread information consists of the following:
</p>
<ul>
<li>For the thread running the DMPJOB command:
<ul>
<li>Thread Control Block (TCB).
</li>
</ul>
</li>
<li>For all the threads
<ul>
<li>Thread ID
</li>
<li>Thread handler
</li>
<li>Thread execution status (hexadecimal value)
</li>
<li>Thread wait status (hexadecimal value)
</li>
<li>Thread stack
</li>
</ul>
</li>
</ul>
<dl>
<dt><b><u>*YES</u></b></dt>
<dd>The thread list and information is dumped.
</dd>
<dt><b>*NO</b></dt>
<dd>The thread list and information is not dumped.
</dd>
<dt><b>*THDSTK</b></dt>
<dd>Only the thread call stack is dumped.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="DMPJOB.SLTTHD"></a>
<h3>Thread ID to include (SLTTHD)</h3>
<p>Specifies a list of up to twenty threads in the job whose information is to be included. If *NO is specified on the <b>Job threads (JOBTHD)</b> parameter, no threads are dumped.
</p>
<p><b>Single values</b>
</p>
<dl>
<dt><b><u>*ALL</u></b></dt>
<dd>All threads are dumped.
</dd>
<dt><b>*SELECT</b></dt>
<dd>A list of thread identifiers is shown from which the user can select up to twenty to be included.
</dd>
</dl>
<p><b>Other values</b>
</p>
<dl>
<dt><b><i>thread-identifier</i></b></dt>
<dd>Specify the identifiers of up to twenty threads whose information is to be included.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="DMPJOB.COMMAND.EXAMPLES">Examples</a> </h3>
<p><b>Example 1: Dumping Programs</b>
</p>
<p>
<pre>
DMPJOB PGM((QGPL/UPDATE *FIRST) (PAYROLL/MASTER *ALL))
JOBARA(*ALL) ADROBJ(*NO)
</pre>
</p>
<p>This command dumps the first occurrence of QGPL/UPDATE in the call stack and all occurrences of PAYROLL/MASTER. The job structure areas are dumped.
</p>
<p><b>Example 2: Dumping Entire Job Structure</b>
</p>
<p>
<pre>
DMPJOB
</pre>
</p>
<p>This command dumps the entire job structure.
</p>
<p><b>Example 3: Dumping Lists of Called and Activated Programs</b>
</p>
<p>
<pre>
DMPJOB PGM(*NONE) JOBARA(*NONE)
</pre>
</p>
<p>This command dumps the lists of programs called and activated.
</p>
<p><b>Example 4: Dumping Job Thread List and Information</b>
</p>
<p>
<pre>
DMPJOB PGM(*NONE) JOBARA(*NONE) JOBTHD(*YES)
</pre>
</p>
<p>This command dumps the list of the job's threads and their information.
</p>
<p><b>Example 5: Dumping Only One Job Thread's Information</b>
</p>
<p>
<pre>
DMPJOB PGM(*NONE) JOBARA(*NONE) JOBTHD(*YES)
SLTTHD(00000001)
</pre>
</p>
<p>This command dumps thread identifier 00000001 and its information.
</p>
<p><b>Example 6: Dumping Only the Thread Call Stack</b>
</p>
<p>
<pre>
DMPJOB PGM(*NONE) JOBTHD(*THDSTK)
</pre>
</p>
<p>This command dumps only the job's threads call stack.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="DMPJOB.ERROR.MESSAGES">Error messages</a> </h3>
<p><b><u>*ESCAPE Messages</u></b>
</p>
<dl>
<dt><b>CPF3546</b></dt>
<dd>Program parameters specified were not found.
</dd>
<dt><b>CPF3560</b></dt>
<dd>Job being serviced not running.
</dd>
<dt><b>CPF3563</b></dt>
<dd>Overflow value for file &amp;1 in &amp;2 too large.
</dd>
<dt><b>CPF3585</b></dt>
<dd>Library name *ALL and call level cannot be used together.
</dd>
<dt><b>CPF3909</b></dt>
<dd>Service command will not be processed.
</dd>
<dt><b>CPF3918</b></dt>
<dd>Service request canceled.
</dd>
<dt><b>CPF3925</b></dt>
<dd>Cannot open file &amp;1.
</dd>
<dt><b>CPF3935</b></dt>
<dd>Job being serviced ended during dump.
</dd>
<dt><b>CPF3950</b></dt>
<dd>Error message &amp;2 received for file &amp;1. Request ended.
</dd>
<dt><b>CPF3951</b></dt>
<dd>File &amp;1 cannot be overridden by file name &amp;2.
</dd>
<dt><b>CPF3967</b></dt>
<dd>Dump not started because serviced job not running.
</dd>
<dt><b>CPF3968</b></dt>
<dd>Dump not started because serviced job completed running.
</dd>
<dt><b>CPF3969</b></dt>
<dd>Error during close of file &amp;1. Output may not be complete.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DMPJOB.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>