Micro Focus Compiler Options n, A, B

The Micro Focus compiler options are listed here alphabetically, you may browse them, click on the link to go directly to the error code or you may use the search feature of your browser to search for the information.

  • 01SHUFFLE - No segment boundary crossing
  • 64KPARA - Segment breaking
  • 64KSECT - Segment breaking
  • ACCEPTREFRESH - Update associated data on ACCEPT
  • ADDRSV - Add reserved word
  • ADDSYN - Add synonym
  • ADV - Adds control characters to print files
  • ALIAS - Subscripts
  • ALIGN - Data alignment
  • ALPHASTART - Numbering in ALPHABET
  • ALTER - Allow ALTER
  • ANALYZE - * For Analyze
  • ANIM - For Animator
  • ANS85 - ANSI'85
  • APOST - QUOTE = '
  • AREACHECK - AREA A tokens, treat as section/paragraph
  • ARITHMETIC - Arithmetic expressions
  • ASM - Produce object code listing
  • ASMLIST - File for assembly listing
  • ASSIGN - EXTERNAL or DYNAMI C
  • ASSIGN-PRINTER - Printer output
  • ASSUME - Modify behavior of some directives
  • AUTOLOCK - Default locking
  • BADSIGNS - Allow illegal sign nibbles
  • BELL - Bleep when stop
  • BOUND - Bound-check
  • BOUNDOPT - Optimize tables
  • BRIEF - No message texts
  • BROWSE - Create .SBR file
  • BWZSTAR - BLANK WHEN ZERO and PIC *
  • BYTE-MODE-MOVE - Control overlapping moves
  • CALLADIS - * External ACCEPT/DISPLAY handler
  • CALLFH - * External file handler
  • CALLMAP - Reserved for internal use
  • CALLMCS - Reserved for internal use
  • CALLSORT - External file handler
  • CANCELLBR - * Close COPY .LBR file
  • CASE - Case of program-name
  • CHANGE-MESSAGE - Change message severity
  • CHARSET - * ASCII or EBCDIC
  • CHECKDIV - Allow divide by zero
  • CHECKNUM - Check numeric fields
  • CHECKSTACK - Check for stack corruption
  • CHIP - Chip architecture
  • CICS - * Allow CICS
  • CICS-CPY - * Insert COPY "CICS-CPY"
  • CICSOPT - * Optimize BLL cells
  • CMPR2 - Mainframe compatible
  • COBFSTATCONV - * Convert EXTFH file status codes
  • COBIDY - Path for Animator file
  • COBOL370 - IBM COBOL 370
  • COBOLDIR - Use or ignore cobol.dir
  • COMP - Computational subset
  • COMP-5 - COMP-5 behavior
  • COMP-6 - COMP-6 behavior
  • COMS85 - ANSI'85 Comms
  • CONFIRM - Display directives
  • CONSTANT - Define constant
  • CONVERTPTR - Allow redefiniton of pointers
  • CONVERTRET - RETURNING item type
  • CONVSPACE - Convert db spaces in source code to sb
  • COPYEXT - Copyfile extensions
  • COPYLBR - * COPY-library = .LBR file
  • COPYLIST - List COPY files
  • CSI - * Create .CSI information file
  • CURRENCY-SIGN - PIC currency sign
  • CURRENT-DATE - DDMMYY or YY MMDD
  • DATACOMPRESS - Data compression
  • DATALIT - Literals in data seg.
  • DATE - Date for listings
  • DBCHECK - Check Double-Byte Chars.
  • DBCS - Double-Byte Chars.
  • DBCSSOSI - Shift-in, -out
  • DBSPACE - DBCS space
  • DE-EDIT - Num-edited behavior
  • DEFAULTBYTE - Initialize W-Storage
  • DEFAULTCALLS - CALL convention
  • DEFFILE - Produce .DEF file
  • DEFFILETYPE - Specify target for .DEF file
  • DETECT-LOCK - Detect record locks
  • DG - Data General
  • DIRECTIVES - File of directives
  • DIRECTIVES-IN-COMMENTS - Enable directives in comment lines
  • DLL - DLL or EXE
  • DOSVS - IBM DOS/VS COBOL
  • DYNAM - Ignore CANCEL
  • EANIM - For CodeView
  • EARLY-RELEASE - Enable Early User Syntax support
  • ECHO - Display errors
  • ECHOALL - Display full listing
  • EDITOR - Create error file for Editor
  • ENSUITE - * Internal use
  • ERRLIST - Print messages only
  • ERRQ - Pause on error
  • EXPANDDATA - Program compression
  • EXTINDEX - Reserved for internal use. Indexes EXTERNAL
  • FASTLINK - Restrict parameters
  • FASTSORT - Internal use
  • FCDREG - Registers for files
  • FDCLEAR - Clear record buffer after write
  • FILECASE - Internal use
  • FILESHARE - Default locking
  • FILETYPE - Data file format
  • FIXING - Optimizing jumps
  • FLAG - Flag outside the dialect
  • FLAGAS - Show flags as errors etc.
  • FLAGCD - Conflicting directives
  • FLAGMIG - Flag OSVS and VSC2 differences
  • FLAGQ - Pause on flag
  • FLAGINEDIT - Include flags in error file
  • FLAGSTD - Flag ANSI'85 level
  • FLAG-CHIP - Flag chip problems
  • FOLDCALLNAME - Fold call name
  • FOLDCOPYNAME - Fold COPY file names
  • FORM - Page length
  • FP-ROUNDING - Floating point items
  • GANIM - * For Xilerator
  • GNT - * File for object code
  • GNTANLZ - Use with add-on products
  • HIDE-MESSAGE - Set message to hide
  • HOST-NUMCOMPARE - Numeric comparisons
  • HOST-NUMMOVE - Disable RTS error 163 for MOVEs
  • IBM-MS - IBM / Microsoft V1.0
  • IBMCOMP - Word-storage mode
  • IDXFORMAT - Indexed file structure
  • INCLUDE-FILLER - Store FILLER information in .IDY
  • INDD - Transform ACCEPTs to READs
  • INFORETURN - Info msg return value
  • INITCALL - Execute a module
  • INT - * File for int code
  • INTLEVEL - * Portability level
  • IOCONV - READ-INTO/WRITE-FROM behavior
  • JAPANESE - Enable Double-Byte Language Extensions
  • KEEP-INT - Keep .int files
  • KEYCOMPRESS - Key compression
  • LIBRARIAN - Allow -INC
  • LINKCHECK - Check LS items
  • LINKCOUNT - Number of linked items
  • LINKLIB - Link-libraries
  • LIST - File for source listing
  • LISTPATH - Specify the path for list file
  • LISTWIDTH - Page width
  • LITLINK - Literals public
  • LITVAL-SIZE - BY VALUE size
  • LNKALIGN - Assume linkage items are aligned
  • LOCALCOUNT - Internal use
  • LOCKTYPE - Read locked records
  • LOGICOPT - Optimize CBL_ logical calls
  • MAKESYN - Make synonymous
  • MAPNAME - IBM prog-names
  • MASM - For Microsoft MASM
  • MAX-ERROR - Limit number of Compiler errors
  • MFCOMMENT - Alternate-format comments
  • MF - Level of MF
  • MF00 - Object Orientation syntax
  • MFSCCS - Look for source files in a SCCS system
  • MODEL - Model type
  • MS - Microsoft COBOL V1 or V2
  • NATIVE - Collating sequence
  • NCHAR - Enable Double-Byte Language Extensions
  • NESTCALL - Allow nested progs
  • NETLOCALSTORAGE - Internal use
  • NLS - Enable National Language Support
  • OBJ - File for object code
  • OBJLITE - Assembler-like code
  • ODOOSVS - Evaluate ODO like OS/VS COBOL does
  • ODOSLIDE - Variable length table
  • OLDBLANKLINE - Change behavior of BLANK LINE
  • OLDCOPY - ANSI'68 COPY
  • OLDFILEIO - Reserved
  • OLDINDEX - Indexes = subscripts
  • OLDNEXTSENTENCE - Change behavior of NEXT SENTENCE
  • OLDREADINTO - Change behavior of READ ... INTO statements
  • OLDSTRMIX - Allow PIC X and PIC N in statements
  • OLDSTRSUB - Change evaluation of subscripts
  • OMF - OBJ or GNT
  • OPT - Optimization level
  • OPTIONAL-FILE - All files optional
  • OPTSIZE - Optimize for size
  • OPTSPEED - Optimize for speed
  • OSEXT - Source file-name ext
  • OSVS - IBM OS/VS COBOL
  • OUTDD - Transform DISPLAYs to WRITEs
  • OVERRIDE - Change
  • PANVALET - Allow ++INCLUDE
  • PARAMCOUNTCHECK - Omit parameters
  • PARAS - Create list of paragraphs and sections
  • PC1 - IBM / Microsoft V1.0
  • PERFORMOPT - Optimize PERFORM of empty paragraph
  • PERFORM-TYPE - Returns from PERFORM
  • PREPLIST - Show original and preprocessed source
  • PREPROCESS - * Source from preprocessor
  • PRINT - File for source listing
  • PRINT-EXT - Specify print-file extension
  • PROFILE - Generate code for Profiler
  • PROGID-COMMENT - Comment in PROG-ID
  • PROTMODE - Produce protect mode only code
  • PROTECT-LINKAGE - Protects linkage items
  • PUBLICENTRY - Declare .OBJ entry points as public
  • QUAL - Allow qualification
  • QUALPROC - Allow qualification
  • QUERY - Pause if copyfile missing
  • QUOTE - QUOTE = "
  • RAWLIST - list with no variable information
  • RDEFPTR - COMP redefinitions of POINTER
  • RDW - Read length of variable-length record
  • REALOVL - Overlaying from disk
  • RECMODE - Fixed or var length
  • REF - Addresses in listings
  • REFNO - Compiler version-number in listings
  • REGPARM - Parameter passing
  • REMOVE - De-reserve
  • REPORT-LINE - Length of report writer lines
  • RESEQ - Generate line numbers
  • RETRYLOCK - Re-try locked record
  • REWRITE-LS - REWRITE on LINE SEQUENTIAL files
  • RM - Ryan-McFarland
  • RNIM - Animate, don't compile
  • RTNCODE-SIZE - RETURN-CODE size
  • SAA - Systems Application Architecture
  • SEG - Segmentation
  • SEGCROSS - Params on segments
  • SEGSIZE - Automatic segmentation
  • SEQCHK - Check line numbers
  • SEQUENTIAL - Variants of SEQUENTIAL organization
  • SETTING - Print directives
  • SHOW-DIR - Print directives files
  • SHOWSHUFFLE - Show 01SHUFFLE results
  • SIGN - Included signs
  • SIGNCOMPARE - EBCDIC numeric comparisons
  • SMALLDD - Params in segments
  • SOURCE-EXT - Source ext for CodeView
  • SOURCEASM - Source in assembly listing
  • SOURCEFORMAT - Allow free format code
  • SPZERO - Space = zero in nums
  • SQL - Allow EXEC SQL
  • SQLACCESS - Name of access plan
  • SQLBIND - Name of bind file
  • SQLBLOCK - Record blocking
  • SQLCOMMIT - Placement of generated commits
  • SQLCTRACE - List calls to precompiler services
  • SQLDB - Name of database
  • SQLDB2 - Mainframe compatibility
  • SQLECSPP - * Host compatibility
  • SQLFORMAT - Define date format
  • SQLINIT - Initialize &log on
  • SQLISOLATION - Isolation level
  • SQLNOT - Specify NOT character (ª)
  • SQLPASS - Give password
  • SQLPRE - Animate SQL programs
  • SQLPROT - Protect database
  • SQLRP - Compile on client workstation
  • SQLSTDLVL - Standards level of database manager
  • STDERR - Write messages to STDERR
  • STICKY-LINKAGE - Keep params linked
  • STICKY-PERFORM - Behavior of PERFORM
  • STRUCT - * For Structure Animator
  • SUPFF - No page-headings
  • SYMBSTART - Numbering in SYMBOLIC
  • SYSIN - Map I-O to SYSIN and SYSOUT
  • TABLESEGCROSS - Check for crossing of seg boundaries
  • TARGET - Chip-specific instrs.
  • TERMPAGE - Pad final page of report
  • TIME - Put time on listings
  • TRACE - Turn on READY TRACE
  • TRICKLE - Restrict PERFORM
  • TRICKLECHECK - Flag trickling
  • TRUNC - Truncation of binary
  • TRUNCCOPY - Truncate copyfile names
  • USE - File of directives
  • VERBOSE - Display Compiler messages
  • VSC2 - IBM VS COBOL II
  • WARNING - Level of message to output
  • WB - * Interface to other products
  • WB2 - * Internal use
  • WB3 - * Internal use
  • WRITELOCK - Default locking
  • WRITETHROUGH - * Unbuffered writes
  • XNIM - Compile and animate
  • XOPEN - X/Open
  • XREF - Produce cross-ref listing
  • ZEROLENGTHFALSE - Zero-length tests
  • ZEROSEQ - Zeros in line numbers
  • ZWB - Numeric comparisons

  • 01SHUFFLE

    Changes the addresses of 01-level items in the Working-Storage Section so that they do not cross 64K segment boundaries.

    > >-|---|-|----|--01SHUFFLE----------------- > < |-/-| |-NO-|

    Properties:
    Default: NO01SHUFFLE
    Phase: Syntax check
    Environment: DOS, Windows and OS/2
    $SET: Initial

    Dependencies: Set to NO01SHUFFLE at end by NESTCALL.

    Remarks: If a data item would cross as segment boundary, specifying 01SHUFFLE causes the in 01-level item to be moved in memory so that it starts at a segment boundary. The gap left is filled by any following 01-level items that fit. This results in 01-level items not being contiguous in memory when the program is loaded.

    Use of this directive can cause an increase in the size of the data segment of a program. This directive is not valid for nested programs.

    See also:
    REF Compiler directive
    SHOWSHUFFLE Compiler directive


    64KPARA

    Makes the Compiler produce segment-breaking information more often than at each paragraph, for programs containing paragraphs that produce more than 64K of code.

    > >-|---|-|----|--64KPARA------------------- > < |-/-| |-NO-|

    Properties:
    Default: NO64KPARA
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Dependencies: Must set SEGSIZE" so (integer) is nonzero.

    Remarks: Use of this directive lengthens the compilation process slightly but does not affect the code produced.

    This directive is mandatory for programs which contain paragraphs that produce more than 64K of code.

    See also:
    64KSECT Compiler directive
    SEGSIZE Compiler directive


    64KSECT

    Makes the Compiler produce segment-breaking information at each paragraph instead of each section, for programs containing sections that produce more than 64K of code.

    > >-|---|-|----|--64KSECT------------------- > < |-/-| |-NO-|

    Properties:
    Default: NO64KSECT
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Dependencies: Must set SEGSIZE"(integer") so (integer) is nonzero.

    Remarks: Use of this directive lengthens the compilation process slightly but does not affect the code produced.

    This directive is mandatory for programs which contain sections that produce more than 64K of code.

    See also:
    64KPARA Compiler directive
    SEGSIZE Compiler directive


    ACCEPTREFRESH

    Specifies whether the data areas associated with Screen Section data are updated from their corresponding Working-Storage Section items before an ACCEPT statement.

    > >-|---|-|----|--ACCEPTREFRESH------------- > < |-/-| |-NO-|

    Properties:
    Default: NOACCEPTREFRESH
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Dependencies: Set to ACCEPTREFRESH immediately by MS, IBM-MS or PC1.

    Remarks: With ACCEPTREFRESH specified, before an ACCEPT statement that references a Screen Section data item, all data areas associated with Screen Section items subsidiary to the item being accepted are modified as follows:

    • If the Screen Section item includes the USING phrase, an implicit MOVE is generated from the corresponding Working-Storage Section item
    • If the Screen Section item includes the TO phrase the data area is initialized to spaces.

    With NOACCEPTREFRESH specified, the Screen Section data area is left as it was following the last ACCEPT or DISPLAY.


    ADDRSV

    Adds one or more specific reserved words to the reserved word list so that they are recognized as reserved words in the user program. The specified reserved words are added, whatever dialect directives are in force.

    |----------| . | > >--|---|--ADDRSV--"rsv-word"-------------- > < |-/-|

    Parameters:
    rsv-word A reserved word in some dialect of COBOL, but not necessarily in a dialect specified for this compilation

    Properties:
    Default: No additional reserved words are created.
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: The specified reserved words are added, whatever dialect directives are in force.

    This directive does not appear in the list created with the SETTING directive.

    See also:
    SETTING Compiler directive


    ADDSYN

    Defines a user-defined reserved word to be synonymous with an existing reserved word.

    On DOS, Windows and OS/2:

    > >-|---|--ADDSYN--"rsv-word" = "user-word"- > < |-/-| On UNIX:
    > >-|---|--ADDSYN-"(rsv-word) == (user-word)"- > < |-/-|

    Parameters:
    rsv-word Existing reserved word.
    user-word Any COBOL word not the same as an existing reserved word.

    Properties:
    Default: No reserved word synonyms are created.
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: The equals sign must be surrounded by spaces.

    This directive does not appear in the list created with the SETTING directive.


    ADV

    Causes a control character to be inserted at the start of each line in a print file. This is for compatibility with mainframe operation.

    > >-|---|-|----|--ADV----------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOADV
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: Use the directive FILETYPE"10" in preference to this one.

    See also:
    FILETYPE Compiler directive


    ALIAS

    Prevents the Compiler from performing certain optimizations that are unsafe when a program uses aliasing.

    > >-|---|-|----|--ALIAS--------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOALIAS
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Remarks: Using the SET ADDRESS OF statement you can access the same data in two different ways; that is, in the Working-Storage Section and as an item in the Linkage Section. This technique is known as "aliasing". Any program that uses aliasing must be compiled with ALIAS specified.


    ALIGN

    Specifies the memory boundaries on which data items of 01-level or 77-level are aligned.

    > >-|---|--ALIGN--"integer"----------------- > < |-/-|

    Parameters:
    integer The distance from the start of one 01-level to the start of the next is a multiple of this. Can take any value from 1 to 255.

    Properties:
    Default: ALIGN"8"
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Dependencies: Set to ALIGN"8" immediately by IBMCOMP or NORM.
    Set to ALIGN"2" immediately by RM or RM"ANSI".

    Remarks: Data items of 01-level are aligned on byte boundaries that are multiples of the value given.

    This can help produce more efficient execution results but does mean more memory might be used.

    Setting (integer) to a number that is not a multiple of four could impair the efficiency of the generated code.


    ALPHASTART

    Sets the number from which the Compiler counts positions in the collating sequence when compiling the ALPHABET clause.

    > >-|---|--ALPHASTART--"integer"------------ > < |-/-|

    Parameters:
    integer The number to be used.

    Properties:
    Default: ALPHASTART"1"
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: For ANSI conformance use ALPHASTART"1".

    Example:
    With ALPHASTART"1", the COBOL statement:
    ALPHABET MYALPHA IS 66, 67
    declares an alphabet consisting of "A" and "B" since, counting from 1, these are the 66th and 67th characters in the ASCII collating sequence. With ALPHASTART"0", MYALPHA consists of "B" and "C".


    ALTER

    Allows ALTER statements in your program.

    > >-|---|-|----|--ALTER--------------------- > < |-/-| |-NO-|

    Properties:
    Default: ALTER
    Phase: Both
    Environment: All
    $SET: Initial

    Dependencies: If ASSUME is set, set to NOALTER at end by NOTRICKLE during the generate phase.

    Remarks: If you know there are no ALTER statements in your program, specifying NOALTER enables the Compiler to produce slightly more efficient code.


    ANALYZE

    Makes the Compiler produce extra information so that you can use the Analyzer feature of Advanced Animator.

    > >-|---|-|----|--ANALYZE------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOANALYZE
    Phase: Syntax check
    Environment: All
    $SET: No

    Dependencies: ANALYZE sets ANIM immediately.

    Remarks: This directive is reserved for use with products containing the Analyzer facility, such as Workbench and Toolbox. Do not change its setting unless you have an appropriate system.


    ANIM

    Makes the Compiler produce extra information so that you can use Animator.

    > >-|---|-|----|--ANIM---------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOANIM
    Phase: Syntax check
    Environment: All
    $SET: No

    Dependencies: compact Set to ANIM immediately by WB.
    Set to ANIM at end by ANALYZE, BROWSE, CSI, GANIM or STRUCT.
    Set to NOANIM at end by NOINT or RNIM.

    Remarks: An intermediate code file is created in the format required to enable the program to be animated. On DOS, Windows and OS/2 with Toolset or Workbench, and on UNIX, the intermediate code is held in a file with the extension .int (unless the OPT"0" directive is specified). This can be animated directly.

    On DOS, Windows and OS/2 without Toolset or Workbench, or if you specify the OPT"0" directive, the intermediate code is held in a file with the extension .obj. This file has to be linked before it can be animated. This is done automatically, unless OPT"0" is specified. It is linked with coblib.lib and either cobapi.lib or os2.lib depending on the operating system you are compiling on. If you specify your own libraries with a LINKLIB directive, they are used instead.

    On OS/2, a .dll file is created using the .def file with root-name the same as the source-file-name. In this case, the DEFFILE directive is enabled causing the Compiler to create a suitable .def file. If you need to use your own .def file, you must specify NODEFFILE.

    In all cases, a file with extension .idy, is also created. This contains the additional information needed to animate the program.

    The location of the .idy file is controlled by the COBIDY directive.

    See also:
    COBIDY Compiler directive DEFFILE Compiler directive LINKLIB Compiler directive OPT Compiler directive


    ANS85

    Specifies that words reserved in the ANSI'85 COBOL Standard are to be treated as reserved words, and changes the behavior of certain features to be compatible with that Standard.

    > >-|---|-|-------ANS85--"SYNTAX"--|-------- > < |-/-| ||----|-ANS85------------| |-NO-|

    Parameters:
    SYNTAX Makes the directive affect syntax only and not behavior.

    Properties:
    Default: ANS85
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Dependencies: Set to ANS85 at end by VSC2 or SAA.

    Remarks: This directive causes the following behavior changes:

    • The I/O status values are those defined in ANSI'85.
    • The ALPHABETIC class test regards lower case as alphabetic.
    • Control variables in PERFORM operations are initialized in the order specified by ANSI'85.
    • Move operations to a variable-length group item use the maximum length of the target if the DEPENDING ON item is in the group.


    APOST

    Makes the Compiler interpret the figurative constant QUOTE as the single-quote character (').

    > >-------APOST----------------------------- > <

    Properties:
    Default: QUOTE
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: The opposite of this directive is the directive QUOTE which causes the double-quote character to be used.


    AREACHECK

    Causes the Compiler to treat any token which starts in area A in the Procedure Division as a paragraph or section label, regardless of the preceding tokens.

    > >-|---|-|----|--AREACHECK----------------- > < |-/-| |-NO-|

    Properties:
    Default: NOAREACHECK
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: If AREACHECK is not specified, only tokens which follow a period are treated as possible labels. This directive provides closer compatibility with mainframe error handling, where omitting a period before the label produces a less serious message. It is recommended that such erroneous source code is corrected.


    ARITHMETIC

    Specifies how arithmetic expressions are to be evaluated.

    > >-|---|--ARITHMETIC--"arith-type"--------- > < |-/-|

    Parameters:
    arith-type The behavior to adopt.

    Properties:
    Default: ARITHMETIC"MF"
    Phase: Syntax check
    Environment: All $SET: No

    Remarks: The possible values of (arith-type) are:

    • OSVS Truncate according to the rules of OS/VS COBOL.
    • VSC2 Truncate according to the rules of VS COBOL II and COBOL/370.
    • MF Do not truncate intermediate results.

    With ARITHMETIC"MF" specified, expressions are calculated as accurately as possible because no truncation takes place.


    ASM

    Causes the Compiler to insert disassembled generated code into the Generator report (.grp) file.

    > >-|---|-|----|--ASM----------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOASM
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Dependencies: NOASM sets NOMASM at end.
    Set to ASM immediately by ASMLIST.

    Remarks: You can produce a .grp file which contains Generator messages without assembler code by specifying ASMLIST() and NOASM (in that order).


    ASMLIST

    Makes the Compiler produce an assembly listing.

    > >-|---|-|-------ASMLIST-|-"destination"||- > < |-/-| | |-()-----------|| ||----|-ASMLIST-----------------| |-NO-|

    Parameters:
    destination A full file specification or a device-name.

    Properties:
    Default: NOASMLIST
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Dependencies: ASMLIST sets ASM immediately.
    NOASMLIST sets NOREF at end.

    Remarks: If you specify an existing file it is overwritten. When NOASMLIST is specified, no assembly listing is produced. If you specify ASMLIST with no file-name, the assembly listing is sent to the screen.

    ASMLIST() causes the assembly listing to be put in the file .grp where is the root of the name of the program being compiled.

    If you use ASMLIST together with SOURCEASM and you follow ASMLIST by the word NOASM, you get an assembly listing showing source code but not assembly code. This is useful because of the "BADCODE" comments you get on the source lines.

    See also:
    MASM Compiler directive
    PARAS Compiler directive
    SOURCEASM Compiler directive for details of "BADCODE".


    ASSIGN

    Specifies how to assign a file-name when neither EXTERNAL nor DYNAMIC appear in the SELECT statement.

    > >-|---|--ASSIGN--"assign-type"------------ > < |-/-|

    Parameters:
    assign-type EXTERNAL or DYNAMIC. Defines the method.

    Properties:
    Default: ASSIGN"DYNAMIC"
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: For more details, see the section Fixed File Assignment in the chapter File Handling in your COBOL System Reference.

    Under DOS, Windows and OS/2 (16-bit), for any indexed files or for all files if the program is compiled using the CALLFH directive, file-name mapping overrides any syntax definition or use of the ASSIGN directive.


    ASSIGN-PRINTER

    Specifies how to assign the output from an ASSIGN TO PRINTER clause when the clause does not specify a file-name.

    > >-|---|-|-----ASSIGN-PRINTER|"file-name"-||- > < |-/-| | |()----------|| |-NO--ASSIGN-PRINTER--------------|

    Parameters:
    file-name The file to be associated with the ASSIGN TO PRINTER clause.

    Properties:
    Default: NOASSIGN-PRINTER
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: This directive has no effect if you specify a file-name as part of the ASSIGN TO PRINTER clause.

    On DOS, Windows and OS/2, NOASSIGN-PRINTER causes the output to be sent to the device LST:. On UNIX it causes the output to be placed in a file called LPT1.

    ASSIGN-PRINTER"" causes the output to be directed to the file-name specified. The file-name can be fully specified, including a path-name, base-name, and extension.

    ASSIGN-PRINTER() results in the same behavior as including the following COBOL statement:

    select file-name-1 assign to printer file-name-1
    That is, the file-name used in your COBOL program is also used as the file-name for your output. If the internal file-name is too long for your operating system to handle, it is truncated to the maximum length the operating system allows.

    By default, the file-name does not include an extension, but you can specify an extension by using the PRINT-EXT directive.

    See also:
    PRINT-EXT Compiler directive


    ASSUME

    Controls the interaction between certain Generator directives.

    > >-|---|-|----|--ASSUME-------------------- > < |-/-| |-NO-|

    Properties:
    Default: ASSUME
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Dependencies: If ASSUME then the following dependencies apply:

    • NOTRICKLE sets NOALTER at end.
    • REGPARM"OUT" sets LITLINK at end.
    • REGPARM"IN" sets NOFASTLINK at end.

    AUTOLOCK

    Makes the default locking AUTOMATIC rather than EXCLUSIVE for files opened I-O or EXTEND in a multi-user environment.

    > >-|---|-|----|--AUTOLOCK------------------ > < |-/-| |-NO-|

    Properties:
    Default: NOAUTOLOCK
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: This directive does not appear in the SETTING list if its state is the same as WRITELOCK. In this case, the state of the two directives is indicated by the FILESHARE directive.

    This directive is included for compatibility with earlier file-sharing products. When writing new programs you should use the locking syntax rather than this directive.


    BADSIGNS

    Allows arithmetic with COMP-3 items with illegal sign nibbles (such as those produced by a redefinition of the item) to produce the desired result.

    > >-|---|-|----|--BADSIGNS------------------ > < |-/-| |-NO-|

    Properties:
    Default: NOBADSIGNS
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Remarks: Specifying BADSIGNS causes COMP-3 arithmetic to be performed by a nonoptimized route, thus reducing the efficiency of your programs. For smaller, faster code you should not specify BADSIGNS.


    BELL

    Makes the bell sound at points such as when compilation stops, either because of an error or because it has finished.

    > >-|---|-|----|--BELL---------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOBELL
    Phase: Both
    Environment: All (syntax check), 16-bit (generate)
    $SET: Initial


    BOUND

    Specifies that the subscript or index value is to be checked to ensure it is within the limits defined by the OCCURS clause.

    > >-|---|-|----|--BOUND--------------------- > < |-/-| |-NO-|

    Properties:
    Default: BOUND
    Phase: Both
    Environment: All
    $SET: Initial

    Dependencies: BOUND sets NOTABLESEGCROSS and NOBOUNDOPT at end.

    Remarks: For multi-dimensional tables, only the composite subscript is checked. If any of the individual subscripts or indices is beyond its limit, but the reference remains within the table, no error is produced.


    BOUNDOPT

    Optimizes the code generated for USAGE DISPLAY subscripts.

    > >-|---|-|----|--BOUNDOPT------------------ > < |-/-| |-NO-|

    Properties:
    Default: BOUNDOPT
    Phase: Generate
    Environment: 16-bit
    $SET: Initial (on DOS, Windows and OS/2) No (on UNIX)

    Dependencies: Set to NOBOUNDOPT at end by BOUND or TABLESEGCROSS.

    Remarks: If BOUNDOPT is used, any digits in a USAGE DISPLAY subscript above the size of the table are ignored.

    Can only be used when NOBOUND is specified, and only affects generated code created with OPT"1" or above. NOBOUNDOPT must be specified if a program references beyond the end of a table.

    Example: For example, for a table with 50 entries, a PIC 9(3) subscript is treated as PIC 9(2), with the most significant digit ignored.


    BRIEF

    Makes the Compiler produce only error numbers and no message texts.

    > >-|---|-|----|--BRIEF--------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOBRIEF
    Phase: Syntax check
    Environment: All
    $SET: Any


    BROWSE

    Makes the Compiler create an .sbr file for use with the Microsoft Source Browser supplied with the Microsoft utilities. Requires the Microsoft components to be present at compile time.

    > >-|---|-|----|--BROWSE-------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOBROWSE
    Phase: Syntax check
    Environment: DOS, Windows and OS/2
    $SET: Any

    Dependencies: BROWSE sets ANIM immediately.


    BWZSTAR

    Determines whether the BLANK WHEN ZERO clause is allowed in the Data Division for those fields defined with the "*" PICTURE symbol.

    > >-|---|-|----|--BWZSTAR------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOBWZSTAR
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: The BWZSTAR directive is Early User Syntax support. You must set the EARLY-RELEASE directive to enable this feature. This directive might change or be removed in a later revision of this system.

    If BWZSTAR is specified, the BLANK WHEN ZERO clause is allowed with fields defined using the "*" PICTURE symbol, and BLANK WHEN ZERO is effective when the field is the target of an editing operation and the result is zero. If NOBWZSTAR is specified, a BLANK WHEN ZERO clause associated with a PIC * field is rejected.

    See also:
    EARLY-RELEASE Compiler directive


    BYTE-MODE-MOVE

    Controls the granule size for moves between overlapping data items.

    > >-|---|-|----|--BYTE-MODE-MOVE------------ > < |-/-| |-NO-|

    Properties:
    Default: NOBYTE-MODE-MOVE
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: The Compiler also accepts the name without hyphens; that is BYTEMODEMOVE.

    This directive is provided for compatibility with IBM mainframe compilers in the handling of forward overlapping moves - that is, where the start of the target data item overlaps the end of the source data item.

    If BYTE-MODE-MOVE is specified, data is moved one byte at a time from the source to the target.

    If NOBYTE-MODE-MOVE is specified, the data is moved in granules of two, four or more bytes at a time (depending on environment) from the source to the target. Consequently, if the overlap is less than the size of the granule, each granule moved overwrites part of the next granule to be moved.