Visual COBOL Development Hub 9.0
Welcome
Existing Customers: Updating from an Earlier Release
New Features in 9.0
Learn Micro Focus™ COBOL Extension for Visual Studio Code and Micro Focus™ COBOL Fundamentals Course
Micro Focus™ COBOL Extension for Visual Studio Code
.NET Support
COBOL Language
Compiler Directives
Database Connectors for Visual COBOL
Enterprise Server
Enterprise Server Common Web Administration (ESCWA)
Enterprise Server Security
HCO for SQL Server[3]
Features Added in 8.0
Micro Focus COBOL Extension for Visual Studio Code
.NET 6 Support
COBOL Language
Compiler Directives
Data File Tools
Enterprise Server
Enterprise Server Common Web Administration (ESCWA)
Enterprise Server Security
IMS Support
The Micro Focus Database File Handler
Micro Focus Unit Testing Framework
Features Added in 7.0
Micro Focus COBOL Extension for Visual Studio Code
.NET Core Support
COBOL Language
Code Set Support
Compiler Directives
Data File Tools
Developing Applications on Remote Machines
Eclipse Integration
Enterprise Server
Enterprise Server Common Web Administration (ESCWA)
Enterprise Server Security
Library Routines
Licensing
The Micro Focus Unit Testing Framework
New Platform Support
Features Added in 6.0
COBOL Application Console Size
COBOL Language Enhancements
Compiler Directives
Containers
Database Access - DB2 ECM
Database Access - XA Switch Modules
Data File Tools
Enterprise Server
Enterprise Server Security
Enterprise Server Common Web Administration (ESCWA)
File Handling
Library Routines
The Micro Focus Unit Testing Framework
Multi-Threaded Applications
New Platform Support
Problem Determination
Features Added in Visual COBOL 5.0
Enterprise Server Common Web Administration
Data File Tools
Database Connectors
Enterprise Server Security
Platform Support
Features Added in 4.0
Features Added
Major Features
Significant Changes in Behavior or Usage
New Customers: Where do I start
New to Visual COBOL Development Hub
New to COBOL
Upgrading from Server Express
Want to deploy an application
Product Information
Supported Operating Systems and Third-party Software
Additional Software Requirements
Application Server JCA support for Enterprise Server
Application Servers for JVM COBOL
Database Connectors for Visual COBOL
Database Management Systems (DBMSs)
Enterprise Common Web Administration (ESCWA)
Legacy Enterprise Server Administration User Interface
Performance Availability Clusters (PACs)
Installing Visual COBOL Development Hub
Before Installing
Downloading the Product
Installing on UNIX and Linux
System Requirements
Hardware Requirements
Operating Systems Supported
Software Requirements
Basic Installation
Installing on UNIX
Advanced Installation Tasks
Installing as an Upgrade
UNIX Installation Options
Installing Without Superuser Credentials
RPM Installer
Using the RPM Installer
Other RPM Installer Options
Uninstalling Using the RPM Installer
Installing on Microsoft Terminal Server and Citrix
Customizing the Installation and the Projects
Enterprise Server Installation Options
Configuring SQL Option for DB2 (XDB) for Multi-User Environments
Creating a Private XDB Configuration File in a Multi-User Environment
Changing the Main XDB Server Configuration File
Changing the Private XDB Server Configuration Files in Batch
Configuring Other Components
After Installing
Setting up the product
Configuring the Remote System Explorer Support
Configuring the firewall
To configure the firewall settings
Enabling SHIFT-JIS
Repairing on UNIX
Uninstalling
Managing Licenses
Overview
To start Micro Focus License Administration
Configuring Micro Focus License Administration
Installing licenses
If you have a license file
If you have an authorization code
Authorizing your product when you have an Internet connection
Authorizing your product when you don't have an Internet connection
Configuring your machine to use a central license server
Installing licenses silently
Viewing installed licenses
Uninstalling licenses
Removing licenses
Revoking licenses when you have an Internet connection
Revoking licenses when you do not have an Internet connection
Installing License Manager
Installing a local license server
Restarting SafeNet on Linux Using SystemD
Enable Automatic Restart of the AutoPass License Daemons on Linux Using SystemD
Installing a standalone network license server
Installing on UNIX and Linux
Trial licenses
Subscription licenses
Usage Logging
License Usage Logging with AutoPass License Server
Prerequisites for Integration with an AutoPass License Server
Integrating with an AutoPass License Server
Configuring AutoPass License Server for Custom Reports
Working with Custom Reports
Create a Custom Report
Run a Custom Report
Licensing Error Messages
Initialization error - Initializing: Cannot communicate with licensing daemon
Error - Initializing: Cannot find initialization file
Error - Unable to manage licenses in license manager that is not running on localhost
Error [5]: Cannot talk to the license server on host "xxx.x.x.x". Server not running
Error authorizing... Remote request error - The authorization code is invalid
Error [26] - Request Denied due to clock tamper detection
Error[18]: No license code is available for feature (component)
Unable to authorize (cause)
Updates and Product Support
Setup and Licensing
Micro Focus End User License Agreement
Known Issues and Restrictions
.NET
Application Server JCA Support
Audit Manager
Calling COBOL Programs from C
COBOL Programming
Boolean Data Items
CBL2XML Utility
Enhanced ACCEPT/DISPLAY Syntax (Adis)
Filenames
IDXFORMAT 8 and 12 File Size Limits
Unsupported Features
XML Extensions
Compatibility
Coexisting with earlier Micro Focus products
Containers
Installing on UNIX and Linux
Data Access
COBSQL
DB2
File Handling
MFDBFH
OpenESQL
Debugging, Problem Determination and Diagnostic Tools
Reverse Debug and Live Recording
Test Coverage
Documentation
Enterprise Server
JVM COBOL Applications
Application Servers
COBOL JVM Projects
Java Virtual Machine
OpenESQL
Licensing
Remote Development (Known Issues)
SSL and TLS
Contacting Micro Focus
Further Information and Customer Care
Information We Need
Contact information
Using the Command Line Demonstrations
Command Line Demonstrations of COBOL for JVM
Command Line Demonstrations of Native COBOL
Command Line Demonstrations of COBOL used with SQL
Command Line Demonstrations of COBOL used with Business Information Server (BIS)
Upgrading to Visual COBOL Development Hub
Advantages of Upgrading
Upgrading Your COBOL Applications
Compiling Your Applications
Differences between Visual COBOL and Server Express
Licensing Changes
Recompile all source code
Default Working Mode
Summary of Differences
Compiling and Building Differences
Compiler directives
SQL Compiler Directive Options
XML PARSE Statement
Run-time System Differences
OpenESQL
Static-Linked Run-Time System
Setting the environment on UNIX
Restrictions and Unsupported Features
Character-Mode Dialog System
DBMS Preprocessors
FSView
GNT Analyzer
Host Compatibility Option (HCO)
INTLEVEL Support
NSAPI
OO Class and Method Wizards
OpenESQL
SQL Option for DB2
UNIX Publish
Run-Time Technology Differences
File Handling
Java and COBOL
Test Coverage
Editing and Debugging Differences
Data Tools
Interface Mapping Toolkit
Remote Debugging
Procedural COBOL Compared with JVM COBOL
The Micro Focus Community
Help on Help
Developing Applications
Overview of Application Development
Accessing Development Hub
Editing Programs
Compiling Programs
Linking Programs
Debugging Programs
Running Programs
Packaging Applications
Introduction
Executable File Types - Summary
Callable Shared Object Files
Intermediate Code Files
Generated Code Files
Shared Library Files
System Executable Files
Executable File Types
Creating Applications
Packaging Applications Using Callable File Formats
COBOL Link Option
Dynamic Loading
Default Behavior
Dynamically Loadable Files
Program Names and Entry Points
Flexibility and Performance
Working in 32-bit and 64-bit Modes
Introduction
Finding the Current Working Mode
The COBMODE Environment Variable
The cobmode Command
Starting the Required Tool
Determining the Format of an Executable File
Operating System Executable Files
Micro Focus Executable Files
Shipping Dual-mode Applications
Configuration Files
Creating Programs
Introduction
Creating Intermediate Code Files
Creating Generated Code Files
Creating Callable Shared Objects
Creating System Executable Files
Creating Shared Library Files
Creating Java Bytecode
Using Compiler Directives
For More Information
Building applications
Compiling COBOL Applications
Compiling COBOL code
Executable file formats
Compiling JVM COBOL
Building using Apache Ant
Setting Compiler directives for COBOL
Setting Compiler directives from the command line
Setting Compiler directives in source code
Setting Compiler directives in a directives file
Copybook search order
Single file multi-program support in the IDE
Temporary files used when compiling native COBOL
Techniques for quicker compilation
Linking
Introduction to linking
Linking and linked file types
Linking and binding
Dynamic loading
COBOL Applications for .NET
Introduction to Developing COBOL Applications for .NET
Comparing .NET and .NET Framework
Building COBOL Applications for .NET
Before Creating a .NET Project
Adding the Visual COBOL NuGet Packages
Installing the .NET Project Templates
Creating a .NET Project
Upgrading existing .NET COBOL project files
To package Micro Focus assemblies with a .NET application
Building a .NET Project
Running a .NET Project
Publishing a .NET Project
Different Types of .NET Deployment
To publish a .NET project
Debugging Applications
Character Animator and Application Development
Preparing for Animation
Preparing the Environment
The .aif File and Character Animator
Specifying Screen Size for Screen-swapping
Screen Borders on aixterm
Compiling for Animation
Debugging Methods
Command Line Debugging
Starting Character Animator at Your Terminal
Starting Character Animator in a Different Window
Starting Character Animator In Sleep Mode
Specifying Character Animator Directives
Directive Descriptions
COBAIF
END
FASTEXIT
FASTLOAD
MIXEDLANGDEBUG
MULTITHREAD
RESEQ
ZEROSEQ
Using COBANIMOPT
Just-in-time Debugging
Core Dump Debugging
Preparing for a core dump
To enable core dumps using run-time tunables
Unsolicited Dynamic Attachment Debugging
Using the Debugging Library Routines
Preprocessor Debugging
Multi-threaded Program Debugging
Multi-threading and Animator
CGI Program Debugging
Cross-session Debugging
Using the COBANIMSRV Environment Variable
Using the Same Directory
Using CBL_DEBUG_START and CBL_DEBUG_STOP
Using cobesdebug to Debug Services and Applications on Enterprise Server
How it works
How Enterprise Server finds a match
How to debug services and applications with Enterprise Server Dynamic Debugging
Alternative ways of Debugging Services and Applications on Enterprise Server
Debugging Services and Applications on Enterprise Server Using CBL_DEBUGBREAK
Debugging Enterprise Server services and applications using a live recording
How it works
How Enterprise Server finds a match
To create a live recording with Enterprise Server dynamic debugging
Using Character Animator
Overview of Character Animator Functions
Working With Character Animator
The Character Animator Screen
Character Animator Screen Overview
The Information Line
Moving the Cursor and Text During Animation
Entering Text on Menus
Using the Character Animator Windows
Viewing Data
Key Functions for Updating Queried Data Items
Obtaining Help
Menus
Animator Main Menu
Breakpoints Menu
Environment Menu
Go Menu
Locate-declaration Menu
Perform-level Menu
Query Menu
Query Data-name Menu
Reset-execution Menu
Text Menu
Functions
Function Access
Function Descriptions
0-9
Align
Alter Path
Breakpoints
Cancel All Breakpoints
Cancel Program Break
Child Data
Clear
Cursor-name Locate
Cursor-name Query
Cursor-position Reset
Detach from application
Do
Do At Breakpoint
Down-table
Enter
Enter-name Locate
Enter-name Query
Environment
Escape
Examine Breakpoints
Exchange
Exit Perform
Find String
Go
Hex
Hex/ASCII
Hide Monitors
If Breakpoint
Join Text
Look-up
Monitor
Monitor-off
Next Reset
On Count Breakpoint
Organize Monitors
Parent Data
Perform-level
Perform-view
Query
Query Data-name
Quit-perform
Refresh
Reset-execution
Same Level
Scroll Up/Down (continuously)
Scroll Up/Down (one line)(Ctrl+<left-arrow>/<right-arrow>)
Select Program Break
Set Breakpoint
Split Text
Start
Step
Step Perform
Text
This Program Break
Thread-local Breakpoint
Un-set Breakpoint
Up Table
View
View Programs
View Threads
Where
Word Left
Word Right
Zoom
Zoom Breakpoint
Run-time System Error Messages
Directives for Character Animator
Directive Descriptions
COBAIF
END
MIXEDLANGDEBUG
MULTITHREAD
RESEQ
STRICTIDY
ZEROSEQ
Using COBANIMOPT
Cross-session Debugging
Using cobesdebug to Debug Services and Applications on Enterprise Server
How it works
How Enterprise Server finds a match
How to debug services and applications with Enterprise Server Dynamic Debugging
Running Applications
Creating Runnable Programs
Running Native Applications
Running Programs
Command to Run a Linked System Executable Program
cobrun Command
cobjrun Command
Switches
Programmable Switches
Run-time Switches
Setting Switches
Examples
Accessing Command Line Parameters
Example
TMPDIR Environment Variable
Run-time Configuration
Run-time Configuration File
Format of a Run-time Configurable
Run-time Tunables
Running Managed Code Applications
Java/COBOL Application Launcher
Using the Java/COBOL Application Launcher from the Command Line
Run-time System Error Messages
Using the Consolidated Tracing Facility
Test Coverage (Native COBOL)
Overview - Test Coverage
Test Coverage Configuration File
Test Coverage Report Files
Format of a Test Coverage Report
Recompiling Programs
Reporting on Tagged Lines
Test Coverage Tag File
Test Coverage Utility Program (tcutil)
How To...
To use test coverage from the command line
To create test coverage reports
To report on tagged lines
Including Code Coverage in a Continuous Integration Process
Restrictions when Using Test Coverage
Troubleshooting Test Coverage
Test Coverage Error Messages
Test Coverage System Errors
TC001S No input results file specified
TC004S Too many program / timestamp combinations
TC005S Unable to open program source file
TC006S Unable to open output report file
TC007S Unable to open output text file
TC008S Unable to open output index file
TC009S The version number on the results file is invalid
TC010S Unable to open results file
TC012I NOHTML and NOTEXT specified - nothing to do
TC014S Invalid option entered
TC018I Severe error encountered
TC019I The run was incomplete
TC021S Timestamp mismatch
TC022S Version number from calling program is invalid
TC034E IDY/Results timestamp mismatch
TC035E IDY/Results program not compiled with TESTCOVER
TC037E IDY/Result inconsistency
TC039 No unexecuted statements
TC040E missing idy - file, no source available
TC041E Matching source file not found
TC042S These programs cannot be merged, they have been reported separately
TC043S Unable to open Trace file
TC052S Unable to open the configuration file
TC053I
TC054I
TC055I NOTE no source code available
TC056I processed normally
TC057I ACCUMULATE ignored, incompatible with ? in .tcz file name
TC058S Syntax error in config file
TC059S Processed with warnings. Look at report for more details
TC060S Source file has been changed since the results file has been generated.
TC061S Unable to open tagfile
TC062S Unable to open command file
Modern Development Practices
Using Visual COBOL in Modern Application Development
Introduction to Modern Application Development
What is Modern Application Development?
Key Concepts in Modern Application Development
Steps Involved in Modern Application Development
Agile Methods
Introduction to Agile Methods
Agile Development Workflow
Agile Development and Micro Focus Development Tools
Continuous Integration
Introduction to Continuous Integration
Continuous Integration Workflow
Continuous Integration and Micro Focus Development Tools
Continuous Delivery
Introduction to Continuous Delivery
Continuous Delivery Workflow
Continuous Delivery and Micro Focus Development Tools
Continuous Improvement
Using Visual COBOL with Jenkins
Overview
Terminology
Scenarios for Using Jenkins
Software Requirements
Installing and Configuring Jenkins
Advanced Configuration
Configuring Email Reporting
Using Sources from Source Control
Triggering Builds Automatically
Creating Environment Variables
Using Agents
Using Jenkins to Build COBOL Applications
Setting up the Environment
Best Practices When Using Jenkins
Using Jenkins With Source Control
Specifying any Environment Variables in a Project's Configuration
Creating Separate Projects for Building and Testing Your Code
Using Pipelines to Build Your Applications
Troubleshooting
Ant Error "Can't find mfant.jar" When Building COBOL Projects
COBOL Projects Don't Build
A Build Failure isn't Reported as a Failure
Using Visual COBOL with Containers
Introduction to Containers
Benefits of Using Containers
Container Terminology
Getting Ready to Use Visual COBOL with Containers
Installing Container Tools on Red Hat Enterprise Linux
Installing Docker on Linux
Key Concepts When Using Containers for COBOL Application Development
Create Different Images for Different Development Tasks
Overview of Creating Images to Use in the Development Process
Additional Information on Using Containers for COBOL Application Development
Building Images for COBOL Applications
Building a Base Image Containing Visual COBOL Development Hub
Building an Image Containing an Application to use with Visual COBOL Development Hub
Debugging and Running COBOL Applications in Containers
Debugging and Running Native COBOL Applications in Containers
Overview of Debugging and Running Native COBOL Applications in Containers
Different Ways of Building a Native COBOL Application in a Container
Using Character Animator to Debug Native COBOL Applications Running in Containers
How to work with native COBOL applications in containers
To add a Dockerfile to a native COBOL project
To specify project properties for containers
To specify container information in debug and run configurations
To specify the type of container to use
To debug or run a native COBOL application in a container
To build an image for deployment
Debugging and Running JVM COBOL Applications in Containers
Building a JVM COBOL Application that is to be Debugged in a Container
Running a Container that is to be Debugged
Finding the Details of a Container that is to be Debugged
Starting to Debug a JVM COBOL Application in a Container
Container Demonstrations
Supplied Container Demonstrations
Using the Container Demonstrations
The Container Demonstration for the Visual COBOL Base Image
Introduction to the Container Demonstration for the Visual COBOL Base Image
Running the Container Demonstration for the Visual COBOL Base Image
Files in the Container Demonstration for the Visual COBOL Base Image
The Hello World Container Demonstration
Introduction to the Hello World Container Demonstration
Running the Hello World Container Demonstration
Files in the Hello World Container Demonstration
Programming
COBOL Programming
What is COBOL?
History of COBOL
Learn COBOL
Glossary
Calling COBOL Programs
Specifying the Program to Be Called
Naming a Program in its PROGRAM-ID Paragraph
Entry Point Mapping for COBOL Programs
Calling a Program Using an Implicit Program Name
Calling a Program Using an Explicit Program Name
Calling Entry Points in Subprograms
Calling Programs According to How They Are Linked
State of the Data when a Program is Called Again
Search Conventions Used for Calling Programs
Passing Parameters to a Called Program
Passing Return Codes Back to the Calling Program
Call Prototypes
About Call Prototypes
The ANY Keyword
Relaxed Type-checking
Using Type Definitions
Using the Library Routine Type Definitions and Call Prototypes
JVM COBOL Programming
Native COBOL Compared to JVM COBOL
Introduction to Object-Oriented Programming for COBOL Developers
Moving Native COBOL Applications to JVM COBOL
Why Move to JVM COBOL Code?
Considerations When Moving to JVM COBOL
Writing Multi-User Applications
Using Java Managed Beans to Manage and Monitor COBOL Applications
Accessing Procedural COBOL From JVM COBOL Code
Example of Using a JVM COBOL Wrapper Class
Example of Using the ILSMARTLINKAGE Compiler Directive
Compiling and Calling JVM COBOL Applications as Part of a Package
Producing a Java Property File
Example 1: Locating the Java Property File on the CLASSPATH
Example 2: Locating the Java Property File Directly from COBOL
64-bit applications in the Java environment
Using a File Handler in JVM COBOL
Multiple user COBOL applications in Java
Background to multiple run units and Java
Developing an application for multiple run units in JVM COBOL
Interoperability
Data Marshaling and Type Conversion for JVM COBOL Interoperation
Type Compatibility in Interoperation with Managed Code
Exposing COBOL Linkage Data as Managed Types
Type Mappings from Native COBOL to JVM COBOL Code
Write a Proxy or Edit the COBOL for Java Interoperation?
JVM COBOL Interoperating with Native COBOL
Calling Native COBOL from JVM COBOL
Passing Parameter Modes for JVM COBOL Calling Native COBOL
Pointers from Native Code to JVM COBOL
Strings in JVM COBOL Interoperation
Arrays of Bytes in JVM COBOL Interoperation
Limitations in JVM COBOL Interoperability
Example of JVM COBOL Interoperation with Native Code
JVM COBOL Interoperating with Java
Java Calling JVM COBOL
JVM COBOL Calling Java
JVM COBOL Passing Java Instances to Native Procedural COBOL
JVM COBOL Passing Java Instances to Native Object COBOL
Exposing COBOL as Web Services
Java and COBOL Interoperability
Java and OO COBOL Interoperability
Java and OO COBOL Interoperability Options
Considerations
Linking to the Multi-threaded Run-time System
Setting Up the Environment for Java and COBOL
Java/COBOL Application Launcher
Using the Java/COBOL Application Launcher from the Command Line
Compiling COBOL Programs that Call Java
Compiling COBOL Programs that Are Used from the CobolBean interface
Linking to the Multi-threaded Run-time System
Migrating Applications between JDK 8 and JDK 11
Calling Procedural COBOL from Java
Overview - Calling Procedural COBOL from Java
Coding Your Java Program
Multi-threading Considerations
Loading a COBOL Program or Library
Using the cobcall() Methods
Examples of Calling COBOL from Java
Changing Data Members in a Java Object
Using CobolBean for Instance Data
Canceling a COBOL Program
Handling Strings from a Java Program
Pointer Class
mfjstring
CobolNational Class
Using Custom Records to Pass Group Items
Using JNI with COBOL
Example of Throwing an Exception
Calling Java from Native OO COBOL
Overview of Calling Java from Native OO COBOL
Before You Start
Declaring Java Classes
Instantiating Java Objects
Calling Java Methods
Accessing Java Variables
Handling Java Exceptions
Accessing Native Java Objects
Finalizing Java Objects
Calling Native OO COBOL from Java
Overview - Calling Native OO COBOL from Java
Before You Start
Writing a Java Class in Native OO COBOL
Importing the COBOL Support
The Wrapper Class
Adding and Removing Methods
Throwing Exceptions from COBOL
Using BY REFERENCE Parameters
Working with Java Programs
Java Data Types
Overview
Java Data Type Conversion Rules
Java Typedefs
Using the Jarray Class
Adding Parameters Using ParameterList()
Using Structures
Creating Custom Records using com.microfocus.cobol.lang.CustomRecord Interface
Micro Focus COBOL Java Class Library
JVM COBOL Interoperating with Java
Java Calling JVM COBOL
JVM COBOL Calling Java
JVM COBOL Passing Java Instances to Native Procedural COBOL
JVM COBOL Passing Java Instances to Native Object COBOL
Java and non-OO COBOL Interoperability
COBOL Calling Static Java Methods
Java Accessing COBOL Working Storage Items
Java Calling COBOL Programs
Building and Running Native COBOL that Interoperates with Java
Example 1 - COBOL Calling Java Static Method
Example 2 - Java Accessing COBOL Working Storage Items
Example 3 - Java Calling COBOL Programs
Example 4 - Java Calling COBOL and Accessing Working Storage Items
Mapping COBOL Items and Java Types
The genjava Utility
genjava Syntax Options
Implementation Differences Between Micro Focus COBOL and Enterprise COBOL
Limits and Restrictions
Internationalization Support
National Locale Support
Compiling Programs with NLS
Setting Up the National Locale Environment
Using the LANG Environment Variable
Running Your NLS Program
NLS Initialization
NLS Operations
String Comparisons
Class Condition Tests
SORT and MERGE Key Comparisons
Case Conversion
Collating Sequence Operations
Editing and De-editing Moves
Intrinsic Functions Numval and Numval-c
Using NLS Library Routines in Your Programs
Mixing Programs With and Without NLS
Message Files
Format of a Message File
Example Error Message File
Compiling and Deploying a Message File
Unicode Support
National Literals
National Hexadecimal Literals
National Data Items
UTF-8 Data
UTF-16 Byte Ordering
Preparing Applications for Enterprise Server
The Application Container
Short-running Requests
Long-running Requests
Resource Management
Application-managed Services
Container-managed Services
Restrictions on the COBOL application
User Interaction for COBOL Program Services
Run-time Errors and Completion
Multithreading
Preserving State
File Handling
Releasing Resources
Object-oriented COBOL
Mixed Language Programming
Ordering Parameters to Pass to Non-COBOL Programs
Removing Parameters from the Stack
Storage Representation of Parameters
Aligning Parameters on Word and Double Word Boundaries
Handling Return Codes in Mixed Language Applications
Call Conventions for Interfacing with Mixed Languages
Building a Mixed Language Application
Interfacing with C Programs
Avoiding data name conflicts
Calling a COBOL Entry Point Directly
Passing Data between C and COBOL
Header-to-COPY Utility
Overview
Examples
Converting Header Files Using the H2cpy Utility
H2cpy command-line options
H2cpy Translations
Translating Names
Using the Headers Preprocessor
Translating Directives
Preprocessor Directives
Expanding Macros and Creating String Literals
Translating Conditional Directives
Translating Other Directives
Translating Statements
External Data Declarations
Example - Translating External Data Declarations
Type Definitions
Example - Translating Type Definitions
Structure, Union and Enumerator Declarations
Example - Translating Named Declarations
Example - Translating Unnamed Declarations
Example - Translating Enumerator Declarations
Function Prototype Declarations
Example - Translating Function Prototype Declarations
Example - Translating C Calling Conventions
Call Parameters
Example 1 - Parameter Passing in C and in COBOL
Example 2 - Parameter Passing in C and in COBOL
H2cpy Limitations
Overview - H2cpy Messages
Warning Messages
* Warning, other return already defined for: name
* Warning, float has been evaluated as zero
* Warning, expression buffer overflow - ignored
* Warning, macro too long, ignored: name
* Warning, macro has too many parameters
* Warning, macro parameters too long - ignored
* Warning, neither whitespace nor ( after #define. Ignoring the line.
*Warning, redefinition ignored for #define
* Warning, struct/union 4 bytes (or 8) and passed by value cannot be directly accessed from COBOL
Error Messages - Command Line Errors
Error, command line too long
Error, no input C header file given
Error, too many input filenames
Error, macro name already defined
Error, exceeded max number of include directories, max=14
Error, unknown C type: name
Error, no C type alignment value
Error, no C type size value
Error, no call convention value provided
Error, unknown environment (not 16 or 32)
Error, unknown option - flag
Error Messages - Invalid C Source
Error, type expected, found name: name
Error, type expected
Error, typedef found at inner level; check brackets
Unexpected token token
Error, type expected
Error, type expected, found name
Error, no unique typedef name!
Error, already declared this name
Error, undeclared enum name
Error, already defined name: name
Error, already defined struct/union as: name
Error, other params already defined for : name
Error, declaration buffer overflow
Error, no unique declarator name!
Error, no unique parameter name!
Error, invalid C code (missing token)
Error, too many digits for 4 bytes in name
Calling COBOL Programs from C
Error Messages when Calling Non-COBOL Programs
Signal Handling
Signal Handling Overview
Posting Signal Handlers
Writing Signal Handlers
More than One Handler for the Same Signal
Converting Signal Handlers Written for the signal() Function
Third Party Software that Uses Signals
Examples of Mixed Language Programming
Example of Calling C functions from COBOL
Example of Posting a Signal Handler
Using COBOL and XML together
XML Extensions
Installation and introduction
Before you start
System requirements
XML Extensions components
Development components
Deployment components
Installing XML Extensions
Introducing XML Extensions
What is XML?
COBOL as XML
XML as COBOL
Getting started with XML Extensions
Overview
Model files
XMLGEN Compiler directive
Typical development process example
Design the COBOL data structure and program logic
Compile the program
Execute the program
Making a program skeleton
Making a program that exports an XML document
Populating the XML document with data values
Deploy the application
How XML Extensions locates files
XML Extensions statements reference
Memory management with XML Extensions
Searching for files
Document processing statements
XML EXPORT FILE
XML EXPORT TEXT
XML IMPORT FILE
XML IMPORT TEXT
XML TEST WELLFORMED-FILE
XML TEST WELLFORMED-TEXT
XML TRANSFORM FILE
XML TRANSFORM TEXT
XML VALIDATE FILE
XML VALIDATE TEXT
Document management statements
XML COBOL FILE-NAME
XML FREE TEXT
XML GET TEXT
XML PUT TEXT
XML REMOVE FILE
XML RESOLVE DOCUMENT-NAME
XML RESOLVE SCHEMA-FILE
XML RESOLVE STYLESHEET-FILE
XML RESOLVE MODEL-NAME
Directory management statements
XML FIND FILE
XML GET UNIQUEID
State management statements
XML INITIALIZE
XML TERMINATE
XML DISABLE ALL-OCCURRENCES
XML ENABLE ALL-OCCURRENCES
XML DISABLE ATTRIBUTES
XML ENABLE ATTRIBUTES
XML DISABLE CACHE
XML ENABLE CACHE
XML FLUSH CACHE
XML GET FLAGS
XML GET WHITESPACE-FLAGS
XML TRACE
XML GET STATUS-TEXT
XML SET ENCODING
XML SET FLAGS
XML SET WHITESPACE-FLAGS
XML SET XSL-PARAMETERS
XML SET XSL-PARAMETERS-NEW
XML CLEAR XSL-PARAMETERS
COBOL considerations
File management
File naming conventions
External XSLT Stylesheet File Naming External XSLT stylesheet file naming conventions
Other input file naming conventions
Other output file naming conventions
Data conventions
Data representation
COBOL and character encoding
MF_XMLEXT_LOCAL_ENCODING environment variable
UNIX character encoding
FILLER data items
Missing intermediate parent names
Unique element names
Unique identifier
Sparse COBOL records
Copybooks
Statement definitions
REPLACE statement considerations
Displaying status information
Application termination
Anonymous COBOL data structures
Limitations
Data items (data structures)
Edited data items
Wide and narrow characters
Data item definitions and size
Data naming
OCCURS restrictions
Reading, writing, and the Internet
Optimizations
OCCURS DEPENDING
Empty occurrences
Cached XML documents
JVM COBOL code considerations
New XML statement
XML statement restrictions
XML considerations
XML and character encoding
Document type definition support
XSLT stylesheet files
Handling spaces and whitespace in XML
Schema files
Appendix A XML Extensions examples
Example 1 Import file and export file
Development for example 1
Batch file for example 1
Program description for example 1
Data item for example 1
Other definitions for example 1
Program structure for example 1
Execution results for example 1
Example 2 Export file and import file with XSLT stylesheets
Development for example 2
Batch file for example 2
Program description for example 2
Data item for example 2
Other definitions for example 2
Program structure for example 2
Execution results for example 2
Example 3 Export file and import file with OCCURS DEPENDING
Development for example 3
Batch file for example 3
Program description for example 3
Data item for example 3
Other definitions for example 3
Program structure for example 3
Execution results for example 3
Example 4 Export file and import file with sparse arrays
Development for example 4
Batch file for example 4
Program description for example 4
Data item for example 4
Other definitions for example 4
Program structure for example 4
Execution results for example 4
Table1.xml
Table2.xml
Table3.xml
Table4.xml
Table5.xml
Table6.xml
Example 5 Export and import text
Development for example 5
Batch file for example 5
Program description for example 5
Data item for example 5
Other definitions for example 5
Program structure for example 5
Execution results for example 5
Example 6 Export file and import file with directory polling
Development for example 6
Batch file for example 6
Program description for example 6
Data item for example 6
Other definitions for example 6
Program structure for example 6
Execution results for example 6
Example 7 Export file, test well-formed file, and validate file
Development for example 7
Batch file for example 7
Program description for example 7
Data item for example 7
Other definitions for example 7
Program structure for example 7
Execution results for example 7
Example 8 Export text, test well-formed text, and validate text
Development for example 8
Batch file for example 8
Program description for example 8
Data item for example 8
Other definitions for example 8
Program structure for example 8
Execution results for example 8
Example 9 Export file, transform file, and import file
Development for example 9
Batch file for example 9
Program description for example 9
Data item for example 9
Other definitions for example 9
Program structure for example 9
Execution results for example 9
Example 10 Diagnostic messages
Development for example 10
Batch file for example 10
Program description for example 10
Data item for example 10
Other definitions for example 10
Program structure for example 10
Execution results for example 10
Example 11 Import file with missing intermediate parent names
Development for example 11
Batch file for example 11
Program description for example 11
Data item for example 11
Other definitions for example 11
Program structure for example 11
Execution results for example 11
Example batch files
Cleanup.bat
Example.bat
Examples.bat
Appendix B: XML Extensions sample application programs
Appendix C: XML Extensions error messages
Summary of error messages in XML Extensions
XML Syntax Extensions
XML Implementation
Syntax for Handling XML in COBOL
SELECT Paragraph
XML Description Paragraph (XD)
IDENTIFIED BY and IS ATTRIBUTE Clauses
PROCESSING-INSTRUCTION Clause
COUNT IN Clause
NAMESPACE Clause
COBOL Verbs
Compiling XML-enabled COBOL
Building XML-enabled COBOL from Visual COBOL
Compiling XML-enabled COBOL from the Command Line
Generating COBOL Structures with XML Syntax from the Command Line
CBL2XML Utility
Generating a Copybook and Schema
Generating XML-enhanced COBOL from an XML Schema
Mapping COBOL Data to XML Elements
Accessing an XML-enabled Record
Validate an XML Document
XML PARSE
Special Registers
User Routine
Glossary of terms
64-bit Native COBOL Programming
Compiling Native COBOL Programs for 64-bit
Transitioning Native COBOL Programs to 64-bit
Programs Using Pointers
Programs with a Directly Coded File Control Description
Single Sourcing and Compiling Native COBOL Programs for 64-Bit
Single Sourcing and Dual FCD Support in Native COBOL Programs
Embedded HTML
Enabling CGI support
EXEC HTML statement
Substitution Markers
EHTML Preprocessor
EHTML Preprocessor Directives
AUTOFORMAT (AF)
CONFIRM
DEBUG (D)
DEBUGFILE
OUT
PREPROCESS (P)
STEPEXEC
STEPHTML
TRACE
WARN
Deploying a CGI Application with Embedded HTML
Debugging a CGI Application
Compatibility
Compatibility with ACUCOBOL-GT
Converting ACUCOBOL-GT Applications
Enabling ACUCOBOL-GT Compatibility
Compiler Directives for ACUCOBOL-GT Compatibility
Compiler Option Support
Setting Compiler Options
Supported ACUCOBOL-GT Compiler Options
Standard Options
Native Object Code Options
Listing Options
Internal Table Options
Compatibility Options
Source Options
Reserved Word Options
Data Storage Options
Truncation Options
Video Options
Warning and Error Options
Debugging Options
Miscellaneous Options
32- and 64-Bit Code Generation
ACUCOBOL-GT Conversion Issues
Complementary ACUCOBOL-GT Technologies
Configuration Files and Configuration Variables
Multi-threading Implementation
Screen Descriptions
Truncation Options in JVM COBOL Code
Unsupported Library Routines
Using Pipes to Assign Filenames When Using the Vision File Handler
ACUCOBOL-GT File Handling
Configuring Access to Vision Files
File Limits
Vision Related Utilities
Converting Vision Files
Configuring Access to Data Files Through AcuServer
ACUCOBOL-GT Library Routines
C$CALLEDBY
C$CALLERR
C$CHDIR
C$COPY
C$DELETE
C$FILEINFO
C$GetLastFileOp
C$JUSTIFY
C$LIST-DIRECTORY
C$LOCKPID
C$MAKEDIR
C$MEMCPY (Dynamic Memory Routine)
C$MYFILE
C$NARG
C$PARAMSIZE
C$REGEXP
C$RERR
C$RERRNAME
C$RUN
C$SLEEP
C$SYSTEM
C$TOUPPER and C$TOLOWER
I$IO
M$ALLOC (Dynamic Memory Routine)
M$COPY (Dynamic Memory Routine)
M$FILL (Dynamic Memory Routine)
M$FREE (Dynamic Memory Routine)
M$GET (Dynamic Memory Routine)
M$PUT (Dynamic Memory Routine)
RENAME
WIN$VERSION
ACUCOBOL-GT Windowing Syntax
Windowing Syntax Summary
Enabling Windowing Support
Windowing Support Syntax
The ACCEPT Statement
The CLOSE WINDOW Statement
The DISPLAY Statement
Windowing Restrictions
ACUCOBOL-GT Windowing Error Messages
Windowing Supplementary Information
Compatibility with DG Interactive COBOL
Introduction
Compatibility Directives
DG
Compatibility with DG Interactive COBOL
Overview
DG Interactive COBOL Source Programs
Enhancing your Converted Application
Compatibility with DG Interactive COBOL Source
The DG Directive
Reserved Words
DG International Character Set
DG File Status and other Exception Values
Calls
Linkage Section Access
Arithmetic of Group Level Items
Run-time Switches
Program Identification and Data-names
Reformatting a DG COBOL Source File
Reformatting Rules
Compatibility with RM/COBOL
Converting RM/COBOL Applications
Configuring Your Application for
Appendices
Appendix A - RM/COBOL Source File
Appendix B - ADISCTRL Settings for RM2VCOB
Appendix C - Adis Key Mappings for RM2VCOB
Appendix D - Adis Key Function Mapping for RM2VCOB
Compiler Directives for RM/COBOL Compatibility
Compiling RM/COBOL Programs Without DIALECT"RM"
RM/COBOL Data Types
RM/COBOL Conversion Issues
Producing Executable Code
Perform Statements
ACCEPT FROM CENTURY-DATE and FROM CENTURY-DAY
CURSOR phrase not available in ACCEPT statement
Nested COPY statements with REPLACING phrase
Duplicate Paragraph-names
Figurative Constants and the USING Phrase
File Not Found Errors
Indexed File Error on Open
LIKE Relational-operator Not Available
Linkage Section in Main Program
Nested OCCURS DEPENDING Clauses
Numbering of Segments
Program Identification and Data Names
REMARKS Paragraph
Reserved Words
SAME AS Clause Not Available When Defining Data Structures
Source Code in Columns 73 to 80
START WHILE LIKE Not Available
Undeclared Data Items in Clauses
User-names Longer than 127 Bytes are Truncated
Using Relative Path Names
Running the Code
Table Bound Checking
ACCEPT Fields at the Edge of the Screen
C$CARG Not Supported
Display of Input Data in Concealed ACCEPT Fields
Embedded Control Sequences in DISPLAY Statements
End of File Notification
The EXCEPTION STATUS Clause
File Status Codes
Field Wrap-Around
File and Record Locking
Initialization of Working Storage
Numeric Fields Containing Illegal Characters When Using a DEPENDING ON Phrase of an OCCURS Clause
ON SIZE ERROR Phrase
Open EXTEND of Nonexistent File
Printer Output is Written to Disk
Screen Column Number Specification
Trailing Blanks in Line Sequential Files
Undefined Results of MOVE and Arithmetic Operations
Using the Correct Calling Convention
RM/COBOL Library Routines
C$Century
C$ConvertAnsiToOem
C$ConvertOemToAnsi
C$DARG
C$Delay
C$GetEnv
C$GetLastFileName
C$GetLastFileOp
C$GetNativeCharset
C$LogicalAnd
C$LogicalComplement
C$LogicalOr
C$LogicalXor
C$LogicalShiftLeft
C$LogicalShiftRight
C$NARG
C$OSLockInfo
C$SecureHash
C$SetEnv
C$RERR
DELETE
RENAME
SYSTEM
RM/COBOL File Handling
Configuring Access to RM/COBOL Indexed Data Files
File Limits
RM/COBOL File Status Codes
Debugging JVM COBOL Using RM/COBOL Indexed Files
Enabling CTF to Trace RM/COBOL Data Files
Data File Utilities
Indexed File Recovery (recover1) utility
Recovery command
Recovery command options
Recovery process description
The four phases of processing
Recovery support module version errors
Recovery example
Recovery program error messages
RM/Panels
Restrictions and Limitations
Converting RM/Panels Applications
Conversion Example: Using
Download the Tutorial Files
Configure Adis Support for RM/Panels
Writing Programs
Standard Run-Time Function Basics
Setting Run-Time Parameters
Executing Standard Run-Time Functions
Required Copy Files
Error Detection
Screen Handling
Individual Field Method
Entire Screen Method
Event Loop Method
Using Multiple Panels
Standard Run-Time Functions
Configurable Keys
ACCEPT FIELD
CHANGE PANEL PALETTE
CHECK MENU OPTION
CLEAR ALL FIELDS
DISABLE ALL FIELDS
DISABLE FIELD FOR INPUT
DISABLE MENU OPTION
DISPLAY ALL FIELDS
DISPLAY FIELD
DISPLAY PANEL
ENABLE ALL FIELDS
ENABLE FIELD FOR INPUT
ENABLE MENU OPTION
EXECUTE EVENT
INITIALIZE ALL FIELDS
INITIALIZE FIELD
POPUP MENU
REMOVE PANEL
SET FIELD ATTRIBUTE
SET SCROLL BAR RANGE
SHOW FIELD ERROR
SHOW FIELD HELP
SHOW PANEL ERROR
SHOW PANEL HELP
UNCHECK MENU OPTION
VALIDATE ALL FIELDS
VALIDATE FIELD
Utility Functions
DELETE TEMPORARY FILE
END MODELESS OPERATION
END POLLING
HIDE MOUSE CURSOR
SET COLOR
SET MONOCHROME
SHOW MOUSE CURSOR
START MODELESS OPERATION
START POLLING
Appendix A: Master Copy File RMPANELS.WS
Contents of RMPANELS WS
RMPANELS WS Field Definitions
Appendix B Standard Utility, and Extended Run-time Functions and Parameters
Compatibility with XML Extensions
Additional Parameter Required with XML Extensions Processing Statements
COBOL programs using BIS
Conflicts Between Model File-names and XML Data Files
Creating an XML Model File
Displaying the Status of XML Extensions Statements
Importing and Exporting Ambiguous Data-names
Invalid Characters in Condition Names
Restricted data items with XML Extensions
Unable to Use Data Items Declared in Nested Programs
User-names Longer than 127 Bytes are Truncated
Using the Correct Calling Convention
Native OO COBOL Class Library Reference
User Interface Programming
Data Access
Database Access
Accessing Databases from COBOL
Database Access Features
Database Access Preprocessors
Developing SQL Applications
Embedded SQL
Host Variables
Simple Host Variables
Host Arrays
Indicator Variables
Indicator Arrays
COBOL to SQL Data Type Mapping
SQL TYPEs
Cursors
Declaring a Cursor
Opening a Cursor
Using a Cursor to Retrieve Data
Closing a Cursor
Positioned UPDATE and DELETE Statements
Using Cursors
Data Structures
SQL Communications Area (SQLCA)
Using the SQLCA
The SQLCODE Variable
The SQLSTATE Variable
SQLWARN Flags
The WHENEVER Statement
SQLERRM
SQLERRD
COBSQL
DB2 LUW
The SQL Descriptor Area (SQLDA)
COBSQL
Oracle
Sybase
Informix
OpenESQL
Using the SQLDA
The PREPARE and DESCRIBE Statements
The FETCH Statement
The OPEN or EXECUTE Statements
The DESCRIBE Statement
Dynamic SQL
Dynamic SQL Statement Types
Execute a Statement Once
Execute a Statement More Than Once
Select a Given List of Data
Select any Amount of Data
Preparing Dynamic SQL Statements
Place Holders
Physical Location of PREPARE Statement
Executing Dynamic SQL Statements
EXECUTE IMMEDIATE Statement
FREE Statement (COBSQL Informix)
Dynamic SQL Statements and Cursors
CALL Statements
Example
Compiling SQL Applications
Specifying an SQL Preprocessor and Compiler Directive Options
Compiling Multiple Program Modules
Creating Debug Files
OpenESQL
OpenESQL Preprocessor Options
Setting the OpenESQL Preprocessor and Compiler Directive Options
SQL Code Generation Options
Scope - OpenESQL SQL Compiler Directive Options
OpenESQL DBMAN Use Case Scenarios
OpenESQL Datetime Data Type Handling
OpenESQL Fixed-length Character Strings Handling
SQL Syntax Checking with OpenESQL
SQL(CHECK) and Schema Objects
SQL(CHECK) Command-line Options
SQL Statement Prefixes for SQL(CHECK)
OpenESQL Embedded SQL Cursor Behavior and Performance
Embedded SQL Cursors in Older Applications
Database Connections
Managing Transactions
Programming for OpenESQL
Working With OpenESQL Cursors and Result Sets
Working with Stored Procedures and Result Sets
Unicode Support in OpenESQL
OpenESQL Globalization Best Practices
Keywords
ODBC
Demonstration Applications
ODBC Drivers and Data Source Names
Using OpenESQL with ODBC
Managing Transactions
Positioned Update
SQL Error Mapping
XML Support
JDBC
JDBC Process
JDBC Resources
JNDI DataSource Objects
Database Connections
Connect Using a JNDI DataSource Object
Connect Using a JDBC Connection String
Sharing Database Connections Between Java and COBOL
Using OpenESQL with JDBC
Compiling JDBC Applications from the Command Line
Configuring the JDBC Run-time Environment
JVM Host Variables in Managed Code
DB2
Demonstration Applications
DB2 External Compiler Module
Compound SQL
Extensions to Embedded SQL Support
The INCLUDE Statement
The DECLARE Statement
Qualified Host Variables
Host Variable Groups and Indicator Arrays
The NOT Operator (¬)
The Concat Operator (|)
SQL Communications Area
Support for Object Oriented COBOL Syntax
Support for Nested COBOL Programs
Compiling
Setting the DB2 ECM Preprocessor and Compiler Directive Options
DB2 Compiler Directive
Error Codes
Building Applications
Stand-alone DB2 Applications
Client DB2 Applications and Stored Procedures
Binding
COBOL DB2 Stored Procedures
Working with Stored Procedures
Writing and Preparing Stored Procedures
Preparing Stored Procedures
How an Application Works With a Stored Procedure
Writing and Preparing Applications to Use Stored Procedures
Executing the SQL Statement CALL
Parameter Conventions
Using Indicator Variables to Speed Processing
Declaring Data Types for Passed Parameters
Limitations
Defining Stored Procedures under DB2 LUW
Compiling and Linking Stored Procedures under DB2 LUW
Testing Stored Procedures under DB2 LUW
COBSQL
Setting the COBSQL Preprocessor and Compiler Directive Options
Using the CP Preprocessor to Expand Copybooks
Troubleshooting
Common Problem Areas
Oracle Considerations
Migration and Development
Oracle 8 and Micro Focus COBOL
Sybase Considerations
Informix Considerations
How to
JDBC
To install and configure Simple-JNDI
To create a JNDI DataSource object
Reference
EXEC SQL Statement
OpenESQL
Embedded SQL Statements
BEGIN DECLARE SECTION
BEGIN TRAN
BIND CONNECTION
CALL
CLOSE
COMMIT
CONNECT
DECLARE CURSOR
DECLARE DATABASE
DECLARE STATEMENT
DELETE (Positioned)
DELETE (Searched)
DESCRIBE
DISCONNECT
END DECLARE SECTION
EXECSP
EXECUTE
EXECUTE IMMEDIATE
FETCH
GET CONNECTION
GET HDBC
GET HENV
GET NEXT RESULT SET
INCLUDE
INSERT
INTO
OPEN
PERSIST
PREPARE
QUERY ODBC
QUERY ODBC - Column Query
QUERY ODBC - Data Type Query
QUERY ODBC - Table Query
RESET CONNECTION
ROLLBACK
SAVEPOINT, SAVE TRANSACTION, RELEASE [TO] SAVEPOINT
SELECT DISTINCT (using DECLARE CURSOR)
SELECT INTO
SET AUTOCOMMIT
SET CONCURRENCY
SET CONNECTION
SET ERRORMAP
SET host_variable
SET OPTION
SET SCROLLOPTION
SET TRACELEVEL
SET TRANSACTION ISOLATION
SYNCPOINT
UNBIND CONNECTION
UPDATE (Positioned)
UPDATE (Searched)
WHENEVER
SQL Compiler Directive Options
ALLOWNULLCHAR
ALLOWSERVERSELECT
ANSI92ENTRY
ARRAYCHECK
AUTOCOMMIT
AUTOFETCH
BEHAVIOR
Primitive Directives
DEF_CURSOR
IC_FH_ISOLATION
PF_RO_CURSOR
PF_UPD_CURSOR
RO_CURSOR
UPD_CONCURRENCY
UPD_CURSOR
CHECK
CHECKDUPCURSOR
CHECKSINGLETON
CLOSE_ON_COMMIT
CLOSE_ON_ROLLBACK
CONCAT
CONNECTIONPOOL
CTRACE
CURSORCASE
DATE
DATEDELIM
DB
DBMAN
DECDEL
DESCRIBEDTCHAR
DESCRIBEDTREC
DESCRIBEVARCHAR49
DESCRIBEVARCHARPICX
DETECTDATE
ERRORMAP
ESQLVERSION
FIPSFLAG
GEN-CC2
GEN-CLASS-VAR
GEN-HV-FROM-GROUP
GEN-INIT-FLAG
GEN-SQLCA
HSFTRACE
IGNORE-NESTED
IGNORESCHEMAERRORS
INIT
ISOLATION
JIT
JNDI
JNDIENC
MARS
NIST
NOT
ODBCTRACE
ODBCV3
ODBCVER
OPTIMIZECURSORS
OPTION (deprecated)
OPTPER
PARAMARRAY
PASS
PICXBINARY
PICXBINDING
PRE
PREFETCH
QUALFIX
RESULTARRAY
SAVE-RETURN-CODE
STMTCACHE
TARGETDB
TESTSQLSTATE
THREAD
TIME
TIMEDELIM
TRACELEVEL
TRANSACTION
TSTAMPSEP
USECURLIB
USER-SQLDA
WHERECURRENT
XAID
DBMAN Directive Settings
JDBC Driver Classes
JDBC URLs
Sample DataSource Object Files
SQL/COBOL Data Type Mappings
MF_ERRORMAP_PATH
OpenESQL Messages
SQLSTATE Values
SQLCODE Values
OpenESQL Preprocessor Error Messages
COBES0002 token is badly defined.
COBES0003 Program contains more than one definition of token
COBES0004 Nested or multi-source programs not allowed.
COBES0005 An error occurred when processing the internal dictionary.
COBES0006 No DB engine could be found.
COBES0007 Source file name is invalid.
COBES0010 OESQL rejected an unspecified option.
COBES0022 The directive SQL(DBMAN=ODBC) is not supported under Personal Edition.
COBES0023 The SQL(DBMAN) directive option is not supported with native applications.
COBES0024 The SQL(DBMAN) directive option is not supported with JDBC applications.
COBES0100 SQL incompatible with MAINFRAME
COBES0101 Statement is too long.
COBES0102 Statement contains too many host variables.
COBES0103 token does not have a suitable definition to be used as a host variable.
COBES0104 Bad SQL data declaration.
COBES0105 Syntax error.
COBES0106 Filename too long.
COBES0107 File token not found.
COBES0108 token is not unique and should be qualified.
COBES0109 token is not a data item.
COBES0110 Statement contains more than one SQLDA.
COBES0111 token is not a table of null indicator variables.
COBES0112 variable should not be defined with an OCCURS clause.
COBES0113 token should not be a subordinate to an item defined with an OCCURS clause.
COBES0114 Statement only allowed in the Procedure Division.
COBES0115 Statement not allowed in the Procedure Division.
COBES0116 An error occurred when processing the trace file.
COBES0118 Mismatched DECLARE.
COBES0119 Host variable name is too long.
COBES0120 Internal error - dictionary handle is too big.
COBES0121 Compiler directive SQL (token1=token2) is invalid or badly sequenced - all SQL statements ignored.
COBES0123 Invalid ILTARGET - cannot use ILTARGET(ANYCPU) - must specify ILTARGET(X86) or ILTARGET(X64).
COBES0124 Host or Indicator Variable varname should not be defined in EXEC SQL statement using a subscript.
COBES0125 variable should be defined with an OCCURS clause.
COBES0130 Host variable host-var.group-var is part of a group variable expansion that is not supported in this type of SQL statement.
COBES0201 BEHAVIOR directive not valid unless TARGETDB directive of DB2, ORACLE, or MSSQLSERVER set first.
COBES0202 BEHAVIOR directive not set.
COBES0203 PREFETCH and BEHAVIOR directives are mutually exclusive - cannot set both.
COBES0205 Cannot set directive PF_RO_CURSOR > 1 if RO_CURSOR directive is set to IC_FH.
COBES0206 Cannot set directive PF_RO_CURSOR > 1 if RO_CURSOR directive is set to FORWARD and TARGETDB is MSSQLSERVER.
COBES0207 Cannot set directive PF_UPD_CURSOR > 1 if UPD_CURSOR directive is set to FORWARD.
COBES0208 Cannot set UPD_CURSOR directive to DYNAMIC if TARGETDB directive is set to ORACLE.
COBES0209 Cannot set UPD_CURSOR directive to STATIC if TARGETDB directive is set to MSSQLSERVER.
COBES0222 Invalid Framework target - SQL applications must be built to target the 4.0 .NET Framework.
COBES0223 TARGETDB directive not set.
COBES0900 An internal error occurred.
COBES0901 This error prevents SQL processing from continuing - further EXEC SQL statements will be ignored.
COBES1000W Use of EXEC SQL INCLUDE SQLCA END-EXEC
COBES1002 Statement is not in area B.
COBES1004 token directive is not supported and has been ignored.
DSNTIAR and DSNTIAC
esqlconfig command
DB2
DB2 Compiler Directive Options
ACCESS
ACTION
ALEBRA
APREUSE
BIND
BINDDIR
BGP
BLOCK
CALL_RESOLUTION
CASE
CCSIDG
CCSIDM
CCSIDS
CHARSUB
COLLECTION
COMMIT
CONCAT
CONCURRENTACCESSRESOLUTION
CONNECT
COPY
CTRACE
DB
DBPROTOCOL
DEC
DECDEL
DEFERRED_PREPARE
DEGREE
DISCONNECT
DYNAMICRULES
ENCODING
EXPLAIN
EXPLSNAP
EXTENDEDINDICATOR
FEDERATED
FEDERATED_ASYNCHRONY
FOR
FORMAT
FUNCPATH
GENERIC
GEN-HV-FROM-GROUP
GEN-INIT-FLAG
GEN-SQLCA
HCO
HOSTVAR
HSFTRACE
IGNORE-NESTED
IMMEDIATE
IMMEDWRITE
INIT
INSERT
ISOLATION
KEEPDYNAMIC
LANGLEVEL
LEVEL
MSGAREA
MULTI_PACKAGE
NOT
OPTPROFILE
OPTHINT
OPTPER
OS400NAMING
OWNER
PACKAGE
PASS
PRE
QUALFIX
QUALIFIER
QUALIFY-CALL
QUERYOPT
RELEASE
REOPT
REPLVER
RETAIN
SAVE-RETURN-CODE
SINGLE_PACKAGE
SORTSEQ
SQLERROR
SQLFLAG
SQLRULES
SQLWARN
STATICREADONLY
STOPROC
STRDEL
SYNCPOINT
SYNTAX
TEMPORAL-HISTORY
TEXT
TRANSFORM-GROUP
UDB-VERSION
VALIDATE
VERSION
XAID
DB2 Environment Variables
HCOBND environment variable (deprecated)
DB2 ECM Error Messages
COBDB0002 - COBDB0013
COBDB0002 token is badly defined.
COBDB0003 Program contains more than one definition of field-name
COBDB0004 Nested or multi-source programs not allowed.
COBDB0005 An error occurred when processing the internal dictionary.
COBDB0006 Required DB software token could not be found.
COBDB0007 Source file name is invalid.
COBDB0008 MF DB2 Connect program missing or invalid.
COBDB0009 MF DB2 Connect program reported error condition token.
COBDB0010 DB2 rejected an unspecified option.
COBDB0011 No database name was specified.
COBDB0012 Functionality only supported in 32-bit mode
COBDB0013 Invalid directive token. IBM supports only precompiled code running as native code.
COBDB0100 - COBDB0115
COBDB0100 SQL error description
COBDB0101 Statement is too long.
COBDB0102 Statement contains too many host variables.
COBDB0103 host-var definition does not match the column type associated with it.
COBDB0104 Bad SQL data declaration.
COBDB0105 Syntax error.
COBDB0106 Filename too long.
COBDB0107 File filename not found.
COBDB0108 host-var is non-unique and should be qualified.
COBDB0109 host-var is not a data item.
COBDB0110 Statement contains more than one SQLDA.
COBDB0111 token is not a table of null indicator variables.
COBDB0112 host-var should not be defined with an OCCURS clause.
COBDB0113 host-var should not be a subordinate to an item defined with an OCCURS clause.
COBDB0114 Statement only allowed in the Procedure Division.
COBDB0115 Statement not allowed in the PROCEDURE DIVISION.
COBDB0116 - COBDB0137
COBDB0116 An error occurred when processing the trace file.
COBDB0117 Invalid format of compound SQL statement.
COBDB0118 Mismatched DECLARE.
COBDB0119 Host variable name is too long.
COBDB0120 Internal error - dictionary handle is too big.
COBDB0121 Package name is too long.
COBDB0122 Nested INCLUDEs not supported
COBDB0127 Parentheses are illegal in the INTO clause.
COBDB0131 SQLCA or SQLCODE not found.
COBDB0137 Indicator variable ind-var is not SMALLINT type.
COBDB0501 - COBDB0503
COBDB0501 Found variable expected END-EXEC in nested include.
COBDB0502 Found variable expected INCLUDE in nested EXEC SQL statement.
COBDB0503 Found variable expected SQL in nested EXEC statement.
COBDB0900 - COBDB1004
COBDB0900 An internal error occurred.
COBDB0901 SQL processing cannot continue.
COBDB1000 Use of EXEC SQL INCLUDE SQLCA END-EXEC.
COBDB1001 MF DB2 Connect program produced the warning token.
COBDB1002 Statement is not in area B.
COBDB1004 INVALID SQL STATEMENT - statement ignored.
COBSQL
PREPROCESS(cobsql)
COBOL Directives
COBSQL Compiler Directive Options
COBSQLTYPE, CSQLT
CSTART, CST
CSTOP, CSP
DEBUGFILE, DEB
DISPLAY, DIS
END-COBSQL, END-C, END
HSFTRACE
KEEPCBL
KEEPCOMP
MAKESYN
SQLDEBUG
STOPCHK
TRACE
VERBOSE
XAID
COBSQL Messages
CSQL-I-001 to CSQL-E-023
CSQL-I-001: COBSQL has finished returning to the Checker
CSQL-I-003: COBSQLTYPE is incorrect defaulting to Oracle
CSQL-I-004: Accepted COBSQL-directive
CSQL-I-005: Passing precompiler-directive
CSQL-I-006: Rejected COBSQL-directive
CSQL-F-007: COBSQL/Checker incompatible -- Terminating
CSQL-I-008: Invoking integrated-preprocessor Preprocessor
CSQL-F-009: Irrecoverable error in integrated-preprocessor -- Terminating
CSQL-F-010: Irrecoverable error writing STK record
CSQL-F-011: Environment unsupported by COBSQL/Informix
CSQL-F-012: INFORMIXDIR must be set for Informix Support
CSQL-F-013: Unable to access: filename
CSQL-F-015: DOS Exec error Return Code is return-code
CSQL-F-016: UNIX Exec error Return Code is Return-Code
CSQL-I-017: Creating filename
CSQL-I-018: Invoking precompiler Precompiler/Translator
CSQL-F-019: Irrecoverable error Opening STK file
CSQL-I-020: Processing output of precompiler Precompiler
CSQL-F-021: Precompiler did not complete -- Terminating
CSQL-F-022: Irrecoverable error Reopening ORG file
CSQL-E-023: File Status file-status
CSQL-E-024 to CSQL-F-050
CSQL-E-024: Encountered an I/O on file filename
CSQL-F-025: Unable to Create virtual-heap
CSQL-F-026: Premature end of expanded source.
CSQL-I-027: Detected Working Section, now processing it
CSQL-I-028: Now processing through Procedure Division
CSQL-I-029: Found an EXEC SQL Statement, processing it
CSQL-E-036: Unable to open the precompiler file: filename
CSQL-F-037: Wrong Version of COBOL used, please upgrade
CSQL-I-038: The following directive is now Obsolete: COBSQL-directive
CSQL-I-039: The ORG & the CBL files were out of synch
CSQL-W-040: Pro*COBOL commented out the following line: source-line
CSQL-F-041: Cannot read the COBOL runtime switches
CSQL-F-042: Cannot set the COBOL runtime switches
CSQL-F-046: Command line is too large. Maximum length is 1140 characters
CSQL-F-047: Cobsql cannot be used with the SOURCEFORMAT directive.
CSQL-F-048: Cobsql is not supported for use with JVM COBOL code.
CSQL-I-049: Unable to support the SOURCETABSTOP directive, defaulting to 8
SQL Data Types
Integer Data Types
Small Integer
Integer
Big Integer
Character Data Types
Fixed-length Character Strings
Variable-length Character Strings
Large Character Strings (CLOB)
Unicode Character Strings
Unicode Variable-length Character Strings
Unicode Large Character Strings (DBCLOB)
DBCS Character Strings
DBCS Variable-length Character Strings
DBCS Large Character Strings
XML Data Type
Numeric Data Types
Approximate Numeric Data Types
Exact Numeric Data Types
Unicode Numeric Data Types
Binary Data Types
Fixed-length Binary Strings
Variable-length Binary Strings
Large Binary Strings (BLOB)
Date and Time Data Types
DATE
TIME
TIMESTAMP
TIMESTAMPOFFSET
Locator Data Types
BLOB-LOCATOR Data Type
CLOB-LOCATOR Data Type
DBCLOB-LOCATOR Data Type
File Data Types
BLOB-FILE Data Type
CLOB-FILE Data Type
DBCLOB-FILE Data Type
Miscellaneous Data Types
PIC X VARYING
ROWID Data Type
SQL TYPEs
BINARY
BLOB
BLOB-FILE
BLOB-LOCATOR
CHAR
CHAR-VARYING
CLOB
CLOB-FILE
CLOB-LOCATOR
DATE
DATE-RECORD
DBCLOB
DBCLOB-FILE
DBCLOB-LOCATOR
LONG-VARBINARY
LONG-VARCHAR
ROWID
TIME
TIME-RECORD
TIMESTAMP
TIMESTAMP-RECORD
TIMESTAMP-OFFSET
TIMESTAMP-OFFSET-RECORD
VARBINARY
XML
Data Structures
The SQLCA Data Structure
The SQLDA Data Structure
Keywords
Data Files
Data File Tools
Data File Editor
Current Restrictions
Accessing Data File Editor
Launching Data File Editor from a Shell Prompt
Preferences
Set the Editor Preferences
Using the Data File Editor
Creating Data Files
Create a Non-indexed Data File
Create an Indexed Data File
Editing Data Files
Working with Data Sets in Enterprise Server
Open an Enterprise Server Data Set through ESMAC
Open an Enterprise Server Data Set through ESCWA
Error Messages When Using Data File Editor with Enterprise Server
Working Directly with Data Files Hosted in a Database
Open a File Through MFDBFH
Insert a Record
Edit an Unformatted Record
Edit a Formatted Record
Duplicate a Record
Layout and Field Validation
Fix Validation Warnings
Edit a Record Using Hexadecimal Values
Delete a Record
Profile Files
Working with Different Character Sets
Viewing, Filtering and Printing Data Files
View File Information
Filtering a Data File
Filter the Data File
Filter the Data File (Deprecated)
Filter Data Types
Filter Operators
Load and Unload a Structure File
Navigate a Data File
Show the Contents of a Data File in Hexadecimal
Find and Replace Information in a Data File
Select the Encoding for a Data File
Order a Data File using Indexed Keys
Comparing Data Files
Compare Two Data Files
Viewing Merged Spool Files in the Data File Editor
Open a Merged Spool File
Backing Up Data Files
Back up a data file
Using the Structure File Editor
Creating Structure Files and Layouts
Create a Structure File
Editing Structure Files and Layouts
Edit a Structure File
File Conversion Utilities
DFCONV Batch File Conversion
Operation
Command Line Batch Interface
Using the Data File Converter
File Format and Data Conversion
EBCDIC to ANSI Conversion
Mainframe to PC Print Conversion
Indexed File Reorganization
Defining File Conversion with a Profile File
Specifying the Conversion Operation
Specifying the Input File Parameters
Output File Specifications
General Conversion Information
Data File Converter Error Messages
Rebuild
Overview
Command Line
Option Files
Redirection of Information
Rebuild Options
Reorganizing Indexed Files
Rebuilding a Corrupt Indexed File
Converting a File
Validating an Indexed File
Rebuild through Fileshare
Callable Rebuild
Rebuild Examples
Data Modernization
Database Connectors for Visual COBOL
Database Connectors User's Guide
Database Connectors Overview
Relational Database Management Systems Support
Accessing Data
Database Concepts
How Database Connectors Works
What Is a Transparent Interface?
XFDs and Mapping
Summary
Getting Started
Licensing
The Demonstration Program
XFDs
XFD Files
How XFDs are Formed
Defaults Used in XFD Files
KEY IS Phrase
REDEFINES Clause
Summary of XFD Fields
Identical Field Names
Long Field Names
Naming the XFD File
Forming the Final XFD Name
Mapping Other Files to an XFD
Using XFD Directives
Introduction
XFD Directive Syntax
Line Continuation for Complex XFDs
Supported XFD Directives
Invalid Data
Illegal COBOL Data
Invalid Key Data
Invalid Data Other Than Keys
Invalid Database Data
Working with COBOL
Examples of Preparing and Compiling a Program
Example 1 - Compiling with just the CREATEXFD directive
Example 2 - Compiling with the WHEN XFD Directive
Example 3 - Using Additional XFD Directives
New and Existing Databases
Default Behavior
Accessing Existing Database Files
How Do I Match Existing Text Fields?
How Do I Match Existing Numeric Fields?
Field Names
Resolving Name Conflicts
File Handling Configuration
Configuring the File Handler
Run Time System Configuration
ACUFH Configuration Variables
Database Connectors for DB2
DB2 Concepts Overview
Transactions
Record-locking Issues in Transactions
Database Connectors and Record Locking
Client Configuration
Setting Up the User Environment
Designating the Host Data Source
Configuring the File Handler
Filename Translation
Decimal Points
ACUFH Configuration File Variables for DB2
Record and Table Locking
Limits and Ranges
Data Type Mapping
Run-Time System Errors
Common Questions and Answers
Database Connectors for Microsoft SQL Server
Microsoft SQL Server Concepts Overview
Client Configuration
Installing the Server and Client Machine
Setting Up a User Login
Setting Up the User Environment
Configuring the File Handler for
Filename Translation
ACUFH Configuration File Variables for MSSQL
Using the Database Table
Table Locking
Limits and Ranges
Supported Data Types for SQL Server
Run-Time System Errors
Common Questions and Answers
Database Connectors for ODBC
ODBC Concepts
What Is ODBC?
Origins of ODBC
Restrictions
ODBC Structure
Client Configuration
ODBC Installation
Supported Drivers
Setting Up Data Sources
Setting Up the User Environment
Designating the Host File System
Designating the Host Data Source
Configuring the File Handler for ODBC
Filename Translation
ACUFH Configuration File Variables for ODBC
Decimal Points
Mixed-case SQL Identifiers
Record and Table Locking
Limits and Ranges
Driver Requirements
Data Type Mapping
Run-time System Errors
Common Questions and Answers
Database Connectors for Oracle
Oracle Concepts Overview
Transactions
Record Locking Issues in Transactions
Database Connectors and Record Locking
The open_cursors Parameter
Table Ownership
Security
Client Configuration
Oracle's Instant Client
Checking System Parameters
Setting Up a User Account
Setting Up the User Environment
Configuring the File Handler
Setting Up the Search Path
Handling Transactions
Filename Translation
ACUFH Configuration File Variables for Oracle
Using the Database Table
Unsupported Features
Limits and Ranges
Data Type Mapping
Run-Time System Errors
Common Questions and Answers
Performance and Troubleshooting
Performance Issues
Guidelines
Guideline 1 - Database Administrator
Guideline 2 - Understand COBOL Operations and Database Operations
Guideline 3 - Program and Database Interaction
Guideline 4 - Plan for Growth
The WHERE Constraint
Troubleshooting
Setting External Variables
Compiler Errors
Run-Time System Errors
Using the FILE_TRACE ACUFH Configuration Variable
Questions and Answers
Database Connectors Tasks
To Configure a Login
To create an error map
To enable tracing for Database Connectors connections
To install Database Connectors for Microsoft SQL Server
To prepare your program for execution using Database Connectors
To set the system parameters
To Set Up a Service Name for an Oracle Database
To Set Up The DB2 User Environment
To compile and run the demo program
To Test the Installation of Oracle's Instant Client
To use the WHERE constraint from COBOL
Database Connectors Reference
Configuration Variables
4GL_2000_CUTOFF
4GL_8_DIGIT_CUTOFF
4GL_COLUMN_CASE
4GL_COMMIT_COUNT
4GL_CONVERT_DATE_ZERO
4GL_DB_MAP
4GL_FULL_DATA_TEST
4GL_IGNORED_SUFFIX_LIST
4GL_ILLEGAL_DATA
4GL_JULIAN_BASE_DATE
4GL_WHERE_CONSTRAINT
A_DB2_ALTERNATE_COMMIT_LOGIC
A_DB2_CATALOG
A_DB2_COMMIT_ON_BEGIN
A_DB2_DATASOURCE
A_DB2_ERROR_MAP_FILE
A_DB2_ISOLATION_LEVEL
A_DB2_LOCK_METHOD
A_DB2_LOGIN
A_DB2_PASSWD
A_DB2_STRICT_EQUAL
A_DB2_TABLE_TYPES
A_DB2_USE_CATALOG
A_DB2_USE_CHAR_FOR_BINARY
A_MSSQL_ADD_IDENTITY
A_MSSQL_ADD_TIMESTAMP
A_MSSQL_APPROLE_NAME
A_MSSQL_APPROLE_PASSWD
A_MSSQL_CREATE_UNICODE_COLUMNS
A_MSSQL_CURSOR_OPTION_1,2,3
A_MSSQL_DATABASE
A_MSSQL_DEADLOCK_LOOPS
A_MSSQL_DEFAULT_CONNECTION
A_MSSQL_DEFAULT_OWNER
A_MSSQL_DO_NOT_TRANSLATE_CHAR
A_MSSQL_ENCRYPT_CONNECTION
A_MSSQL_EXTRA_CONNECTION_INFO
A_MSSQL_FAILOVER_PARTNER
A_MSSQL_FAILOVER_PARTNER_SPN
A_MSSQL_FAST_ACCESS
A_MSSQL_GRANT_PERMISSIONS
A_MSSQL_GRANT_USERNAME
A_MSSQL_IDENTITY_TYPE
A_MSSQL_IGNORE_GUID_COLUMNS
A_MSSQL_LIMIT_DROPDOWN
A_MSSQL_LOCK_DB
A_MSSQL_LOGIN
A_MSSQL_MAX_BINARY_LENGTH
A_MSSQL_MAX_CHAR_LENGTH
A_MSSQL_MAX_CHARACTERS
A_MSSQL_MAX_COLUMNS
A_MSSQL_MULTI_SUBNET_FAILOVER
A_MSSQL_NATIVE_LOCK_TIMEOUT
A_MSSQL_NO_23_ON_START
A_MSSQL_NO_CACHED_READ
A_MSSQL_NO_COUNT_CHECK
A_MSSQL_NO_DBID
A_MSSQL_NO_RECORD_LOCKS
A_MSSQL_NO_TABLE_LOCKS
A_MSSQL_ODBC_DRIVER_NAME
A_MSSQL_PACKETSIZE
A_MSSQL_PASSWD
A_MSSQL_ROWCOUNT
A_MSSQL_SELECT_KEY_ONLY
A_MSSQL_SEPARATE_LOCK_CONN
A_MSSQL_SERVER_SPN
A_MSSQL_SKIP_ALTERNATE_KEYS
A_MSSQL_STRIP_PATH_INFO
A_MSSQL_TRANSACTION_LEVEL
A_MSSQL_TRANSLATE_TO_ANSI
A_MSSQL_TRUST_SERVER_CERTIFICATE
A_MSSQL_UNLOCK_ON_EXECUTE
A_MSSQL_UPDATE_PRIMARY_COLS
A_MSSQL_USE_DROPDOWN_QUERIES
A_ODBC_ALTERNATE_COMMIT_LOGIC
A_ODBC_CATALOG
A_ODBC_COMMIT_ON_BEGIN
A_ODBC_DATASOURCE
A_ODBC_ERROR_MAP_FILE
A_ODBC_ISOLATION_LEVEL
A_ODBC_LOCK_METHOD
A_ODBC_LOGIN
A_ODBC_MAX_COLUMNNAME_LEN
A_ODBC_MAX_TABLENAME_LEN
A_ODBC_NO_NULL_COLUMNS
A_ODBC_PASSWD
A_ODBC_PRINT_LOG
A_ODBC_QUOTE_IDENTIFIERS
A_ODBC_STRICT_EQUAL
A_ODBC_TABLE_TYPES
A_ODBC_UNSIGNED_TINYINT
A_ODBC_USE_CATALOG
A_ODBC_USE_CHAR_FOR_BINARY
A_ODBC_USE_SPACE_IN_DATES
A_ODBC_USE_SQLCOLUMNS
A_ODBC_USE_SQLTABLES
A_ORA_DATABASE
A_ORA_HINTS
A_ORA_KEEP_START_CURSOR
A_ORA_LIMIT_DROPDOWN
A_ORA_MAX_FILE_CURSORS
A_ORA_NLS_SORT
A_ORA_WAIT_LOCK
A_ORACLE_ERROR_FILE
COMMIT_COUNT
FILE_TRACE
FILE TRACE FLUSH
LOCKS_PER_FILE
ORA_LOGIN
ORA_PASSWD
MAX_FILES
MAX_LOCKS
USER_PATH (for Oracle)
USER_PATH (for DB2)
XFD_DIRECTORY
XFD_MAP
XFD_MAP_RESETS
XFD_PREFIX
Database Connectors Error Messages
Run Time - File Status Errors
01 Read error on dictionary file
02 Corrupt dictionary file
04 Open error
04 Too many fields in the key
05 Too many fields in the key (more than 16 for Oracle)
12 DB2 library function returned an unexpected error
13 Illegal size or type of data for variable xxx
14 More than one table with the same name
1001 Invalid Cursor
22007 Invalid Character value for Cast Specification
Compiler Errors
Bad picture for DATE: keyname
Data missing from key segment keyname
Directive word too long: keyname
Field xxx causes duplicate database data
GROUP expected after USE
Missing '=' in XFD directive
Missing field name after WHEN
Value should be a literal: xxx
Value should be a name: xxx
Value should be numeric: xxx
Variable file name requires FILE directive
WHEN variable xxx not found in record
xxx not unique in first 30 characters
xxx: unknown XFD directive
XFD Directives
ALPHA XFD directive
BINARY XFD directive
COBOL-TRIGGER XFD directive
IDENTITY-COLUMN XFD directive
COMMENT XFD directive
DATE XFD directive
FILE XFD directive
NAME XFD directive
NULL XFD Directive
NUMERIC XFD directive
SECONDARY_TABLE XFD directive
USE GROUP XFD directive
VAR_LENGTH XFD directive
WHEN XFD directive
WHEN Complex Expressions
XSL XFD directive
Compiler Directives Affecting XFD Creation
CREATEXFD XFD directive
File Handling
File Handling Examples
Data and Key Compression Example
External Files Example
File Handler Examples
Example Configuration File
Example of Creating a New Index File
Example of Accessing the FCD
Example of Setting Up the Record Area
Example of Setting up the Filename Area
File Names Examples
Examples of static filename assignment
Example of dynamic filename assignment
Example of external filename assignment
Examples of device name assignment
Example of Forced Filename Mapping
Example of Connecting a File to Standard Output
Example of Connecting a File to Standard Input
Example of Setting up a Two-way Pipe
Example of using the External File Mapper
Example of Specifying a Fileshare Client User ID and Password
Example Fileshare Client Configuration File
File Status Examples
Example of Displaying File Status Codes
Example of Checking File Status Codes
Example of Extended File Status Codes
Indexed File Examples
Example of Indexed File Definition
Example of Primary Key Definition
Example of Alternate Key Definition
Example of Duplicate Key Definition
Example of Sparse Key Definition
Example of Indexed File Access Definition
Example of Creating Fixed-length Records
Example of Creating Variable Length Records
MFSORT Examples
Example Mfsort Command Line
Example Mfsort Fields Instruction
Example Mfsort Key Instruction
Example Mfsort Instruction File
Rebuild Examples
Example of Reorganizing an Indexed File
Example of recovering a corrupt indexed file
Example of using Rebuild to convert a file
Example of validating the structure of an indexed file
Example of a Rebuild options file
Example of calling Rebuild from a COBOL program
Relative File Definition Example
Sequential File Examples
Example Record Sequential File Definition - Fixed-length Records
Example Record Sequential File Definition - Variable Length Records
Example Line Sequential File Definition
Example Printer Sequential File Definition
File Handling Guide
Introduction
Overview
Micro Focus File Handler
File Organizations
Overview
Sequential Files
Record Sequential Files
Line Sequential Files
Printer Sequential Files
Relative Files
Indexed Files
Primary Keys
Alternate Keys
Duplicate Keys
Sparse Keys
Indexed File Access
Fixed-length and Variable-length Records
File Headers
File names
Filename Conventions
Assigning Filenames
Static Filename Assignment
Dynamic Filename Assignment
External Filename Assignment
Library Names in Paths
Filename Mapping
Multiple Paths
Library Names
Assigning Device Names
Setting Up Pipes
Output Pipes
Input Pipes
Two-way Pipes
File Status
What is File Status?
Defining a File Status Data Item
File Status Conventions
ANSI'85 File Status
ANSI'74 File Status
File Status Conversions
Extended File Status Codes
Sharing Files
Sharing mode
Record Locking
Manual and Automatic Record Locking
Manual Record Locking
Automatic Record Locking
Single and Multiple Record Locking
Single Record Locking
Multiple Record Locking
Handling Record Locks
Releasing Record Locks
File Status Codes
File Handler Configuration
Configuration File
Configurable Behavior
Large Indexed Files
File Striping (deprecated)
Headers in Striped Files (deprecated)
Options (deprecated)
MAXSTRIPEDIGITS (deprecated)
MAXSTRIPEFILES (deprecated)
MAXSTRIPESIZE (deprecated)
STRIPE-X (deprecated)
STRIPENAMETYPE (deprecated)
STRIPING (deprecated)
Examples (deprecated)
Performance
File Handler and Sort APIs
Calling the File Handler
Overview
Data Structures
File Control Description (FCD)
Record Area
Filename Area
Key Definition Block
Global Information Area
Key Definition Area
Component Definition Area
Accessing the FCD
Operation Codes
Relative Byte Addressing
Read a Record
Rewrite a Record
Delete a Record
Creating Your Own File Handler
Dynamic Redirection to a Custom File Handler
Redirection Using Configurable DYNREDIR
Specifying a List of Custom File Handlers
Specifying Configurable Custom File Handlers
Writing a Custom File Handler
Restrictions
Creating a New Index File
Sort Module
Compression Routines
Sort Module
Sort Utilities
Introduction
Invoking Mfsort
Instructions
FIELDS Instruction
Field Types
Defining Input and Output Files
RECORD Instruction
ORG Instruction
KEY Instruction
Creating a Statistics Report
Example Commands
Sorting Using More Than One File
Character Sort in Ascending Order
Numeric Sort in Descending Order
Omitting Records
Single File Sort Using INCLUDE and a Sub-string Comparison
Single File Sort Using Environment Variables
Transforming Records Using OUTREC
Sort Using OUTFIL for Complex Reporting
Input Data
Mfsort Command
Output
Workfile
Error Messages
Data and Key Compression
Data Compression
Key Compression
Compression of Trailing Nulls
Compression of Trailing Spaces
Compression of Leading Characters
Compression of Duplicate Keys
Example of Using Data and Key Compression
Compression Routines
Micro Focus Compression Routines
Calling a Micro Focus Compression Routine
User-supplied Compression Routines
Tracing File Operations
Introduction
Configuring Tracing and Logging
Dynamic Tracing
Using the FCD to Control Tracing
Using Library Routines to Control Tracing
File Systems
32-bit file systems
64-bit file systems
File systems and FILEMAXSIZE
Fileshare Guide
Introduction
Overview
How Fileshare Works
Standard Operation
Fileshare Client
Specifying the Fileshare Server
As a Filename
In a Configuration File
Specifying the Communications Protocol
Configuring Your Fileshare Client
Fileshare Client Configuration Options
Example Client Configuration File
Using the File Handling Redirector Module
FHREDIR Return Codes
Fileshare Server
Configuring the Fileshare Server
Specifying a Fileshare Server Name
Specifying the Communications Protocol
Fileshare Server Configuration Options
Example Server Configuration File
Starting the Fileshare Server
Stopping the Fileshare Server
Configuring CCI Communications for Fileshare
About Fileshare Communications
Specifying the Communications Protocol
Using CCITCP
Logging Fileshare Messages: CCI Trace
Using Multiple Protocols with Test Programs
Configuring the CCI Timeout
Database Integrity
Transaction Processing
Automatic Record Lock Timeout
Transaction Processing - Fileshare Client
Transaction Processing - Fileshare Server
Recovery Logging
Basic Recovery Logging
Advanced Recovery Logging
Enabling Advanced Recovery Logging
Fileshare Exit Procedure - fsexitproc.cbl
Viewing the Log Files
Fileshare Recovery
Basic Rollforward Recovery
Advanced Rollforward Recovery
Advanced Rollback Recovery
Database Sequence Numbering
Database Sequence Numbers - Fileshare Server
Database Backup and Recovery
Automatic Database Backup and Rollforward Recovery
Hot Backups
Running a Hot Backup
Database Reference File Maintenance
Recovery Log File Records
Disk Space Warning (/p)
Flushing the Log File (/lc)
Erasing a Log File Record (/e)
Example
Filename Record
Alternative Filename (/af)
Virtual File Handler (/ap)
Data and Key Compression (/k)
Disable Logging (/o l)
Disable Database Sequence Numbering (/o s)
Disable Transaction Processing (/o t)
Erasing a Filename Record
Examples
File String Record
Erasing a File String Record
Example
Backup Folder Record
Best Practices for Backup and Recovery
Best Practices Basic Logging
Best Practices Advanced Logging
Security
Password System
Fileshare Client
Fileshare Server
Writing Your Own FHRdrLngPwd Module
Logon Validation Module
File Access Validation Module
Password File Maintenance
User-ID Groups
Supervisor Mode
Advanced Operation
Running Fileshare as a Background Process
The NFILES Setting
Single User Mode
Filename Mapping
Fileshare Server
Data and Key Compression
Data and Key Compression - Fileshare Server
Virtual File Handler Interface
Fileshare Server
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Byte-stream I/O Calls
FS_LOCATE_FILE
FS_SPLIT_FILENAME and FS_JOIN_FILENAME
Performance Considerations
Fileshare Performance on UNIX
Large File Support with Fileshare
Error Handling
Fileshare Extended Status Codes
Communications Errors
Transaction Processing Errors
Fileshare Server Messages
Messages from FS001-S to FS050-W
FS001-S The parameter "text " is not recognized as a valid parameter.
FS004-S The parameter "text " specifies a time-out value that is invalid.
FS005-S The parameter "text " is too long or invalid.
FS006-S The parameter "text " has already been specified.
FS007-S Invalid parameter combination.
FS008-S Communications Initialization Failure.
FS009-S The required communications module cannot be found.
FS011-W Communications send failure.
FS012-W Communications disconnect failure.
FS013-W Communications receive error.
FS014-W Communications data length not as expected.
FS015-W Request from unknown user - request rejected.
FS016-S The parameter "text " is invalid.
FS017-S Unable to open the file : filename.
FS018-S Log file corrupt - unrecognizable record in file.
FS019-S Log file corrupt - can't read header.
FS020-S The log file does not match the database sequence numbers - recovery aborted.
FS021-S There is no log filename specified in the database reference file.
FS022-S The log filename given cannot be found in the database reference file.
FS024-S Failed to open log file : filename.
FS025-S Write failure to the log file, Fileshare Server is closing down.
FS026-W Failed to close the log file.
FS027-S A second log file parameter has been found.
FS028-W The log file shows the last session was not shut down successfully.
FS029-S The log filename is already specified in the database reference file.
FS030-S Insufficient disk space to continue logging to log file.
FS031-I Record lock time-out failure on user : user.
FS034-S A filename or log file parameter must be specified.
FS035-S A database reference file must be specified.
FS037-I The file filename does not have a file header record. Sequence checking is switched off for this file.
FS038-S A matching sequence number not found in filename.
FS039-S Improperly closed file - filename.
FS040-S Unable to read the file header record in the file filename.
FS041-S Unable to update the sequence number in the file filename.
FS042-S Unable to open the database reference file: filename.
FS043-S The database reference file contains an invalid entry.
FS044-S Error reading the database reference file.
FS045-W Duplicate filename specified in the database reference file.
FS050-W A log file is not specified in the database reference file.
Messages from FS051-W to FS099-W
FS051-W Failure to allocate a larger buffer, the I-O request failed.
FS052-S Failure to allocate required memory. The Fileshare Server is closing down.
FS055-S The parameter "text " specifies a configuration file that does not exist.
FS056-S The parameter "text " specifies a data compression value that is not within the range 0-255.
FS057-S The parameter "text " specifies a key compression value that is not within the range 0-7.
FS058-S Failure to allocate memory for the decompression of the log file.
FS059-S Failure to allocate the memory required for processing the database reference file.
FS062-S Failure creating the password file filename.
FS063-S Failure opening the password file filename.
FS064-S Failure reading the password file filename.
FS065-S The password file is not of a recognized format.
FS066-S The specified user name already exists in the password file.
FS068-I The password file is now empty and has been deleted.
FS069-S The specified entry could not be found in the password file.
FS070-S Failure writing to the password file.
FS071-W Unable to load the module FHXSCOMP to decompress the data area.
FS072-S The parameter "text " contains a wild card which is not allowed with this parameter.
FS073-S Failure to allocate memory to process the password file.
FS074-S The Fileshare Server (NLM) failed to log on to NetWare with the login id specified.
FS075-W Unable to load the module FSSECLOG - LOGON has been denied.
FS076-W Unable to load the module FSSECOPN - OPEN has been denied.
FS077-S A Fileshare Server of the same name has already been defined - the Fileshare Server is closing down.
FS078-S No password file has been specified for the use of background mode.
FS079-S A supervisor password entry must exist for the use of background mode.
FS080-S No password file has been specified for the use of the synchronous communications mode.
FS081-S A supervisor password must be specified in the password file for the synchronous communications mode.
FS082-S The Netbios communications protocol is not responding. Ensure the requester software is loaded and functional.
FS083-S Incompatible CCIIPX.NLM version.
FS084-I Fileshare Server is starting.
FS085-I Fileshare Server is active.
FS086-I Fileshare Server is closing down.
FS087-I Fileshare Server has closed down.
FS089-I Database Reference File Maintenance Utility.
FS090-I Database Reference File installation completed successfully.
FS091-I Rollforward Recovery Utility
FS092-I Rollforward Recovery has completed.
FS094-I Password File Maintenance Utility.
FS096-I Password File installation has completed.
FS097-I Are you sure that you wish to close down the Fileshare Server ? (Y/N)
FS099-W File I/O status was not as expected. Returned status: status Expected status: status Action code: text File: filename.
Messages from FS101-I to FS149-I
FS101-I text -- parameter has been accepted.
FS103-I The log filename has been added to the database reference file.
FS104-I The log file cannot be found, creating a new recovery log file.
FS105-W The disk free space for the log file is below acceptable limits.
FS106-I filename - added to database reference file.
FS107-I filename - removed from the database reference file.
FS108-I Processing the files specified in the database reference file.
FS109-W The file filename does not exist.
FS110-I filename - OK.
FS111-W Files are still open. Continue to close down the Fileshare Server (Y/N) ?
FS114-W Waiting for the old log file to be removed.
FS118-I The database sequence number matches the sequence number in the log file, no recovery is needed.
FS122-I Communications too busy on CCI SEND - retrying.
FS123-I Communications too busy on CCI RECEIVE - retrying.
FS124-I Checking the validity of the log file, please wait.
FS125-I Recovery possible to last valid recovery log file record.
FS126-I Performing recovery, please wait.
FS127-S Invalid name mapping command.
FS128-W Fileshare Server closedown invoked by Stop Run processing.
FS129-I The Fileshare Server is still active.
FS130-I Reading database reference file, please wait.
FS131-W Invalid communications mode - parameter ignored.
FS132-I The Fileshare Server is running with the following communication protocol(s):
FS133-I Processing the password file, please wait.
FS134-I The password file cannot be found - creating a new password file.
FS135-I Fileshare Server security is active.
FS136-I Fileshare Server security is not active.
FS138-W The log file has been backed up and a new one has been created.
FS139-I A matching date and time entry has been found in the log file.
FS140-I No matching date and time entry has been found in the log file.
FS142-W The Operating System does not permit the log file to be flushed to disk.
FS143-W The Operating System does not allow free disk space information to be obtained.
FS144-W More than one communications protocol has been specified - synchronous communications mode not active.
FS145-W Fileshare Client disconnected, cannot contact user: text.
FS146-W Unexpected action code, action-code - discarded.
FS147-I A duplicate network message was received and discarded.
FS148-I CCI return-code (function func) = code.
FS149-I CCI SEND not complete, status will be checked later.
Messages from FS151-I to FS200-W
FS151-I CCI message size received = text. Indicated send message size = text
FS153-I The Fileshare Server name has been reregistered on the network.
FS154-I Please enter the FSVIEW supervisor password to enable the use of CCI Trace.
FS155-I Password accepted - CCI Trace is enabled. Do you want CCI Trace active immediately? (Y/N)
FS156-W Incorrect password - CCI Trace is disabled.
FS158-I CCI Trace activated.
FS159-I CCI Trace switched off.
FS160-I Fileshare trace activated.
FS161-I Fileshare trace switched off.
FS163-I Input useropcode [filename-1] [ filename-2].
FS170-I Input- Logon.
FS171-I Input- Logoff user.
FS172-I Input- Find File userfilename.
FS173-I Output- userstatus.
FS176-W There is no backup directory specified in the database reference file.
FS177-S The backup directory specified cannot be found in the database reference file.
FS178-I The backup directory has been added to the database reference file.
FS179-S A backup directory is already specified in the database reference file.
FS180-W The log filename specified has an extension. The name of the log file has been changed to "filename".
FS182-W Output- Access Denied
FS188-W Fileshare Server database reference file installation completed with errors.
FS189-W The backup directory does not exist.
FS190-W The backup directory specifies the name of an existing file.
FS191-W An error occurred accessing the backup directory.
FS192-S More than one log file exists in the log file directory.
FS193-S Unable to open the log file.
FS194-I The log file "filename-1" has been backed up successfully to "filename-2".
FS195-I The Fileshare Server is using the log file "filename".
FS196-W Unable to create the log file "filename".
FS197-S Unable to create the log file "filename".
FS198-W The attempt to backup the log file failed because the backup file "filename" already exists.
FS199-S The attempt to backup the log file failed because the backup file "filename" already exists.
FS200-W The attempt to backup the log file to "filename" failed.
Messages from FS201 to FS300
FS201-S The attempt to backup the log file to "filename" failed.
FS202-I The Fileshare Server will continue logging to the log file "filename".
FS203-I The Fileshare Server is appending to the log file "filename".
FS204-W The Fileshare Server is unable to log to the log file "filename". Rollforward recovery logging is disabled.
FS205-W Unable to remove the old recovery log file "filename".
FS206-S There is more than one starter log file. The Recovery Utility is unable to determine which one to use.
FS207-I There is no starter log file in the log file directory.
FS208-S There is no starter log file in the backup directory.
FS209-I A starter log file has been located in the backup directory.
FS210-S There is more than one starter log file in the backup directory.
FS211-S An error occurred checking the header on the log file "filename".
FS212-I The Rollforward Recovery Utility is processing the log file "filename".
FS213-W Unable to locate the continuation log file "filename" in the log file directory.
FS214-I Searching for a backed up log file in the log file directory.
FS215-I Searching for a backed up log file in the backup directory.
FS216-I No backed up starter log file can be found in the log file directory.
FS217-I No backed up starter log file can be found in the backup directory.
FS218-I No backed up continuation log file can be found in the log file directory.
FS219-I No backed up continuation log file can be found in the backup directory.
FS220-I A backed up starter log file has been found in the log file directory.
FS221-I A backed up starter log file has been found in the backup directory.
FS222-I A backed up continuation log file has been found in the log file directory.
FS223-I A backed up continuation log file has been found in the backup directory.
FS224-S The log file directory contains more than one backed up starter log file.
FS225-S The backup directory contains more than one backed up starter log file.
FS227-W Failure to set Fileshare Server's access rights.
FS228-I CCI SEND status checked.
FS229-I Unrecognized CCI session ID - could not disconnect user.
FS230-I User : user-IDuser-name
FS231-S The parameter "nnn" is not numeric.
FS232-I Date : date.
FS233-W Unable to set the maximum amount of dynamic memory to the limit specified
FS234-W The parameter "text " specifies a memory limit below the minimum of 6 Mbytes allowed.
FS235-W Failure to allocate memory for incomplete CCI SEND processing.
FS236-I The log file name has been removed from the database reference file.
FS237-S The next log file to use filename already exists, unable to back up current log file.
FS237-W The next log file to use filename already exists, unable to back up current log file.
FS238-I Terminating communications with this user.
FS239-I Output - user Record locked. Retry operation.
FS240-I Output - user File locked. Retry operation.
FS241-I Output - user Insufficient log file disk space. Retry operation.
FS243-S Failure backing up the file filename1 to filename2.
FS244-S Failure restoring the backed up file filename1 to filename2.
FS245-S Failure deleting the log file filename.
FS246-I Backing up database files to directory backup directory. Please wait.
FS247-I Restoring database files from directory backup directory. Please wait.
FS248-I Commencing automatic Fileshare Recovery.
FS249-I Restarting Fileshare Server.
FS250-I Deleting all unwanted log files.
FS251-S Logging must be activated for all files when specifying a backup directory.
FS252-S Failure deleting the file filename.
Messages from FS301 - FS400
FS302-S Unable to continue - A log file already exists
Micro Focus Native Database File Handling
System Requirements
Types of Database
Database Permissions
Further Recommended Privilege and Role Permissions for Oracle Users
Method 1 - Using MFDBFH-specific roles
Method 2 - Proxy users
Configuration Requirements
Using Microsoft SQL Server
Configure Datastores for Microsoft SQL Server
Create Microsoft SQL Server Datastores Using Script Files
Update the Configuration File for Microsoft SQL Server Datastores
Windows: Create Datastore Data Sources for Microsoft SQL Server
UNIX: Create Datastore Data Sources for Microsoft SQL Server
Upload Files to a Microsoft SQL Server Datastore
Create an XA Resource
Using PostgreSQL
Configure Datastores for PostgreSQL
Create PostgreSQL Datastores Using Script Files
Update the Configuration File for PostgreSQL Datastores
Windows: Create Datastore Data Sources for PostgreSQL
UNIX: Create Datastore Data Sources for PostgreSQL
Upload Files to a PostgreSQL Datastore
Create an XA Resource
Using Db2
Configure Datastores for Db2
Create Db2 Datastores Using Script Files
Update the Configuration File for Db2 Datastores
Windows: Create Datastore Data Sources for Db2
UNIX: Create Datastore Data Sources for Db2
Upload Files to a Db2 Datastore
Create an XA Resource
Using Oracle
Configuring Datastores for Oracle
Create Oracle Datastores Using Script Files
Update the Configuration File for Oracle Datastores
Upload Files to an Oracle Datastore
Create an XA Resource
The Database Configuration File
The dbfhconfig Command Line Utility
Examples of the dbfhconfig Command Line Utility
Database Provider-specific Options
Configure a Secrets Vault for the Micro Focus Database File Handler
Database Connections
Database Connection Strings
Using a Single Database
Sharing Database Connections
Database Connection Lifetime
Specifying the Cross-region Heartbeat Interval
Datastore Management
The dbfhdeploy Command Line Utility
The Datastore URL
Accessing MFDBFH-Hosted Data from a Standalone COBOL Program
Database Management and Recovery
The dbfhadmin Command Line Utility
Examples of the dbfhadmin Command Line Utility
dbfhadmin Return Codes
File View Generation
The dbfhview Command Line Utility
Examples of the dbfhview Command Line Utility
Installing Database Server Functions
Installing Functions for Db2
Installing Functions for Microsoft SQL Server and Microsoft Azure
Installing Functions for PostgreSQL
Record Locking Strategies
Summary of Differences Between Locking Strategies
Record Locking Scenarios
MFDBFH Error Messages
ADM - DBFHADMIN Messages
ADM0000 - ADM0019
ADM0001E Cannot specify both -list and -recover with -casprocess
ADM0002E Must specify either -list or -recover with -casprocess
ADM0003E Must specify -usedb:<instance> with -casprocess -recover/-list
ADM0004E Must specify -host:<name> with -casprocess -recover
ADM0005E Database server instance 'server-name' is not configured
ADM0006E Cross-region database for database server instance 'server-name' is not configured
ADM0007S An error occurred while reading process records from the cross-region database: exception-message
ADM0008I There are no registered process records for host 'host-name'
ADM0009I There are no registered process records
ADM0010E Cannot specify -pid:<process-id> with -casprocess -list
ADM0011I There are no processes to recover
ADM0012I Recovered process: host='host-name', region = 'region-name', PID=process-id, TID=thread-id
ADM0013S An error occurred while attempting to recover processes: exception-message
ADM0014E Cannot specify both -list and -recover with -openfiles
ADM0015E Must specify either -list or -recover with -openfiles
ADM0016E Must specify -datastore:<url> with -openfiles -recover/-list
ADM0017E Must specify -host:<name> with -openfiles -recover
ADM0018E Cannot specify -pid:<process-id> with -openfiles -list
ADM0019E Invalid datastore URL specified
ADM0020 - ADM0039
ADM0020E Datastore 'datastore-url' is not configured
ADM0021S An error occurred while reading open file handle records: exception-message
ADM0022I There are no open files
ADM0023I There are no files to close
ADM0024I Closed file: host='host-name', file name='file-name', folder='folder-name'
ADM0025E Can only specify one of -casprocess, -createdb, -diags, -keytypes, -openfiles, region, -script, upgrade, or -verify
ADM0026E Can only specify one of -add, -delete, -export, -import or -list with -keytypes
ADM0027E Must specify one of -add, -delete, -export, -import or -list with -keytypes
ADM0028E Must specify -file:<URL> with -add or -delete
ADM0029E Must specify -datastore:<url> with -keytypes -export/-import/-list/-upgrade
ADM0030E Invalid file URL specified
ADM0031S An error occurred while adding/updating a key type definition record: exception-message
ADM0032E Invalid key type 'key-type' specified
ADM0033I The operation completed successfully
ADM0034W Did not replace key types for file 'file-name' in folder 'folder-name'
ADM0035I There are no key type definitions
ADM0036S An error occurred while reading key type definition records: exception-message
ADM0037E Must specify -types:<key-types> with -add
ADM0038S An error occurred while exporting key type definition records: exception-message
ADM0039S An error occurred while importing key type definition record for file 'file-name' in folder 'folder-name': exception-message
ADM0040 - ADM0059
ADM0040I number-key-types key types definitions were imported
ADM0041E Must specify both -provider and -type with -script
ADM0042E Must specify a type of crossregion, datastore or region with -type:<script-type>
ADM0043E Must specify a provider of 'az', 'db2', 'pg 'or 'ss' with -provider:<db-type>
ADM0044E Must specify -name:<object-name> with -type:datastore or -type:region
ADM0045I Creating SQL script file 'file-name'
ADM0046E Must specify -file, -provider and -type with -createdb
ADM0047E -ebcdic can only be specified with -createdb -provider:db2 -type:datastore
ADM0048E An error occurred attempting to process file 'file-name'
ADM0049E 'create-database-command' statement not found
ADM0050I Creating database 'database-name'
ADM0051E Database 'database-name' already exists
ADM0052E Error attempting to create database 'database-name' (error-code)
ADM0053E -collation can only be specified with -createdb -provider:db2
ADM0054E Must specify -user:<user-name> with -createdb -provider:postgresql
ADM0055E Must specify -usedb:<instance> with -createdb -provider:sqlserver
ADM0056E Must specify -password<pwd> with -createdb -provider:az|ss -user:<user-name>
ADM0059E Cannot specify both -db:<db-name> and -existdb:<db-name> with -script
ADM0060 - ADM0079
ADM0060I Updating existing database 'database-name'
ADM0061E Can only specify one of -list, -recover, or -status with -region
ADM0062E Must specify -usedb:<instance> with -region -recover/-list/-status
ADM0063I No regions exist
ADM0064S An error occurred while reading ENQ requests for the region-name region: exception-message
ADM0065E Region 'region-name' is not configured
ADM0066I No resource locks exist
ADM0067I Recovered resource lock: QNAME='resource-qname', RNAME = 'resource-rname'
ADM0068S An error occurred while attempting to recover resource locks
ADM0069E db-api-type error: 'odbc-oci-error-message'
ADM0070E -existdb:<db-name> must be specified with -script -provider:ora
ADM0071E -existdb:<db-name> can only be specified with -script -provider:ora
ADM0072E Must specify a type of crossregion, datastore, datastore_funcs or region with -type:<script-type>
ADM0073I Datastore 'datastore-url' does not need to be upgraded
ADM0074E Error creating SQL script file 'file-name' (file-status)
ADM0075E Invalid port number specified. Must be in the range 0-65535
ADM0076E Cannot specify both -list and -recover with -verify
ADM0077E Must specify either -list or -recover with -verify
ADM0078E Must specify -datastore:<url> or -usedb:<instance> with -verify -recover/-list
ADM0079S An error occurred while verifying the integrity of the datastore: exception-message
ADM0080 - ADM0099
ADM0080I Datastore 'datastore-url' has been successfully verified
ADM0081I Removed orphaned record locks: file name='file-name', folder='folder-name', count=record-locks-count
ADM0082I Removed orphaned record locks: sequential files, count=record-locks-count
ADM0083I Datastore 'datastore-url' has been successfully verified, and no recovery required
ADM0084E Must specify -name:<region-name> with -region -status
ADM0085S An error occurred while processing the status of region region-name: exception-message
ADM0088E Must specify -usedb:<instance> with -diags
ADM0089E Must specify -name:<region-name> with -diags
ADM0090S An error occurred while generating diagnostics for the region-name region: exception-message
ADM0091I Diagnostics for region 'region-name' written to file 'file-name'
ADM0092E Cannot specify both -datastore:<url> or -usedb:<instance> with -verify
ADM0093E Must specify -name:<region-name> with -verify -usedb:<instance>
ADM0094S An error occurred while verifying the integrity of the region: exception-message
ADM0095I Region 'region-name' has been successfully verified
ADM0096I Region 'region-name' has been successfully verified, and no recovery required
ADM0097I Removed orphaned resource lock and/or associated records: orphaned-record-count
ADM0098I Restored CSA record
ADM0099W Unable to recover processes for region 'region-name' - not configured
ADM0100 - ADM0119
ADM0100E Detected orphaned records in Cross-region/Region database. Run dbfhadmin -verify to validate. No recovery done
ADM0101E RC='return-code' from region/cross-region database verification. Cannot perform recovery. Contact Technical Support
ADM0102E Cannot access DB: 'Region name'. Check configuration and try again
ADM0106S An error occurred while generating diagnostics for the blob-name datastore blob: exception-message
ADM0107I Diagnostics for region 'region-name' & for DataStore 'datastore-name' written to file 'file-name'
CFG - MFDBFH Configuration Messages
CFG0000 - CFG0019
CFG0001E Unrecognized command-line option 'command-line-option'
CFG0002I Build svn-tag, svn-revision
CFG0003E Can only specify one of -add, -delete, -list, -novault, -update, or -vault
CFG0004I The operation completed successfully
CFG00040 - CFG00059
CFG00049E Error running OS command. Check the executable is on PATH: os-command-line
CFG0000 - CFG0019
CFG0005E Must specify -server:<name> with -update
CFG0006E Error attempting to back up 'file-name'
CFG0007S An error occurred while writing configuration file 'configuration-file-name': exception-message
CFG0008I Configuration written to file 'configuration-file-name'
CFG0009E Must specify -server:<name> with -add
CFG0010E Must specify -provider:<db-type> with -add -server:<name>
CFG0011E Must specify a provider of 'az', 'db2', 'pg' or 'ss' with -provider:<db-type>
CFG0012E Server 'server-name' already exists
CFG0013E Must specify -type:<dsn-type> with -add -dsn:<name>
CFG0014E Must specify a type of 'crossregion', 'database', 'datastore' or 'region' with -type:<dsn-type>
CFG0015E Must specify -name:<name> with -add -dsn:<name> -type:datastore|database|region
CFG0016E Server 'server-name' does not exist
CFG0017E Dsn 'dsn-name' already exists
CFG0018E Invalid -optio options specified
CFG0019E Invalid -bitism options specified
CFG0020 - CFG0039
CFG0020E Invalid -feature options specified
CFG0021E Must specify both -user:<user-name> and -password<pwd>
CFG0022E Cannot specify -user:<user-name> or -password<pwd> with -connect:<string>
CFG0024E Cannot specify -type:<dsn-type> with -update -dsn:<name>
CFG0025E Configuration file 'configuration-file-name' does not exist
CFG0026E Dsn 'dsn-name' does not exist
CFG0027E An empty -name:<name> value cannot be specified
CFG0028E Cannot specify -provider:<db-type> with -update -server:<name>
CFG0029E Must specify -server:<name> with -delete
CFG0030I No servers exist
CFG0031I No dsns exist
CFG0032S An error occurred while parsing 'configuration-file-name' (line line-number, column column-number): exception-message
CFG0033E command-line-option1 cannot be specified with command-line-option2
CFG0034W Secret not found in vault for attribute 'att-name': Server=server-name; Dsn=dsn-name
CFG0035E Error attempting to read secret from the vault for attribute 'attr-name' (RC=return-code): Server=server-name; Dsn=dsn-name
CFG0036E Error attempting to write secret to the vault for attribute 'attr-name' (RC=return-code): Server=server-name; Dsn=dsn-name
CFG0037E Error attempting to delete secret from the vault for attribute 'attr-name' (RC=return-code): Server=server-name; Dsn=dsn-name
CFG0038E Must specify one of -add, -delete, -list, -novault, -update, or -vault
CFG0039I Processing command response file 'file-name'
CFG0040 - CFG0059
CFG0040E Command response file 'file-name' does not exist
CFG0041E Error reading command response file 'file-name'
CFG0042I Commands processed = number-of-commands; warnings = number-of-warnings; errors = number-of-errors;
CFG0043E Invalid command-line-option value specified. Must be zero or positive
CFG0044E Invalid -connopts options specified
CFG0045E Invalid -dbopts options specified
CFG0046E Error running OS command. Check the executable is on PATH: os-command-line
CFG0047E Server 'server-name' does not exist, please make sure to use an existing server for adding a program
CFG0048E Dsn 'dsn-name' does not exists, please make sure to use an existing dsn for adding a program
CFG0049E Program 'dsn-name' already exists
CFG0050E Programs node does not exist
CFG0051E Program node does not exist
CFG0052E There is a program already present
CFG0053E Must specify -dsn:<name> with -add -program:<name>
CFG0054E Must specify -dsn:<name> with -update -program:<name>
CFG0055E Must specify -dsn:<name> with -delete -program:<name>
DBFH - MFDBFH General Messages
DBFH00000 - DBFH00019
DBFH00001I Created database 'database-name'
DBFH00002W Service Broker is not enabled for database 'database-name'
DBFH00003S An error occurred while setting up the cross-region database: exception-message
DBFH00004I Cold start of region 'region-database-name' starting
DBFH00005I database-vendor-name instance created using 'database-version'
DBFH00006I Using datasource 'database-datasource'
DBFH00007I Using database 'region-database-name'
DBFH00008I Successfully cold started region 'region-database-name'
DBFH00009S An error occurred while cold starting the 'region-database-name' region: exception-message
DBFH00010S An error occurred while warm starting the 'region-database-name' region: exception-message
DBFH00011I Shutdown of region 'region-database-name' starting
DBFH00012I Successfully shutdown region 'region-database-name'
DBFH00013S An error occurred while shutting down the 'region-database-name' region: exception-message
DBFH00014I Warm start of region 'region-database-name' starting
DBFH00015I Successfully warm started region 'region-database-name'
DBFH00016S An error occurred while parsing 'configuration-file-name' (line line-number, column column-number): exception-message
DBFH00017W An XA connection has not been registered to allow I/O operations for 'file-url' to occur
DBFH00018I Using configuration file: 'configuration-file-name'
DBFH00019I Using SQL script file folder: 'script-file-folder-name'
DBFH00020 - DBFH00039
DBFH00020S Failed to load 'odbc-oci-db2-api-load-library'
DBFH00021I Successfully registered XA connection 'xa-connection-name' for datastore 'datastore-url'
DBFH00022I Successfully de-registered XA connection 'xa-connection-name' for datastore 'datastore-url'
DBFH00023I Build svn-tag, svn-revision
DBFH00024S Failed to load Secrets/Vault API
DBFH00025W Failed to read secret from the vault for attribute 'attr-name' (RC=return-code): Server=server-name; Dsn=dsn-name
DBFH00026E db-api-type error: 'odbc-oci-error-message'
DBFH00027E I/O error: io-error-message
DBFH00028W Configuration file 'configuration-file-name' does not exist
DBFH00029W SQL script file folder 'script-file-folder-name' does not exist
DBFH00030E Required stored procedure 'stored-procedure-name' does not exist
DBFH00031W The region must be cold started
DBFH00032S MFDBFH requires the multi-threaded COBOL run-time system
DBFH00033S SQL script file 'sql-script-file-name' does not exist
DBFH00034S MFDBFH failed to upgrade the datastore. Manual upgrade required. Use 'dbfhadmin -upgrade -datastore datastore-url' to generate an upgrade script and run the script as a user with sysadmin privileges
DBFH00035W Record lock strategy changed for file 'sql-url' Already opened by PID process-id on host 'host-name' with 'existing-record-lock-strategy'. Requested 'requested-record-lock-strategy'
DBFH00036E Cannot cold start region database 'region-database-name' Already started by 'program-name (PID process-id)' on host 'host-name'
DBFH00037E Cannot warm start region database 'region-database-name' Already started by 'program-name (PID process-id)' on host 'host-name'
DBFH00038E Cannot stop region database 'region-database-name'. Not started
DBFH00039W Force cold start of region database 'region-database-name' Already started by 'program-name (PID process-id)' on host 'host-name'
DBFH00040 - DBFH00059
DBFH00040W Force warm start of region database 'region-database-name' Already started by 'program-name (PID process-id)' on host 'host-name'
DBFH00041W Connected database name 'connected-database-name' and configured database name 'configured-database-name' are different (dsn entry ='dsn-entry-name')
DBFH00042S Failed to load configuration entry API
DBFH00043W A heartbeat interval of heartbeat-interval seconds has been configured. This may cause unwanted delays to region recovery
DBFH00044S An error occurred while verifying the integrity of region resources in the cross-region database: exception-message
DBFH00045W Removed orphaned resource lock and/or associated records: orphaned-record-count
DBFH00046S An error occurred while recovering region resources in the cross-region database: exception-message
DBFH00047W Removed orphaned record locks: orphaned-record-lock-count (datastore-url)
DBFH00048W Auto-closed closed-files-count files in datastore datastore-url
DBFH00050E Error connecting to database during region recovery processing
DBFH00052W Datastore 'datastore-url' cannot be accessed
DBFH00053W Failed to connect to database 'error-message'
DBFH0080 - DBFH0099
DBFH0086W Force stopped region database 'region-database-name' Previously started by 'program-name (PID process-id)' on host 'host-name'
DBFH0087I Region database 'region-database-name' is already stopped
DEP - DBFHDEPLOY Messages
DEP0000 - DEP0019
DEP0001E Invalid data file URL for a create or list operation. The URL must be of the form: sql://host[/instance]/datastore[?folder=folder-spec]
DEP0002E Invalid data file URL for an add, delete, extract, or keys operation. The URL must be of the form: sql://host[/instance]/datastore/filename[?folder=folder-spec]
DEP0003E This action requires a full URL, including a file name
DEP0004E Datastore 'datastore-name' is not configured
DEP0005E Datastore 'datastore-name' does not exist
DEP0006E An error occurred attempting to connect to datastore 'datastore-name': exception-message
DEP0007I The operation completed successfully
DEP0008E Unable to perform the requested operation
DEP0009E File 'file-name' not found
DEP0010I Uploading 'disk-file-name' to 'database-file-url'
DEP0011E Upload failed with file status file-status
DEP0012E Datastore 'datastore-name' already exists
DEP0013E Delete failed with file status file-status
DEP0014E File 'database-file-url' not found in datastore
DEP0015I Downloading 'database-file-URL' from 'disk-file-name'
DEP0016E Download failed with file status file-status
DEP0017E Upgrade failed with file status file-status
DEP0018E List failed with file status file-status
DEP0019I No files/folders
DEP0020 - DEP0039
DEP0020I 1 file/folder
DEP0021I number-files/folders files/folders
DEP0022E Database server instance 'server-name' is not configured
DEP0023E Folder 'database-folder-url' not found in datastore
DEP0024I Deleted 'database-file/folder-URL'
DEP0025E Failed to delete 'database-file/folder-url' (file-status)
DEP0026I Files deleted: number-files-deleted; Sub-folders deleted: number-sub-folders-deleted
DEP0027I Files deleted: number-files-deleted
DEP0028I Processing command response file 'file-name'
DEP0029E Command response file 'file-name' does not exist
DEP0030E Error reading command response file 'file-name'
DEP0031I Commands processed = number-of-commands; warnings = number-of-warnings; errors = number-of-errors;
DEP0032E db-api-type error: 'odbc-oci-error-message'
DEP0033E I/O error: io-error-message
DEP0034E The 'keys' action requires either 'list', or '<key-id>:<key-op>'
DEP0035E The 'keys' action '<key-id>:<key-op>' is invalid
DEP0036E 'database-file-url' does not have any keys
DEP0037E Unable to update the primary key
DEP0038E 'database-file-url' only has number-of-keys alternate keys defined
DEP0039E Retrieving duplicate record counts failed with file status file-status
DEP0040 - DEP0059
DEP0040E Updating the key definition failed with file status file-status
DEP0041E Folder already exists
DEP0042E Destination file name is empty
DEP0100 - DEP0119
DEP0103E Datastore 'datastore-name' does not exist
DEP0104E An error occurred attempting to connect to datastore 'datastore-name': exception-message
DEP0105E Datastore 'datastore-name' is not configured
VGN - DBFHVIEW Messages
VGN0000 - VGN0019
VGN0001E Unrecognized command-line option 'Command-line option'
VGN0002I The operation completed successfully
VGN0003E Must specify -struct:<file-name> with -create
VGN0004E Must specify -file:<file-url> with -create, or -delete
VGN0005E Must specify -name:<view-name> with -create, or -delete
VGN0006E Must specify -create, -delete, or -list
VGN0007E Command response file 'file-name' does not exist
VGN0008E Error reading command response file 'file-name'
VGN0009I Processing command response file 'file-name'
VGN0010I Commands processed = number-of-commands; warnings = number-of-warnings; errors = number-of-errors;
VGN0011E Can only specify one of -create, -delete, or -list
VGN0012E Can only specify one of -file or -struct with -list
VGN0013E Must specify one of -file or -struct with -list
VGN0014E Error processing structure file (file-name)
VGN0015I No structure definitions exist
VGN0016E Requested structure definition does not exist
VGN0017I Using structure definition 'structure-definition-name'
VGN0018E Invalid file URL specified
VGN0019E Datastore 'datastore-url' is not configured
VGN0020 - VGN0039
VGN0020E Error creating SQL script file (file-name)
VGN0021I Definition for view 'view-name' written to SQL script file 'file-name'
VGN0022I View 'view-name' installed in datastore 'datastore-name'
VGN0023E File 'file-name' not found
VGN0024E Create failed with file status file-status
VGN0025E List failed with file status file-status
VGN0026I No views exist
VGN0027E Delete failed with file status file-status
VGN0028W File 'file-name' does not have associated view 'view-name'
VGN0029E db-api-type error: 'odbc-oci-error-message'
VGN0030W Function 'function-name' not found. Default column type defined for 'field-name'
VGN0031W Function 'function-name' found, but DbfhFuncDB2 not installed. Default column type defined for 'field-name'
VGN0032W Maximum DECIMAL precision supported by Db2 is 31. Generating 'field-name' as VARCHAR
VGN0033E I/O error: io-error-message
MFDBFH
MQSeries
Passing user credentials when connecting to an MQSeries queue manager
Java and COBOL Interoperability
Java and OO COBOL Interoperability
Java and OO COBOL Interoperability Options
Considerations
Linking to the Multi-threaded Run-time System
Setting Up the Environment for Java and COBOL
Java/COBOL Application Launcher
Using the Java/COBOL Application Launcher from the Command Line
Compiling COBOL Programs that Call Java
Compiling COBOL Programs that Are Used from the CobolBean interface
Linking to the Multi-threaded Run-time System
Migrating Applications between JDK 8 and JDK 11
Calling Procedural COBOL from Java
Overview - Calling Procedural COBOL from Java
Coding Your Java Program
Multi-threading Considerations
Loading a COBOL Program or Library
Using the cobcall() Methods
Examples of Calling COBOL from Java
Changing Data Members in a Java Object
Using CobolBean for Instance Data
Canceling a COBOL Program
Handling Strings from a Java Program
Pointer Class
mfjstring
CobolNational Class
Using Custom Records to Pass Group Items
Using JNI with COBOL
Example of Throwing an Exception
Calling Java from Native OO COBOL
Overview of Calling Java from Native OO COBOL
Before You Start
Declaring Java Classes
Instantiating Java Objects
Calling Java Methods
Accessing Java Variables
Handling Java Exceptions
Accessing Native Java Objects
Finalizing Java Objects
Calling Native OO COBOL from Java
Overview - Calling Native OO COBOL from Java
Before You Start
Writing a Java Class in Native OO COBOL
Importing the COBOL Support
The Wrapper Class
Adding and Removing Methods
Throwing Exceptions from COBOL
Using BY REFERENCE Parameters
Working with Java Programs
Java Data Types
Overview
Java Data Type Conversion Rules
Java Typedefs
Using the Jarray Class
Adding Parameters Using ParameterList()
Using Structures
Creating Custom Records using com.microfocus.cobol.lang.CustomRecord Interface
Micro Focus COBOL Java Class Library
JVM COBOL Interoperating with Java
Java Calling JVM COBOL
JVM COBOL Calling Java
JVM COBOL Passing Java Instances to Native Procedural COBOL
JVM COBOL Passing Java Instances to Native Object COBOL
Java and non-OO COBOL Interoperability
COBOL Calling Static Java Methods
Java Accessing COBOL Working Storage Items
Java Calling COBOL Programs
Building and Running Native COBOL that Interoperates with Java
Example 1 - COBOL Calling Java Static Method
Example 2 - Java Accessing COBOL Working Storage Items
Example 3 - Java Calling COBOL Programs
Example 4 - Java Calling COBOL and Accessing Working Storage Items
Mapping COBOL Items and Java Types
The genjava Utility
genjava Syntax Options
Implementation Differences Between Micro Focus COBOL and Enterprise COBOL
Limits and Restrictions
JVM COBOL Programming
Native COBOL Compared to JVM COBOL
Introduction to Object-Oriented Programming for COBOL Developers
Moving Native COBOL Applications to JVM COBOL
Why Move to JVM COBOL Code?
Considerations When Moving to JVM COBOL
Writing Multi-User Applications
Using Java Managed Beans to Manage and Monitor COBOL Applications
Accessing Procedural COBOL From JVM COBOL Code
Example of Using a JVM COBOL Wrapper Class
Example of Using the ILSMARTLINKAGE Compiler Directive
Compiling and Calling JVM COBOL Applications as Part of a Package
Producing a Java Property File
Example 1: Locating the Java Property File on the CLASSPATH
Example 2: Locating the Java Property File Directly from COBOL
64-bit applications in the Java environment
Using a File Handler in JVM COBOL
Multiple user COBOL applications in Java
Background to multiple run units and Java
Developing an application for multiple run units in JVM COBOL
Interoperability
Data Marshaling and Type Conversion for JVM COBOL Interoperation
Type Compatibility in Interoperation with Managed Code
Exposing COBOL Linkage Data as Managed Types
Type Mappings from Native COBOL to JVM COBOL Code
Write a Proxy or Edit the COBOL for Java Interoperation?
JVM COBOL Interoperating with Native COBOL
Calling Native COBOL from JVM COBOL
Passing Parameter Modes for JVM COBOL Calling Native COBOL
Pointers from Native Code to JVM COBOL
Strings in JVM COBOL Interoperation
Arrays of Bytes in JVM COBOL Interoperation
Limitations in JVM COBOL Interoperability
Example of JVM COBOL Interoperation with Native Code
JVM COBOL Interoperating with Java
Java Calling JVM COBOL
JVM COBOL Calling Java
JVM COBOL Passing Java Instances to Native Procedural COBOL
JVM COBOL Passing Java Instances to Native Object COBOL
Multi-threaded Programming
Introduction to multi-threading
Multi-threading and the Operating System
Multi-threading and the Application
Multi-threading and the Command Line
Synchronizing Execution and Resolving Contention
Introduction
Multi-threaded Program Attributes
Specifying No Multi-threading
Serial Programs
Reentrant Programs
Use of Data Attributes
Using Synchronization Primitives
Using a Mutex
Using a Monitor
Using a Semaphore
Using an Event
Writing Multi-threaded Applications
Overview
Run-time System for Multi-threaded Applications
Thread Safety
Considerations When Creating Reentrant Programs
Multi-threading Library Routines
Thread-control Routines
Thread-synchronization Routines
Routines for Handling Thread-specific Data
Initializing Applications
Manipulating Threads
Thread Handles
Creating and Terminating a Thread
Canceling a Thread
Suspending a Thread
Identifying a Thread
Threads in Other Languages
Canceling Called Programs
Optimizations and Programming Tips
Multi-threading Compiler Directives
Directives for Serial and Reentrant Programs
Directives that Optimize Performance
Performance Programming
Benchmarking your Application
Troubleshooting Performance Issues
Optimizing COBOL Syntax
Optimizing Data Definitions
Speed of Processing of Different Data Types
COMP-5 Performance
COMP-X Performance
COMP Performance
COMP-3 Performance
DISPLAY Performance
Aligning Data Items for Efficiency
Optimizing IF Statements
Optimizing Decimal Point Alignment
Optimizing Data Structures
Optimizing Table Handling
Optimizing Conditional Statements
Optimizing PERFORM Statements
Optimizing CALL Statements
Optimizing Parameter Handling
Optimizing File Sorting
Aligning Bit Data Items
Compiler Directives for Optimizing Code
Examples
Example of Inefficient Use of the PERFORM Statement
Example of Optimized Subscripts to Table Elements
Optimizing Other Areas
Database Access
File Handling
Design Considerations
Optimizing File Selection
Optimizing Your Application Using the File Handler Configuration File
Problem Determination and Diagnostic Tools
Unit Testing from the Command Line
Writing Tests
Elements of a Test Fixture
Data-Driven Unit Tests
Using Dynamic Metadata
Examples of using Metadata
MFUPP Preprocessor
MFUPP Directives
Inserting Test Code into Source Code
Mocking and Stubbing Source Code
Mocking and Stubbing Programs Containing EXEC Statements
Warnings and Restrictions
Examples of Using the MFUPP Preprocessor
Using MFUPP to Insert Test Code Into a Program
Appendix - Using the MFUPP Preprocessor
Using MFUPP to Mock and Stub a Program
Appendix - Mocking and Stubbing
Determining a Test Outcome
Examples - Writing Tests
Simple Test Case Example
Advanced Test Case Example
Data-Driven Test Case Examples
A Simple Data-Driven Test Example
Appendix - Simple Data-Driven Test Case Example
An Advanced Data-Driven Test Case Example
Appendix - Advanced Data-Driven Test Case Example
Compiling Tests
Running Tests
Configuring the Run-Time System Environment
Test Runner Syntax Options
Test Runner Error Codes
Using Color in Test Reports
Test Results Color Coding
Test Fixture Files
Example Test Fixture File
Example Ant Project
Unit Testing Support for .NET 6
Install the Unit Testing Templates
Using the dotnet Command Line Utility to Manage Unit Testing Projects
Appendix - dotnet arguments
Examples
Viewing Test Results
Example - text file results
Example - junit results
Using the Results in Silk Central
Using the Results on a Jenkins CI Server
Dealing with Errors in Your Tests
Programming Tips
Accessing Data on the Command Line from COBOL
Accessing Environment Variables from COBOL
Manipulating Data with Reference Modification and STRING
Writing Recursive Routines
Coding an Intrinsic Function
Manipulating Bits
Examples
Example of Recursion
Example of Recursive Routines
Example of Intrinsic Functions
Example of Bit Manipulation
General Reference
C Functions for Calling COBOL
cobaddch
cobaddstr
cobaddstrc
cobcall
cobcallpp
cobcancel
cobclear
cobcols
cobcommandline
cobexit
cobfunc
cobget
cobgetch
cobgetenv
cobgeterrorinfo
cobgetfuncaddr
cobinit
cobkeypad
coblines
coblongjmp
cobmove
cobpostsighandler
cobprintf
cobput
cobputenv
cobremovesighandler
cobrescanenv
cobscroll
cobsetjmp
cobtermmode
cobthreadtidy
cobtidy
SYSTEM
COBOL Language Reference
COBOL Language Supported and Copyrights
Notations
Part 1. Concepts
Introduction to the COBOL Language
The COBOL Language
Source Format
Fixed Format
Sequence Number
Indicator Area
Areas A and B
Sample Program
Free Format
Variable Format
Concepts of the COBOL Language
Character Set
Language Structure
Separators
Character-strings
COBOL Words
Scope of Names
Conventions for Program-names
Conventions for Condition-names, Data-names, File-names, Record-names, Report-names and Typedef-names
Conventions for Index-names
Conventions for Class-names (for Object Orientation) and Interface-names
Conventions for Method-names
Conventions for Function-prototype-names
Conventions for Program-prototype-names
Literals
Nonnumeric Literals
Numeric Literals
National Literals
UTF-8 Literals
Figurative Constant Values
Constant-names
Concatenation Expressions
Special Registers
Predefined Object Identifiers
PICTURE Character-Strings
Comment-entries
Formats and Rules
General Format
Syntax Rules
General Rules
Elements
Concept of Computer-independent Data Description
Concept of Levels
Level-Numbers
Class and Category of Data
Algebraic Signs
Standard Alignment Rules
Item Alignment for Increased Object-code Efficiency
Selection of Character Representation and Radix
DISPLAY Format
COMPUTATIONAL, BINARY, or COMPUTATIONAL-4 Format
Computer Memory Natural Boundaries
Synchronization
Implicit Synchronization
Example of Implicit FILLER Assignments
Truncation
Example of Truncation
COMPUTATIONAL-1, COMPUTATIONAL-2,FLOAT-SHORT and FLOAT-LONG Formats
COMPUTATIONAL-3 or PACKED-DECIMAL Format
COMPUTATIONAL-X and COMPUTATIONAL-5 Formats
POINTER Format
POINTER-32 Format
PROCEDURE-POINTER Format
Uniqueness of Reference
Qualification
Subscripting
Indexing
Function-identifier
Reference Modification
Identifier
Condition-name
Object property
Inline method invocation
Object-view
Data-address-identifier
Type of identifier
Program-address-identifier
Explicit and Implicit Specifications
Explicit and Implicit Procedure Division References
Explicit and Implicit Transfers of Control
Explicit and Implicit Attributes
Explicit and Implicit Scope Terminators
Language Fundamentals
Optional Division, Section and Paragraph Headings
Reserved Words
External Repository
Nested Programs
Call Prototypes
Files
File Connector
Sequential Input/Output
Record Sequential Input/Output
Line Sequential Input/Output
Organization of Line and Record Sequential Files
Access Mode
Relative Input/Output
Organization of Relative Files
Access Mode
Indexed Input/Output
Organization of Indexed Files
Access Mode
Sharing Mode
Object-oriented Concepts for Native COBOL
Objects and Classes (OO Concepts for Native COBOL)
Object References (OO Concepts for Native COBOL)
Predefined Object References (OO Concepts for Native COBOL)
Methods (OO Concepts for Native COBOL)
Method Invocation (OO Concepts for Native COBOL)
Conformance and Interfaces (OO Concepts for Native COBOL)
Conformance for Object Orientation in Native COBOL
Interfaces (OO Concepts for Native COBOL)
Conformance between Interfaces (OO Concepts for Native COBOL)
Conformance for Parameterized Classes and Parameterized Interfaces (Native COBOL)
Polymorphism (OO Concepts for Native COBOL)
Class Inheritance (OO Concepts for Native COBOL)
Interface Inheritance (OO Concepts for Native COBOL)
Interface Implementation (OO Concepts for Native COBOL)
Parameterized Classes (OO Concepts for Native COBOL)
Parameterized Interfaces (OO Concepts for Native COBOL)
Object Life Cycle (OO Concepts for Native COBOL)
Life Cycle of Factory Objects (OO Concepts for Native COBOL)
Life Cycle of Objects (OO Concepts for Native COBOL)
Life Cycle of Parameterized Classes (OO Concepts for Native COBOL)
Life Cycle of Parameterized Interfaces (OO Concepts for Native COBOL)
Object-Oriented Concepts for JVM COBOL
Attributes
Delegates and Events
Enumerations and Enum types
Extension Methods in JVM COBOL
Nested Classes in JVM COBOL
Data Types in JVM COBOL
Specifying Type Names
Simplified Class Layout
Run Unit Communication
Common, Initial and Recursive Attributes
Sharing Data
Sharing File Connectors
Data Division
Overview
Automatic, Initial and Static
State of a Function, Method, Object or Program
State of a Function, Method or Program
Active State
Initial and Last-used States of Data
Initial State
Last-used State
Initial State of an Object
Global Names and Local Names
External and Internal Items
Procedure Division
Execution
Statements and Sentences
Conditional Statement
Conditional Sentence
COBOL System-Directing Statement
COBOL System-Directing Sentence
Compiler Directives
Imperative Statement
Imperative Sentence
Delimited Scope Statements
Categories of Statements
Reference Format
Reference Format Representation
Sequence Numbers
Continuation of Lines
Blank Lines
Pseudo-text
Division, Section and Paragraph Formats
Division Header
Section Header
Paragraph Header, Paragraph-name and Paragraph
Data Division Entries
Declaratives
Comment Lines
In-line Comments
Part 2. Program Definition
Compilation Group
Compilation Groups
End Markers
Identification Division
Identification Division - General Description
The Program-ID Paragraph
The Class-ID Paragraph
The Factory Paragraph
The Object Paragraph
Method-ID (COBOL Language Reference)
The Interface-ID Paragraph
The Function-ID Paragraph
The Date-Compiled Paragraph
The Delegate-ID Paragraph
The Enum-ID Paragraph
The Iterator-ID Paragraph
The Operator-ID Paragraph
The Valuetype-ID Paragraph
Environment Division
General Description
Configuration Section
The Source-Computer Paragraph
The Object-Computer Paragraph
The Special-Names Paragraph
The Repository Paragraph
The Constraints Paragraph
The Class-Attributes Paragraph
The Assembly-Attributes Paragraph
Input-Output Section
The File-Control Paragraph
SELECT statement (COBOL File Control Entry)
The I-O-Control Paragraph
Data Division
General Description (Data Division)
File Section
Working-Storage Section
Thread-Local-Storage Section
Object-Storage Section
Local-Storage Section
Linkage Section
Screen Section
File and Data Description
File Description Entry Skeleton
The BLOCK CONTAINS Clause
The CODE-SET Clause
The DATA RECORDS Clause
The EXTERNAL Clause
The GLOBAL Clause
The LABEL RECORDS Clause
The LINAGE Clause
The RECORD Clause
The THREAD-LOCAL Clause
The VALUE OF Clause
The RECORDING MODE Clause
Data Description Entry Skeleton
The ANY LENGTH Clause
The BLANK WHEN ZERO Clause
The CONSTANT Clause
The ATTRIBUTE, CUSTOM-ATTRIBUTE Clause
The Data-name or FILLER Clause
The DYNAMIC LENGTH Clause
The GROUP-USAGE Clause
The JUSTIFIED Clause
Level Number
The OCCURS Clause
The PICTURE Clause
The PROPERTY Clause
The REDEFINES Clause
The RENAMES Clause
The SIGN Clause
The SYNCHRONIZED Clause
The TYPEDEF Clause
The USAGE Clause
The VALUE Clause
Screen Section
Screen Section Entry Skeleton
The AUTO Clause
The BACKGROUND-COLOR Clause
The BELL Clause
The BLANK Clause
The BLANK WHEN ZERO Clause in the Screen Section
The BLINK Clause
The COLUMN Clause
The CONTROL Clause
The ERASE Clause
The FOREGROUND-COLOR Clause
The FROM Clause
The FULL Clause
The GRID Clause
The HIGHLIGHT Clause
The JUSTIFIED Clause in the Screen Section
The LEFTLINE Clause
The LINE Clause
The LOWLIGHT Clause
The OCCURS Clause in the Screen Section
The OVERLINE Clause
The PICTURE Clause in the Screen Section
The PROMPT Clause
The REQUIRED Clause
The REVERSE-VIDEO Clause
The SECURE Clause
The SIGN Clause in the Screen Section
The SIZE Clause
The TO Clause
The UNDERLINE Clause
The USAGE Clause in the Screen Section
The USING Clause
The VALUE Clause in the Screen Section
The ZERO-FILL Clause
Procedure Division
Procedure Division General Description
The PROCEDURE DIVISION Header
Arithmetic Expressions
Arithmetic Operators
Bitwise Operators
Permissible Combinations of Symbols
Formation and Evaluation Rules
Intermediate Results
Conditional Expressions
Simple Conditions
Relation Condition
Comparison of Numeric Operands (Relation Condition)
Comparison of Nonnumeric Operands (Relation Condition)
Comparisons Involving Index-Names and/or Index Data Items (Relation Condition)
Comparisons Involving Data Items with USAGE POINTER or USAGE-POINTER-32(Relation Condition)
Comparisons Involving Data Items with USAGE PROCEDURE-POINTER (Relation Condition)
Comparisons Involving Data Items with USAGE OBJECT (Relation Condition)
Comparisons of Dynamic-Length Elementary Items
Class Condition
Condition-name Condition (Conditional Variable)
Switch-Status Condition
Sign Condition
Omitted-argument Condition
Instance-of Condition
Complex Condition
Negated Simple Condition
Combined and Negated Combined Condition
Abbreviated Combined Relation Conditions
Condition Evaluation Rules
Perform Expressions
Common Phrases
Arithmetic Statements
Overlapping Operands
Multiple Results in Arithmetic Statements
Incompatible Data
Signed Receiving Items
The ROUNDED Phrase
The ON SIZE ERROR Phrase and NOT ON SIZE ERROR Phrase
ON SIZE ERROR Phrase Not Specified
ON SIZE ERROR Phrase Specified
The NOT ON SIZE ERROR Phrase
The CORRESPONDING Phrase
File I/O Concepts
File Position Indicator
I-O Status
Status Key 1
Successful Completion
Successful Completion
AT END Condition with Unsuccessful Completion
INVALID KEY Condition with Unsuccessful Completion
Permanent Error Condition with Unsuccessful Completion
Logic Error Condition with Unsuccessful Completion
Run-Time System Error Message
Valid Combinations of Status Keys 1 And 2
The AT END Condition
The INVALID KEY Condition
Sharing Files on Multi-user Systems
Single Record Locking
Multiple Record Locking
Default Record Locking
Conformance for Parameters and Returning Items
Parameters
Group Items
Elementary Items
Elementary Items Passed by Reference
Elementary Items Passed by Content or by Value
Returning Items
Group Items
Elementary Items
Intrinsic Functions
Arguments
Function Types
Data Item Functions
Date Conversion Functions
Trigonometric Functions
Definitions of Functions
The ABS Function
The ACOS Function
The ANNUITY Function
The ASIN Function
The ATAN Function
The BIT-OF Function
The BIT-TO-CHAR Function
The BOOLEAN-OF-INTEGER Statement
The BYTE-LENGTH Function
The CHAR Function
The CHAR-NATIONAL Function
The COMBINED-DATETIME function
The CONTENT-OF Function
The COS Function
The CURRENT-DATE Function
The DATE-OF-INTEGER Function
The DATE-TO-YYYYMMDD Function
The DAY-OF-INTEGER Function
The DAY-TO-YYYYDDD Function
The DISPLAY-OF Function
The E Function
The EXP Function
The EXP10 Function
The FACTORIAL Function
The FORMATTED-CURRENT-DATE Function
Date and Time Formats
The FORMATTED-DATE function
The FORMATTED-DATETIME function
The FORMATTED-TIME function
The FRACTION-PART Function
The HEX-OF Function
The HEX-TO-CHAR Function
The INTEGER Function
The INTEGER-OF-BOOLEAN Statement
The INTEGER-OF-DATE Function
The INTEGER-OF-DAY Function
The INTEGER-OF-FORMATTED-DATE Function
The INTEGER-PART Function
The LENGTH Function
The LENGTH-AN Function
The LOG Function
The LOG10 Function
The LOWER-CASE Function
The MAX Function
The MEAN Function
The MEDIAN Function
The MIDRANGE Function
The MIN Function
The MOD Function
The NATIONAL-OF Function
The NUMVAL Function
The NUMVAL-C Function
The NUMVAL-F Function
The ORD Function
The ORD-MAX Function
The ORD-MIN Function
The PI Function
The PRESENT-VALUE Function
The RANDOM Function
The RANGE Function
The REM Function
The REVERSE Function
The SECONDS-FROM-FORMATTED-TIME Function
The SECONDS-PAST-MIDNIGHT Function
The SIGN Function
The SIN Function
The SQRT Function
The STANDARD-DEVIATION Function
The SUM Function
The TAN Function
The TEST-DATE-YYYYMMDD Function
The TEST-DAY-YYYYDDD Function
The TEST-FORMATTED-DATETIME Function
The TEST-NUMVAL Function
The TEST-NUMVAL-C Function
The TEST-NUMVAL-F Function
The TRIM Function
The ULENGTH Function
The UPOS Function
The USUBSTR Function
The USUPPLEMENTARY Function
The UUID4 Function
The UVALID Function
The UWIDTH Function
The UPPER-CASE Function
The VARIANCE Function
The WHEN-COMPILED Function
The YEAR-TO-YYYY Function
Statements
The ACCEPT Statement
The ADD Statement
The ALLOCATE Statement
The ALTER Statement
The ATTACH Statement
CALL Statement (COBOL)
The CANCEL Statement
The CHAIN Statement
The CLOSE Statement
The COMMIT Statement
The COMPUTE Statement
The CONTINUE Statement
The CREATE Collection Statement
The DECLARE Statement
The DELETE Statement
The DELETE FILE Statement
The DETACH Statement
The DISPLAY Statement
The DIVIDE Statement
The ENTER Statement
The ENTRY Statement
The EVALUATE Statement
The EXAMINE Statement
The EXEC(UTE) Statement
The EXHIBIT Statement
The EXIT Statement
The FREE Statement
The GOBACK Statement
The GO TO Statement
The IF Statement
The INITIALIZE Statement
The INSPECT Statement
The INVOKE Statement
The JSON GENERATE Statement
Appendix A - JSON GENERATE Source Items
Appendix B - JSON Output Text
Appendix C - Elementary Data Format Conversions
Appendix D - Trimming of Generated JSON Data
Appendix E - JSON Name Formation
The JSON PARSE Statement
Appendix A - JSON PARSE Example
Appendix B - Parsing JSON Arrays
Appendix C - JSON PARSE Matching Algorithm
Appendix D - Size and Precision Handling
Appendix E - Suppressing Population of COBOL Items During Parsing
The MERGE Statement
The MOVE Statement
The MULTIPLY Statement
The NEXT SENTENCE Statement
The NOTE Statement
The ON Statement
The OPEN Statement
The PERFORM Statement
The RAISE Statement
The READ Statement
The RELEASE Statement
The RESET Collection Statement
The RETURN Statement
The REWRITE Statement
The ROLLBACK Statement
The SEARCH Statement
The SERVICE Statement
The SET Statement
The SORT Statement
The START Statement
The STOP Statement
The STRING Statement
The SUBTRACT Statement
The SYNC Statement
The TRANSFORM Statement
The TRY Statement
The UNLOCK Statement
The UNSTRING Statement
The USE Statement
The WAIT Statement
The WRITE Statement
The XML GENERATE Statement
The XML PARSE Statement
Compiler-directing Statements
Source Text Manipulation
The COPY Statement
The REPLACE Statement
Editor Control
$REGION Statement
The BASIS Mechanism
The BASIS Statement
The DELETE Statement - BASIS Control
The INSERT Statement - BASIS Control
The ++INCLUDE and -INC Mechanisms
The -INC Statement
The ++INCLUDE Statement
Conditional Compilation
Micro Focus Conditional Compilation
$DISPLAY Statement
$ELSE Statement
$END Statement
$IF Statement
ISO2002 Conditional Compilation
The DEFINE Directive
The EVALUATE Directive
The IF Directive
Appendices - ISO2002 Conditional Compilation
Appendix A - Examples of Conditional Compilation
Appendix B - Constant Conditional Expressions
Appendix C - Defined Conditions
Appendix D - Boolean Conditions
Appendix E - Compile-time Arithmetic Expressions
The Listing Control Statements
The EJECT Statement
The SKIP1, SKIP2 and SKIP3 Statements
The TITLE Statement
JAVA Interoperability Source Directives
JAVA-CALLABLE
JAVA-SHAREABLE
Compiler Directives Specific to Your COBOL System
Examples
Call Prototypes
Calling and Setting a Procedure-Pointer
Call Returning a Dynamically Allocated Data Area from a Subprogram
Compilation Group
COPY (ANSI'68 or LANGLVL(1) Variation)
COPY (Partial Word Replacement)
CRT STATUS Clause of the SPECIAL-NAMES Paragraph
$IF Statement Example (Micro Focus Conditional Compilation)
INSPECT Statement (Tallying, Replacing, and Converting)
NEXT Phrase of CONSTANT-NAMES
Parameterized Sections (examples)
SEARCH statement
SORT a File Using Input and Output Procedures
SORT Table Entries
Split Key
Typedef - User Defined USAGE or Structure
Part 3. Additional Topics
Report Writer
Report Section
Report Structure
Vertical Spacing
Horizontal Spacing
Data Manipulation
Report Subdivisions
Physical Subdivision of a Report
Logical Subdivisions of a Report
Procedure Division Report Writer Statements
Language Concepts
Report File
Special Register PAGE-COUNTER
Special Register LINE-COUNTER
Special Register PRINT-SWITCH
Subscripting
Environment Division
Input-Output Section (Report Writer)
The File-Control Paragraph (Report Writer)
The I-O-Control Paragraph (Report Writer)
Data Division
The File Description Entry (Report Writer)
The REPORT Clause (Report Writer)
Report Section (Report Writer)
The Report Description Entry
PAGE-COUNTER Rules
LINE-COUNTER Rules
The CODE Clause
The CONTROL Clause
The PAGE Clause
The Report Group Description Entry
Presentation Rules Tables
Organization
Line Number Clause Notation
Line Number Clause Sequence Substitutions
Saved Next Group Integer Description
Report Heading Group Presentation Rules
Page Heading Group Presentation Rules
Body Group Presentation Rules
Page Footing Presentation Rules
Report Footing Presentation Rules
The COLUMN NUMBER Clause (Report Writer)
Data-name (Report Writer)
The GROUP INDICATE Clause (Report Writer)
Level-Number (Report Writer)
The LINE NUMBER Clause (Report Writer)
The NEXT GROUP Clause (Report Writer)
The SIGN Clause (Report Writer)
The SOURCE Clause (Report Writer)
The SUM Clause (Report Writer)
The TYPE Clause (Report Writer)
The USAGE Clause (Report Writer)
The VALUE Clause (Report Writer)
Procedure Division (Report Writer)
General Description (Report Writer)
The CLOSE Statement (Report Writer)
The GENERATE Statement (Report Writer)
The INITIATE Statement (Report Writer)
The OPEN Statement (Report Writer)
The SUPPRESS Statement (Report Writer)
The TERMINATE Statement (Report Writer)
The USE BEFORE REPORTING Statement (Report Writer)
Debug Module
Standard ANSI COBOL Debug
Object-time Switch
COBOL Debug RTS Switch
Debugging Lines
Environment Division
The WITH DEBUGGING MODE Clause
Procedure Division
The READY TRACE Statement
The RESET TRACE Statement
The USE FOR DEBUGGING Statement
Segmentation
General Description of Segmentation
Organization
Program Segments
Fixed Portion
Independent Segments
Segmentation Classification
Segmentation Control
Structure of Program Segments
Segment-Numbers
The SEGMENT-LIMIT Clause
Restrictions on Program Flow
The ALTER Statement
The PERFORM Statement
The MERGE Statement
The SORT Statement
Double-Byte Character Set Support
DBCS Data
Roman Script in DBCS
Multivendor Integration Architecture Support
Source Programs
Language Extensions
Comments and Comment-entries
User-defined Words
Spaces
Data Items
DBCS Data Items
Mixed Data Items
Literals
DBCS Literals
Category of DBCS Literals
Mixed Literals
Figurative Constants
The "N" literal
Program Structure
The END PROGRAM Header (DBCS)
Identification Division
The PROGRAM-ID Paragraph (DBCS)
Environment Division
The SOURCE-COMPUTER Paragraph (DBCS)
The OBJECT-COMPUTER Paragraph (DBCS)
The SPECIAL-NAMES Paragraph (DBCS)
The FILE-CONTROL Paragraph (DBCS)
Data Division
The JUSTIFIED Clause (DBCS)
The PICTURE Clause (DBCS)
The REDEFINES Clause (DBCS)
The RENAMES Clause (DBCS)
The USAGE Clause (DBCS)
The VALUE Clause (DBCS)
Procedure Division (DBCS)
Conditional Expressions (DBCS)
Relation Conditions
Class Condition
Statements that Involve Moving Data
The ACCEPT Statement (DBCS)
The CALL Statement (DBCS)
The CANCEL Statement (DBCS)
The INITIALIZE Statement (DBCS)
The INSPECT Statement (DBCS)
The MOVE Statement (DBCS)
The SEARCH Statement (DBCS)
The STOP Statement (DBCS)
The STRING Statement (DBCS)
The UNSTRING Statement (DBCS)
Micro Focus COBOL Language Extensions
Parameterized Sections
Limitations and Restrictions
Micro Focus OO Extensions for Native COBOL
Directives (OO Native COBOL)
Class Definition (OO Native COBOL)
Class Extension (OO Native COBOL)
Class-body (OO Native COBOL)
Class-object (OO Native COBOL)
Object-program (OO Native COBOL)
Method (OO Native COBOL)
Method Interface Definition (OO Native COBOL)
Micro Focus Extensions for Double-Byte Character Support
Environment Division
The OBJECT-COMPUTER Paragraph (DBCS)
The SPECIAL-NAMES Paragraph (DBCS)
The FILE-CONTROL Paragraph (DBCS)
Data Division
The JUSTIFIED Clause (DBCS)
The PICTURE Clause (DBCS)
The USAGE Clause (DBCS)
The VALUE Clause (DBCS)
Procedure Division
Conditional Expressions
Condition-name
Relation Conditions
Class Condition
The ACCEPT Statement (DBCS)
The INITIALIZE Statement (DBCS)
The INSPECT Statement (DBCS)
The MOVE Statement (DBCS)
The SEARCH Statement (DBCS)
The STRING Statement (DBCS)
The UNSTRING Statement (DBCS)
XML Syntax Extensions
XML File Status Codes
XML Preprocessor Restrictions
XML Syntax - CLOSE Statement
XML Syntax - COUNT IN Clause
XML Syntax - DELETE Statement
XML Syntax - IDENTIFIED BY Clause
XML Syntax - NAMESPACE clause
XML Syntax - PROCESSING-INSTRUCTION Clause
XML Syntax - OPEN Statement
XML Syntax - READ Statement
XML Syntax - REWRITE Statement
XML Syntax - SELECT Clause
XML Syntax - START Statement
XML Syntax - WRITE Statement
XML Syntax - XD File Description
Additional Dialect Support
ACUCOBOL-GT Syntax Extensions
Program Structure
Identifiers
Numeric Literals
Nonnumeric Literals
Source Formats
Identification Division
PROGRAM-ID Paragraph (ACUCOBOL-GT)
Environment Division
SELECT (ACUCOBOL-GT File-Control Paragraph)
Data Division
SYNCHRONIZED Clause (ACUCOBOL-GT)
USAGE Clause (ACUCOBOL-GT)
Procedure Division
Procedure Division Statements (ACUCOBOL-GT)
ACCEPT FROM (ACUCOBOL-GT)
ACCEPT FROM ENVIRONMENT
INSPECT (ACUCOBOL-GT)
OPEN Statement (ACUCOBOL-GT)
SET ENVIRONMENT (ACUCOBOL-GT)
Data General Interactive COBOL V1.3 Syntax Support
Environment Division
Switch-Names
File-Name on Disk
The DATA SIZE Clause
The INDEX SIZE Clause
Duplicate Alternate Keys
Alternate Keys
I-O-Control Paragraph
Data Division
VALUE Clause
The Screen Section
Procedure Division
CALL Statement (DG I COBOL)
The COPY INDEXED Statement
The DISPLAY Statement
File Sharing Syntax
The OPEN Statement
The READ Statement
DOS/VS COBOL Support
Enterprise COBOL Syntax Support
User-Defined Functions under ENTCOBOL Dialect
Structuring User-Defined Functions
Coding User-Defined Function Definitions
Compiling User-Defined Function Definitions
Invoking User-Defined Functions
Passing Arguments BY CONTENT to User-Defined Functions
Microsoft COBOL V1.0 and V2.0 Syntax Support
Special Registers LIN and COL
Environment Division
The Special-Names Paragraph
Data Division
The USAGE Clause
Procedure Division (COBOL V1.0 and V2.0 Syntax)
The Position-Specification Phrase
The ACCEPT Statement
The DISPLAY Statement
The EXHIBIT Statement
Microsoft V2.0 Additional Syntax Support
Record LOCKING
OPEN LOCKING Statement
READ Statement (in Manual Mode)
START Statement
RM/COBOL Syntax Support
Environment Division
The ASSIGN Clause
The CODE-SET Clause (RM/COBOL)
The ORGANIZATION Clause
The RECORD DELIMITER Clause (RM/COBOL)
Data Division
Default Sign Representation
Empty Groups
The CONTROL Clause (RM/COBOL)
The USAGE Clause
Procedure Division
Bound Checking
I-O Status Codes
Literals as Call Parameters
Locked Records
Non-standard Operations on Alphanumeric Data Items
OPEN and CLOSE on Sequential Files
Procedure Names
REWRITE on LINE SEQUENTIAL Files
Size Allocation for Index Data Items
The ACCEPT Statement
The DISPLAY Statement
The EXIT PROGRAM Statement
The PERFORM Statement
The STOP RUN Statement
Siemens BS2000 COBOL Syntax Support
Concepts
Indicator Area
Areas A and B
Special Registers
Nonnumeric Literals
Floating-point Literals
Function-Identifier
Representation of Numeric Items
The BINARY, COMPUTATIONAL and COMPUTATIONAL-5 phrases
File Concepts
Subscripts
Object Views
Identification Division
Identification Division Header (Siemens BS2000 COBOL)
Identification Division Structure (Siemens BS2000 COBOL)
The Class-ID Paragraph (Siemens BS2000 COBOL)
The Factory Paragraph (Siemens BS2000 COBOL)
The Interface-ID Paragraph (Siemens BS2000 COBOL)
The Method-ID Paragraph (Siemens BS2000 COBOL)
The Object Paragraph (Siemens BS2000 COBOL)
Environment Division
The Special-Names Paragraph (Siemens BS2000 COBOL)
The File Control Entry (Siemens BS2000 COBOL)
The Repository Paragraph (Siemens BS2000 COBOL)
Data Division
The File Description Entry (Siemens BS2000 COBOL)
The Sort-Merge File Description Entry
The Working-Storage Section (Siemens BS2000 COBOL)
The BASED Clause (Siemens BS2000 COBOL)
The DYNAMIC Clause (Siemens BS2000 COBOL)
The OCCURS Clause
The PICTURE Clause (Siemens BS2000 COBOL)
The REDEFINES Clause (Siemens BS2000 COBOL)
The SYNCHRONIZED Clause (Siemens BS2000 COBOL)
The USAGE Clause (Siemens BS2000 COBOL)
The VALUE Clause (Siemens BS2000 COBOL)
Procedure Division (Siemens B2000)
Class Condition
Intrinsic Functions (Siemens BS2000 COBOL)
The ADDR Function
The ACCEPT Statement (Siemens BS2000 COBOL)
CALL Statement (Siemens BS2000 COBOL)
The CLOSE Statement (Siemens BS2000 COBOL)
Record Sequential Files
Line Sequential Files
The DISPLAY Statement (Siemens BS2000 COBOL)
The ENTRY Statement (Siemens BS2000 COBOL)
The EVALUATE Statement (Siemens BS2000 COBOL)
The EXIT PERFORM Statement (Siemens BS2000 COBOL)
The GOBACK Statement (Siemens BS2000 COBOL)
The INSPECT Statement (Siemens BS2000 COBOL)
The INVOKE Statement (Siemens BS2000 COBOL)
The MERGE Statement (Siemens BS2000 COBOL)
The MOVE Statement (Siemens BS2000 COBOL)
The OPEN Statement (Siemens BS2000 COBOL)
The READ Statement (Siemens BS2000 COBOL)
Relative and Indexed Files
The REWRITE Statement (Siemens BS2000 COBOL)
The SEARCH Statement (Siemens BS2000 COBOL)
The SET Statement (Siemens BS2000 COBOL)
The SORT Statement
Sorting of Tables
Sorting Two-digit Years with a Century Window
The START Statement
Relative and Indexed Files
The STRING Statement (Siemens BS2000 COBOL)
The USE Statement (Siemens BS2000 COBOL)
The WRITE Statement
Sequential Files
Compiler Directing Statements
The COPY Statement (Siemens BS2000 COBOL)
VS COBOL II Compatibility
Summary of Obsolete Language Elements
Part 4: Appendices
Character Sets and Collating Sequences
ANSI File Status Summary
ANSI'74 File Status Codes
ANSI'85 File Status Codes
Reserved Words
Reserved Words Table
Context-sensitive Words Table
JSON-CODE Exception Codes
JSON-STATUS Non-Exception Codes
XML-CODE Exception Codes
Glossary
Language References
Command line reference
Setting Directives
The Order in which Compiler Directives are Processed
Common Directives - directives.mf
Creating a directives.mf file
Example directives.mf File
Using Multiple directives.mf Files
System-wide Directives File, cobol.dir
$SET Statements in the Source Code
User Directives File
Compiling and Linking from the Command Line
Introduction to the cob command
cob (cob32 or cob64) Command
cob Options Syntax
cob Option Processing and Search Order
cobopt File
COBOPT Environment Variable
The cobmode Utility
Setting the Effective Working Mode
Displaying the Effective Working Mode
Creating Different Types of Files
Simple Default Linking
Resolving Unresolved References in System Executables
Creating Intermediate Code Files
Creating Generated Code Files
Callable Shared Objects
Creating Callable Shared Objects
Entry Points
Resolving Unresolved References in Callable Shared Objects
Advanced Uses
Self-Contained Callable Shared Objects
Creating Executables that Use Library Files
Creating Shared Libraries
Creating an Executable Run-time System (RTS)
Creating Executables that Use the Dynamic Loader
Creating Dynamically Loadable Files
Creating Java Bytecode
cob Flags
Pass Option to Assembler (-A as_option)
Compile for Animation (-a)
Pass Syntax-check Phase Directive to the Compiler (-C directive)
Pass Option to the C Compiler (-CC cc_option)
Pass Option to the C++ Compiler (+CC cc_option)
Compile No Further Than Linkable Object Module (-c)
Dynamically Load Symbol (-d symb)
Set Initial Entry Point (-e epsym)
Create Information for Symbolic Debugger (-g)
Include Symbol in Executable File (-I symb)
Compile to Intermediate Code for Unlinked Environment (-i)
Compile to JVM Bytecode (-j)
Recognize COBOL Source File with Non-standard Filename Extensions (-k cobol-file)
Pass Option to System Linker Changing Search Algorithm and Maintaining Relative Ordering (-L dir)
Pass Option to System Linker After All Other Options Changing the Search Algorithm (+L dir)
Pass Option to System Linker Maintaining Relative Ordering (-l lib)
Pass Option to System Linker After All Other Options (+l lib)
Map Symbol to New Symbol (-m symb=newsym)
Pass Generate Phase Directive (-N directive)
Enable Optimization (-O)
Specify Output File-name (-o filename)
Produce Listing File (-P)
Pass Flag to C Compiler to Use Profiling Routines (-p)
Pass Option to System Linker (-Q ld_option or -Q,1 ld_option or -Q,2ld_option)
Create Multi-threading Program (-t)
Dynamically Load Unresolved Reference (-U)
Compile to Generated Code for Unlinked Environment (-u)
Report Version Number (-V)
Set Verbose Module (-v)
Control Error Level for cob Termination (-W err-level)
Exclude Symbol from the Executable Output File (-X symb)
Process to System Executable File (-x[,CC|,PLI])
Produce a Shared Library for non-COBOL Applications (-Y[,CC])
Produce a Self-Contained Callable Shared Object for non-COBOL Applications (-y[,U][,CC|,PLI])
Produce a Shared Library File for COBOL Applications (-Z[,CC|,PLI])
Produce a Callable Shared Object for COBOL Applications (-z[,U][,CC|,PLI])
Flags Reserved for Future Use
cob Error Messages
argument expected: option-name
cobol version number invalid - Call Technical Support
entry defined: entryname-1 conflicting "main" found in entrypoint-2
entry: entryname does not have "main" defined
I see no use for file-name
I see no work
invalid entry point name: entryname
options clash: option-names
cob Command Examples
Converting Header Files Using the H2cpy Utility
Running an Application from the Command Line
Command to Run a Linked System Executable Program
cobrun Command
cobjrun Command
cobrun Command Examples
Create a Live Recording File from the Command Line
To Create a Live Recording File from the Command Line
Debugging from the Command Line (UNIX)
Enhanced ACCEPT/DISPLAY Syntax
Overview
Accepting Elementary Data Items from Single Fields
Accepting Single Fields
Alphanumeric Fields
Numeric and Numeric-edited Fields
Fixed-format Data Entry
Free-format Data Entry
RM-style Data Entry
Displaying Elementary Data Items in Single Fields
Displayed Data Format - Examples
Displaying Single Fields
Control Sequences in Displayed Data
Displaying Highlighted Text
Accepting and Displaying Group Items
Accepting into Group Items
Displaying Group Items
MODE IS BLOCK Clause
Accepting and Displaying Screen Section Items
Positioning the Cursor for ACCEPT Statements
Accepting and Displaying Data on Large Screens
CONTROL Clause
Keyboard Handling Via Adis
Types of Adis Keys
Function Keys
Data Keys
Shift Keys
Lock Keys
Function Key Handling
The CRT STATUS Clause
Normal termination of an ACCEPT operation
Default User Function Keys
Enabling and Disabling User Function Keys
Detecting User Function Keys
Using the Compatibility Key List for Adis Keys
The User Function Keys and Validation Clauses
Using the Adis Keys
Key Mappings for Standard Adis Functions
Standard Adis Key Functions
Mapping the Adis Keys to the Functions
Special Mapping Functions in Adis
Key Mappings for Special Adis Functions
Changing Adis Key Mappings from a Program
Conflict With the x"B0" COBOL System Library Routine
Enabling and Disabling Adis Keys
Detecting Adis Function Keys
Defining a Key in Both the User and Adis Key Lists
Data Key Handling
Controlling the Data Keys
Detecting Data Keys Set Up to Act as Function Keys
Shift Key Handling
Determining Available Shift Keys
Detecting the Current State of the Shift Keys
Enabling or Disabling Shift Keys to Terminate an ACCEPT
Lock Key Handling
Determining Available Lock Keys
Detecting the Current State of the Lock Keys
Enabling or Disabling Lock Keys to Terminate an ACCEPT
Converting Accepted Characters to Uppercase
Configuring Enhanced ACCEPT and DISPLAY
Overview
Invoking the Adis Configuration Utility
Menus
The Adis Configuration Utility Main Menu
The Adis Key Control Menu
The Alter Accept/Display Options Menu
The Alter All Messages Menu
The Alter All ACCEPT/DISPLAY Options Menu
The Alter Configuration Menu
The Alter Crt-Under Highlighting Menu
The Alter Function Mappings Menu
The Alter Indicators Menu
The Alter Individual Messages Menu
The Alter Individual Options Menu
The Alter Message/Indicator Positions Menu
The Alter Messages Menu
The Alter Tab Stops Menu
The Choose Configuration Menu
The Delete Configuration Menu
The Enable/Disable Adis Keys Menu
The Load Configuration Menu
The Save Menu
Adiscf Functions
Configurable ACCEPT/DISPLAY Options
Keyboard Configuration Utility (Keybcf)
Overview
The Key Lists
cobkeymp Tables
Invoking the Keyboard Configuration Utility
Using the Keyboard Configuration Utility
Reviewing Existing Function Key Definitions
Altering Function Key Definitions
Saving Function Key Definitions
Exiting From the Keyboard Configuration Utility
Example of Using the Keyboard Configuration Utility
Standard Adis Key Functions
Special Mapping Functions in Adis
Profiler
Introduction to Profiler
Producing Profiler Statistics
Invoking Profiler from the Command Line
Profiler Output
Time Spent in Called Programs
Directives for Profiler
Test Coverage (Native COBOL)
Overview - Test Coverage
Test Coverage Configuration File
Test Coverage Report Files
Format of a Test Coverage Report
Recompiling Programs
Reporting on Tagged Lines
Test Coverage Tag File
Test Coverage Utility Program (tcutil)
How To...
To use test coverage from the command line
To create test coverage reports
To report on tagged lines
Including Code Coverage in a Continuous Integration Process
Restrictions when Using Test Coverage
Troubleshooting Test Coverage
Test Coverage Error Messages
Test Coverage System Errors
TC001S No input results file specified
TC004S Too many program / timestamp combinations
TC005S Unable to open program source file
TC006S Unable to open output report file
TC007S Unable to open output text file
TC008S Unable to open output index file
TC009S The version number on the results file is invalid
TC010S Unable to open results file
TC012I NOHTML and NOTEXT specified - nothing to do
TC014S Invalid option entered
TC018I Severe error encountered
TC019I The run was incomplete
TC021S Timestamp mismatch
TC022S Version number from calling program is invalid
TC034E IDY/Results timestamp mismatch
TC035E IDY/Results program not compiled with TESTCOVER
TC037E IDY/Result inconsistency
TC039 No unexecuted statements
TC040E missing idy - file, no source available
TC041E Matching source file not found
TC042S These programs cannot be merged, they have been reported separately
TC043S Unable to open Trace file
TC052S Unable to open the configuration file
TC053I
TC054I
TC055I NOTE no source code available
TC056I processed normally
TC057I ACCUMULATE ignored, incompatible with ? in .tcz file name
TC058S Syntax error in config file
TC059S Processed with warnings. Look at report for more details
TC060S Source file has been changed since the results file has been generated.
TC061S Unable to open tagfile
TC062S Unable to open command file
The cobutf8 Utility
Configuring the cobutf8 Configuration File
Running Your Application Through the cobutf8 Utility
cobutf8 Error Messages
imtkmake command
mfmodgen Command
Compiler Directives
Language Features
Language Features - Dialect
ACTUAL-PARAMS
ACU
ACUCOMMENT
ACUOPT
ACUSYNC
ACU-UNDERSCORE
ANS85
BS2000
DBCHECK
DBCS
DBCSSOSI
DG
DIALECT
ACU DIALECT setting
ANS85 DIALECT setting
BS2000 DIALECT setting
BS2000-OFFLOAD DIALECT setting
COBOL370, COBOL371 and COBOL372 DIALECT settings
DOSVS DIALECT setting
ENTCOBOL DIALECT setting
ISO2002 DIALECT setting
MF DIALECT setting
MVS DIALECT setting
OS390 DIALECT setting
OSVS DIALECT setting
RM DIALECT setting
VSC21 and VSC22 DIALECT settings
VSC23 and VSC24 DIALECT settings
ENTCOBOL
FLAG
FLAGSTD
IBM-MS
ISO2002
JAPANESE
MF, MFLEVEL
MS
NATIONAL
NCHAR
NSYMBOL
OOCTRL
OSVS
PC1
RM
RM-FILE-ERRORS
RTNCODE-TYPE
VSC2
XOPEN
Language Features - Java Interoperability
JAVA-CALLABLE
JAVA-GEN-PROGS
JAVA-GEN-STRG
JAVA-OUTPUT-PATH
JAVA-PACKAGE-NAME
Language Features - Mainframe Compatibility
APOST
AREACHECK
ARITH
CMPR2
DBCSSOSI
DIALECT
ACU DIALECT setting
ANS85 DIALECT setting
BS2000 DIALECT setting
BS2000-OFFLOAD DIALECT setting
COBOL370, COBOL371 and COBOL372 DIALECT settings
DOSVS DIALECT setting
ENTCOBOL DIALECT setting
ISO2002 DIALECT setting
MF DIALECT setting
MVS DIALECT setting
OS390 DIALECT setting
OSVS DIALECT setting
RM DIALECT setting
VSC21 and VSC22 DIALECT settings
VSC23 and VSC24 DIALECT settings
DISPSIGN
DPC-IN-DATA
DPC-IN-SUBSCRIPT
IDENTIFIERLEN
LIBRARIAN
MAPNAME
NUMPROC
OLDCOPY
PANVALET
PANVALET-INCLUDES-IN-COMMENTS
PROGID-COMMENT
QUOTE
RDW
TRUNCCALLNAME
TRUNCCOPY
TRUNCINC
Language Features - Multi-threading
REENTRANT
SERIAL
Language Features - Reserved Word Control
ADDRSV
ADDSYN
COBOL370
DOSVS
MAKESYN
MVS
OS390
OVERRIDE
REMOVE
SAA
Language Features - Speed
ALTER
FASTCALL
FASTLINK
FIXOPT
QUAL
QUALPROC
SEG
Language Features - Additional Features
CONSTANT
DECLARE
DB2
EXECSQL-FLAG
FCDREG
PREPROCESS, P
REWRITE-LS
SEQCHK
SOURCEFORMAT
LOCALSOURCEFORMAT
SQL
XMLPARSE
Compiler Control
Compiler Control - Compile/Link Files
CANCELLBR
CONVSPACE
COPYEXT
COPYLBR
COPYPATH
DATA-CONTEXT
EOF-1A
GNTLITLINKSTD
IDYSRCPATH (deprecated)
IGNOREEXEC
INC-FORMAT
INT
INTLEVEL
JVMGEN
KEYCHECK
NULL-ESCAPE
OSEXT
P64
PREPROCESS, P
PROGID-INT-NAME
PROTOTYPE
RDFPATH
REPOSITORY
SHOWPERFORMOVERLAP
SOURCETABSTOP
UNICODE
Compiler Control - Directives Control
COBOLDIR
CONFIRM
DEFINE
DIALECT
ACU DIALECT setting
ANS85 DIALECT setting
BS2000 DIALECT setting
BS2000-OFFLOAD DIALECT setting
COBOL370, COBOL371 and COBOL372 DIALECT settings
DOSVS DIALECT setting
ENTCOBOL DIALECT setting
ISO2002 DIALECT setting
MF DIALECT setting
MVS DIALECT setting
OS390 DIALECT setting
OSVS DIALECT setting
RM DIALECT setting
VSC21 and VSC22 DIALECT settings
VSC23 and VSC24 DIALECT settings
DIRECTIVES, DIR
DIRECTIVES-IN-COMMENTS
SETTING, SETTINGS
SHOW-DIR
USE
Compiler Control - Error and Flag Messages
BRIEF
CHANGE-MESSAGE
ERRFORMAT
ERRLIST
ERRQ
FLAG
FLAGAS
FLAGEUC
FLAGMIG
FLAGQ
FLAGSINEDIT
FLAGSTD
HIDE-MESSAGE
IMPLICITSCOPE
INFORETURN
MAX-ERROR
MOVE-LEN-CHECK
QUERY
RESTRICT-GOTO
STDERR
WARNING, WARNINGS
Compiler Control - Listing
COPYLIST
COPYLISTCOMMENT
DATAMAP
DATE
ERRLIST
FORM
LINE-COUNT
LIST
LISTPATH
LISTWIDTH, LW
MFCOMMENT
PREPLIST
PRINT
RAWLIST
REF
REFNO
RESEQ
SEQCHK
SETTING, SETTINGS
SHOW-DIR
TIME
VERBOSE
XREF
ZEROSEQ
Compiler Control - Screen
BELL
CONFIRM
ECHO
ECHOALL
SUPFF
Compiling for Debugging and Analysis
ANIM
COBIDY
COLLECTION
FLAGSINEDIT
PROFILE
TESTCOVER
TRACE
File Handling
ANS85
ASSIGN-PRINTER
ASSIGN
AUTOLOCK
CALLFH
CALL-RECOVERY
CALLSORT
COBFSTATCONV
DATACOMPRESS
DETECT-LOCK
FCDCAT
FDCLEAR
FILESHARE
FILETYPE
HOSTCONTZERO
HOSTFD
IDXFORMAT
IXNLSKEY
IXNUMKEY
KEYCHECK
KEYCOMPRESS
LOCKTYPE
OLDREADINTO
OPTIONAL-FILE
PRESERVECASE
PRINT-EXT
RDW
RECMODE
RETRYLOCK
REWRITE-LS
SEQUENTIAL
SORTTYPE
WRITELOCK, WRITE-LOCK
WRITETHROUGH, WRITETHRU
JVM COBOL Command Line Compiler Directives
Application Directives
DOTNET
ILASSEMBLY
ILGEN
ILMAIN
ILNAMESPACE
ILOUTPUT
Code Generation Directives
ILARRAYPROPERTY
ILCLR
ILCONDITIONPARAM
ILCUTPREFIX
ILDOC
ILDYNCALL
ILEXPONENTIATION
ILEXPOSEALPHA
ILEXPOSEGROUP
ILNATIVE
ILNORMALIZENAMES
ILOBJECTIFY (deprecated)
ILOPTIMIZEDATA
ILPARAMS
ILREF
ILSHOWPERFORMOVERLAP
ILSMARTLINKAGE
ILSMARTNEST
ILSMARTRESTRICT
ILSMARTSERIAL
ILSMARTTRIM
ILSTATIC
ILSTRINGLOAD
ILTARGET
ILVERIFY
JVMDECIMAL
Reference, Resource and Namespace Directives
ILICON
ILNATIVERESOURCE
ILPINVOKE
ILREF
ILRESOURCE
ILSOURCE
ILSTACKSIZE
ILUSING
JVMCLASSPATH
JVMTARGET
MANAGED-FNC-PARAM-BY
Strong Naming Directives
ILDELAYSIGN
ILKEYFILE
ILKEYNAME
Identity, Information and Manifest Directives
ILCOMPANY
ILCOPYRIGHT
ILCULTURE
ILDESCRIPTION
ILFILEVERSION
ILMANIFEST
ILPRODUCT
ILPRODUCTVERSION
ILTITLE
ILTRADEMARK
ILVERSION
Object Code, Size, and Optimization
Object Code - External Handlers
CALLFH
CALLSORT
Object Code - File Handling
WRITETHROUGH, WRITETHRU
Object Code - Interprogram Communication
LITLINK
LITVAL-SIZE
RTNCODE-SIZE
PPLITLINK
Object Code - Size and Speed
CHECK
FASTCALL
FASTINIT
FIXOPT
LINKCHECK
LNKALIGN
OPT (Intel x86 platforms)
OPT (Non-Intel x86 platforms)
PARAMCOUNTCHECK
RECURSECHECK
SCHEDULER
SEG
Report Writer
REPORT-LINE
RWHARDPAGE
Reserved Directives
CANCEL
CSI
FASTSORT
FCD3
P64
Run-time Behavior
Run-time Behavior - General
ACCEPTREFRESH
ASSIGN-PRINTER
ASSIGN
BWZSTAR
CHARSET
CHECKDIV
CHECKNUM
COBFSTATCONV
COMMAND-LINE-LINKAGE
CONVERTRET (deprecated)
CURRENCY-SIGN
CURRENT-DATE
DATA
DEFAULTBYTE
DEFAULTCALLS
DETECT-LOCK
DISPLAY
DISPLAY-AT
DISPLAY-PICU
EBC-COL-SEQ
EXITPROGRAM
FOLD-CALL-NAME
FOLD-COPY-NAME
HOSTARITHMETIC
INDD
INITIAL
INIT-BY-TYPE
INITCALL
INITPTR
INTDATE
IXNLSKEY
IXNUMKEY
LOCKTYPE
METHODDEFAULT
NATIVE
NLS
NLS CURRENCY LENGTH
OUTDD
PRINT-EXT
PROTECT-LINKAGE
SHARE-OUTDD
STICKY-LINKAGE
TERMPAGE
ZEROLENGTHFALSE
ZWB
Run-time Behavior - Arithmetic
ARITHMETIC
BINLIT
COMP-5
COMP-6
HOSTARITHMETIC
NATIVE-FLOATING-POINT
SIGNDISCARD
TRUNC
Run-time Behavior - Mainframe Compatibility
ADV
AMODE
BYTE-MODE-MOVE
DATA
DIALECT
ACU DIALECT setting
ANS85 DIALECT setting
BS2000 DIALECT setting
BS2000-OFFLOAD DIALECT setting
COBOL370, COBOL371 and COBOL372 DIALECT settings
DOSVS DIALECT setting
ENTCOBOL DIALECT setting
ISO2002 DIALECT setting
MF DIALECT setting
MVS DIALECT setting