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

718 lines
30 KiB
HTML

<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Create S/36 COBOL Program (CRTS36CBL)</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="CRTS36CBL.Top_Of_Page"></a>
<h2>Create S/36 COBOL Program (CRTS36CBL)</h2>
<table width="100%">
<tr>
<td valign="top" align="left"><b>Where allowed to run: </b>All environments (*ALL)<br>
<b>Threadsafe: </b>No
</td>
<td valign="top" align="right">
<a href="#CRTS36CBL.PARAMETERS.TABLE">Parameters</a><br>
<a href="#CRTS36CBL.COMMAND.EXAMPLES">Examples</a><br>
<a href="#CRTS36CBL.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="CRTS36CBL"></a>
<p>The CRTS36CBL command compiles a COBOL source program into a program object for use on the System/36 environment. You can use this command interactively, in batch mode, or from a CL program.
</p>
<p>All object names you specify in the CRTS36CBL command must be composed of alphanumeric characters, the first of which must be alphabetic. The names cannot exceed 8 characters in length.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="CRTS36CBL.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="3"><a href="#CRTS36CBL.PGM"><b>PGM</b></a></td>
<td valign="top">Program</td>
<td valign="top"><i>Qualified object name</i></td>
<td valign="top" rowspan="3">Optional, Positional 1</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Program</td>
<td valign="top"><i>Name</i>, <b><u>*PGMID</u></b></td>
</tr><tr>
<td valign="top">Qualifier 2: Library</td>
<td valign="top"><i>Name</i>, <b><u>*CURLIB</u></b></td>
</tr><tr>
<td valign="top" rowspan="3"><a href="#CRTS36CBL.SRCFILE"><b>SRCFILE</b></a></td>
<td valign="top">Source file</td>
<td valign="top"><i>Qualified object name</i></td>
<td valign="top" rowspan="3">Optional, Positional 2</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Source file</td>
<td valign="top"><i>Name</i>, <b><u>QS36SRC</u></b></td>
</tr><tr>
<td valign="top">Qualifier 2: Library</td>
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *CURLIB</td>
</tr><tr>
<td valign="top"><a href="#CRTS36CBL.SRCMBR"><b>SRCMBR</b></a></td>
<td valign="top">Source member</td>
<td valign="top"><i>Name</i>, <b><u>*PGM</u></b></td>
<td valign="top">Optional, Positional 3</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.GENLVL"><b>GENLVL</b></a></td>
<td valign="top">Generation severity level</td>
<td valign="top">0-29, <b><u>29</u></b></td>
<td valign="top">Optional, Positional 4</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.NEP"><b>NEP</b></a></td>
<td valign="top">Never-ending program</td>
<td valign="top"><b><u>*NO</u></b>, *YES</td>
<td valign="top">Optional, Positional 5</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.MRTMAX"><b>MRTMAX</b></a></td>
<td valign="top">Maximum MRT devices</td>
<td valign="top">0-99, <b><u>0</u></b></td>
<td valign="top">Optional, Positional 6</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.TEXT"><b>TEXT</b></a></td>
<td valign="top">Text 'description'</td>
<td valign="top"><i>Character value</i>, <b><u>*SRCMBRTXT</u></b>, *BLANK</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.OPTION"><b>OPTION</b></a></td>
<td valign="top">Source listing options</td>
<td valign="top">Values (up to 50 repetitions): *SOURCE, *NOSOURCE, *SRC, *NOSRC, *NOXREF, *XREF, *GEN, *NOGEN, *NOSEQUENCE, *SEQUENCE, *NOVBSUM, *VBSUM, *NONUMBER, *NUMBER, *LINENUMBER, *NOMAP, *MAP, *NOOPTIONS, *OPTIONS, *QUOTE, *APOST, *DEBUG, *NODEBUG, *SECLVL, *NOSECLVL, *PRINT, *NOPRINT</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.GENOPT"><b>GENOPT</b></a></td>
<td valign="top">Generation options</td>
<td valign="top">Values (up to 50 repetitions): *NOLIST, *LIST, *NOXREF, *XREF, *NOPATCH, *PATCH, *NODUMP, *DUMP, *NOATR, *ATR, *RANGE, *NORANGE, *UNREF, *NOUNREF, *NOOPTIMIZE, *OPTIMIZE</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#CRTS36CBL.PRTFILE"><b>PRTFILE</b></a></td>
<td valign="top">Print file</td>
<td valign="top"><i>Qualified object name</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Print file</td>
<td valign="top"><i>Name</i>, <b><u>QSYSPRT</u></b></td>
</tr><tr>
<td valign="top">Qualifier 2: Print file library</td>
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *CURLIB</td>
</tr><tr>
<td valign="top"><a href="#CRTS36CBL.ICFLIB"><b>ICFLIB</b></a></td>
<td valign="top">Library for ICF files</td>
<td valign="top"><i>Name</i></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.REPLACE"><b>REPLACE</b></a></td>
<td valign="top">Replace program</td>
<td valign="top">*NO, <b><u>*YES</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.TGTRLS"><b>TGTRLS</b></a></td>
<td valign="top">Target release</td>
<td valign="top"><i>Simple name</i>, <b><u>*CURRENT</u></b>, *PRV</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.USRPRF"><b>USRPRF</b></a></td>
<td valign="top">User profile</td>
<td valign="top"><b><u>*USER</u></b>, *OWNER</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.AUT"><b>AUT</b></a></td>
<td valign="top">Authority</td>
<td valign="top"><i>Name</i>, <b><u>*LIBCRTAUT</u></b>, *ALL, *CHANGE, *USE, *EXCLUDE</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#CRTS36CBL.DUMP"><b>DUMP</b></a></td>
<td valign="top">Compiler debugging dump</td>
<td valign="top"><i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: </td>
<td valign="top">
1-32767, <b><u>1</u></b>, *</td>
</tr>
<tr>
<td valign="top">Element 2: </td>
<td valign="top">
1-32767, <b><u>32767</u></b></td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.ITDUMP"><b>ITDUMP</b></a></td>
<td valign="top">Intermediate text dump</td>
<td valign="top">0-31, <b><u>0</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.FIXDECDTA"><b>FIXDECDTA</b></a></td>
<td valign="top">Fix decimal data</td>
<td valign="top">*NO, <b><u>*YES</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTS36CBL.CPYLIB"><b>CPYLIB</b></a></td>
<td valign="top">Copy file library</td>
<td valign="top"><i>Name</i>, *LIBL, *CURLIB</td>
<td valign="top">Optional</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="CRTS36CBL.PGM"></a>
<h3>Program (PGM)</h3>
<p>Specifies the program name and library name for the COBOL program object you are creating. The possible values are:
</p>
<dl>
<dt><b><u>*PGMID</u></b></dt>
<dd>The name for the program object is taken from the PROGRAM-ID paragraph in the COBOL source program.
</dd>
<dt><b><i>program-name</i></b></dt>
<dd>Enter a name to identify the compiled COBOL program. If you specify a program name for this parameter, and run the compilation in batch mode, the first program in the batch job uses this name; any other programs use the name specified in the PROGRAM-ID paragraph in the source program.
</dd>
</dl>
<p>The possible library values are:
</p>
<dl>
<dt><b><u>*CURLIB</u></b></dt>
<dd>The current library is used. If you have not assigned a library as the current library, QGPL is used.
</dd>
<dt><b><i>library-name</i></b></dt>
<dd>Enter the name of the library to contain the created program object.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.SRCFILE"></a>
<h3>Source file (SRCFILE)</h3>
<p>Specifies the name of the source file that contains the COBOL source to be compiled. The possible values are:
</p>
<dl>
<dt><b><u>QS36SRC</u></b></dt>
<dd>The IBM-supplied source file, QS36SRC, contains the COBOL source to be compiled.
</dd>
<dt><b><i>source-file-name</i></b></dt>
<dd>Enter the name of the source file that contains the COBOL source to be compiled. This source file should have a record length of 92.
</dd>
</dl>
<p>The possible library values are:
</p>
<dl>
<dt><b><u>*LIBL</u></b></dt>
<dd>The system searches the library list to find the library where the file is located.
</dd>
<dt><b>*CURLIB</b></dt>
<dd>The current library is used. If you have not assigned a library as the current library, QGPL is used.
</dd>
<dt><b><i>library-name</i></b></dt>
<dd>Enter the name of the library where the source file is stored.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.SRCMBR"></a>
<h3>Source member (SRCMBR)</h3>
<p>Specifies the name of the member of the source file that contains the COBOL source to be compiled. You can specify this parameter only if the source file referenced in the SRCFILE parameter is a database file. The possible values are:
</p>
<dl>
<dt><b>*PGM</b></dt>
<dd>If you specified a program name for the PGM parameter, the compiler looks for the source program in a member having the same name as the program, and creates a program object with the same name as the program and member.
<p>If you did not specify a program name for the PGM parameter, the compiler looks for the source program in the first member of the database source file, and creates a program object using the name specified in the PROGRAM-ID paragraph.
</p>
</dd>
<dt><b><i>source-file-member-name</i></b></dt>
<dd>Enter the name of the member that contains the COBOL source.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.GENLVL"></a>
<h3>Generation severity level (GENLVL)</h3>
<p>Specifies the severity level that determines if a program object is created. The severity level corresponds to the severity level of the messages produced during compilation of the program. If the severity level of error messages is greater than the value you specify, a program object is not created. For example, if you specify 19 for this parameter, a program object is not created if the severity level of any of the messages is 20 or greater.
</p>
<dl>
<dt><b><u>29</u></b></dt>
<dd>If errors occur in a program with a severity level greater than 29 a program object is not created.
</dd>
<dt><b><i>severity-level</i></b></dt>
<dd>Enter a two-digit number, 00 through 29.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.NEP"></a>
<h3>Never-ending program (NEP)</h3>
<p>Specifies if this program is a never-ending (or long-running) program. A never-ending program is constantly running and uses system resources (such as disk storage, display stations, or printers) that are not shared with other programs. A never-ending program does not end when all of its requesters are released.
</p>
<p>The possible values are:
</p>
<dl>
<dt><b><u>*NO</u></b></dt>
<dd>The program is not a never-ending program.
</dd>
<dt><b>*YES</b></dt>
<dd>The program is a never-ending program.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.MRTMAX"></a>
<h3>Maximum MRT devices (MRTMAX)</h3>
<p>Specifies the maximum number of requesting display stations to be allowed during the running of the compiled program. The maximum is 99. The possible values are:
</p>
<dl>
<dt><b><u>0</u></b></dt>
<dd>There are no requesting display stations.
</dd>
<dt><b><i>1-99</i></b></dt>
<dd>A two-digit number, 00 through 99, can be specified.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.TEXT"></a>
<h3>Text 'description' (TEXT)</h3>
<p>A brief description of the program and its function. The possible values are:
</p>
<dl>
<dt><b><u>*SRCMBRTXT</u></b></dt>
<dd>Use the same text for the program object as that which describes the database file member containing the COBOL source. If the source comes from a device or in-line file, specifying *SRCMBRTXT has the same effect as specifying *BLANK.
</dd>
<dt><b>*BLANK</b></dt>
<dd>No text is specified.
</dd>
<dt><b><i>'text-description'</i></b></dt>
<dd>Enter the text that briefly describes the program and its function. The text can be a maximum of 50 characters in length and must be enclosed in apostrophes. The apostrophes are not part of the 50-character string.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.OPTION"></a>
<h3>Source listing options (OPTION)</h3>
<p>Specifies the options to use when the COBOL source is compiled. The possible values are:
</p>
<dl>
<dt><b><u>*SOURCE</u> or <u>*SRC</u></b></dt>
<dd>The compiler produces a source listing, consisting of the COBOL source input and all compilation-time error messages.
</dd>
<dt><b>*NOSOURCE or *NOSRC</b></dt>
<dd>The compiler does not produce a source listing.
</dd>
<dt><b><u>*NOXREF</u></b></dt>
<dd>The compiler does not produce a cross-reference listing for the source program.
</dd>
<dt><b>*XREF</b></dt>
<dd>The compiler produces a cross-reference listing for the source program.
</dd>
<dt><b><u>*GEN</u></b></dt>
<dd>The compiler creates a program object after the source program is compiled.
</dd>
<dt><b>*NOGEN</b></dt>
<dd>The compiler performs syntax-checking and lists the appropriate error messages, but does not create a compiled program object.
</dd>
<dt><b><u>*SEQUENCE</u></b></dt>
<dd>The compiler checks the sequence of the source program statements. If statements are not in sequence, a message is printed.
</dd>
<dt><b>*NOSEQUENCE</b></dt>
<dd>The compiler does not check the sequence of the source program statements.
</dd>
<dt><b><u>*NOVBSUM</u></b></dt>
<dd>Verb-usage counts are not printed.
</dd>
<dt><b>*VBSUM</b></dt>
<dd>Verb-usage counts are printed.
</dd>
<dt><b><u>*NUMBER</u></b></dt>
<dd>The user-supplied sequence numbers (columns 1 through 6) are used for reference numbers.
</dd>
<dt><b>*NONUMBER</b></dt>
<dd>The source file sequence numbers (columns 1 through 6) are used for reference numbers.
</dd>
<dt><b>*LINENUMBER</b></dt>
<dd>The sequence numbers created by the compiler are used for reference numbers. This option combines program source code and source code introduced by COPY statements into one consecutively-numbered sequence. Use this option if you specify FIPS (Federal Information Processing Standards) flagging.
</dd>
<dt><b><u>*NOMAP</u></b></dt>
<dd>The compiler does not list the Data Division map.
</dd>
<dt><b>*MAP</b></dt>
<dd>The compiler lists the Data Division map.
</dd>
<dt><b><u>*OPTIONS</u></b></dt>
<dd>Options in effect are listed for this compilation.
</dd>
<dt><b>*NOOPTIONS</b></dt>
<dd>Options in effect are not listed for this compilation.
</dd>
<dt><b>*QUOTE</b></dt>
<dd>Specifies that the quotation mark (") is used to delineate literals.
</dd>
<dt><b><u>*APOST</u></b></dt>
<dd>Specifies that the apostrophe (') is used to delineate literals.
</dd>
<dt><b><u>*DEBUG</u></b></dt>
<dd>If you specify DEBUG for a program that does not contain WITH DEBUGGING MODE clauses, this option has no effect. Treat WITH DEBUGGING ON clause as normal.
</dd>
<dt><b>*NODEBUG</b></dt>
<dd>Treat WITH DEBUGGING ON clause as comment.
</dd>
<dt><b><u>*NOSECLVL</u></b></dt>
<dd>Second level message text is not listed for this compilation.
</dd>
<dt><b>*SECLVL</b></dt>
<dd>Second level message text is listed for this compilation.
</dd>
<dt><b><u>*PRINT</u></b></dt>
<dd>The compiler listing created by the COBOLC procedure is printed.
</dd>
<dt><b>*NOPRINT</b></dt>
<dd>The compiler listing created by the COBOLC procedure is not printed or displayed.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.GENOPT"></a>
<h3>Generation options (GENOPT)</h3>
<p>Specifies the options to use when creating the program object. The listings could be required if a problem occurs in COBOL. The possible values are:
</p>
<dl>
<dt><b><u>*NOLIST</u></b></dt>
<dd>No IRP (intermediate representation of program), associated hexadecimal code, or error messages are listed.
</dd>
<dt><b>*LIST</b></dt>
<dd>The IRP, its associated hexadecimal code, and any error messages are listed.
</dd>
<dt><b><u>*NOXREF</u></b></dt>
<dd>A cross-reference listing of all objects defined in the IRP is not produced.
</dd>
<dt><b>*XREF</b></dt>
<dd>A cross-reference listing of all objects defined in the IRP is produced.
</dd>
<dt><b><u>*NOPATCH</u></b></dt>
<dd>Space is not reserved in the compiled program for a program patch area.
</dd>
<dt><b>*PATCH</b></dt>
<dd>Space is reserved in the compiled program for a program patch area. The program patch area can be used for debugging purposes.
</dd>
<dt><b><u>*NODUMP</u></b></dt>
<dd>The program template is not listed.
</dd>
<dt><b>*DUMP</b></dt>
<dd>The program template is listed.
</dd>
<dt><b><u>*NOATR</u></b></dt>
<dd>The attributes for the IRP source are not listed.
</dd>
<dt><b>*ATR</b></dt>
<dd>The attributes for the IRP source are listed.
</dd>
<dt><b><u>*NORANGE</u></b></dt>
<dd>Does not verify ranges at run-time.
</dd>
<dt><b>*RANGE</b></dt>
<dd>At run-time, the system verifies that subscripts are within the correct ranges, but does not verify index ranges. It also checks for substring operations in the code created by the compiler.
</dd>
<dt><b><u>*UNREF</u></b></dt>
<dd>Unreferenced data items are included in the compiled program.
</dd>
<dt><b>*NOUNREF</b></dt>
<dd>Unreferenced data items are not included in the compiled program. This reduces the number of ODT (object definition table) entries used, allowing a larger program to be compiled. The unreferenced data items still appear in the cross-reference listings produced through the *XREF option.
</dd>
<dt><b><u>*NOOPTIMIZE</u></b></dt>
<dd>The compiler performs only standard optimizations for the program.
</dd>
<dt><b>*OPTIMIZE</b></dt>
<dd>The program object created may run more efficiently, and may require less storage. However, specifying *OPTIMIZE can substantially increase the time required to compile a program.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.PRTFILE"></a>
<h3>Print file (PRTFILE)</h3>
<p>Specifies the name of the file to which the compiler listing is directed and the library where the file is located. The file should have a minimum record length of 132. If a file with a record length less than 132 is specified, information is lost.
</p>
<p>The possible values are:
</p>
<dl>
<dt><b><u>QSYSPRT</u></b></dt>
<dd>If you do not specify a file name, the compiler listing is directed to QSYSPRT, an IBM-supplied file.
</dd>
<dt><b><i>file-name</i></b></dt>
<dd>Enter the name of the file to which the compiler listing is directed.
</dd>
</dl>
<p>The possible library values are:
</p>
<dl>
<dt><b><u>*LIBL</u></b></dt>
<dd>The system searches the library list, *LIBL, to find the library in which the file is located.
</dd>
<dt><b>*CURLIB</b></dt>
<dd>The library specified as the current library is searched. If you have not assigned a current library, QGPL is used.
</dd>
<dt><b><i>library-name</i></b></dt>
<dd>Enter the name of the library in which the file is located.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.ICFLIB"></a>
<h3>Library for ICF files (ICFLIB)</h3>
<p>Specifies the library containing the ICF record format definitions to be used with the program.
</p>
<dl>
<dt><b><i>ICF-library-name</i></b></dt>
<dd>Enter the name of the library for ICF files.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.REPLACE"></a>
<h3>Replace program (REPLACE)</h3>
<p>Specifies if a new program object is created when a program object of the same name in the same library already exists. The possible values are:
</p>
<dl>
<dt><b><u>*YES</u></b></dt>
<dd>A new program object is created and any existing program object of the same name in the specified library is moved to library QRPLOBJ.
</dd>
<dt><b>*NO</b></dt>
<dd>A new program object is not created if a program object of the same name already exists in the specified library.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.TGTRLS"></a>
<h3>Target release (TGTRLS)</h3>
<p>Specifies the release level of the operating system on which you intend to use the object being created.
</p>
<p>You can specify an exact release level in the format VxRxMx, where Vx is the version, Rx is the release, and Mx is the modification level. For example, V3R1M0 is Version 3, Release 1, Modification level 0.
</p>
<p>
<b>Note: </b>To use the object on the target system, you must save the object to the target release level specified on the create command and then restore it on the target system.
</p>
<p>For example, if your system is running V3R1M0 and you want to create a program object for distribution to a V2R3M0 system, you must create the program with TGTRLS(V2R3M0) or TGTRLS(*PRV), save the program with TGTRLS(V2R3M0) or TGTRLS(*PRV), and restore the program on the V2R3M0 system. The program object can also be restored on a V3R1M0 system.
</p>
<p>
<b>Note: </b>The program may be able to be restored on a release level earlier than the one you specified on the create command. Use DSPPGM to determine the earliest release the program can run.
</p>
<dl>
<dt><b><u>*CURRENT</u></b></dt>
<dd>The object is to be used on the release of the operating system currently running on your system. For example, if V3R1M0 is running on the system, *CURRENT means you intend to use the object on a system with V3R1M0 installed. You can also use the object on a system with any subsequent release of the operating system installed.
</dd>
<dt><b>*PRV</b></dt>
<dd>The object is to be used on the previous release with modification level 0 of the operating system. For example, if V3R1M0 is running on your system, *PRV means you intend to use the object on a system with V2R3M0 installed. You can also use the object on a system with any subsequent release of the operating system installed.
</dd>
<dt><b><i>release-level</i></b></dt>
<dd>Specify the release in the format VxRxMx. The object can be used on a system with the specified release or with any subsequent release of the operating system installed.
<p>Valid values depend on the current version, release, and modification level, and they change with each new release. To see the list of valid values, press F4=Prompt on the TGTRLS parameter of the command.
</p>
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.USRPRF"></a>
<h3>User profile (USRPRF)</h3>
<p>Specifies the user profile that will run the compiled COBOL program. The profile of the program owner or the program user is used to run the program and control which objects can be used by the program (including the authority the program has for each object).
</p>
<p>The possible values are:
</p>
<dl>
<dt><b><u>*USER</u></b></dt>
<dd>The user profile of the program user is to be used when the program is run.
</dd>
<dt><b>*OWNER</b></dt>
<dd>The user profiles of both the program's owner and user are to be used when the program is run. The collective sets of object authority in both user profiles are to be used to find and access objects when the program is run. Any objects that are created during the program are owned by the user of the program.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.AUT"></a>
<h3>Authority (AUT)</h3>
<p>Specifies the authority given to users who do not have specific authority to the program object, who are not on the authorization list, or whose group has no specific authority to the program object. You can alter the authority for all users, or for specific users after the program is created by using the GRTOBJAUT (Grant Object Authority) or RVKOBJAUT (Revoke Object Authority) commands.
</p>
<p>The possible values are:
</p>
<dl>
<dt><b><u>*LIBCRTAUT</u></b></dt>
<dd>The public authority for the object is taken from the CRTAUT keyword of the target library (the library that is to contain the created program object). This value is determined when the object is created. If the CRTAUT value for the library changes after the object is created, the new value does NOT affect any existing objects.
</dd>
<dt><b>*ALL</b></dt>
<dd>Provides authority for all operations on the program object except those limited to the owner or controlled by authorization list management authority. The user can control the program object's existence, specify security for it, change it, and perform basic functions on it, such as running and debugging the program object.
</dd>
<dt><b>*CHANGE</b></dt>
<dd>Provides all data authority and the authority to perform all operations on the program object except those limited to the owner or controlled by object authority and object management authority. The user can change the object and perform basic functions on it, such as running and debugging the program object.
</dd>
<dt><b>*USE</b></dt>
<dd>Provides object operational authority and read authority; authority for basic operations on the program object such as running the program. The user is prevented from changing the object.
<p>
<b>Note: </b>A user must have *USE authority to a program to obtain a formatted dump of the variables of the program. To dump variables, the program must also have observable information.
</p>
<p>If you do not want some users to be able to dump the variables, then give them only *OBJOPR plus *EXECUTE authority to the program. This will allow them to call the program but not dump its variables.
</p>
<p>If you do not want any users to be able to dump the variables, then use Change Program (CHGPGM) to remove the program's observable information.
</p>
</dd>
<dt><b>*EXCLUDE</b></dt>
<dd>The public cannot access the program object.
</dd>
<dt><b><i>authorization-list-name</i></b></dt>
<dd>Enter the name of an authorization list of users and authorities to which the program is added. The program object is secured by this authorization list, and the public authority for the program object is set to *AUTL. The authorization list must exist on the system when the CRTS36CBL command is issued.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.DUMP"></a>
<h3>Compiler debugging dump (DUMP)</h3>
<p>An IBM COBOL debugging aid. (For IBM service personnel.)
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.ITDUMP"></a>
<h3>Intermediate text dump (ITDUMP)</h3>
<p>An IBM debugging aid which causes the compiler to dump the internal text at certain times during the compilation. (For IBM service personnel.)
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.FIXDECDTA"></a>
<h3>Fix decimal data (FIXDECDTA)</h3>
<p>Checks for decimal data errors. A decimal data error occurs when a program attempts to use a packed or zoned number that is not valid. The possible values are:
</p>
<dl>
<dt><b><u>*YES</u></b></dt>
<dd>The compiler generates code to monitor for and correct decimal data errors.
</dd>
<dt><b>*NO</b></dt>
<dd>The compiler does not generate code to monitor for decimal data errors. If such an error occurs, your program will stop.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTS36CBL.CPYLIB"></a>
<h3>Copy file library (CPYLIB)</h3>
<p>Specifies the name of the library to be searched when a COPY statement is encountered. If no library is specified, #LIBRARY will be used.
</p>
<p>The possible library values are:
</p>
<dl>
<dt><b>*CURLIB</b></dt>
<dd>The library specified as the current library is searched. If you have not assigned a current library, QGPL is used.
</dd>
<dt><b>*LIBL</b></dt>
<dd>The library list is searched to find the library in which the COPY file is located.
</dd>
<dt><b><i>library-name</i></b></dt>
<dd>Enter the name of the library in which the COPY file is located.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="CRTS36CBL.COMMAND.EXAMPLES">Examples</a> </h3>
<p><b>Example 1: Compiling a Source Program into a Program Object for use on the System/36 environment</b>
</p>
<p>
<pre>
CRTS36CBL PGM(MYLIB/XMPLE1) SRCFILE(MYLIB/QS36SRC)
SRCMBR(XMPLE1) OPTION(*SOURCE)
TEXT('My COBOL program')
</pre>
</p>
<p>This command calls the COBOL compiler to create a program named XMPLE1. The source program is in member XMPLE1 of source file QS36SRC in library MYLIB. A compiler listing is created.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="CRTS36CBL.ERROR.MESSAGES">Error messages</a> </h3>
<p><b><u>*ESCAPE Messages</u></b>
</p>
<dl>
<dt><b>CBL1019</b></dt>
<dd>Compile failed. Program not created.
</dd>
<dt><b>SBL9001</b></dt>
<dd>Compile failed. Program not created.
</dd>
<dt><b>SBL9006</b></dt>
<dd>TGTRLS(&amp;1) specified, but previous compiler is not installed.
</dd>
<dt><b>SBL9007</b></dt>
<dd>The product library is damaged, or the user is not allowed to use it.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTS36CBL.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>