Predefined symbolic parameters that can be set by the user

The tables in this topic show the predefined symbolic parameters that you can set if you are generating COBOL code. In addition to the parameters shown below, the user can create additional custom parameters for either the iSeries® or zSeries environment. The first table shows symbolic parameters that are used in the EGL build scripts and in EGL templates.

Do not override any of the pseudo-JCL variables set by the build server.

Table 1. Predefined symbolic parameters that can be set by the user
Name Description Default value Platform/ systemType
ADDSPACESAROUNDSQLHYPHENS Because of length limits for COBOL lines, EGL may have to break up lines of SQL statements that have no spaces. EGL cannot determine whether a dash is used as a minus sign or as a hyphen within a data name. For example, MYDATA-12 might be either a column name or an expression (MYDATA - 12). If you do not use hyphens within data names, you can set this symbolic parameter to YES and create automatic spaces around minus signs. NO All
ALLOWRECURSIVEPROGRAMS By default, each instance of the same COBOL program shares the same EGL program level variables. If the program is called recursively, the same memory is used. To get a different copy of memory for a called COBOL program, set this parameter to YES. This support depends upon COBOL allowing the recursion. NO zSeries
ALLOWTUILEFTALIGN Specifies whether the leftAlign build descriptor option affects text forms.

Set the value to NO to retain field characteristics that were in effect in EGL versions prior to mid 2012. Before that time, the build descriptor option affected only print forms.

YES

IMSVS
iSeries,
VSECICS
ZOSCICS

ALLOWTUISETFORMITEMFULL Specifies whether the setFormItemFull build descriptor option affects text forms.

Set the value to NO to retain field characteristics that were in effect in EGL versions prior to mid 2012. Before that time, the build descriptor option affected only print forms.

YES

IMSVS
iSeries,
VSECICS
ZOSCICS

ALLOWTUIFILLWITHNULLS Specifies whether the setFormItemFull build descriptor option affects text forms.

Set the value to NO to retain field characteristics that were in effect in EGL versions prior to mid 2012. Before that time, the build descriptor option affected only print forms.

YES

IMSVS
iSeries,
VSECICS
ZOSCICS

AMODE Value of the AMODE for the module. Possible values are 24 and 31. 31 zSeries
BUILD_SCRIPT_LIBRARY Allows the name of the PDS from which the build server reads the build scripts to be overridden.

This symbolic parameter is useful when exception build processing is needed. For example, you can use a separate build script PDS if a special test system is needed with a separate database, COBOL libraries, or CICS® libraries. The build scripts could have different default substitution variables or different compile options.

An alternative approach is to start a build server on a different port and to allocate a different build script PDS.

  zSeries
CCUEXTB The build server DD statement extension for database bind printouts returned to the build client1 NORETURN zSeries
CCUEXTC The build server DD statement extension for compiler printouts returned to the build client1 NORETURN zSeries
CCUEXTL The build server DD statement extension for linkage editor printouts returned to the build client1 NORETURN zSeries
CCUEXTP The build server DD statement extension for SQL preprocessor printouts returned to the build client.1 NORETURN zSeries
CCUEXTS1 The build server DD statement extension for IMS™ MFS processing listing step 1 returned to the build client.1 NORETURN zSeries
CCUEXTS2 The build server DD statement extension for IMS MFS processing listing step 2 returned to the build client.1 NORETURN zSeries
CCUEXTT The build server DD statement extension for CICS translator printouts returned to the build client1 NORETURN zSeries
COBCICS The name of the LE CICS runtime library. SYS1.SCEECICS zSeries
COBCOMP The name of the COBOL compiler library. SYS1.IGY.SIGYCOMP zSeries
COBLIB The name of the LE link-edit library SYS1.SCEELKED zSeries
COBLISTPARMS Listing options for COBOL compiler NOLIST zSeries
DEBUG To compile the program for use with the debugger, set the value of this parameter to YES on iSeries or TEST on zSeries. , (comma) iSeries, zSeries
DFHLOAD The name of the CICS load library

CICS.CICS410.
PD09850.SDFHLOAD2

zSeries
DISTBUILD_BUILD_SCRIPT The name of the build script to be used in the PREP step. In a multiple step build, this value is used in all steps. For example, you could specify a custom XFER script that skips the compile, link, and bind steps. If not specified, the COBOL generator determines this name. zSeries
DSN The name of the DB2® subsystem DSN82 zSeries
DSNCLI The name of the module to include in the generated link edit control files for programs that use DB2 but not DL/I. Using the default value of DSNCLI, the generated statement would be: include syslib (DFHEAI, DSNCLI) DSNCLI zSeries
DSNELI The name of the DB2 execute interface module. DSNELI zSeries
DSNEXIT The name of the DB2 DSNEXIT library DSN8.DSNEXIT2 zSeries
DSNHLI The name of the module to include in the generated link edit control files for programs that use both DB2 and DL/I. Using the default value of DSNHLI, the generated statement would be: include syslib (DFHEAI, DSNHLI) DSNHLI zSeries
DSNLOAD The name of the DB2 DSNLOAD library DSN8.DSNLOAD2 zSeries
DSYS The name of the DB2 subsystem DSN82 zSeries
ELA IBM® Rational® COBOL Runtime Server for zSeries high-level qualifier ELA.V6R0M1 zSeries
EZALTXTR Specifies the name of an alternate transaction to be invoked when performing a change to the alternate PCB. [name of current transaction]

