Create CICS Program (CRTCICSCBL)

The Create CICS COBOL (CRTCICSCBL) command calls the CICS precompiler, which precompiles either OPM or ILE COBOL source containing CICS statements and produces a temporary source member. (At this time COBOL copybooks are not expanded in the Cobol source.) If the source program also contains Structured Query Language (SQL) commands, it optionally calls the SQL precompiler following a successful CICS precompile. The resulting precompiler output is placed into a temporary source member. Following the CICS precompilation and the optional SQL precompilation, the COBOL compiler may optionally be called to compile the program.

Note: It is possible to precompile your SQL statements first by running the CRTSQLCBL 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 CRTCICSCBL 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 CRTCICSCBL can be entered as normal.

It is not recommended that applications be compiled in this way but, if necessary, it can be done.

Parameters

Keyword Description Choices Notes
PGM Program Qualified object name Required, Positional 1
Qualifier 1: Program Name
Qualifier 2: Library Name, *CURLIB
SRCFILE Source file Qualified object name Optional, Positional 2
Qualifier 1: Source file Name, QLBLSRC
Qualifier 2: Library Name, *LIBL, *CURLIB
SRCMBR Source member Name, *PGM Optional, Positional 3
COMMIT Commitment control *CHG, *CS, *ALL, *NONE Optional
OBJTYPE Compile type *PGM, *BNDPGM, *MODULE Optional
TEXT Text description Character value, *SRCMBRTXT, *BLANK Optional
CICSOPT CICS Options Values (up to 11 repetitions): *NOSOURCE, *NOSRC, *SOURCE, *SRC, *NOVBREF, *VBREF, *NOXREFCICS, *XREFCICS, *NODEBUG, *DEBUG, *QUOTE, *APOST, *NOGEN, *GEN, *NOSECLVL, *SECLVL, *GRAPHIC, *NOPICXGRAPHIC, *PICXGRAPHIC, *NOPICGGRAPHIC, *PICGGRAPHIC Optional, Positional 4
SQLOPT SQL Options Values (up to 10 repetitions): *NOSOURCE, *NOSRC, *SOURCE, *SRC, *XREF, *NOXREF, *GEN, *NOGEN, *JOB, *SYSVAL, *PERIOD, *COMMA, *QUOTESQL, *APOSTSQL, *QUOTE, *APOST, *SECLVL, *NOSECLVL, *SQL, *SYS Optional, Positional 5
CBLOPT COBOL options Values (up to 8 repetitions): *NOSOURCE, *NOSRC, *SOURCE, *SRC, *RANGE, *NORANGE, *NOOPTIMIZE, *OPTIMIZE, *LSTDBG, *NOLSTDBG, *NOSTDTRUNC, *STDTRUNC, *NOXREF, *XREF, *NOMAP, *MAP, *NOUNREF, *UNREF Optional, Positional 6
OUTFILE CICS Output file Qualified object name Optional
Qualifier 1: CICS Output file Name, QACYCICS
Qualifier 2: Library Name, QTEMP, *LIBL, *CURLIB
OUTMBR CICS Output member Name, *PGM Optional
TGTRLS Target release Character value Optional
ACTGRP Activation group Name, QILE, *NEW, *CALLER Optional
INCFILE INCLUDE file Qualified object name Optional
Qualifier 1: INCLUDE file Name, *SRCFILE
Qualifier 2: Library Name, *LIBL, *CURLIB
ALWCPYDTA Allow copy of data *YES, *OPTIMIZE, *NO Optional
ALWBLK Allow blocking *READ, *NONE, *ALLREAD Optional
DLYPRP Delay PREPARE *NO, *YES Optional
CLOSQLCSR Close SQL cursor *OBJTYPE, *ENDPGM, *ENDSQL, *ENDJOB, *ENDACTGRP, *ENDMOD Optional
CICSGENLVL CICS gen. severity level 10, 20, 30, 40 Optional
CBLGENLVL COBOL gen. severity level 0-29, 29 Optional
SQLGENLVL SQL gen. severity level 10, 20, 30, 40 Optional
SAAFLAG SAA Flagging *NOFLAG, *FLAG Optional
FLAGSTD ANS Flagging *NONE, *ANS Optional
FLAG Flagging severity 0-99, 0 Optional
SRTSEQ Sort sequence Single values: *HEX, *JOB, *JOBRUN, *LANGIDUNQ, *LANGIDSHR
Other values: Qualified object name
Optional
Qualifier 1: Sort sequence Name
Qualifier 2: Library Name, *LIBL, *CURLIB
LANGID Language identifier Character value Optional
DATFMT Date Format *JOB, *USA, *ISO, *EUR, *JIS, *MDY, *DMY, *YMD, *JUL Optional
TIMFMT Time Format *HMS, *USA, *ISO, *EUR, *JIS Optional
TIMSEP Time separator character ' ', ':', '.', ',', *JOB, *BLANK Optional
DATSEP Date separator character ' ', '.', ',', '/', '-', *JOB, *BLANK Optional
REPLACE Replace *YES, *NO Optional
DFTRDBCOL Default collection Name, *NONE Optional

Program (PGM)

Specifies the qualified name by which the compiled program is known.

The possible library values are:

program-name: Specify the name of the program being created that contains the CICS statements.

Note: If the program name you specify is the same name as an existing program, your new program replaces the existing one if the REPLACE parameter is specified as *YES (the default). If *MODULE is specified for the OBJTYPE parameter, the qualified name specified for this parameter is the name of the module object to be created.

Source file (SRCFILE)

Specifies the qualified name of the source file that contains the COBOL source with the EXEC CICS or EXEC SQL statements.

