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

992 lines
42 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>Create CICS ILE C object (CRTCICSC)</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="CRTCICSC.Top_Of_Page"></a>
<h2>Create CICS ILE C object (CRTCICSC)</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="#CRTCICSC.PARAMETERS.TABLE">Parameters</a><br>
<a href="#CRTCICSC.COMMAND.EXAMPLES">Examples</a><br>
<a href="#CRTCICSC.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="CRTCICSC"></a>
<p>The Create CICS C (CRTCICSC) command calls the CICS translator, which translates C source containing CICS statements and produces a temporary source member. If the source program also contains Structured Query Language (SQL) commands, it optionally calls the SQL precompiler following a successful CICS translate. Following the CICS translation and the optional SQL precompilation, the ILE C compiler may optionally be called to compile the source.
</p>
<p>
<b>Note: </b>It is possible to precompile your SQL statements first by running the CRTSQLCI command and specifying the *NOGEN option on the OPTION parameter. This puts the SQL precompiler output in QSQLTEMP in library QTEMP. You must then run the CRTCICSC command specifying SRCFILE as QTEMP/QSQLTEMP; the SRCMBR name can be obtained by looking in this file for your SQL precompiled program source. The rest of the parameters on CRTCICSC can be entered as normal.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="CRTCICSC.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="#CRTCICSC.OBJ"><b>OBJ</b></a></td>
<td valign="top">Object</td>
<td valign="top"><i>Qualified object name</i></td>
<td valign="top" rowspan="3">Required, Positional 1</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Object</td>
<td valign="top"><i>Name</i></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="#CRTCICSC.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>QCSRC</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="#CRTCICSC.SRCMBR"><b>SRCMBR</b></a></td>
<td valign="top">Source member</td>
<td valign="top"><i>Name</i>, <b><u>*OBJ</u></b></td>
<td valign="top">Optional, Positional 3</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.OBJTYPE"><b>OBJTYPE</b></a></td>
<td valign="top">Compile type</td>
<td valign="top"><b><u>*MODULE</u></b>, *PGM</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.TEXT"><b>TEXT</b></a></td>
<td valign="top">Text description</td>
<td valign="top"><i>Character value</i>, <b><u>*SRCMBRTXT</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.OUTPUT"><b>OUTPUT</b></a></td>
<td valign="top">C Compiler output</td>
<td valign="top"><b><u>*NONE</u></b>, *PRINT</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.DBGVIEW"><b>DBGVIEW</b></a></td>
<td valign="top">C Debugging view</td>
<td valign="top"><b><u>*NONE</u></b>, *ALL, *STMT, *SOURCE, *LIST</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#CRTCICSC.MSGLMT"><b>MSGLMT</b></a></td>
<td valign="top">C Compiler messages</td>
<td valign="top"><i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Message limit</td>
<td valign="top">
1-32767, <b><u>*NOMAX</u></b></td>
</tr>
<tr>
<td valign="top">Element 2: Message limit severity</td>
<td valign="top">
10, 20, <b><u>30</u></b></td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.CICSOPT"><b>CICSOPT</b></a></td>
<td valign="top">CICS Options</td>
<td valign="top">Values (up to 19 repetitions): <b><u>*NOSOURCE</u></b>, *NOSRC, *SOURCE, *SRC, *NOVBREF, *VBREF, *NOXREFCICS, *XREFCICS, *NODEBUG, *DEBUG, *NOGEN, *GEN, *NOSECLVL, *SECLVL, *NOGRAPHIC, *GRAPHIC, *NOPP, *PP</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#CRTCICSC.OUTFILE"><b>OUTFILE</b></a></td>
<td valign="top">CICS Output 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: CICS Output file</td>
<td valign="top"><i>Name</i>, <b><u>QACYCICS</u></b></td>
</tr><tr>
<td valign="top">Qualifier 2: Library</td>
<td valign="top"><i>Name</i>, <b><u>QTEMP</u></b>, *LIBL, *CURLIB</td>
</tr><tr>
<td valign="top"><a href="#CRTCICSC.OUTMBR"><b>OUTMBR</b></a></td>
<td valign="top">CICS Output member</td>
<td valign="top"><i>Name</i>, <b><u>*OBJ</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.CICSGENLVL"><b>CICSGENLVL</b></a></td>
<td valign="top">CICS Message level</td>
<td valign="top">0-40, <b><u>10</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#CRTCICSC.MARGINS"><b>MARGINS</b></a></td>
<td valign="top">Source margins</td>
<td valign="top"><i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Left margin</td>
<td valign="top">
1-80, <b><u>1</u></b></td>
</tr>
<tr>
<td valign="top">Element 2: Right margin</td>
<td valign="top">
10-100, <b><u>80</u></b></td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.TGTRLS"><b>TGTRLS</b></a></td>
<td valign="top">Target release</td>
<td valign="top"><i>Character value</i></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.SQLOPT"><b>SQLOPT</b></a></td>
<td valign="top">SQL Options</td>
<td valign="top">Values (up to 16 repetitions): <b><u>*NOSOURCE</u></b>, *NOSRC, *SOURCE, *SRC, *XREF, *NOXREF, *GEN, *NOGEN, *SYSVAL, *PERIOD, *COMMA, *SECLVL, *NOSECLVL, *SQL, *SYS</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#CRTCICSC.INCFILE"><b>INCFILE</b></a></td>
<td valign="top">SQL INCLUDE 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: SQL INCLUDE file</td>
<td valign="top"><i>Name</i>, <b><u>*SRCFILE</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="#CRTCICSC.COMMIT"><b>COMMIT</b></a></td>
<td valign="top">SQL Commitment control</td>
<td valign="top"><b><u>*CHG</u></b>, *CS, *ALL, *NONE</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.ALWCPYDTA"><b>ALWCPYDTA</b></a></td>
<td valign="top">SQL Allow copy of data</td>
<td valign="top"><b><u>*YES</u></b>, *OPTIMIZE, *NO</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.ALWBLK"><b>ALWBLK</b></a></td>
<td valign="top">SQL Allow blocking</td>
<td valign="top"><b><u>*READ</u></b>, *NONE, *ALLREAD</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.DLYPRP"><b>DLYPRP</b></a></td>
<td valign="top">SQL Delay PREPARE</td>
<td valign="top"><b><u>*NO</u></b>, *YES</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.CLOSQLCSR"><b>CLOSQLCSR</b></a></td>
<td valign="top">SQL Close cursor</td>
<td valign="top"><b><u>*ENDACTGRP</u></b>, *ENDMOD</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.SQLGENLVL"><b>SQLGENLVL</b></a></td>
<td valign="top">SQL Message level</td>
<td valign="top">0-40, <b><u>10</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.SAAFLAG"><b>SAAFLAG</b></a></td>
<td valign="top">SQL SAA flagging</td>
<td valign="top"><b><u>*NOFLAG</u></b>, *FLAG</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.FLAGSTD"><b>FLAGSTD</b></a></td>
<td valign="top">SQL ANS flagging</td>
<td valign="top"><b><u>*NONE</u></b>, *ANS</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.DATFMT"><b>DATFMT</b></a></td>
<td valign="top">SQL Date format</td>
<td valign="top"><b><u>*JOB</u></b>, *USA, *ISO, *EUR, *JIS, *MDY, *DMY, *YMD, *JUL</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.TIMFMT"><b>TIMFMT</b></a></td>
<td valign="top">SQL Time format</td>
<td valign="top"><b><u>*HMS</u></b>, *USA, *ISO, *EUR, *JIS</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.TIMSEP"><b>TIMSEP</b></a></td>
<td valign="top">SQL Time separator</td>
<td valign="top">'&nbsp;', ':', '.', ',', <b><u>*JOB</u></b>, *BLANK</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.DATSEP"><b>DATSEP</b></a></td>
<td valign="top">SQL Date separator</td>
<td valign="top">'&nbsp;', '.', ',', '/', '-', <b><u>*JOB</u></b>, *BLANK</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.DFTRDBCOL"><b>DFTRDBCOL</b></a></td>
<td valign="top">SQL Default collection</td>
<td valign="top"><i>Name</i>, <b><u>*NONE</u></b></td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#CRTCICSC.REPLACE"><b>REPLACE</b></a></td>
<td valign="top">Replace object</td>
<td valign="top"><b><u>*YES</u></b>, *NO</td>
<td valign="top">Optional</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="CRTCICSC.OBJ"></a>
<h3>Object (OBJ)</h3>
<p>Specifies the name and qualifier of the object being created.
</p>
<p>The name of the object can be qualified by one of the following library values:
</p>
<ul>
<li>*CURLIB: Specifies that the object is to be created in the current library for the job. If no library is specified as the current library for the job, the object is created in QGPL.
</li>
<li><b>library-name:</b> Specify the name of the library in which the object is to be created.
</li>
</ul>
<p><b>object-name:</b> Specify the name of the object that is to be created.
</p>
<p>
<b>Note: </b>If the object name you specify is the same as that of an existing object, and if the REPLACE parameter is specified as *YES (the default) your new object replaces the existing one.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.SRCFILE"></a>
<h3>Source file (SRCFILE)</h3>
<p>Specifies the qualified name of the source file that contains the C source code with the EXEC CICS or EXEC SQL statements.
</p>
<p>The source file can be qualified by one of the following library values:
</p>
<ul>
<li>*LIBL: Specifies that the library list is used to locate the source file.
</li>
<li>*CURLIB: Specifies that the current library for the job is used to locate the source file. If no library is specified as the current library for the job, the QGPL library is used.
</li>
<li><b>library-name:</b> Specify the library where the source file is located.
</li>
</ul>
<p>QCSRC: Specifies that if a C source file name is not specified, the supplied source file QCSRC contains the C source.
</p>
<p><b>source-file-name:</b> Specify the name of the source file that contains the C source code.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.SRCMBR"></a>
<h3>Source member (SRCMBR)</h3>
<p>Specifies the name of the source file member that contains the C source.
</p>
<ul>
<li>*OBJ: Specifies that the C source is in the source file member that has the same member name as that specified in the OBJ parameter of this command.
</li>
<li><b>source-file-member-name:</b> Specify the name of the source file member that contains the C source code.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.OBJTYPE"></a>
<h3>Compile type (OBJTYPE)</h3>
<p>Specifies the type of object to be created.
</p>
<p>The possible values are:
</p>
<ul>
<li>*MODULE: Specifies that the CICS precompiler is to issue the CRTCMOD command to create a module.
</li>
<li><b>*PGM:</b> Specifies that the CICS precompiler is to issue the CRTBNDC command to create a bound program.
</li>
<li><b>Notes:</b>
<ul>
<li>If *NOGEN is specified for the CICSOPT option, only the CICS temporary source member is generated and a module or program is not created.
</li>
</ul>
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.TEXT"></a>
<h3>Text description (TEXT)</h3>
<p>Allows you to enter text that describes the compiled module or program and its function.
</p>
<ul>
<li>*SRCMBRTXT: Specifies that the text is taken from the source-file member being used to create the module or program. Text for a database source member can be added or changed by using the Source Entry Utility (STRSEU) command, or by using either the Add Physical File Member (ADDPFM) or Change Physical File Member (CHGPFM) command. If the source file is an inline file or a device file, the text is blank.
</li>
<li>*BLANK: No text is specified.
</li>
<li><b>'description':</b> Specify no more than 50 characters of text, enclosed in apostrophes.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.OUTPUT"></a>
<h3>C Compiler output (OUTPUT)</h3>
<p>Specifies whether a compiler listing is generated.
</p>
<p>The possible values are:
</p>
<ul>
<li>*NONE: Specifies that a compiler listing is not to be generated.
</li>
<li><b>*PRINT:</b> Specifies that a compiler listing is to be generated.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.DBGVIEW"></a>
<h3>C Debugging view (DBGVIEW)</h3>
<p>Specifies which level of debugging is available for the compiled module or program, and which source views are available for source-level debugging.
</p>
<p>The possible values of the DBGVIEW parameter are:
</p>
<ul>
<li>*NONE: Disables all of the debug options for debugging the compiled module or program. This is the default.
</li>
<li>*ALL Enables all of the debug options for debugging the compiled module or program and produces a source view, as well as a listing view.
</li>
<li>*STMT Allows the compiled module or program to be debugged using program statement numbers and symbolic identifiers.
</li>
<li>*SOURCE: Generates the source view for debugging the compiled module or program.
</li>
<li>*LIST Generates the listing view for debugging the compiled module or program.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.MSGLMT"></a>
<h3>Create CICS ILE C object (MSGLMT)</h3>
<p>Specifies the maximum number of messages that can occur before the C compilation stops.
</p>
<p>message-limit: Specifies the number of messages that can occur.
</p>
<ul>
<li>*NOMAX: Compilation continues regardless of the number of messages that have occurred at the specified message severity level. This is the default.
</li>
<li>maximum-message-limit: Specify the maximum number of messages that can occur at, or above, the specified message severity level, before compilation stops. The valid range is 1 to 32767.
</li>
</ul>
<p>message-severity: Specifies the message severity that can occur before compilation stops.
</p>
<ul>
<li>0: Specifies that a <u> message-limit</u> of messages at severity 0 or above can occur before compilation stops.
</li>
<li>10: Specifies that a <u> message-limit</u> of messages at severity 10 or above can occur before compilation stops.
</li>
<li>30: Specifies that a <u> message-limit</u> of messages at severity 30 or above can occur before compilation stops.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.CICSOPT"></a>
<h3>CICS Options (CICSOPT)</h3>
<p>Specifies whether one or more of the following options are to be used when the C source is CICS translated. If an option is specified more than once, or if two options conflict, the last option specified is used. If an option is not specified, then the default is used.
</p>
<p><b>Source Listing Options</b>
</p>
<ul>
<li>*NOSRC: or *NOSOURCE: Specifies that the CICS translator is not to produce a source listing.
</li>
<li>*SRC: or *SOURCE: Specifies that the CICS translator is to produce a source listing, consisting of the all the source input and error messages.
</li>
</ul>
<p><b>Cross-Reference Options</b>
</p>
<ul>
<li>*NOVBREF: or *NOXREFCICS: Specifies that the CICS translator is not to produce a cross-reference of EXEC CICS names.
</li>
<li>*VBREF: or XREFCICS: Specifies that the CICS translator produces a cross-reference between EXEC CICS names in the program and the statement numbers in the program that refer to them.
</li>
</ul>
<p><b>Debug options</b>
</p>
<ul>
<li>*NODEBUG: Specifies that the CICS translator is not to produce code that will be passed through to CICS to be displayed by the CICS execution diagnostic facility (EDF).
</li>
<li>*DEBUG: Specifies that the CICS translator is to produce code that will be passed through to CICS to be displayed by EDF.
</li>
</ul>
<p><b>Program creation options</b>
</p>
<ul>
<li>*GEN: Specifies that the SQL precompiler or ILE C compiler is to be called after a successful CICS translation.
<p>
<b>Note: </b>The SQL precompiler is to be called only if during the CICS translation stage an EXEC SQL statement was found in the C source code being CICS translated.
</p>
</li>
<li>*NOGEN: Specifies that compilation is to terminate at the end of the CICS translate.
</li>
</ul>
<p><b>Second-level help text</b>
</p>
<ul>
<li>*NOSECLVL: Specifies that no second-level help text is to be printed.
</li>
<li>*SECLVL: Specifies that the second-level text is to be printed along with the first-level help text.
<p>
<b>Note: </b>The first-level help text is printed each time an error occurs.
</p>
</li>
</ul>
<p><b>DBCS enablement</b>
</p>
<ul>
<li>*GRAPHIC: Specifies that the translator is to accept double-byte data. This data can only appear in columns 7 through 72. See the CICS Programming guide for restrictions and examples of the use of double-byte data.
</li>
<li>*NOGRAPHIC: Specifies that the translator is not to accept double-byte data.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.OUTFILE"></a>
<h3>Library (OUTFILE)</h3>
<p>Specifies the qualified name of the intermediate precompiler output.
</p>
<p>The possible library values are:
</p>
<ul>
<li>*LIBL: Specifies that all libraries in the user and system portions of the job's library list are to be searched.
</li>
<li>*CURLIB: Specifies that the current library is to be searched. If no library is specified as the current library for the job, the QGPL library is used.
</li>
<li><b>library-name:</b> Specify the name of the library in which the intermediate precompiler output is to be placed.
</li>
</ul>
<p><b>source-file-name:</b> Specify the name of the source file that is to contain the intermediate precompiler output.
</p>
<p>QTEMP/QACYCICS: If an output source file name is not specified, the supplied source file QTEMP/QACYCICS is to contain the intermediate precompiler output.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.OUTMBR"></a>
<h3>CICS Output member (OUTMBR)</h3>
<p>Specifies the name of the source file member that is to contain the intermediate precompiler output. If this parameter is not specified, the program name specified on the PGM parameter is used.
</p>
<ul>
<li>*PGM: Specifies that the intermediate precompiler output has the same member name as that specified in the PGM parameter.
</li>
<li><b>source-member-name:</b> Specify the name of the source file member to which the intermediate precompiler output should be copied.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.CICSGENLVL"></a>
<h3>CICS Message level (CICSGENLVL)</h3>
<p>Specifies a level of CICS precompiler errors. If errors occur with a severity level greater than the value specified in this parameter, either the SQL precompiler is not called (if the CICS precompiler located any SQL in the source) or the C compiler is not called.
</p>
<p>Possible values are:
</p>
<ul>
<li>10: If a severity level value is not specified, the default severity level is 10.
</li>
<li>severity-level: Specify a number from 0 through 40. Some suggested values are listed below:
<ul>
<li>10 The level value for warnings.
</li>
<li>20 The level value for general error messages.
</li>
<li>30 The level value for serious error messages.
</li>
<li>40 The level value for system-detected error messages.
</li>
</ul>
<p>
<b>Note: </b>The value of CICSGENLVL applies only to messages generated as a result of CICS translation errors. The specified CICSGENLVL value is <b>not</b> passed to the SQL precompiler or C compiler.
</p>
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.MARGINS"></a>
<h3>Source margins (MARGINS)</h3>
<p>Specifies the part of the precompiler input record that contains source text.
</p>
<p>The possible values are:
</p>
<ul>
<li><b>left:</b> Specify the beginning position for the statements. Valid values range from 1 through 90.
</li>
<li><b>right:</b> Specify the ending position for the statements. Valid values range from 10 through 100.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.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. In the examples given for the *CURRENT and *PRV values, and when specifying the target-release value, the format VxRxMx is used specify release, where Vx is the version, Rx is the release, and Mx is the modification level. For example, V5R3M0 is Version 5, Release 3, Modification 0.
</p>
<p>Valid values for this parameter change every release.
</p>
<p>The possible values are:
</p>
<ul>
<li>*CURRENT: The object is to be used on the release of the operating system currently running on your system. The object can also be used on a system with any subsequent release of the operating system installed.
</li>
<li>*PRV: The object is to be used on the previous release with modification level 0 of the operating system. The object can also be used on a system with any subsequent release of the operating system installed.
</li>
<li><b>release-level:</b> Specify the release level 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.
</p>
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.SQLOPT"></a>
<h3>SQL Options (SQLOPT)</h3>
<p>Specifies whether one or more of the following options are to be used when the C source is SQL precompiled. If an option is specified more than once, or if two options conflict, the last option specified is used. If an option is not specified then the default is used.
</p>
<p><b>Source Listing Options</b>
</p>
<ul>
<li>*NOSRC: or *NOSOURCE: Specifies that a source listing is not to be produced by the SQL precompiler.
</li>
<li>*SRC: or *SOURCE: Specifies that a source listing is produced by the SQL precompiler, consisting of the source and error messages.
</li>
</ul>
<p><b>Cross-Reference Options</b>
</p>
<ul>
<li>*NOXREF: Specifies that the SQL precompiler is not to produce a cross-reference of EXEC SQL names.
</li>
<li>*XREF: Specifies that the SQL precompiler is to produce a cross-reference between items in the program and the numbers of the statements in the program that refer to these items.
</li>
</ul>
<p><b>Program Creation Options</b>
</p>
<ul>
<li>*GEN: Specifies that the C compiler is to be called after a successful SQL precompilation.
</li>
<li>*NOGEN: Specifies that compilation is to be terminated at the end of the SQL precompilation.
</li>
</ul>
<p><b>Decimal point options</b>
</p>
<ul>
<li>*SYSVAL: Specifies that the value to be used as the decimal point is from the QDECFMT system value.
</li>
<li>*PERIOD: Specifies that the value to be used as a decimal point is a period.
</li>
<li>*COMMA: Specifies that the value to be used as a decimal point is a comma.
<p>
<b>Note: </b>Any numeric constants in lists (such as in the SELECT clause, the VALUES clause, and so on ) must be separated by a comma followed by a blank. For example, VALUES(1,1, 2,23, 4,1) is equivalent to VALUES(1.1,2.23,4.1) where the decimal point is the period.
</p>
</li>
</ul>
<p><b>Naming Convention Option</b>
</p>
<ul>
<li>*SYS: Specifies that the OS/400 system naming convention is to be used, (<u> library-name/file-name</u> ).
</li>
<li>*SQL: Specifies that the SQL naming convention is to be used (<u> collection-name.table-name</u> ).
</li>
</ul>
<p><b>Second-level help text</b>
</p>
<ul>
<li>*NOSECLVL: Specifies that no second-level help text is to be printed.
</li>
<li>*SECLVL: Specifies that the second-level help text is to be printed along with the first-level help text.
<p>
<b>Note: </b>The first-level help text is printed each time an error occurs.
</p>
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.INCFILE"></a>
<h3>SQL INCLUDE file (INCFILE)</h3>
<p>Specifies the qualified name of the source file that contains the members included in the program with any SQL INCLUDE statement.
</p>
<p>The possible library values are:
</p>
<ul>
<li>*LIBL: Specifies that the library list is used to locate the source file.
</li>
<li>*CURLIB: Specifies that the current library for the job is used to locate the source file. If no current library entry exists in the library list, QGPL is used.
</li>
<li>library-name: Specify the name of the library where the source file is located.
</li>
<li>*SRCFILE: Specifies the qualified source file you specified in the SRCFILE parameter that contains the source file members specified on any SQL INCLUDE statement.
</li>
<li>source-file-name: Specify the name of the source file that contains the source file members specified on any SQL INCLUDE statement. The record length of the source file you specify here must be no less than the record length of the source file you specified for the SRCFILE parameter.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.COMMIT"></a>
<h3>SQL Commitment control (COMMIT)</h3>
<p>Specifies whether SQL statements in the compiled program are run under commitment control. Files referred to in the host language source are not affected by this parameter. Only SQL tables, views, and SQL packages referred to in SQL statements are affected.
</p>
<ul>
<li>*CHG (change): Specifies the objects referred to in SQL COMMENT ON, CREATE, DROP, GRANT, LABEL ON, and REVOKE statements and the rows updated, deleted, and inserted are locked until the end of the unit of work (transaction). Uncommitted changes in other jobs can be seen.
</li>
<li>*CS (cursor stability): Specifies that objects referred to in SQL COMMENT ON, CREATE, DROP, GRANT, LABEL ON, and REVOKE statements and the rows updated, deleted, and inserted are locked until the end of the unit of work (transaction). A row that is selected, but not updated, is locked until the next row is selected. Uncommitted changes in other jobs cannot be seen.
</li>
<li>*ALL: Specifies that objects referred to in SQL COMMENT ON, CREATE, DROP, GRANT, LABEL ON, and REVOKE statements and the rows updated, deleted, and inserted are locked until the end of the unit of work (transaction). Uncommitted changes in other jobs cannot be seen.
</li>
<li>*NONE: Specifies that commitment control is not used. COMMIT and ROLLBACK statements are not allowed. Uncommitted changes in other jobs can be seen. If the SQL DROP COLLECTION statement is included in the program, *NONE must be used.
<p>
<b>Note: </b>If *CHG, *CS, or *ALL is specified, DROP COLLECTION cannot be included in the application. The default for this parameter for the Start SQL (STRSQL) command is *NONE.
</p>
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.ALWCPYDTA"></a>
<h3>SQL Allow copy of data (ALWCPYDTA)</h3>
<p>Specifies whether a copy of the data is allowed in a SELECT statement.
</p>
<ul>
<li>*YES: A copy of the data can only be used, if necessary, to run a SELECT statement.
</li>
<li>*OPTIMIZE: The system chooses whether or not to use the data retrieved directly from the database or to use a copy of the data. The decision is based on which choice will provide the best performance.
<p>This value decreases the time required for the total query. Because the copy of the data must be made before returning the first row of the result table, the time to retrieve the first row may be increased.
</p>
<p>
<b>Note: </b>If *CS or *ALL is specified on the COMMIT parameter, SQL run time ignores this parameter and uses current data.
</p>
</li>
<li>*NO: A copy of the data is not allowed. This option could return an negative SQLCODE if the clauses in the SELECT statement require a copy of the data. If the SELECT statement runs successfully, then current data was used.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.ALWBLK"></a>
<h3>SQL Allow blocking (ALWBLK)</h3>
<p>Specifies whether the database manager can use record blocking and the extent to which blocking can be used for read-only cursors.
</p>
<p>*READ: Records are blocked for read-only retrieval of data for cursors when:
</p>
<ul>
<li>*NONE is specified on the COMMIT parameter, to indicate that commitment control is not used.
</li>
<li>The cursor is declared with a FOR FETCH ONLY clause or there are no dynamic statements that could run a positioned UPDATE or DELETE statement for the cursor.
</li>
</ul>
<p>Specifying *READ can improve the overall performance of queries that meet the above conditions and retrieve a large number or records.
</p>
<p>*NONE: Rows are not blocked for retrieval of data for cursors. Specifying *NONE:
</p>
<ul>
<li>Guarantees that the data retrieved is current.
</li>
<li>May reduce the amount of time required to retrieve the first row of data for a query.
</li>
<li>Stops the database manager from retrieving a block of data rows that is not used by the program when only the first few rows of a query are retrieved before the query is closed.
</li>
<li>Can degrade the overall performance of a query that retrieves a large number of rows.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.DLYPRP"></a>
<h3>SQL Delay PREPARE (DLYPRP)</h3>
<p>Specifies whether the dynamic statement validation for a PREPARE statement is delayed until an OPEN, EXECUTE, or DESCRIBE statement is run. Delaying validation improves performance by eliminating duplicate validation.
</p>
<ul>
<li>*NO: Dynamic statement validation is not delayed. When the dynamic statement is prepared, the access plan is validated. When the dynamic statement is used in an OPEN or EXECUTE statement, the access plan is revalidated. Because the authority or the existence of objects referred to by the dynamic statement may change, you must still check the SQLCODE or SQLSTATE after issuing the OPEN or EXECUTE statement to ensure that the dynamic statement is still valid.
</li>
<li>*YES: Dynamic statement validation is delayed until the dynamic statement is used in an OPEN, EXECUTE, or DESCRIBE SQL statement. When the dynamic statement is used, the validation is completed and an access plan is built. If you specify *YES on this parameter for precompiled programs, you should check the SQLCODE and SQLSTATE after running an OPEN, EXECUTE, or DESCRIBE statement to ensure that the dynamic statement is valid. If you specify *YES, performance is not improved if the INTO clause is used on the PREPARE statement or if a DESCRIBE statement uses the dynamic statement before an OPEN is issued for the statement.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.CLOSQLCSR"></a>
<h3>SQL Close cursor (CLOSQLCSR)</h3>
<p>Specifies when SQL cursors are to be implicitly closed; when SQL prepared statements are implicitly discarded; and when LOCK TABLE locks are SQL cursors are explicitly closed by issuing the CLOSE, COMMIT (without HOLD), or ROLLBACK (without HOLD) SQL statements.
</p>
<p>Possible values are:
</p>
<ul>
<li>*ENDACTGRP: Specifies that SQL cursors are to be closed, SQL prepared statements are to be discarded, and LOCK TABLE locks are to be released when the activation group ends.
</li>
<li>*ENDMOD: Specifies that SQL cursors are to be closed and SQL prepared statements are to be discarded when the module is exited. LOCK TABLE locks are to be released when the activation group ends.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.SQLGENLVL"></a>
<h3>SQL Message level (SQLGENLVL)</h3>
<p>Specifies a level of SQL precompiler errors. If errors occur with a severity level greater than the value specified in the parameter, then the ILE C compiler is not called.
</p>
<p>Possible values are:
</p>
<ul>
<li>10: If no value is specified, the default severity level is 10.
</li>
<li>severity-level: Specify a number in the range 0 through 40. Some suggested values are listed below:
<ul>
<li>10 The level value for warnings.
</li>
<li>20 The level value for general error messages.
</li>
<li>30 The level value for serious error messages.
</li>
<li>40 The level value for system-detected error messages.
</li>
</ul>
<p>
<b>Note: </b>The value of SQLGENLVL applies only to messages generated as a result of SQL precompilation errors. The specified SQLGENLVL value is <b>not</b> passed to the ILE C compiler.
</p>
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.SAAFLAG"></a>
<h3>SQL SAA flagging (SAAFLAG)</h3>
<p>Specifies whether SQL statements that do not SAA Level 2 Database standards are flagged. This parameter allows the user to flag SQL statements to verify that they conform to SAA Level 2 Database standards.
</p>
<ul>
<li>*NOFLAG: Specifies that the precompiler will <u> not</u> check for SAA standards.
</li>
<li>*FLAG: Specifies that the precompiler will check for SAA standards.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.FLAGSTD"></a>
<h3>SQL ANS flagging (FLAGSTD)</h3>
<p>Specifies whether nonstandard statements are flagged. This parameter allows you to flag SQL statements to verify if they have conformed to ANSI X3.135-1-1989, ANSI X3.168-1989, ISO 9075-1989, and FIPS 127.1 standards.
</p>
<ul>
<li>*NONE: Specifies that the precompiler will <u> not</u> check for ANSI standards.
</li>
<li>*ANS: Specifies that the precompiler checks for conformity to ANSI standards.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.DATFMT"></a>
<h3>SQL Date format (DATFMT)</h3>
<p>Specifies the format used when accessing date result columns. All output date fields are returned in the specified format. For input date strings, the specified value is used to determine if the date is in a valid format.
</p>
<p>
<b>Note: </b>An input date string that uses format *USA, *ISO, *EUR, or *JIS is always valid. If you connect to a relational database that is on a system that is not an iSeries system, *USA, *ISO, *EUR, or *JIS must be used.
</p>
<ul>
<li>*JOB: Specifies the format used for the job at precompilation. Use the Display Job (DSPJOB) command to determine the current date format for the job.
</li>
<li>*USA: The United States date format mm/dd/yyyy is used.
</li>
<li>*ISO: The International Organization for Standardization (ISO) date format yyyy-mm-dd is used.
</li>
<li>*EUR: The European date format dd.mm.yyyy is used.
</li>
<li>*JIS: The Japanese Industrial Standard date format yyyy-mm-dd is used.
</li>
<li>*MDY: The date format mm/dd/yy is used.
</li>
<li>*DMY: The date format dd/mm/yy is used.
</li>
<li>*YMD: The date format yy/mm/dd is used.
</li>
<li>*JUL: The Julian date format yy/ddd is used.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.TIMFMT"></a>
<h3>SQL Time format (TIMFMT)</h3>
<p>Specifies the format used when accessing time result columns. All output time fields are returned in the specified format. For input time strings, the specified value is used to determine if the time is specified in a valid format.
</p>
<p>
<b>Note: </b>An input time string that uses the format *USA, *ISO, *EUR, or *JIS is always valid. If you connect to a relational database that is on a system that is not an iSeries system, the time format must be *USA, *ISO, *EUR, *JIS, or *HMS with a time separator of colon or period.
</p>
<ul>
<li>*HMS: The hh:mm:ss format is used.
</li>
<li>*USA: The United States time format hh:mm xx is used, where xx is AM or PM.
</li>
<li>*ISO: The International Organization for Standardization (ISO) time format hh.mm.ss is used.
</li>
<li>*EUR: The European time format hh.mm.ss is used.
</li>
<li>*JIS: The Japanese Industrial standard time format hh:mm:ss is used.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.TIMSEP"></a>
<h3>SQL Time separator (TIMSEP)</h3>
<p>Specifies the separator used when accessing time result columns.
</p>
<p>
<b>Note: </b>This parameter applies only when *HMS is specified on the TIMFMT parameter.
</p>
<ul>
<li>*JOB The time separator specified for the job at precompile time is used. Use the Display Job (DSPJOB) command to determine the current value for the job.
</li>
<li>":": A colon (:) is used as the time separator.
</li>
<li>".": A period (.) is used as the time separator.
</li>
<li>",": A comma (,) is used as the time separator.
</li>
<li>" ": A blank space is used as the time separator.
</li>
<li>*BLANK A blank is used as the time separator.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.DATSEP"></a>
<h3>SQL Date separator (DATSEP)</h3>
<p>Specifies the separator used when accessing date result columns.
</p>
<ul>
<li>*JOB The date separator for the job at the precompile time is used. Use the Display Job (DSPJOB) command to determine the current value for the job.
</li>
<li>"/": A slash (/) is used as the date separator.
</li>
<li>".": A period (.) is used as the date separator.
</li>
<li>",": A comma (,) is used as the date separator.
</li>
<li>"-": A hyphen (-) is used as the date separator.
</li>
<li>" ": A blank space is used as the date separator.
</li>
<li>*BLANK A blank is used as the time separator.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.DFTRDBCOL"></a>
<h3>SQL Default collection (DFTRDBCOL)</h3>
<p>Specifies the name of the collection identifier to be used for unqualified names of tables, views, indexes, and SQL packages. This parameter applies only to static SQL statements.
</p>
<ul>
<li>*NONE: The naming convention specified on the SQLOPT parameter is used.
</li>
<li>collection name: Specifies the name of the collection identifier to be used instead of the naming convention specified on the SQLOPT parameter.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="CRTCICSC.REPLACE"></a>
<h3>Replace object (REPLACE)</h3>
<p>Specifies whether a CICS module or program is to be created when there is an existing CICS module or program of the same name and type in the same library. The value of this parameter is passed to the CRTSQLCI, CRTCMOD, or CRTBNDC command.
</p>
<ul>
<li>*YES Specifies that a CICS module or program is to be created, an existing object of the same name and type in the specified library is to be moved to QRPLOBJ. The *YES value is passed to the CRTSQLCI, CRTCMOD, or CRTBNDC command.
</li>
<li>*NO Specifies that a CICS module or program is not to be created if an object of the same name and type already exists in the specified library.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="CRTCICSC.COMMAND.EXAMPLES">Examples</a></h3>None
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="CRTCICSC.ERROR.MESSAGES">Error messages</a></h3>Unknown
</div>
<table width="100%">
<tr><td align="right"><a href="#CRTCICSC.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>