IMSBMP
IMSVS

EZECBLTDLI Specifies the name of an alternate program to be invoked for all IMS calls, instead of the default CBLTDLI. Use this to invoke a custom IMS interface program CBLTDLI

IMSBMP
IMSVS
VSEBATCH
VSECICS
ZOSBATCH
ZOSCICS

IGNORETRACE A list of program names (separated by commas), for which EGL should not trace the statements. Use this for programs that have been thoroughly debugged, and for which you no longer need tracing messages. EGL checks this parameter at generation time to determine whether the trace DISPLAY statements should be added to the COBOL source or not. [No default] All
LEAVESOSISPACES A value of NO indicates that for text forms, mixed byte literals are checked for spaces before the shift-out character or after the shift-in character and if found, those spaces are removed. If a value of YES is given, then no checking or removing of those spaces occurs in the text field literal. NO All
LECOMPLIANT Specify YES if you wish to link zOS batch or IMSBMP generated programs with an LE compliant EGL runtime stub. The LE compliant runtime stub does not alter any execution, but allows the user to utilize mainframe debuggers (or other programs) that require LE compliance. NO zSeries
MAXIMUMSTRINGSIZE Specifies the maximum size of a string variable. Setting this parameter can increase performance in the following circumstances:
  • You are certain that the programs do not contain strings longer than the maximum
  • You use a significant number of strings
There is no performance benefit with a value less than 2000.
32767 All
POSSIGNBLANK A value of YES specifies that trailing positive signs in print forms be blank rather than a plus-sign character (+). NO All
PROGRAMUSESCLEARKEY A value of YES allows a Text UI program to receive the key code for the CLEAR key, so that CLEAR can be used as a bypass key (input is not validated). NO

CICS
iSeries

RESLIB The value of IMS RESLIB. SYS1.SDFSRESL zSeries
RETAINTEMPORARYFILES If set to NO (the default), this parameter causes the iSeries system to delete temporary files as well as COBOL source files after compilation. If you set DEBUG to YES, RETAINTEMPORARYFILES will automatically be set to YES. NO iSeries
RGN Region size 4096K zSeries
RMODE Value of the RMODE for the module. Possible values are 24 and ANY. ANY zSeries
SDFHEXCI Location of CICS SDFHEXCI library. CICSTS.V3R1M0.CICS. SDFHEXCI zSeries
SHIFTPRINTLEFT A value of YES preserves VAGen behavior that shifts alignment 1 character to the left for print forms. NO iSeries
SOUT SYSOUT assignment * zSeries
SUFF CICS program name suffix 1$ zSeries
SYS2 High level qualifier for IMS MFS preparation IMSC710 zSeries
SYSCMDS CICS/ESA system programming translator option &COMMA.SP2 zSeries
UNKNOWNLITERALTYPE Specifies a type (only CHAR and UNICODE are permitted) to use when EGL cannot determine the most efficient type for the generation of a string literal. UNICODE All
USEVSEBUILDSERVER If set to YES, the VSE build server determines the best method to prepare generated programs: VSE Connector Server or VSE FTP Server. The determination is based on the setting of the VSE-only TRANSLATETABLE symbolic parameter. If USEVSEBUILDSERVER is set to NO, VSE FTP Server is always used. For more information, refer to the VSE generation reference. NO

VSEBATCH
VSECICS

WORKFIELDLENGTH Specifies a maximum size (greater than 1000) for internal work areas. This is not typically changed; a large value can negatively affect performance. 1000 All
WRITEFUNCTIONDETAILS Specifies whether to set the function name on each function entry and return. The CICS abend handler can then print this function name in its error message. Setting this parameter to YES can affect performance. NO

VSECICS
ZOSCICS

WRITESTATEMENTDETAILS Specifies whether to set the line number on each EGL statement. The CICS abend handler can then print this line number in its error message. Setting this parameter to YES can affect performance. NO

VSECICS
ZOSCICS

WSPC Primary and secondary space allocation 2500 zSeries
Note:
  1. Valid values are as follows:
    CCUOUT
    Return to the client as a file named external_name.step_name.DD_name
    CCUSTD
    Return to client as a file with the name shown above, and as Standard Output.
    CCUERR
    Return to client as a file with the name shown above, and as Standard Error.
    NORETURN
    Do not return to the client.
  2. These default values are realistic, but are placeholders only. You will need to set your own default values appropriate to your system in your build script.
 
ALLOWNULLVARNOTEQUALCOMPARE Enables not equal compare for nullable variables. If set to yes, a null variable that is not equal to a non-null value will return true.
aInt int? = null;
if(aInt != 5)  // true when this symparm is set to YES; false otherwise
NO All

The following table shows symbolic parameters that you can set to affect generated COBOL code; these also can be used in the EGL build scripts and in EGL templates.