The possible library values are:

QLBLSRC: If a COBOL source file name is not specified, the supplied source file QLBLSRC contains the COBOL source.

source-file-name: Specify the name of the source file that contains the COBOL source. This source file should have a record length of 92 bytes. The source file can be a database file, device file, or an inline data file.

Source member (SRCMBR)

Specifies the name of the source file member that contains the COBOL source. This parameter is only specified if the source file name in the SRCFILE parameter is that of a database file.

Commitment control (COMMIT)

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.

Compile type (OBJTYPE)

Specifies the type of object to be created.

The possible values are:

Text description (TEXT)

Allows you to enter text that describes the compiled module or program and its function.

CICS Options (CICSOPT)

Specifies whether one or more of the following options are used when either the OPM or ILE COBOL source is CICS precompiled. If an option is specified more than once, or if two options conflict, the last option specified that does not conflict with the Compile type is used. If an option is not specified, then the default is used.

Source Listing Options

String Delimiter and Literal Options

Cross-Reference Options

Debug options

SQL precompiler option

Second level help text

DBCS enablement

SQL Options (SQLOPT)

Specifies whether one or more of the following options are used when either the OPM or ILE COBOL source is SQL precompiled. If an option is specified more than once, or if two options conflict, the last option specified that does not conflict with the Compile type is used. If an option is not specified then the default is used.

Source Listing Options

Cross-Reference Options

Program Creation Options

Decimal point options

SQL String Delimiter Options

COBOL String Delimiter Options

Naming Convention Option

Second level help text

COBOL options (CBLOPT)

Specifies the options to use when the object program is created. The listing may be required if a problem occurs in COBOL. Note that unpredictable results could occur when mixing CICS and COBOL file access.

Some possible values are listed below. Refer to the CICS documentation for a complete list of options that are supported.

Source Listing Options

Verify Ranges

Optimization

CODE product options

Data truncation

Cross Reference

Data Division Map

Unreferenced data items

CICS Output file (OUTFILE)

Specifies the qualified name of the intermediate precompiler output.

The possible library values are:

source-file-name: Specify the name of the source file that is to contain the intermediate precompiler output.

QTEMP/QACYCICS: If an output source file name is not specified, the supplied source file QTEMP/QACYCICS is to contain the intermediate precompiler output.

CICS Output member (OUTMBR)

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.

Target release (TGTRLS)

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.

Valid values for this parameter change every release.

The possible values are:

Activation group (ACTGRP)

Specifies the activation group this program is associated with when it is called. It only works when the OBJTYPE parameter is *BNDPGM and the source program does not contain any SQL statement.

INCLUDE file (INCFILE)

Specifies the qualified name of the source file that contains the members included in the program with any SQL INCLUDE statement.

The possible library values are:

Allow copy of data (ALWCPYDTA)

Specifies whether a copy of the data is allowed in a SELECT statement.

Allow blocking (ALWBLK)

Specifies whether the database manager can use record blocking and the extent to which blocking can be used for read-only cursors.

*READ: Records are blocked for read-only retrieval of data for cursors when:

Specifying *READ can improve the overall performance of queries that meet the above conditions and retrieve a large number or records.

*NONE: Rows are not blocked for retrieval of data for cursors. Specifying *NONE:

Delay PREPARE (DLYPRP)

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.

Close SQL cursor (CLOSQLCSR)

Specifies when SQL cursors are implicitly closed, SQL prepared statements are implicitly discarded, and LOCK TABLE locks are released. SQL cursors are explicitly closed by issuing the CLOSE, COMMIT (without HOLD), or ROLLBACK (without HOLD) SQL statements.

CICS gen. severity level (CICSGENLVL)

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 COBOL compiler is not called.

COBOL gen. severity level (CBLGENLVL)

Specifies a level of COBOL compiler errors. If errors occur with a severity level greater than the value specified in this parameter, then the COBOL program object is not created.

SQL gen. severity level (SQLGENLVL)

Specifies a level of SQL precompiler errors. If errors occur with a severity level greater than the value specified in the parameter, then the COBOL compiler is not called.

SAA Flagging (SAAFLAG)

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.

ANS Flagging (FLAGSTD)

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.

Flagging severity (FLAG)

Specifies the minimum severity level of messages to be printed. The possible values area:

Sort sequence (SRTSEQ)

Specifies the sort sequence used when NLSSORT is associated with an alphabet-name in the ALPHABET clause. The SRTSEQ parameter is used in conjunction with the LANGID parameter to determine which system- defined or user-defined sort sequence table the program will use. The possible values are:

Language identifier (LANGID)

Specifies the language identifier which is used in conjunction with the sort sequence. The LANGID parameter is used only when the SRTSEQ value in effect is *LANGIDUNQ or *LANGIDSHR. The possible values are:

Date Format (DATFMT)

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.

Note: 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 IBM i, *USA, *ISO, *EUR, or *JIS must be used.

Time Format (TIMFMT)

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.

Note: 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 IBM i, the time format must be *USA, *ISO, *EUR, *JIS, or *HMS with a time separator of colon or period.

Time separator character (TIMSEP)

Specifies the separator used when accessing time result columns.

Note: This parameter applies only when *HMS is specified on the TIMFMT parameter.

Date separator character (DATSEP)

Specifies the separator used when accessing date result columns.

Replace (REPLACE)

Specifies whether a SQL program is created when there is an existing SQL program the same name in the same library. The value of this parameter is passed to the CRTCBLPGM command.

Default collection (DFTRDBCOL)

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.

Examples

None

Error messages

Unknown