Table 2. Predefined symbolic parameters that can be set by the user to affect generated COBOL code
Name Description Platform
ALLOWTEXTTONUMBERSPACES Specifies whether a text field with no numbers defaults to 0 after the generated code calls the EZEPRC-NUMVALC routine. The default setting of NO means that the call to that routine causes an exception if a text field has no numbers. iSeries, VSE, zSeries
BESTFITCALLLINKAGE Specifies whether details about a program call are resolved by use of a best-fit algorithm. For example, if a call is to program ABC and the order of program names in the linkage table is A*, AB*, and ABC, a best-fit algorithm selects the third entry.

A default setting of NO means that the call details are resolved by use of a first-fit algorithm. In the example, the linkage-table entry for A* is selected.

iSeries, VSE, zSeries
DUALMODE The option makes the following case possible: you generate an EGL called program for z/OS batch, and the prepared load module is usable in either z/OS batch or CICS because the appropriate EGL runtime modules are chosen at run time. For details, see "Generating once for z/OS batch and CICS." zSeries
EZUAUTH Sets the value for the COBOL program AUTHOR statement. The maximum length for the symbolic parameter value is 60 characters. iSeries, VSE, zSeries
EZUINST Sets the value for the COBOL program INSTALLATION statement. The maximum length for the symbolic parameter value is 60 characters. iSeries, VSE, zSeries
HANDLEOVERFLOW Changes the default value (0) of the vgVar.handleOverflow system variable. The following values are processed, and others are ignored:
0 (the default)
Set the sysVar.overflowIndicator system variable and continue processing.
1
Throw a RuntimeException.
2
Set the sysVar.overflowIndicator system variable and continue processing. This value has the same effect as 0 and is maintained for compatibility with earlier versions.

This parameter has an effect only in V6 exception mode. If you do not use V6 exception mode, variable overflow causes EGL to throw a RuntimeException.

iSeries, VSE, zSeries
HEAPSIZE Alters the default heap memory block size, which is 8192 by default and should always be a multiple of 8192. Setting a value higher than the default can result in better performance if your program uses many strings or dynamic arrays.

After you change the value of HEAPSIZE, you need to regenerate only the main program. The symbolic parameter has no effect on called programs or libraries.

iSeries, VSE, zSeries
IGNORERECORDINITIALIZE Specifies whether to ignore the initialize property that is set on any Record parts. Setting the IGNORERECORDINITIALIZE parameter to YES ensures that the generated code does not initialize local variables.

The default is NO.

iSeries, VSE, zSeries
INITIALIZEMAINPROGRAMS Specifies whether a transfer back to a main program initializes the global variables in that program. The default is NO.

The parameter has an effect only when the main program is re-invoked. The first execution of a main program always initializes the global variables.

iSeries, VSE, zSeries
POINTERTABLESIZE Specifies how many entries are allocated in a pointer table for program entries, both for the initial allocation and for any subsequent, as-needed allocation. The pointer table is referenced from the EZERTS control block.

The default value of POINTERTABLESIZE is 100. If an application uses many more than the default number of entries, you might improve performance by increasing the number of entries.

iSeries, VSE, zSeries
PREVENTEGLVARIABLEUSAGE Specifies whether your code's access of a relational database always uses temporary variables rather than the variables that you assigned explicitly. The default is NO, which allows better performance.

You might need to set this parameter to YES if the EGL generator is not handling a compatibility issue between the type of an EGL variable and the type of a database column. Regardless of the parameter setting, the generator creates temporary variables in some cases.

zSeries
PREVENTELAXABEND Specifies whether to avoid issuing an ELAX abend during CICS processing. The abend forces rollbacks.

The ELAX abend occurs when an unhandled exception occurs on CICS, but only if the V60ExceptionCompatibility program property is set to NO or is unspecified.

zSeries, VSE
SETSSIMASK Sets the mask for the SETSSI timestamp value, which is stored as documentation in the load module. The mask is from the following set: YYYYMMDDHHMMSS.

The SETSSI timestamp value is stored in the load module only if you specify a mask. SETSSIMASK has no default value.

zSeries
STDOUT Can be set to UPON CONSOLE if you want the writeStdout text written to the JESMSGLG and console files. This applies to z/OS® batch only. zSeries
UPPERCASEFILENAMES Specifies whether to upper case the names of workstation files that are created during generation. The default is NO. iSeries, VSE, zSeries
VAGMSGALIGNNONE Specifies whether to set the VAGen_EZEMSG form field to align = none. The default is NO. iSeries, VSE, zSeries
IGNOREISDECIMALFORCHARFIELD Specifies whether to ignore the isDecimalDigit = Yes form field. The default is NO. zSeries
ALLOWORDERBYCLAUSEONFORUPDATE Ordinarily, the EGL generation of the SQL Open and GetByKey statements suppress the "order by" clause if the SQL statement has the option "forUpdate" specified. This is because the "order by" clause is invalid in this context. If you want to have this clause generated instead of suppressed, you can specify the symbolic parameter with a value of YES. The generated COBOL source will then contain the "order by" clause, however they will get a preprocessor error from DB2 during mainframe compilation. iSeries, VSE, zSeries

Feedback