extend Interoperability Suite
ACUCOBOL-GT Version 10.3.1 Getting Started Guide
Product Information
Copyright Statement
extend System Requirements
Micro Focus End User License Agreement
Windows Installation
License Files for Windows
The Activator Utility
Changing or Updating a Windows License File
Installation on Windows Platforms
Supported Windows Platforms
Installation Steps
Silent Installation
Product Variables for Silent Installation
Windows 64-bit Installations
Installation Notes
BIN-REDIST and REDIST Installation Directories
Uninstalling or Modifying Your Installation
Launching extend Products on Windows 8 or Later
Compiling Your Programs
Running Your Programs
Printing and Spooler Issues
Spooler Formatting
-P SPOOLER
-Q <printername>
Direct Control
Printing Multiple Jobs Simultaneously
UNIX Installation
License Files for UNIX
The Activator Utility
Changing or Updating Your UNIX License Files
Installation Under UNIX
Installation Process
SHARED_LIBRARY_PREFIX Configuration Variable
Configuring Your Terminals
TERM Variable
Terminal Database
Known Errors and Restrictions
Micro Focus Services and Solutions
Contacting Micro Focus
Further Information and Product Support
Information We Need
Training
Consulting Services
Getting Started
Installation and License File Basics
Requirements
License Files for extend Products
License file names
Sample, Definition, and DLL Files
Sample Programs
Definition Files
DLL Files
License Management
Using Multiple Versions of ACUCOBOL-GT
Evaluation License Files
License Management for ISVs
Licensing Requirements
The Activator Utility
Distributing License Files to your Customers
Including the License File in Your Distribution
Distributing extend Products and License Files
License Management with CGI on the Internet
Multiple-User License File Management
Updating the User Limit
Acushare License File Management for UNIX and Linux
AcuServer License Management
How Acushare License Management Works
Starting and Stopping acushare
-start
-kill
Troubleshooting
Debugging an Invalid License Host Error
Identifying a Machine Key Mismatch
Tracing a License File
Questions & Answers
ACUCOBOL-GT Version 10.3.1 Documentation Set
ACUCOBOL-GT User's Guide
Introduction
ACUCOBOL-GT Documentation
Product Overview
Portability and Compatibility
Native Instructions
The ACUCOBOL-GT Runtime
Windows Console Runtime
Run-Time Configuration
Graphical Technology
File System Flexibility
Complementary Technologies
Document Overview
User's Guide
User Interface Programming
Reference Manual
Appendices
Getting Started
ACUCOBOL-GT Run-Time Manual
extend Product Guides
Transitioning to ACUCOBOL-GT
A Guide to Interoperating with ACUCOBOL-GT
A Programmer's Guide to the Internet
Related Documents
Supported Hardware
Native Code Supported Processors
Environment Variables
Environment Variables for Handling Temporary Files
Troubleshooting
Handling Compilation Problems
Handling Program Execution Problems
Using the Debugger
Using File Trace
Using Screen Trace
Working with your Technical Support Representative
Notation
Compiler and Runtime
Introduction
Using the Compiler
Standard Options
Native Code Options
Listing Options
Internal Tables Options
Compatibility Options
Interoperability Options
.NET Development Options
Compiler File Options
Source Options
Reserved Word Options
Data Storage Options
Truncation Options
Video Options
Warning and Error Options
Debugging Options
Mapping Options
Conditional Compilation Options
Miscellaneous Options
Upper and Lower Case
File Name Handling
Remote File Name Handling
CBLFLAGS Environment Variable
Help, Version Information, and Communication With C Programs
The ">>IMP" Directive
Specifying an Alternate Data Alignment
Forcing Compilation of ANSI or Terminal Format Files
Using the Runtime System
Runtime Options
Compatibility Modes
Source Formats
COPY Libraries
Resource Files
General Rules for Resources
Source Code Control
Run-Time Configuration
File Name Assignments
Code and Data File Search Paths
File Status Codes
Terminal Handling Options
File Handling Options
Sort Files
Carriage Control
Device Locking
File Name Interpretation
File Names Starting With a Hyphen
File Name Examples
Example 1: Default Name Handling
Example 2: Accessing Printers
Assigning Files to Local Printers
Calling Subprograms
CALL
Recursive CALLs
CANCEL
CHAIN
Alternate ENTRY Points
Reducing the Size of the runtime
acushare Utility Program
Using Shared Memory
Indicating Programs to Share
Using acushare
acushare -start
Automatic Startup at System Boot
acushare -kill
acushare -clean
acushare -version
acushare (with no options)
acushare Errors
General Preprocessor Interface
Use of Preprocessors
Calling a Preprocessor
Preprocessor Written in ACUCOBOL-GT
Calling Two or More Preprocessors
Compiler Options Forwarded to Preprocessors
Calling a Preprocessor Without the Compiler
AcuSQL Pre-compiler
Compatibility with ACUCOBOL-GT general preprocessor interface
Calling the AcuSQL pre-compiler
Writing a Preprocessor
Command-line options
Line and File Directives
Error Messages
Debugger and Utilities
Run-Time Debugger
General Debugging Information
Source Debugging
Symbolic Debugging
Low-Level Debugging
Debugging in Background Mode
The Abend Diagnostic Report
Entering the Debugger
Cursor and Mouse Handling in Source-level Debugging
Debugger Commands
Source-level Commands
Other Commands
Multithreading Issues
Getting Help
File Menu
View Menu
Run Menu
Source Menu
Data Menu
Breakpoints Menu
Selection Menu
Help Menu
The Toolbar
File Tracing
File Trace Timestamps
Screen Tracing
Macro Debugger
Specifying Addresses
Variables
Configuration Variables
Program Addresses
Debugger Restrictions
Using the Abend Diagnostic Report (ADR)
Generating a Report
Configuration Variables
ADR Restrictions
Object File Utility - cblutil
Object Libraries
Creating Object Libraries
Examples
Creating Remote Object Libraries
Examples
Getting Object Information
Generating Native Code
Vision File Utility - vutil
Examining File Information
Testing File Integrity
Modifying Keys in an Existing File
Rebuilding Files
Resetting User Counts
Resetting Internal Revision Number
Extracting Records From a File
Recovering Deleted Records
Creating Empty Files
Responding to vutil Generated Prompts
Collating Sequence
Specifying File Attributes in Advance
Indexed Format
Sequential and Relative Files
Unloading to Binary and Line Sequential Format
Loading a File
File Size Summary Report
Converting RMCOBOL-85 Indexed Files
Converting C-ISAM Files
Converting Micro Focus Files
Changing Record Size
Setting the Comment Field
Testing for Vision File Locking Compatibility
Miscellaneous Commands
Default Settings of vutil
File Transfer Utility - vio
vio Options
Windows Considerations
vio Examples
Known Limitations
Indexed File Record Editor (alfred)
logutil
Syntax and Options
logutil Report Headings
The Profiler
Using the Profiler
Configuring the Profiling Tools
PROFILE_TYPE Runtime Configuration Variable
Configuring Profiler Behavior
Configuring acuprof
Understanding the Report
Understanding the XML Data File
Structure of the Raw Report File
The Runtime Level
The Program Level
The Paragraph level
External Sort Utility AcuSort
AcuSort Command Format
AcuSort Instructions
CHAR-ASCII and SIGN-ASCII
CHAR-EBCDIC and SIGN-EBCDIC instructions
SORT/MERGE Instructions
USE/GIVE instructions
KEY Structure
USE/GIVE Example
INCLUDE/OMIT Instructions
INCLUDE/OMIT Samples
AcuSort Code Sample
AcuSort Environment Variables
Remote Preprocessing Utility Boomerang
License Requirements and Installation
Server Setup and Configuration
Step 1: Creating an Alias File
Pro*COBOL Alias Example
CICS Alias Example
UniKix Alias Example
DB2 Alias Example
Step 2: Creating a Configuration File
Step 3: Creating an Access File
Step 4: Starting the Server
Server Commands
Client-side Operation Remote Precompiling
Remote Precompiling
Client Commands
Working with INCLUDE files
Terminal Manager
How the Terminal Manager Works
Terminal Manager Functions
Alternate Terminal Manager
Getting Your Terminals Ready
Step One: Terminal Identification
Step Two: Terminal Definition
Windows Special Considerations for Terminal Manager
Step Three: Configuration Variables
The Keyboard Interface
Key Mapping
Key Interpretation
Key Translation
Keyboard Configuration
Note to RMCOBOL-85 Users
Redefining the Keyboard
The KEYBOARD Variable
AUTO-RETURN=value
CASE=value
CHECK-NUMBERS=value
CURSOR-PAST-END=value
DATA-RANGE=value
EXCEPTION-RANGE=value
IMPLIED-DECIMAL=value
RM-2-DEFAULT-HANDLING=value
SCREEN-DEFAULT=value
The KEYSTROKE Variable
AT-END=value
DATA=value
EDIT=value
EXCEPTION=value
HOT-KEY=value
INVALID=value
TERMINATE=value
Table of Keys
Additional Windows Keys
User-defined keys
Keys that Cannot be Defined
Special Keys
Arrow Keys
Backspace vs. Left Arrow
Interrupt Key
Default Keyboard
Keyboard Modification Examples
The Display Interface
Adding Color
The SCREEN Option
ALPHA-UPDATES=value
CONVERT-OUTPUT=value
EDITED-UPDATES=value
ERROR-BELL=value
ERROR-BOX=value
ERROR-COLOR=value
ERROR-LINE=value
FORM-FEED=value
INPUT-DISPLAY=value
INPUT-MODE=value
JUSTIFY=value
NUMERIC-UPDATES=value
PROMPT=value
PROMPT-ALL=value
PROMPT-ATTR=value
REFRESH-LINES=value
REFRESH-MODE=value
SHADOW-STYLE=value
SIZE
WINDOW=value
SCREEN Examples
Additional Configuration Variables
AUTO_PROMPT
BELL
HOT_KEY
MONOCHROME
RESTRICTED_VIDEO_MODE
SCROLL
WRAP
Double-Byte Character Handling
Restricted Attribute Handling
Restricted Video Modes
Restrictions
The Terminal Database File
Required Functions
Additional Screen Functions
Video Attributes
Color
One-color terminals
Function Keys and Other Keys
User-defined keys
Line Drawing
Multi-character Sequences for Graphics
Graphical Window and Control Emulation
Reconstructing the Screen
Mouse Support for X Terminals
Initialization
Numeric Mode
Print Functions
Pass Through Mode
Continued Entries
File Processing
Transaction Management
Overview of Transaction Management
Transaction logging
File types
Features
The Transaction Logging Process
Transaction Management Verbs
Extended Locking Rules
Special handling of implicit transactions
Logging and Rollback of File Update Operations
Multiple Log Files
Configuration Variables
Transaction Error Handling
Compiler File Options
Recovery
Transaction logging and recovery with AcuServer
AcuServer
Product Requirements
Remote Name Notation
XFD Files
Understanding how the XFD File is Formed
Defaults Used in XFD Files
KEY IS phrase
RENAMES clause
REDEFINES clause
Multiple record definitions
Group items
FILLER data items
OCCURS clauses
Summary of dictionary fields
Identical field names
Long field names
Naming the XFD
Examples of XFD names
Using Directives
Important for Acu4GL and AcuXML sites
Directive Syntax
ALPHA Directive
BINARY Directive
COBOL-TRIGGER Directive
IDENTITY-COLUMN Directive
COMMENT Directive
DATE Directive
FILE Directive
NAME Directive
NUMERIC Directive
SECONDARY-TABLE Directive
SUBTABLE Directive (AcuXDBC use only)
USE GROUP Directive
VAR-LENGTH Directive
WHEN Directive
XSL Directive
XFD Format
Identification Section
Key Section
Condition Section
Field Section
International Character Handling
Files Required for Translation
Programmer's Guide
Handling Files
Sequential Files
Relative Files
Indexed Files - Vision
Segment Naming of Vision 6 Files
Segment Naming of Vision 4 and 5 Files
Method One: The Format Method
Method Two: The Default Method
Overriding Individual Segment Names
Selecting the Vision Version
Keys
Other Vision Features
Record Locking
Device Locking Under UNIX
Indexed File Considerations
Compression
Mass Update
Bulk Addition Mode for Vision
Using Bulk Addition
Effect on COBOL Rules
Duplicate Key Handling
Progress Reporting
Bulk Addition and AcuServer
Using Bulk Addition with Transactions
Performance Tips
Summary
Performance Considerations
Limits on Open Files
Terminal IO
Performance Considerations
Terminal Manager Restrictions
Memory Management
CANCEL
CANCEL ALL
INITIAL Clause
RESIDENT Clause
Other Memory Management Tools
External Data Items
Memory Testing and Error Handling
Memory Access Violations
Logging Errors to the Runtime's Error File
Run-Time Memory Tracking and Testing
Memory Handling Descriptions
Memory Tracking
Memory Bounds Checking
Screen Section
Advantages
Structure
Syntax
Comparison to Field-level
Field-level ACCEPT & DISPLAY
Form-level DISPLAY and ACCEPT (Screen Section)
Using Screen Section Embedded Procedures
Data Validation
Exiting From ACUCOBOL-GT Programs
Multiple Execution Threads
Thread Fundamentals
LAST THREAD
Data Sharing Among Threads
LOCK THREAD and UNLOCK THREAD
Thread Communication
SEND and RECEIVE
Thread Priorities
Threading Rules that Affect Windows and ACCEPT Statements
Thread Pausing
Multithreading and Multiprocessor Systems
Thread Interaction With Run Units
Working with External Sort Modules on UNIX
Before Using an External Sort Module
Linking in a Third-Party Sort Module
ACUCOBOL-GT User Interface Programming
Introduction
Overview of User Interface Features
Floating Windows and Graphical Controls
Automatic GUI Runtime Support
Developing Programs for Graphical Systems
Event-driven Environments
Configuration and Programming Support
Index to Related Topics
GUI Development with Third-party Kits and Tools
Windowing Concepts
ACUCOBOL-GT Window Types
Creating Portable User Interfaces
Incompatibilities Between Graphical and Character Systems
Strategies for Supporting Multiple Systems
Dual Interface, Dual Code
Single Interface, Single Code
Dual Interface, Single Code
Selecting the Right Approach
Determining Which UI is Running
Tips for Solving Cross-Platform Interface Problems
Establishing the Initial Window
Tips for Building Single-interface Programs
Tips for Building Dual-interface Programs
GUI Development Project Issues
Extent of the Interface Changes
Suitability of the Current UI to Conversion
Recommendations
Conversion Wizard
Sample Programs
Floating Windows
Overview of Floating Windows
Relationship Between Floating Windows and Subwindows
Active and Current Windows
Parent and Child Windows
Creating, Inquiring, Modifying, and Destroying Windows
Menus and Floating Windows
Graphical Controls
Overview of Graphical Controls
Visual Styles and Differences Among Operating Systems
Control Types Handles and IDs
Interaction Between Controls and Windows
Creating, Inquiring, Modifying, and Destroying Windows
The Character Coordinate Phrases
Controls and the Mouse
Bitmap Buttons
Drawing the Image
Loading Bitmaps
Creating the Button
Pop-up Hints
Portability
Paged List Boxes
Creating a Paged List Box
Adding Records to a Paged List Box
Other List Box Operations
Scroll Bars in Text-mode Environments
Paged List Box Event Handling
Paged List Box Example
Paged Grids
Supporting Concepts and Related Issues
Handles
Events
Graphical vs Textual Modes
Styles and Special Properties
Methods
ActiveX Example
.NET Example
Coordinates
Coordinate Handling
Coordinate Space Problems
Coordinate Space Solutions
Fonts
Layout Managers
Working with Layout Managers
Attaching a Layout Manager to a Window
Setting LAYOUT-DATA
Minimum and Maximum Control Dimensions
The Resize Layout Manager
Resize Manager LAYOUT-DATA Values
Control Types Reference
The Components of a Control
Type
Handle
Properties
Common Properties
Style
Special Properties
Control Components Diagram
Global Styles
NO-TAB
PERMANENT
TEMPORARY
HEIGHT-IN-CELLS
WIDTH-IN-CELLS
OVERLAP-LEFT
OVERLAP-TOP
Control Types
ActiveX
Common Properties
Special Properties
Events
Bar
Common Properties
Special Properties
Events
Bitmap
Common Properties
Special Properties
Events
Check Box
Common Properties
Special Properties
Events
Examples
Combo Box
Common Properties
Special Properties
Events
Using Special Keys
Examples
Date Entry
Common Properties
Special Properties
Examples
Entry Field
Common Properties
Special Properties
Events
Using Special Keys
Examples
Frame
Common Properties
Special Properties
Events
Examples
Grid
Common Properties
Special Properties
ACTION (alphanumeric)
ACTION-HIDE-DRAG
ALIGNMENT (alphanumeric)
BITMAP (numeric)
BITMAP-NUMBER (numeric)
BITMAP-TRAILING (numeric)
BITMAP-WIDTH (numeric)
CELL-COLOR (numeric)
CELL-DATA (alphanumeric)
CELL-FONT (numeric)
CELL-PROTECTION (numeric)
COLUMN-COLOR (numeric)
COLUMN-DIVIDERS (numeric)
COLUMN-FONT (numeric)
COLUMN-PROTECTION (numeric)
CURSOR-COLOR (numeric)
CURSOR-FRAME-WIDTH (numeric)
CURSOR-X (numeric)
CURSOR-Y (numeric)
DATA-COLUMNS (numeric)
DATA-TYPES (alphanumeric)
DISPLAY-COLUMNS (numeric)
DIVIDER-COLOR (numeric)
DRAG-COLOR (numeric)
END-COLOR (numeric)
ENTRY-REASON (alphanumeric)
FILE-POS (numeric)
FINISH-REASON (signed integer)
HEADING-COLOR (signed integer)
HEADING-DIVIDER-COLOR (numeric)
HEADING-FONT (numeric)
HIDDEN-DATA (alphanumeric)
HSCROLL-POS (numeric)
INSERT-ROWS (numeric)
INSERTION-INDEX (numeric)
LAST-ROW (numeric)
MASS-UPDATE (numeric)
NUM-COL-HEADINGS (numeric)
NUM-ROWS (numeric)
NUM-ROW-HEADINGS (numeric)
RECORD-DATA (alphanumeric)
RECORD-TO-ADD (alphanumeric)
RECORD-TO-DELETE (numeric)
REGION-COLOR (numeric)
RESET-GRID (numeric)
ROW-COLOR (numeric)
ROW-COLOR-PATTERN (numeric)
ROW-DIVIDERS (numeric)
ROW-FONT (numeric)
ROW-PROTECTION (numeric)
SEARCH-OPTIONS (alphanumeric)
SEARCH-TEXT (alphanumeric)
SEPARATION (numeric)
SORT-COLUMN (numeric)
SORT-TYPES (alphanumeric)
START-X (numeric)
START-Y (numeric)
VIRTUAL-WIDTH (numeric)
VPADDING (numeric)
VSCROLL-POS (numeric)
X (numeric)
Y (numeric)
Events
Label
Common Properties
Special Properties
Events
Examples
List Box
Common Properties
Special Properties
ITEM-TO-ADD (alphanumeric)
RESET-LIST (numeric)
MASS-UPDATE (numeric)
ITEM-TO-DELETE (numeric)
INSERTION-INDEX (numeric)
SEARCH-TEXT (alphanumeric)
DATA-COLUMNS (numeric)
DISPLAY-COLUMNS (numeric)
ALIGNMENT (alphanumeric)
SEPARATION (numeric)
DIVIDERS (numeric)
SELECTION-INDEX (numeric)
THUMB-POSITION (numeric)
QUERY-INDEX (numeric)
ITEM-VALUE (alphanumeric)
TERMINATION-VALUE (numeric)
EXCEPTION-VALUE (numeric)
SORT-ORDER (numeric)
Events
Using Special Keys
Examples
.NET
Common Properties
Special Properties
Events
Push Button
Common Properties
Special Properties
Events
Examples
Radio Button
Common Properties
Special Properties
Events
Examples
Scroll Bar
Common Properties
Special Properties
Events
Status Bar
Common Properties
Special Properties
Array and index modes
Sequence order
Events
Tab
Common Properties
Special Properties
Events
Programming Tips
Tree View
Common Properties
Special Properties
BITMAP-HANDLE (numeric)
BITMAP-NUMBER (numeric)
BITMAP-WIDTH (numeric)
ENSURE-VISIBLE (numeric)
EXPAND (numeric)
HIDDEN-DATA (alphanumeric)
HAS-CHILDREN (numeric)
ITEM (numeric)
ITEM-TEXT (alphanumeric)
ITEM-TO-ADD (alphanumeric)
ITEM-TO-DELETE (numeric)
ITEM-TO-EMPTY (numeric)
NEXT-ITEM (numeric)
PARENT (numeric)
PLACEMENT (numeric)
RESET-LIST (numeric)
Events
Web Browser
Common Properties
Special Properites
CUSTOM-PRINT-TEMPLATE (alphanumeric)
PRINT (numeric)
PRINT-NO-PROMPT (numeric)
PAGE-SETUP (numeric)
PRINT-PREVIEW (numeric)
COPY-SELECTION (numeric)
CLEAR-SELECTION (numeric)
SAVE-AS (numeric)
SAVE-AS-NO-PROMPT (alphanumeric)
FILE-NAME (alphanumeric)
PROPERTIES (numeric)
SELECT-ALL (numeric)
Other Properties
Events
Events Reference
Overview of Events
Window Events
Control Events
CMD-CLICKED (value 4)
CMD-DBLCLICK (value 5)
CMD-GOTO (value 3)
CMD-HELP (value 8)
CMD-TABCHANGED (value 7)
MSG-AX-EVENT (value 16436)
MSG-BEGIN-DRAG (value 16406)
MSG-BEGIN-ENTRY (value16392)
MSG-BITMAP-CLICKED (16400)
MSG-BITMAP-DBLCLICK (event 16401)
MSG-BEGIN-HEADING-DRAG (value 16408)
MSG-CANCEL-ENTRY (value 16394)
MSG-COL-WIDTH-CHANGED (value 16410)
MSG-END-DRAG (value 16407)
MSG-END-HEADING-DRAG (value 16409)
MSG-FINISH-ENTRY (value16393)
MSG-GOTO-CELL (value 16395)
MSG-GOTO-CELL-DRAG (16404)
MSG-GOTO-CELL-MOUSE (value 16396)
MSG-GRID-RBUTTON-DOWN (value 16426)
MSG-GRID-RBUTTON-UP (value 16427)
MSG-HEADING-CLICKED (value 16402)
MSG-HEADING-DBLCLICK (value 16403)
MSG-HEADING-DRAGGED (value 16405)
MSG-NET-EVENT (value 16437)
MSG-PAGED-FIRST (16423)
MSG-PAGED-LAST (value 16424)
MSG-PAGED-NEXT (value 16419)
MSG-PAGED-NEXTPAGE (value 16421)
MSG-PAGED-NEXT-WHEEL (value 16439)
MSG-PAGED-PREV (value 16420)
MSG-PAGED-PREVPAGE (value 16422)
MSG-PAGED-PREV-WHEEL (value 16438)
MSG-SB-NEXT (value 16385)
MSG-SB-NEXTPAGE (value 16387)
MSG-SB-PREV (value 16386)
MSG-SB-PREVPAGE (value 16388)
MSG-SB-THUMB (value 16389)
MSG-SB-THUMBTRACK (value 16390)
MSG-SPIN-DOWN (value 16417)
MSG-SPIN-UP (value 16416)
MSG-TV-BEGINEDITLABEL (value 16440)
MSG-TV-ENDEDITLABEL (value 16441)
MSG-TV-DBLCLICK (value 16428)
MSG-TV-EXPANDED (value 16414)
MSG-TV-EXPANDING (value 16413)
MSG-TV-SELCHANGE (value 16412)
MSG-TV-SELCHANGING (value 16411)
MSG-VALIDATE (value 16391)
MSG-WB-BEFORE-NAVIGATE (value 16429)
MSG-WB-DOWNLOAD-BEGIN (16431)
MSG-WB-DOWNLOAD-COMPLETE (value 16432)
MSG-WB-NAVIGATE-COMPLETE (value 16430)
MSG-WB-PROGRESS-CHANGE (value 16433)
MSG-WB-STATUS-TEXT-CHANGE (16434)
MSG-WB-TITLE-CHANGE (value 16435)
NTF-CHANGED (value 4100)
NTF-PL-FIRST (value 4105)
NTF-PL-LAST (value 4106)
NTF-PL-NEXT (value 4101)
NTF-PL-NEXTPAGE (value 4103)
NTF-PL-NEXT-WHEEL (value 4109)
NTF-PL-PREV (value 4102)
NTF-PL-PREV-WHEEL (value 4108)
NTF-PL-PREVPAGE (value 4104)
NTF-PL-SEARCH (value 4107)
NTF-SELCHANGE (value 4099)
Menu Events
Using the Mouse
Mouse Properties
Mouse Action Ownership
How Mouse Actions Are Handled
Mouse Exception Processing
Assigning Results to Mouse Actions
Unmasking Mouse Actions
Automatic Mouse Handling
Screen Section Behavior
W$MOUSE Library Routine
Menu Bars and Pop-up Menus
Menus Overview
Generic Menu Handler
Static Menu Bars
Pop-up Menu Bars
Submenus
Graphical Menu Facilities
Overview of Menu Handling
Properties of Menu Entries
Creating Menus - the Shortcut
Using genmenu
Menu Activation and Use
Defining Menu Keys
Menu Input
Function Key Handling
Menu Selection Limits
Changing Menu Results
Common Menu Operations
Disabling Menu Items
Checking Menu Items
Disabling an Entire Menu
Menu Configuration With the Generic Menu Handler
Pop-up Menus
Menu Handling: Sample Code
System Menu Close Handling Under Windows
Portability Concerns
Menu Bar Sample Programs
Color Mapping
Overview of Color Choices
Simplified Mapping Approach
Controlling the Color Mapping
COLOR_MODEL Settings
COLOR_MODEL Settings 1 and 2
COLOR_MODEL Settings 3 and 4
COLOR_MODEL Settings 5 and 6
COLOR_MODEL Settings 7 and 8
COLOR_MODEL Settings 9 and 10
COLOR_TABLE Settings
Additional Color Configuration Variables
Step 1: Assign Initial Colors
Step 2: Assign Initial Attributes
Step 3: Transform Colors
Step 4: Transform Intensities
ActiveX Color Settings
Miscellaneous Window Options
Background Brush Color
Drawing 3-D Lines
Help Automation
Introduction to Help Automation
HELP-ID
Help Modes
The Help Processor
Windows Help
Mapping Context IDs
Tips and Hints
Regarding Windows
Regarding Controls
Regarding Fonts
Regarding Configuration Variables
Regarding Debugging
UI Terminology
active window
ActiveX
ActiveX control
application window
bar
bitmap
border
buttons
character-based display
check box
child window
client area
close box
combo box
control
control border
control type
current window
cursor
data entry field
desktop
dialog box
display area
document window
drop-down list box
entry field
event
event-driven
floating window
frame
Graphical User Interface System (GUI System)
grid
group box
hot spot
icon
initial window
label
list box
main application window
menu bar
message box
method
minimize/maximize buttons
mnemonic keys
modal window
modeless window
multi-line entry field
parent window
pointer
pointing device
pop-up menu
pop-up window
pull-down menu
push button
radio button
screen
scroll bar
selection box
static text field
subwindow
system menu
tab
text box
thread
title
title bar
toolbar
widget
window
window frame
ACUCOBOL-GT Reference Manual
Introduction
Overview of Reference Manual
Conventions
Upper-case and Special-character Words
Lower-case Words
Brackets Braces and Vertical Bars
Ellipses
Shading
Acknowledgment
Program Structure
Language Elements
COBOL Words
User-defined Words
Literals
Numeric Literals
Nonnumeric Literals
Figurative Constants
Picture Strings
Separators
Comment Entries
Source Format
ANSI Format
Terminal Format
Line Continuation
Blank Lines and Comment Lines
Compiler Compatibility Modes
ANSI ACCEPT and DISPLAY Verbs
Source Management Statements
COPY Statement
++INCLUDE Statement
REPLACE Statement
Conditional Compilation
$DISPLAY Statement
$END Statement
$ELSE Statement
$IF Statement
$SET Statement
Program Organization
Program Elements
Division Header
Section Header
Paragraph Header
Clauses and Entries
Statements
Sentences
Identification Division
Identification Division
PROGRAM-ID Paragraph
Environment Division
Environment Division
Configuration Section
Source-Computer Paragraph
Object-Computer Paragraph
Special-Names Paragraph
Input-Output Section
File-Control Paragraph
I-O-Control Paragraph
Data Division
Data Structures
Record Description
Level-Numbers
Classes of Data
Standard Alignment Rules
Table Handling
Large Data Handling
File Types
Floating-Point Data
Using Floating-Point Data
Data Names
Qualification
Subscripting
Reference Modification
Condition-Name Level 88
RECORD-POSITION
Data Division Format
File Section
File Description Entry
Sort File Description Entry
IS EXTERNAL Clause
BLOCK CONTAINS Clause
RECORD Clause
LABEL RECORDS Clause
VALUE OF LABEL Clause
VALUE OF FILE-ID Clause
CODE-SET Clause
DATA RECORDS Clause
LINAGE Clause
WORKING-STORAGE Section
LINKAGE Section
Record Description Entry
Data Description Entry
Level-number
The data-name or FILLER Clause
REDEFINES Clause
IS EXTERNAL Clause
IS SPECIAL-NAMES Clause
IS EXTERNAL-FORM Clause
PICTURE Clause
USAGE Clause
SIGN Clause
OCCURS Clause
SYNCHRONIZED Clause (ACUCOBOL-GT)
JUSTIFIED Clause
BLANK WHEN ZERO Clause
VALUE Clause
RENAMES Clause
Screen Section
Screen Description Entry
PICTURE FROM TO and USING Clauses
VALUE Clause
OCCURS Clause
LINE Clause
COLUMN Clause
PROCEDURE Clause
Procedure Division
Organization
Statements and Sentences
Scope of Statements
Flow of Control
Arithmetic Expressions
Evaluation of Arithmetic Expressions
ADDRESS OF Phrase in Expressions
Conditional Expressions
Relation Conditions
Comparison of Numeric Operands
Comparison of Nonnumeric Operands
Class Condition
Sign Condition
Condition-Name Condition
Switch-Status Condition
Complex Conditions
Combined Conditions
Order of Evaluation
Abbreviated Combined Relation Conditions
Common Statement Rules
Arithmetic Operations
Multiple Receiving Fields
ROUNDED Option
SIZE ERROR Option
CORRESPONDING Option
Unpredictable Results
I/O Status
AT END and INVALID KEY Phrases
Common Screen Options
AUTO Phrase
BACKGROUND-HIGH, BACKGROUND-LOW, and BACKGROUND-STANDARD Phrases
BELL Phrase
BLINK Phrase
CCOL, CLINE, CLINES, and CSIZE Phrases
COLOR Phrase
COLUMN NUMBER Phrase
CONTROL Phrase
CONVERT Phrase
DEFAULT Phrase
ECHO Phrase
ENABLED Phrase
ERASE Phrase
EVENT-LIST, AX-EVENT-LIST, EXCLUDE-EVENT-LIST Phrases
FONT Phrase
FOREGROUND-COLOR and BACKGROUND-COLOR Phrases
FOREGROUND-RGB and BACKGROUND-RGB Phrases
FULL Phrase
HELP-ID Phrase
HIGH, LOW, and STANDARD Phrases
IDENTIFICATION Phrase
KEY Phrase
LAYOUT-DATA Phrase
LINE NUMBER Phrase
LINES Phrase
MAX-HEIGHT, MAX-WIDTH, MIN-HEIGHT, MIN-WIDTH Phrases
NO ADVANCING Phrase
NO ECHO Phrase
OUTPUT Phrase
PROMPT Phrase
PROPERTY and Property-Name Phrases
REQUIRED Phrase
REVERSED Phrase
SAME Phrase
SCROLL Phrase
SIZE Phrase (with a text entry field)
SIZE Phrase (with Windows and Controls)
STYLE Phrase and Style-Name
TAB Phrase
TITLE Phrase
UNDERLINED Phrase
UPON Phrase
UPPER and LOWER Phrases
VALUE Phrase
VISIBLE Phrase
ZERO-FILL and NUMERIC-FILL Phrases
Procedure Division Format
Procedure Division Statements
ACCEPT Statement
ADD Statement
ALTER Statement
CALL Statement
CANCEL Statement
CHAIN Statement
CLOSE Statement
COMMIT Statement
COMPUTE Statement
CONTINUE Statement
CREATE Statement
DELETE Statement
DESTROY Statement
DISPLAY Statement
DISPLAY src-item
DISPLAY screen-name
DISPLAY WINDOW
DISPLAY SCREEN SIZE
DISPLAY LINE
DISPLAY BOX
DISPLAY UPON WINDOW TITLE
DISPLAY UPON COMMAND LINE
DISPLAY src-item ANSI format
DISPLAY UPON GLOBAL TITLE
DISPLAY FLOATING WINDOW
DISPLAY INITIAL WINDOW
DISPLAY TOOL-BAR
DISPLAY control-type-name
DISPLAY MESSAGE BOX
DISPLAY external-form-item
DISPLAY UPON ENVIRONMENT-NAME
DISPLAY assembly-name
DIVIDE Statement
ENTRY Statement
EVALUATE Statement
EXHIBIT Statement
EXIT Statement
GOBACK Statement
GO TO Statement
IF Statement
INITIALIZE Statement
INQUIRE Statement
INSPECT Statement
LOCK Statement
MERGE Statement
MODIFY Statement
MOVE Statement
MULTIPLY Statement
NEXT SENTENCE Statement
OPEN Statement
PERFORM Statement
READ Statement
RECEIVE Statement
RELEASE Statement
RETURN Statement
REWRITE Statement
ROLLBACK Statement
SEARCH Statement
SEND Statement
SET Statement
SORT Statement
The SORT Statement (for SORT TABLE)
START Statement
STOP Statement
STRING Statement
SUBTRACT Statement
UNLOCK Statement
UNSTRING Statement
USE Statement
WAIT Statement
WRITE Statement
XML GENERATE Statement
XML PARSE Statement
Appendices
Appendix A. Specifications
COBOL Modules
Limits and Ranges
Extensions
Restrictions
Appendix B. Reserved Words
Conventions
Reserved Word List
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Z
Appendix C. Changes Affecting Previous Versions
Changes Affecting Version 10.3.x
Changes Affecting Version 10.2.1
Changes Affecting Version 10.2.0
Changes Affecting Version 10.1.1
Changes Affecting Version 10.1.0
Changes Affecting Version 10.0
Changes Affecting Version 9.0.0
Changes Affecting Version 8.1.2
Changes Affecting Version 8.1.1
Changes Affecting Version 8.1
Changes Affecting Version 8.0
Changes Affecting Version 7.2
Changes Affecting Version 7.1
Changes Affecting Version 7.0
Changes Affecting Version 6.2
Changes Affecting Version 6.1
Changes Affecting Version 6.0
Changes Affecting Version 5.2
Changes Affecting Version 5.1
Changes Affecting Version 5.0
Changes Affecting Version 4.3
Changes Affecting Version 4.2
Changes Affecting Version 4.1
Changes Affecting Version 4.0
Changes Affecting Version 3.2
Changes Affecting Version 3.1
Changes Affecting Version 2.4
Changes Affecting Version 2.3
Changes Affecting Version 2.1
Changes Affecting Version 2.0
Changes Affecting Version 1.5
Changes Affecting Version 1.4
Changes Affecting Version 1.3
Appendix D. Compiler Error Messages
Introduction
List of Errors
Appendix E. File Status Codes
Introduction
Table of Codes
Vision Secondary Error Codes for Error 98s
Transaction Error Codes
IBM DOS/VS Error Codes
Appendix F. Intrinsic Functions
Introduction to Intrinsic Functions
Function Definitions and Returned Values
Function Definitions
ABSOLUTE-VALUE (ABS) Function
ACOS Function
ANNUITY Function
ASIN Function
ATAN Function
CHAR Function
COS Function
COUNT-LEADING Function
COUNT-TRAILING Function
CURRENT-DATE Function
DATE-OF-INTEGER Function
DAY-OF-INTEGER Function
FACTORIAL Function
INTEGER Function
INTEGER-OF-DATE Function
INTEGER-OF-DAY Function
INTEGER-PART Function
INTERVAL-TIMER Function
LENGTH Function
LOG Function
LOG10 Function
LOWER-CASE Function
MAX Function
MEAN Function
MEDIAN Function
MIDRANGE Function
MIN Function
MOD Function
NUMVAL Function
NUMVAL-C Function
ORD Function
ORD-MAX Function
ORD-MIN Function
PRESENT-VALUE Function
RANDOM Function
RANGE Function
REM Function
REVERSE Function
SIN Function
SQRT Function
STANDARD-DEVIATION Function
SUM Function
TAN Function
TRIM Function
UPPER-CASE Function
VARIANCE Function
WHEN-COMPILED Function
Appendix G. Reserved for Future Use
Appendix H. Configuration Variables
Introduction
Variable Syntax
Variable Usage
Configuration Filename Resolution
Nested Configuration Files
Configuration Variables
3D_LINES
7_BIT
A_CHECKDIV
A_DEBUG
A_DISPLAY
A_EXTFH_FUNC
A_EXTFH_LIB
A_EXTFH_SIMPLE_OPEN_OUTPUT
A_EXTFH_VARIABLE_IDX, A_EXTFH_VARIABLE_REL, A_EXTFH_VARIABLE_SEQ
A_JAVA_CHARSET
A_JAVA_GC_COUNT
A_JAVA_TRACE_FILENAME
A_JAVA_TRACE_VALUE
A_LICENSE_RETRIES
A_MESSAGE
A_OPERATING_SYSTEM
A_PRESERVE_SIGNAL_HANDLERS
A_REMOVE_EMPTY_ERROR_FILE
A_RETRY_DELAY
A_SEQ_DEFAULT_BLOCK_SIZE
A_SORT_FILE_MEMORY
A_SORT_REGIONS
A_SORT_REGIONS_FINAL
A_SYSLOG_HOSTNAME
A_SYSLOG_ON_RUNTIME_ERROR
A_TMPDIR
A_XMLIF_ENCODING
A_XMLIF_EXPORT_EMPTY_ARRAY
A_XMLIF_EXPORT_OUTLINE
A_XMLIF_ICONV_NAME
ACCEPT_AUTO
ACCEPT_TIMEOUT
ACTIVE_BORDER_COLOR
ACU_DUMP, ACU_DUMP_FILE, ACU_DUMP_WIDTH, ACU_DUMP_TABLE_LIMIT
ACU_USER_DIR
ACUCOBOL
ACUGTPLUGIN
ACUSQL_DATASET
ACUSQL_INCLUDE
ACUSQL_PASSWORD
ACUSQL_RUNTIME_DLL
ACUSQL_USER
ACUTOWEB_TAB_TITLE
AGS_BLOCK_SLEEP_TIME
AGS_MAX_SEND_SIZE
AGS_RECEIVE_BUFFER_SIZE
AGS_RETRY_COUNT
AGS_SEND_BUFFER_SIZE
AGS_SOCKET_COMPRESS
AGS_SOCKET_ENCRYPT
AGS_TCP_NODELAY
AGS_USE_IPV6
alfred Configuration variables
ALLOW_FS_OVERRIDE
ANSI_OUTPUT_IN_DEBUG
APPLY_CODE_PATH
APPLY_FILE_PATH
ASQL_AUTO_DATE_FORMAT
AUTO_DECIMAL
AUTO_PROMPT
AUTOFILL_NEEDS_XFD
AXML_CREATE_SCHEMA
AXML_CREATE_STYLE
AXML_ENCODING
AXML_EXACT_TABLE_MATCH
AXML_IGNORE_EMPTY_DATA
AXML_SCHEMA_DOC
AXML_SCHEMA_NAME
AXML_SCHEMA_NAMESPACE_DATA
AXML_STYLESHEET_HREF and AXML_STYLESHEET_TYPE
BACKGROUND_INTENSITY
BELL
BOXED_FLOATING_WINDOWS
BT_CHECK_OPEN
BTRV_FAST_OPEN
BTRV_MASS_UPDATE
BTRV_NOWRITE_WAIT
BTRV_USE_REPEAT_DUPS
BUFFERED_SCREEN
CALL_HASH_SIZE
CANCEL_ALL_DLLS
CARRIAGE_CONTROL_FILTER
CBLHELP
CELL_SEPARATION
CGI_AUTO_HEADER
CGI_CLEAR_MISSING_VALUES
CGI_CONTENT_TYPE
CGI_NO_CACHE
CGI_STRIP_CR
CHAIN_MENUS
CHECK_USING
CISAM_COMPRESS_KEYS
CISAM_IFM_REWRITE
CISAM_LOG_FILE
CLOSE_ON_EXIT
COBLPFORM
COBOL_CHARACTER_SET
CODE_CASE
CODE_MAPPING
CODE_PREFIX
CODE_SUFFIX
CODE_SYSTEM
COLOR_MAP
COLOR_MODEL
COLOR_TABLE
COLOR_TRANS
COLUMN_SEPARATION
COMPRESS_FACTOR
COMPRESS_FILES
CONTROL_CREATION_EVENTS
CONVERT_WINDOW_DEFAULT
CURRENCY
CURRENT_DATE
CURSOR_MODE
CURSOR_TYPE
DEBUG_NEWCOPY
DECIMAL_POINT
DEFAULT_FILESYSTEM
DEFAULT_FONT
DEFAULT_HOST
DEFAULT_MAP_FILE
DEFAULT_PROGRAM
DEFAULT_TIMEOUT
DEFER_EVENTS
DEFER_WHEEL_EVENTS
DISABLED_CONTROL_COLOR
DISPLAY_SWITCH_PERIOD
DLL_CONVENTION
DLL_SUB_INTERFACE
DLL_USE_SYSTEM_DIR
DOS_BOX_CHARS
DOS_SYS_EMULATE
DOUBLE_CLICK_TIME
DUPLICATES_LOG
DYNAMIC_FUNCTION_CALLS
DYNAMIC_MEMORY_LIMIT
ECN-3699
ECN-3975
ECN-4159
ECN-4273
ECN-4296
ECN-4315
EDIT_MODE
EF_UPPER_WIDE
EF_WIDE_SIZE
EOF_ABORTS
EOL_CHAR
ERRORS_OK
EXIT_CURSOR
EXPAND_ENV_VARS
EXTEND_CREATES
EXTFH_KEEP_TRAILING_SPACES
EXTERNAL_SIZE
EXTRA_KEYS_OK
F10_IS_MENU
FAST_ESCAPE
FAST_SIGN_DECODE
FIELDS_UNBOXED
FILE_ALIAS_PREFIX
FILE_CASE
FILE_CONDITION
FILE_IO_PEEKS_MESSAGES
FILE_IO_PROCESSES_MESSAGES
FILE_PREFIX
FILE_STATUS_CODES
FILE_SUFFIX
FILE_TRACE
FILE_TRACE_FLUSH
FILE_TRACE_TIMESTAMP
filename
filename_DATA_FMT
filename_FILESYSTEM
filename_HOST
filename_INDEX_FMT
filename_LOG
FILENAME_SPACES
filename_VERSION
filesystem_DETACH
FLUSH_ALL
FLUSH_COUNT
FLUSH_ON_ACCEPT
FLUSH_ON_CLOSE
FLUSH_ON_COMMIT
FLUSH_ON_OPEN
FONT
FONT_AUTO_ADJUST
FONT_SIZE_ADJUST
FONT_WIDE_SIZE_ADJUST
FOREGROUND_INTENSITY
FREEZE_AX_EVENTS configuration
FULL_BOXES
GRID_BUTTONS_CAUSE_GOTO
GRID_ENFORCE_DATATYPE
GRID_NO_CELL_DRAG
GRID_SORT_INDICATOR
GUI_CHARS
HELP_PROGRAM
HINTS_OFF
HINTS_ON
HOT_KEY
HP_TERMINAL_ATTRIBUTE_HANDLING
HTML_TEMPLATE_PREFIX
ICOBOL_FILE_SEMANTICS
ICON
IMPORT_USES_CELL_SIZE
INACTIVE_BORDER_COLOR
INCLUDE_PGM_INFO
INPUT_STATUS_DEFAULT
INSERT_MODE
INTENSITY_FLAGS
IO_CREATES
IO_FLUSH_COUNT
IO_READ_LOCK_TEST
IO_SWITCH_PERIOD
ISOLATE_FILE_CREATES
JAVA_LIBRARY_NAME
JAVA_OPTIONS
JUSTIFY_NUM_FIELDS
KBD
KEISEN_CLEAR_MODE
KEY_MAP
KEYBOARD
KEYSTROKE
LARGE_FILE_LIMIT_1TB
LARGE_FILE_LIMIT_2TB
LC_ALL
LICENSE_ERROR_MESSAGE_BOX
LINE_OUTPUT
LISTS_UNBOXED
LITERAL_ENTRY
LOCK_DIR
LOCK_OUTPUT
LOCK_SORT
LOCKING_RETRIES
LOCKS_PER_FILE
LOG_BUFFER_SIZE
LOG_DEVICE
LOG_DIR
LOG_ENCRYPTION
LOG_EXCLUDE_PATTERN
LOG_FILE
LOG_INCLUDE_PATTERN
LOG_RECOVER_REPORT
LOGGING
LOGICAL_CANCELS
MAKE_ZERO
MASS_UPDATE
MAX_ERROR_AND_EXIT_PROCS
MAX_ERROR_LINES
MAX_FILES
MAX_LOCKS
MENU_ITEM
MESSAGE_BOX_COLOR
MESSAGE_QUEUE_SIZE
MIN_REC_SIZE
MONOCHROME
MOUSE
MOUSE_FLAGS
NESTED_AX_EVENTS
NET_FILE_TRACE
NO_BARE_KEY_LETTERS
NO_CONSOLE
NO_LOG_FILE_OK
NO_TRANSACTIONS
NUMERIC_VALIDATION
OEM_CHARACTER_SET
OLD_ARIAL_DIMENSIONS
OPEN_FILES_ONCE
OPTIMIZE_CONTROL_RESIZE
OPTIMIZE_INDIVIDUAL_LINKAGE
PAGE_EJECT_ON_CLOSE
PAGED_LIST_SCROLL_BAR
PARAGRAPH_TRACE
PDF_FONT_NAME
PDF_FONT_SIZE
PDF_FONT_TRUETYPE_TTC
PDF_FONT_TRUETYPE_TTC_INDEX
PDF_FONT_TRUETYPE_TTF
PDF_FONT_TYPE
PDF_FONT_TYPE1_PFB
PDF_FONT_TYPE1_AFM
PDF_MARGIN_BOTTOM
PDF_MARGIN_LEFT
PDF_MARGIN_RIGHT
PDF_MARGIN_TOP
PDF_PAGE_DIRECTION
PDF_PAGE_SIZE
PERFORM_STACK
PRELOAD_JAVA_LIBRARY
PROFILE_TYPE
PROMPTING
QUERY_TIMEOUT
QUEUE_READERS
QUIT_MODE
QUIT_ON_FATAL_ERROR
QUIT_TO_EXIT
RECURSION
RECURSION_DATA_GLOBAL
REL_DELETED_VALUE
REL_LOCK_READ_THROUGH
RENEW_TIMEOUT
RESIZE_FRAMES
RESIZE_FREELY
RESTRICTED_VIDEO_MODE
RMS_NATIVE_KEYS
SCREEN
SCREEN_COL_PLUS_BASE
SCREEN_TRACE
SCRIPT_STATUS
SCRN
SCROLL
server_MAP_FILE
server_PASSWORD
server_port_PASSWORD
SHARED_CODE
SHARED_LIBRARY_EXTENSION
SHARED_LIBRARY_LIST
SHARED_LIBRARY_PREFIX
SHUTDOWN_DESTROYS_GUI
SHUTDOWN_FREES_PROGRAMS
SHUTDOWN_MESSAGE_BOX
SHUTDOWN_TESTS
SINGLE_STATUS_BAR
SORT_DIR
SORT_FILES
SORT_MEMORY
SPACES_ZERO
SPOOL_FILE
STD_FIXED_FONT
STD-SMALL-FONT
STOP_RUN_ROLLBACK
STRENGTHEN_LOCKS
STRIP_TRAILING_SPACES
SWITCH_PERIOD
SYSINTR_NAME
SYSPUNCH
TC_AUTO_UPDATE_FAILED_MESSAGE
TC_AUTO_UPDATE_FAILED_TITLE
TC_AUTO_UPDATE_NOTIFY_FAIL thin client
TC_AUTO_UPDATE_QUERY
TC_AUTO_UPDATE_QUERY_MESSAGE
TC_AUTO_UPDATE_QUERY_TITLE
TC_AX_EVENT_LIST
TC_CHECK_ALIVE_INTERVAL
TC_CHECK_INSTALLER_TIMESTAMP
TC_CONTINUITY_WINDOW
TC_CONTROL_SYNC_LEVEL
TC_DELAY_ACTIVATE
TC_DELAY_PRE_EVENT_OPS
TC_DISABLE_AUTO_UPDATE
TC_DISABLE_SERVER_LOG
TC_DOWNLOAD_CANCEL_MESSAGE
TC_DOWNLOAD_DESCRIPTION
TC_DOWNLOAD_DIALOG
TC_DOWNLOAD_DIALOG_TITLE
TC_EVENT_LIST
TC_EXCLUDE_EVENT_LIST
TC_INSTALLER_ARGS
TC_INSTALLER_CLIENT_FILE
TC_INSTALLER_RUN_ASYNC
TC_INSTALLER_SERVER_FILE
TC_INSTALLER_TARGET_DIR
TC_INSTALLER_UI_LEVEL
TC_MAP_FILE
TC_NESTED_AX_EVENTS
TC_QUIT_MODE
TC_REQUIRES_BUILD_NUMBER
TC_RESTRICT_AX_EVENTS
TC_SERVER_LOG_FILE log
TC_SERVER_TIMEOUT
TC_TV_SELCHANGING
TEMP_DIR
TEST_CHAR
TEMPORARY_CONTROLS
TEXT
THAI
TRACE_STYLE
TRANSLATE_TO_ANSI
TREE_ROOT_SPACE
TREE_TAB_SIZE
TRX_HOLDS_LOCKS
TV_EDITLABELS
UPPER_LOWER_MAP
USE_BASE_HOSTNAME
USE_CICS
USE_EXECUTABLE_MEMORY
USE_EXTSM
USE_LARGE_FILE_API
USE_LOCAL_SERVER
USE_MPE_REDIRECTION
USE_MQSERIES
USE_SYSTEM_QSORT
USE_UNICODE_FONTS
USE_WINSYSFILES
V_BASENAME_TRANSLATION
V_BUFFERS
V_BUFFER_DATA
V_BULK_MEMORY
V_FORCE_OPEN
V_INDEX_BLOCK_PERCENT
V_INTERNAL_LOCKS
V_LOCK_METHOD
V_MARK_READ_CORRUPT
V_NO_ASYNC_CACHE_DATA
V_OPEN_STRICT
V_READ_AHEAD
V_SEG_SIZE
V_STRIP_DOT_EXTENSION
V_VERSION
V23_GRAPHICS_CHARACTERS
V24_SCREEN_SECTIONS
V30_MEASUREMENTS
V31_FLOATING_POINT
V31_MEASUREMENTS
V311_NT_CALL_SYSTEM
V32_MEASUREMENTS
V42_FLOATING_POINT
V43_PRINTER_CELLS
V52_BITMAP_BUTTONS
V52_BITMAPS
V52_GRID_GOTO
V60_LIST_VALUE
V62_MAX_WINDOW
V71_ALIGNED_ENTRY_FIELD
V71_FONT_WIDTHS
V80_3D_ENTRY_SIZE
VMS COBOL
VMS_SYSTEM_MODIFIER
W_PROGRESS_PARENT
WAIT_FOR_ALL_PIPES
WAIT_FOR_FILE_ACCESS
WAIT_FOR_LOCKS
WARNINGS
WARNING_ON_RECURSIVE_ACCEPTS
WHITE_FILL
WIN_ERROR_HANDLING
WIN_F4_DROPS_COMBOBOX
WIN_SPOOLER_PORT
WIN3_CLIP_CONTROLS
WIN3_EF_PADDED
WIN3_GRID
WIN32_3D
WIN32_CTL_INPUT_STATUS
WIN32_FRAMES_AS_ON_TABS
WIN32_NATIVECTLS
WIN32_WIDE_CHARS
WINDOW_INTENSITY
WINDOW_TITLE
WINPRINT_NAMES_ONLY
WRAP
XFD_DIRECTORY
XFD_PREFIX
XML_KEEP_WHITESPACE
XTERM_PROGRAM
Appendix I. Library Routines
General Syntax and Library List
ASCII2HEX
ASCII2OCTAL
C$88591-UTF8
C$ASYNCPOLL
C$ASYNCRUN
C$CALLEDBY
C$CALLERR
C$CARG
C$CHAIN
C$CHDIR
C$COBOL-UTF8
C$CODESET
C$CONFIG
C$COPY
C$DARG
C$DELETE
C$DISCONNECT
C$EXCEPINFO
C$EXITINFO
C$FILEINFO
C$FILESYS
C$FULLNAME
C$GETCGI
C$GETERRORFILE
C$GETEVENTDATA
C$GETEVENTPARAM
C$GETLASTFILEOP
C$GETNETEVENTDATA
C$GETPID
C$GETVARIANT
C$JAVA
C$JUSTIFY
C$KEYMAP
C$KEYPROGRESS
C$LIST-DIRECTORY
C$LOCALPRINT
C$LOCKPID
C$MAKEDIR
C$MEMCPY (Dynamic Memory Routine)
C$MYFILE
C$NARG
C$OPENSAVEBOX
C$PARAMSIZE
C$PARSEXFD
C$PDF
Supported PDF Printing Functions
C$RECOVER
C$REDIRECT
C$REGEXP
C$RERR
C$RERRNAME
C$RESOURCE
C$RUN
C$SETERRORFILE
C$SETEVENTDATA
C$SETEVENTPARAM
C$SETVARIANT
C$SLEEP
C$SOCKET
C$SYSLOG
C$SYSTEM
C$TOUPPER and C$TOLOWER
C$UTF16-UTF8
C$UTF8-COBOL
C$UTF8-88591
C$UTF8-UTF16
C$XML
CXML-PARSE-FILE
CXML-RELEASE-PARSER
CXML-GET-FIRST-CHILD
CXML-GET-NEXT-SIBLING
CXML-GET-PARENT
CXML-GET-DATA
CXML-GET-ATTRIBUTE-COUNT
CXML-GET-ATTRIBUTE
CXML-GET-LAST-ERROR
CXML-OPEN-FILE
CXML-PARSE-STRING
CXML-PARSE-NEXT-RECORD
CXML-GET-PREV-SIBLING
CXML-NEW-PARSER
CXML-GET-ATTRIBUTE-BY-NAME
CXML-GET-CHILD-BY-NAME
CXML-GET-CHILD-BY-CDATA
CXML-GET-CHILD-BY-ATTR-NAME
CXML-GET-CHILD-BY-ATTR-VALUE
CXML-GET-SIBLING-BY-NAME
CXML-GET-SIBLING-BY-CDATA
CXML-GET-SIBLING-BY-ATTR-NAME
CXML-GET-SIBLING-BY-ATTR-VALUE
CXML-GET-COMMENT
CXML-SET-DATA
CXML-MODIFY-ATTRIBUTE-VALUE
CXML-ADD-CHILD
CXML-ADD-SIBLING
CXML-ADD-ATTRIBUTE
CXML-ADD-COMMENT
CXML-APPEND-COMMENT
CXML-DELETE-ATTRIBUTE
CXML-DELETE-ELEMENT
CXML-DELETE-COMMENT
CXML-WRITE-FILE
CXML Write String
CXML-GET-PROC-INSTR-COUNT
CXML-GET-PROC-INSTR
CXML-SET-PROC-INSTR
CXML-GET-VERSION
CXML-SET-VERSION
CXML-GET-ENCODING
CXML-SET-ENCODING
CXML-GET-STANDALONE
CXML-SET-STANDALONE
CXML-GET-RAW-DOCTYPE-LEN
CXML-GET-RAW-DOCTYPE
CXML-SET-RAW-DOCTYPE
CBL_AND
CBL_CLEAR_SCR
CBL_CLOSE_FILE
CBL_COPY_FILE
CBL_CREATE_DIR
CBL_CREATE_FILE
CBL_DELETE_DIR
CBL_DELETE_FILE
CBL_EQ
CBL_ERROR_PROC
CBL_EXIT_PROC
CBL_FLUSH_FILE
CBL_GET_CSR_POS
CBL_GET_EXIT_INFO
CBL_GET_SCR_SIZE
CBL_NOT
CBL_OPEN_FILE
CBL_OR
CBL_READ_FILE
CBL_READ_SCR_ATTRS
CBL_READ_SCR_CHARS
CBL_READ_SCR_CHATTRS
CBL_SET_CSR_POS
CBL_SUBSYSTEM
CBL_SWAP_SCR_CHATTRS
CBL_WRITE_FILE
CBL_WRITE_SCR_ATTRS
CBL_WRITE_SCR_CHARS
CBL_WRITE_SCR_CHARS_ATTR
CBL_WRITE_SCR_CHATTRS
CBL_WRITE_SCR_N_ATTR
CBL_WRITE_SCR_N_CHAR
CBL_WRITE_SCR_N_CHATTR
CBL_WRITE_SCR_TTY
CBL_XOR
DISPLAY_REG_*
Dynamic Memory Routines
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)
Error and Exit Procedures
HEX2ASCII
I$IO
OPEN-FUNCTION (op-code 1)
CLOSE-FUNCTION (op-code 2)
MAKE-FUNCTION (op-code 3)
INFO-FUNCTION (op-code 4)
READ-FUNCTION (op-code 5)
NEXT-FUNCTION (op-code 6)
PREVIOUS-FUNCTION (op-code 7)
START-FUNCTION (op-code 8)
WRITE-FUNCTION (op-code 9)
REWRITE-FUNCTION (op-code 10)
DELETE-FUNCTION (op-code 11)
UNLOCK-FUNCTION (op-code 12)
REMOVE-FUNCTION (op-code 13)
SYNC-FUNCTION (op-code 14)
EXECUTE-FUNCTION (op-code 15)
BEGIN-FUNCTION (op-code 16)
COMMIT-FUNCTION (op-code 17)
ROLLBACK-FUNCTION (op-code 18)
RECOVER-FUNCTION (op-code 19)
IN-TRANSACTION-FUNCTION (op-code 21)
LIB$GET_SYMBOL
LIB$SET_SYMBOL
OCTAL2ASCII
R$IO
R-OPEN-FUNCTION (op-code 1)
R-CLOSE-FUNCTION (op-code 2)
R-MAKE-FUNCTION (op-code 3)
R-READ-FUNCTION (op-code 4)
R-NEXT-FUNCTION (op-code 5)
R-PREVIOUS-FUNCTION (op-code 6)
R-START-FUNCTION (op-code 7)
R-WRITE-FUNCTION (op-code 8)
R-REWRITE-FUNCTION (op-code 9)
R-DELETE-FUNCTION (op-code 10)
R-UNLOCK-FUNCTION (op-code 11)
RENAME
RMNet Routines
Introduction
Function Calls
HttpGet
HttpGetReturnCode
HttpPost
HttpSetConnectTimeout
HttpSetCookieFile
HttpSetEncoding
HttpSetResponseHeader
HttpSetTimeout
NetCleanup
NetFree
NetGetError
NetInit
NetSetKeyPassword
NetSetProxyServer
NetSetSSLCA
NetSetSSLCert
NetSetSSLKey
NetSSLVerifyPeer
SYSTEM
S$IO
S-OPEN-FUNCTION (op-code 1)
S-CLOSE-FUNCTION (op-code 2)
S-MAKE-FUNCTION (op-code 3)
S-READ-FUNCTION (op-code 4)
S-WRITE-FUNCTION (op-code 5)
S-REWRITE-FUNCTION (op-code 6)
S-SEEK-FUNCTION (op-code 7)
$WINHELP
HLP Files
WinHelp
Commonly Used Operations
CHM Files
W$BITMAP
WBITMAP-DISPLAY (op-code 1)
WBITMAP-DESTROY (op-code 2)
WBITMAP-LOAD (op-code 3)
WBITMAP-LOAD-IMAGELIST (op-code 5)
WBITMAP-DESTROY-IMAGELIST (op-code 6)
WBITMAP-CAPTURE-IMAGE (op-code 7)
WBITMAP-CAPTURE-DESKTOP (op-code 8)
WBITMAP-CAPTURE-CLIPBOARD (op-code 9)
WBITMAP-LOAD-PICTURE (op-code 10)
Error Handling
W$BROWSERINFO
W$FLUSH
W$FONT
WFONT-SUPPORTED (op-code 1)
WFONT-GET-FONT (op-code 101)
WFONT-GET-CLOSEST-FONT (op-code 102)
WFONT-DESCRIBE-FONT (op-code 106)
WFONT-CHOOSE-FONT (op-code 2)
WFONT-DATA
Error Handling
W$FORGET
W$GETC
W$GETURL
W$KEYBUF
W$MENU
Color Defaults
Monochrome Defaults
W$MOUSE
ENABLE-MOUSE (op-code 10)
TEST-MOUSE-PRESENCE (op-code 0)
GET-MOUSE-STATUS (op-code 1)
GET-MOUSE-SCREEN-STATUS (op-code 2)
SET-MOUSE-POSITION (op-code 3)
SET-MOUSE-POSITION-EX (op-code 23)
SET-MOUSE-POSITION-PIXEL (op-code 25)
SET-MOUSE-SCREEN-POSITION (op-code 4)
SET-MOUSE-SCREEN-POSITION-EX (op-code 24)
SET-MOUSE-SCREEN-POSITION-PIXEL (op-code 26)
SET-MOUSE-SHAPE (op-code 5)
SET-DELAYED-MOUSE-SHAPE (op-code 6)
GET-MOUSE-SHAPE (op-code 7)
CAPTURE-MOUSE (op-code 8)
RELEASE-MOUSE (op-code 9)
SET-MOUSE-HELP (op-code 19)
Mouse Handling: Sample Code
W$PALETTE
WPALETTE-SUPPORTED (op-code 1)
WPALETTE-NUM-COLORS (op-code 2)
WPALETTE-GET-COLOR (op-code 3)
WPALETTE-SET-COLOR (op-code 4)
WPALETTE-UPDATE (op-code 5)
WPALETTE-CHOOSE-COLOR (op-code 6)
WPALETTE-SET-USER-COLOR (op-code 7)
Error Handling
W$PROGRESSDIALOG
WPROGRESSDIALOG-CREATE (op-code 1)
WPROGRESSDIALOG-DESTROY (op-code 2)
WPROGRESSDIALOG-SET-PROGRESS (op-code 3)
WPROGRESSDIALOG-QUERY-CANCEL (op-code 4)
WPROGRESSDIALOG-SET-LINE (op-code 5)
WPROGRESSDIALOG-RESET-TIMER (op-code 6)
WPROGRESSDIALOG-C-COPY (op-code 7)
W$STATUS
W$TEXTSIZE
WIN$PLAYSOUND
WIN$PRINTER
Error Handling
WIN$PRINTER op-codes
Printer Information op-codes
WINPRINT-GET-SETTINGS-SIZE
WINPRINT-SETUP
WINPRINT-SETUP-USE-MARGINS
WINPRINT-SUPPORTED
WINPRINT-GET-SPOOL-ERR
WINPRINT-SET-JOB
WINPRINT-UPDATE-PRINTERS
WINPRINT-DATA op-codes
WINPRINT-GET-CAPABILITIES
WINPRINT-GET-MARGINS
WINPRINT-GET-PAGE-LAYOUT
WINPRINT-GRAPH-DRAW
WINPRINT-GRAPH-BRUSH
WINPRINT-GRAPH-PEN
WINPRINT-PRINT-BITMAP
WINPRINT-SET-CURSOR
WINPRINT-SET-TEXT-COLOR
WINPRINT-SET-FONT
WINPRINT-SET-LINES-PER-PAGE
WINPRINT-SET-MARGINS
WINPRINT-SET-STD-FONT
WINPRINT-SET-BKMODE
WINPRINT-SELECTION op-codes
WINPRINT-GET-CURRENT-INFO
WINPRINT-GET-CURRENT-INFO-EX
WINPRINT-GET-NO-PRINTERS
WINPRINT-GET-PRINTER-INFO
WINPRINT-GET-PRINTER-INFO-EX
WINPRINT-GET-PRINTER-STATUS
WINPRINT-SET-PRINTER
WINPRINT-SET-PRINTER-EX
WINPRINT-SETUP-EX
WINPRINT-COLUMN op-codes
WINPRINT-SET-DATA-COLUMNS
WINPRINT-CLEAR-DATA-COLUMNS
WINPRINT-SET-PAGE-COLUMN
WINPRINT-CLEAR-PAGE-COLUMNS
WINPRINT-GET-PAGE-COLUMN
WINPRINT-COLUMN-ALIGN-VERT
WINPRINT-JOB-STATUS op-codes
WINPRINT-GET-JOB-STATUS
WINPRINT-SET-JOB-STATUS
WINPRINT-MEDIA op-codes
WINPRINT-GET-PRINTER-MEDIA
USER-DATA op-codes
WINPRINT-GET-SETTINGS
WINPRINT-SET-SETTINGS
WIN$VERSION
Windows Print Spooler (-Q and -P)
-Q <printername>
Setting Options
Output from sample program - PaperInfo.cbl
-P SPOOLER
Spooler Print Formatting
Direct Control
Printing Multiple Jobs Simultaneously
Windows Registry Routines
REG_CLOSE_KEY, DISPLAY_REG_CLOSE_KEY
REG_CREATE_KEY, DISPLAY_REG_CREATE_KEY
REG_CREATE_KEY_EX, DISPLAY_REG_CREATE_KEY_EX
REG_DELETE_KEY, DISPLAY_REG_DELETE_KEY
REG_DELETE_VALUE, DISPLAY_REG_DELETE_VALUE
REG_ENUM_KEY, DISPLAY_REG_ENUM_KEY
REG_ENUM_VALUE, DISPLAY_REG_ENUM_VALUE
REG_OPEN_KEY, DISPLAY_REG_OPEN_KEY
REG_OPEN_KEY_EX, DISPLAY_REG_OPEN_KEY_EX
REG_QUERY_VALUE, DISPLAY_REG_QUERY_VALUE
REG_QUERY_VALUE_EX, DISPLAY_REG_QUERY_VALUE_EX
REG_SET_VALUE, DISPLAY_REG_SET_VALUE
REG_SET_VALUE_EX, DISPLAY_REG_SET_VALUE_EX
Copyright statement
ACUCOBOL-GT Version 10.3.1 Run-Time Manual
Introduction
Overview
Available Runtime Systems
Windows Runtime Systems
Data Execution Prevention
DEP-aware Runtime Systems and Thin Clients
Setting up your Terminals
How the Terminal Manager Works
Terminal Manager Functions
Alternate Terminal Manager
Getting Your Terminals Ready
Step One: Terminal Identification
Step Two: Terminal Definition
Windows Special Considerations for Terminal Manager
Step Three: Configuration Variables
The Keyboard Interface
Key Mapping
Key Interpretation
Key Translation
Keyboard Configuration
Note to RMCOBOL-85 Users
Redefining the Keyboard
The KEYBOARD Variable
AUTO-RETURN=value
CASE=value
CHECK-NUMBERS=value
CURSOR-PAST-END=value
DATA-RANGE=value
EXCEPTION-RANGE=value
IMPLIED-DECIMAL=value
RM-2-DEFAULT-HANDLING=value
SCREEN-DEFAULT=value
The KEYSTROKE Variable
AT-END=value
DATA=value
EDIT=value
EXCEPTION=value
HOT-KEY=value
INVALID=value
TERMINATE=value
Table of Keys
Additional Windows Keys
User-defined keys
Keys that Cannot be Defined
Special Keys
Arrow Keys
Backspace vs. Left Arrow
Interrupt Key
Default Keyboard
Keyboard Modification Examples
The Display Interface
Adding Color
The SCREEN Option
ALPHA-UPDATES=value
CONVERT-OUTPUT=value
EDITED-UPDATES=value
ERROR-BELL=value
ERROR-BOX=value
ERROR-COLOR=value
ERROR-LINE=value
FORM-FEED=value
INPUT-DISPLAY=value
INPUT-MODE=value
JUSTIFY=value
NUMERIC-UPDATES=value
PROMPT=value
PROMPT-ALL=value
PROMPT-ATTR=value
REFRESH-LINES=value
REFRESH-MODE=value
SHADOW-STYLE=value
SIZE
WINDOW=value
SCREEN Examples
Additional Configuration Variables
AUTO_PROMPT
BELL
HOT_KEY
MONOCHROME
RESTRICTED_VIDEO_MODE
SCROLL
WRAP
Double-Byte Character Handling
Restricted Attribute Handling
Restricted Video Modes
Restrictions
The Terminal Database File
Required Functions
Additional Screen Functions
Video Attributes
Color
One-color terminals
Function Keys and Other Keys
User-defined keys
Line Drawing
Multi-character Sequences for Graphics
Graphical Window and Control Emulation
Reconstructing the Screen
Mouse Support for X Terminals
Initialization
Numeric Mode
Print Functions
Pass Through Mode
Continued Entries
Runtime Configuration File
Introduction
Variable Syntax
Variable Usage
Configuration Filename Resolution
Nested Configuration Files
Configuration Variables
3D_LINES configuration variable
7_BIT configuration variable
A_CHECKDIV
A_DEBUG
A_DISPLAY
A_EXTFH_FUNC
A_EXTFH_LIB
A_EXTFH_SIMPLE_OPEN_OUTPUT
A_EXTFH_VARIABLE_x
A_JAVA_CHARSET
A_JAVA_GC_COUNT
A_JAVA_TRACE_FILENAME
A_JAVA_TRACE_VALUE
A_LICENSE_RETRIES
A_MESSAGE
A_OPERATING_SYSTEM
A_PRESERVE_SIGNAL_HANDLERS
A_REMOVE_EMPTY_ERROR_FILE
A_RETRY_DELAY
A_SEQ_DEFAULT_BLOCK_SIZE
A_SORT_FILE_MEMORY
A_SORT_REGIONS
A_SORT_REGIONS_FINAL
A_SYSLOG_HOSTNAME
A_SYSLOG_ON_RUNTIME_ERROR
A_TMPDIR
A_XML_ENCODING
A_XMIF_EXPORT_EMPTY_ARRAY
A_XMLIF_EXPORT_OUTLINE
A_XMLIF_ICONV_NAME
ACCEPT_AUTO
ACCEPT_TIMEOUT
ACTIVE_BORDER_COLOR
ACU_DUMP_x
ACU_USER_DIR
ACUCOBOL
ACUGTPLUGIN
ACUSQL_DATASET
ACUSQL_INCLUDE
ACUSQL_PASSWORD
ACUSQL_RUNTIME_DLL
ACUSQL_USER
ACUTOWEB-TAB-TITLE
AGS_BLOCK_SLEEP_TIME
AGS_MAX_SEND_SIZE
AGS_RECEIVE_BUFFER_SIZE
AGS_RETRY_COUNT
AGS_SEND_BUFFER_SIZE
AGS_SOCKET_COMPRESS
AGS_SOCKET_ENCRYPT
AGS_TCP_NODELAY
AGS_USE_IPV6
alfred Configuration variables
ALLOW_FS_OVERRIDE
ANSI_OUTPUT_IN_DEBUG
APPLY_CODE_PATH
APPLY_FILE_PATH
ASQL_AUTO_DATE_FORMAT
AUTO_DECIMAL
AUTO_PROMPT
AUTOFILL_NEEDS_XFD
AXML_CREATE_SCHEMA
AXML_CREATE_STYLE
AXML_ENCODING
AXML_EXACT_TABLE_MATCH
AXML_IGNORE_EMPTY_DATA
AXML_SCHEMA_DOC
AXML_SCHEMA_NAME
AXML_SCHEMA_NAMESPACE_DATA
AXML_STYLESHEET_x
BACKGROUND_INTENSITY
BELL
BOXED_FLOATING_WINDOWS
BT_CHECK_OPEN
BTRV_FAST_OPEN
BTRV_MASS_UPDATE
BTRV_NOWRITE_WAIT
BTRV_USE_REPEAT_DUPS
BUFFERED_SCREEN
CALL_HASH_SIZE
CANCEL_ALL_DLLS
CARRIAGE_CONTROL_FILTER
CBLHELP
CELL_SEPARATION
CGI_AUTO_HEADER
CGI_CLEAR_MISSING_VALUES
CGI_CONTENT_TYPE
CGI_NO_CACHE
CGI_STRIP_CR
CHAIN_MENUS
CHECK_USING
CISAM_COMPRESS_KEYS
CISAM_IFM_REWRITE
CISAM_LOG_FILE
CLOSE_ON_EXIT
COBLPFORM
COBOL_CHARACTER_SET
CODE_CASE
CODE_MAPPING
CODE_PREFIX
CODE_SUFFIX
CODE_SYSTEM
COLOR_MAP
COLOR_MODEL
COLOR_TABLE
COLOR_TRANS
COLUMN_SEPARATION
COMPRESS_FACTOR
COMPRESS_FILES
CONTROL_CREATION_EVENTS
CONVERT_WINDOW_DEFAULT
CURRENCY
CURRENT_DATE
CURSOR_MODE
CURSOR_TYPE
DEBUG_NEWCOPY
DECIMAL_POINT
DEFAULT_FILESYSTEM
DEFAULT_FONT
DEFAULT_HOST
DEFAULT_MAP_FILE
DEFAULT_PROGRAM
DEFAULT_TIMEOUT
DEFER_EVENTS
DEFER-WHEEL-EVENTS
DISABLED_CONTROL_COLOR
DISPLAY_SWITCH_PERIOD
DLL_CONVENTION
DLL_SUB_INTERFACE
DLL_USE_SYSTEM_DIR
DOS_BOX_CHARS
DOS_SYS_EMULATE
DOUBLE_CLICK_TIME
DUPLICATES_LOG
DYNAMIC_FUNCTION_CALLS
DYNAMIC_MEMORY_LIMIT
ECN-3699
ECN-3975
ECN-4159
ECN-4273
ECN-4296
ECN-4315
EDIT_MODE
EF_UPPER_WIDE
EF_WIDE_SIZE
EOF_ABORTS
EOL_CHAR
ERRORS_OK
EXIT_CURSOR
EXPAND_ENV_VARS
EXTEND_CREATES
EXTFH_KEEP_TRAILING_SPACES
EXTERNAL_SIZE
EXTRA_KEYS_OK
F10_IS_MENU
FAST_ESCAPE
FAST_SIGN_DECODE
FIELDS_UNBOXED
FILE_ALIAS_PREFIX
FILE_CASE
FILE_CONDITION
FILE_IO_PEEKS_MESSAGES
FILE_IO_PROCESSES_MESSAGES
FILE_PREFIX
FILE_STATUS_CODES
FILE_SUFFIX
FILE_TRACE
FILE_TRACE_FLUSH
FILE_TRACE_TIMESTAMP
filename
filename_DATA_FMT
filename_FILESYSTEM.
filename_HOST
filename_INDEX_FMT
filename_LOG
FILENAME_SPACES
filename_VERSION
filesystem_DETACH
FLUSH_ALL
FLUSH_COUNT
FLUSH_ON_ACCEPT
FLUSH_ON_CLOSE
FLUSH_ON_COMMIT
FLUSH_ON_OPEN
FONT
FONT_AUTO_ADJUST
FONT_SIZE_ADJUST
FONT_WIDE_SIZE_ADJUST
FOREGROUND_INTENSITY
FREEZE_AX_EVENTS configuration
FULL_BOXES
GRID_BUTTONS_CAUSE_GOTO
GRID_ENFORCE_DATATYPE
GRID_NO_CELL_DRAG
GRID_SORT_INDICATOR
GUI_CHARS
HELP_PROGRAM
HINTS_OFF
HINTS_ON
HOT_KEY
HP_TERMINAL_ATTRIBUTE_HANDLING
HTML_TEMPLATE_PREFIX
ICOBOL_FILE_SEMANTICS
ICON
IMPORT_USES_CELL_SIZE
INACTIVE_BORDER_COLOR
INCLUDE_PGM_INFO
INPUT_STATUS_DEFAULT
INSERT_MODE
INTENSITY_FLAGS
IO_CREATES
IO_FLUSH_COUNT
IO_READ_LOCK_TEST
IO_SWITCH_PERIOD
ISOLATE_FILE_CREATES
JAVA_LIBRARY_NAME
JAVA_OPTIONS
JUSTIFY_NUM_FIELDS
KBD
KEISEN_CLEAR_MODE
KEY_MAP
KEYBOARD
KEYSTROKE
LARGE_FILE_LIMIT_1TB
LARGE_FILE_LIMIT_2TB
LC_ALL
LICENSE_ERROR_MESSAGE_BOX
LINE_OUTPUT
LISTS_UNBOXED
LITERAL_ENTRY
LOCK_DIR
LOCK_OUTPUT
LOCK_SORT
LOCKING_RETRIES
LOCKS_PER_FILE
LOG_BUFFER_SIZE
LOG_DEVICE
LOG_DIR
LOG_ENCRYPTION
LOG_EXCLUDE_PATTERN
LOG_FILE
LOG_INCLUDE_PATTERN
LOG_RECOVER_REPORT
LOGGING
LOGICAL_CANCELS
MAKE_ZERO
MASS_UPDATE
MAX_ERROR_AND_EXIT_PROCS
MAX_ERROR_LINES
MAX_FILES
MAX_LOCKS
MENU_ITEM
MESSAGE_BOX_COLOR
MESSAGE_QUEUE_SIZE
MIN_REC_SIZE
MONOCHROME
MOUSE
MOUSE_FLAGS
NESTED_AX_EVENTS
NET_FILE_TRACE
NO_BARE_KEY_LETTERS
NO_CONSOLE
NO_LOG_FILE_OK
NO_TRANSACTIONS
NUMERIC_VALIDATION
OEM_CHARACTER_SET
OLD_ARIAL_DIMENSIONS
OPEN_FILES_ONCE
OPTIMIZE_CONTROL_RESIZE
OPTIMIZE_INDIVIDUAL_LINKAGE
PAGE_EJECT_ON_CLOSE
PAGED_LIST_SCROLL_BAR
PARAGRAPH_TRACE
PDF_FONT_NAME
PDF_FONT_SIZE
PDF_FONT_TRUETYPE_TTC
PDF_FONT_TRUETYPE_TTC_INDEX
PDF_FONT_TRUETYPE_TTF
PDF_FONT_TYPE
PDF_FONT_TYPE1_PFB
PDF_FONT_TYPE1_AFM
PDF_MARGIN_BOTTOM
PDF_MARGIN_LEFT
PDF_MARGIN_RIGHT
PDF_MARGIN_TOP
PDF_PAGE_DIRECTION
PDF_PAGE_SIZE
PERFORM_STACK
PRELOAD_JAVA_LIBRARY
PROFILE_TYPE
PROMPTING
QUERY_TIMEOUT
QUEUE_READERS
QUIT_MODE
QUIT_ON_FATAL_ERROR
QUIT_TO_EXIT
RECURSION
RECURSION_DATA_GLOBAL
REL_DELETED_VALUE
REL_LOCK_READ_THROUGH
RENEW_TIMEOUT
RESIZE_FRAMES
RESIZE_FREELY
RESTRICTED_VIDEO_MODE
RMS_NATIVE_KEYS
SCREEN
SCREEN_COL_PLUS_BASE
SCREEN_TRACE
SCRIPT_STATUS
SCRN
SCROLL
server_MAP_FILE
server_PASSWORD
server_port_PASSWORD
SHARED_CODE
SHARED_LIBRARY_EXTENSION
SHARED_LIBRARY_LIST
SHARED_LIBRARY_PREFIX
SHUTDOWN_DESTROYS_GUI
SHUTDOWN_FREES_PROGRAMS
SHUTDOWN_MESSAGE_BOX
SHUTDOWN_TESTS
SINGLE-STATUS-BAR
SORT_DIR
SORT_FILES
SORT_MEMORY
SPACES_ZERO
SPOOL_FILE
STD_FIXED_FONT
STD-SMALL-FONT
STOP_RUN_ROLLBACK
STRENGTHEN_LOCKS
STRIP_TRAILING_SPACES
SWITCH_PERIOD
SYSINTR_NAME
SYSPUNCH
TC_AUTO_UPDATE_FAILED_MESSAGE
TC_AUTO_UPDATE_FAILED_TITLE
TC_AUTO_UPDATE_NOTIFY_FAIL thin client
TC_AUTO_UPDATE_QUERY
TC_AUTO_UPDATE_QUERY_MESSAGE
TC_AUTO_UPDATE_QUERY_TITLE
TC_AX_EVENT_LIST
TC_CHECK_ALIVE_INTERVAL
TC_CHECK_INSTALLER_TIMESTAMP
TC_CONTINUITY_WINDOW
TC_CONTROL_SYNC_LEVEL
TC_DELAY_ACTIVATE
TC_DELAY_PRE_EVENT_OPS
TC_DISABLE_AUTO_UPDATE
TC_DISABLE_SERVER_LOG
TC_DOWNLOAD_CANCEL_MESSAGE
TC_DOWNLOAD_DESCRIPTION
TC_DOWNLOAD_DIALOG
TC_DOWNLOAD_DIALOG_TITLE
TC_EVENT_LIST
TC_EXCLUDE_EVENT_LIST
TC_INSTALLER_ARGS
TC_INSTALLER_CLIENT_FILE
TC_INSTALLER_RUN_ASYNC
TC_INSTALLER_SERVER_FILE
TC_INSTALLER_TARGET_DIR
TC_INSTALLER_UI_LEVEL
TC_MAP_FILE
TC_NESTED_AX_EVENTS
TC_QUIT_MODE
TC_REQUIRES_BUILD_NUMBER
TC_RESTRICT_AX_EVENTS
TC_SERVER_LOG_FILE log
TC_SERVER_TIMEOUT
TC_TV_SELCHANGING
TEMP_DIR
TEST_CHAR
TEMPORARY_CONTROLS
TEXT
THAI
TRACE_STYLE
TRANSLATE_TO_ANSI
TREE_ROOT_SPACE
TREE_TAB_SIZE
TRX_HOLDS_LOCKS
TV_EDITLABELS
UPPER_LOWER_MAP
USE_BASE_HOSTNAME
USE_CICS
USE_EXECUTABLE_MEMORY
USE_EXTSM
USE_LARGE_FILE_API
USE_LOCAL_SERVER
USE_MPE_REDIRECTION
USE_MQSERIES
USE_SYSTEM_QSORT
USE_UNICODE_FONTS
USE_WINSYSFILES
V_BASENAME_TRANSLATION
V_BUFFERS
V_BUFFER_DATA
V_BULK_MEMORY
V_FORCE_OPEN
V_INDEX_BLOCK_PERCENT
V_INTERNAL_LOCKS
V_LOCK_METHOD
V_MARK_READ_CORRUPT
V_NO_ASYNC_CACHE_DATA
V_OPEN_STRICT
V_READ_AHEAD
V_SEG_SIZE
V_STRIP_DOT_EXTENSION
V_VERSION
V23_GRAPHICS_CHARACTERS
V24_SCREEN_SECTIONS
V30_MEASUREMENTS
V31_FLOATING_POINT
V31_MEASUREMENTS
V311_NT_CALL_SYSTEM
V32_MEASUREMENTS
V42_FLOATING_POINT
V43_PRINTER_CELLS
V52_BITMAP_BUTTONS
V52_BITMAPS
V52_GRID_GOTO
V60_LIST_VALUE
V62_MAX_WINDOW
V71_ALIGNED_ENTRY_FIELD
V71_FONT_WIDTHS
V80_3D_ENTRY_SIZE
VMS COBOL
VMS_SYSTEM_MODIFIER
W_PROGRESS_PARENT
WAIT_FOR_ALL_PIPES
WAIT_FOR_FILE_ACCESS
WAIT_FOR_LOCKS
WARNINGS
WARNING_ON_RECURSIVE_ACCEPTS
WHITE_FILL
WIN_ERROR_HANDLING
WIN_F4_DROPS_COMBOBOX
WIN_SPOOLER_PORT
WIN3_CLIP_CONTROLS
WIN3_EF_PADDED
WIN3_GRID
WIN32_3D
WIN32_CTL_INPUT_STATUS
WIN32_FRAMES_AS_ON_TABS
WIN32_NATIVECTLS
WIN32_WIDE_CHARS
WINDOW_INTENSITY
WINDOW_TITLE
WINPRINT_NAMES_ONLY
WRAP
XFD_DIRECTORY
XFD_PREFIX
XML-KEEP-WHITESPACE
XTERM_PROGRAM
Runtime Options
Using the Runtime System
Runtime Options
Runtime Debugger
Runtime Debugger
General Debugging Information
Source Debugging
Symbolic Debugging
Low-Level Debugging
Debugging in Background Mode
The Abend Diagnostic Report
Entering the Debugger
Cursor and Mouse Handling in Source-level Debugging
Debugger Commands
Source-level Commands
Other Commands
Multithreading Issues
Getting Help
File Menu
View Menu
Run Menu
Source Menu
Data Menu
Breakpoints Menu
Selection Menu
Help Menu
The Toolbar
File Tracing
File Trace Timestamps
Dynamic Runtime Tracing
Configuration Variables for Dynamic Runtime Tracing
Screen Tracing
Macro Debugger
Specifying Addresses
Variables
Configuration Variables
Program Addresses
Debugger Restrictions
Using the Abend Diagnostic Report (ADR)
Generating a Report
Abend Configuration Variables
ADR Restrictions
File Status Codes
Introduction
Table of Codes
Vision Secondary Error Codes for Error 98s
Transaction Error Codes
IBM DOS/VS Error Codes
Utilities
Object File Utility
Object Libraries
Creating Object Libraries
Examples of Creating Object Libraries
Creating Remote Object Libraries
Examples of Creating Remote Object Libraries
Getting Object Information
Generating Native Code
Vision File Utility
Examining File Information
Testing File Integrity
Rebuilding Files
Resetting User Counts
Resetting Internal Revision Number
Extracting Records From a File
Recovering Deleted Records
Creating Empty Files
Responding to vutil Generated Prompts
Collating Sequence
Specifying File Attributes in Advance
Indexed Format
Sequential and Relative Files
Unloading to Binary and Line Sequential Format
Loading a File
File Size Summary Report
Converting RMCOBOL-85 Indexed Files
Converting C-ISAM Files
Converting Micro Focus Files
Changing Record Size
Setting the Comment Field
Miscellaneous Commands
Default Settings of vutil
File Transfer Utility vio
vio Options
Windows Considerations
vio Examples
Known Limitations
Indexed File Record Editor alfred
logutil
Syntax and Options
logutil Report Headings
The Profiler
Using the Profiler
Configuring the Profiling Tools
PROFILE_TYPE Runtime Configuration Variable
Configuring Profiler Behavior
Configuring acuprof
Understanding the Report
Understanding the XML Data File
Structure of the Raw Report File
The Runtime Level
The Program Level
The paragraph level
External Sort Utility AcuSort
AcuSort Command Format
AcuSort Instructions
CHAR-ASCII and SIGN-ASCII
CHAR-EBCDIC and SIGN-EBCDIC instructions
SORT/MERGE Instructions
USE/GIVE instructions
KEY Structure
USE/GIVE Example
INCLUDE/OMIT Instructions
INCLUDE/OMIT Samples
AcuSort Code Sample
AcuSort Environment Variables
Remote Preprocessing Utility Boomerang
License Requirements and Installation
Server Setup and Configuration
Step 1: Creating an Alias File
Pro*COBOL Alias Example
CICS Alias Example
UniKix Alias Example
DB2 Alias Example
Step 2: Creating a Configuration File
Step 3: Creating an Access File
Step 4: Starting the Server
Server Commands
Client-side Operation Remote Precompiling
Remote Precompiling
Client Commands
Working with INCLUDE files
Shared Memory
acushare Utility Program
Using Shared Memory
Indicating Programs to Share
Using acushare
acushare -start
Automatic Startup at System Boot
acushare -kill
acushare -clean
acushare -version
acushare (with no options)
acushare Errors
Copyright Statement
extend Product Guides
Acu4GL Version 10.3.1 User's Guide
Acu4GL Overview
Introduction
RDBMS Support
Accessing Data
Interface Routines
Extended File Descriptors (XFDs)
Web Runtime Integration
Database Concepts
How Acu4GL Works
What Is a Transparent Interface?
XFDs and Mapping
Summary
Getting Started
Installation
Demonstration Program
Compiling and Running the Demo Program
Using the sql.acu Program
Running sql.acu from the Command Line
Calling sql.acu from a Program
XFDs
Creating XFDs
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
ALPHA XFD directive
BINARY XFD directive
COBOL-TRIGGER XFD directive
COMMENT XFD directive
IDENTITY-COLUMN XFD directive
CREATEXFD XFD directive
DATE XFD directive
FILE XFD directive
NAME 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
Invalid Data
Illegal COBOL Data
Invalid Key Data
Invalid Data Other Than Keys
Working with COBOL
Examples of Preparing and Compiling a Program
Example 1 - Compiling with just the -Fx compiler option
Example 2 - Compiling with the WHEN XFD Directive
Example 3 - Using Additional XFD Directives
Creating File Descriptors and SELECT Statements
New and Existing Databases
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
Compiler and Runtime Options
Compiler File Options
Run-time Configuration Variables
4GL_2000_CUTOFF
4GL_8_DIGIT_CUTOFF
4GL_COLUMN_CASE
4GL_COMMIT_COUNT
4GL_CONVERT_DATE_ZERO
4GL_DB_MAP
4GL_EXTRA_DB_COLS_OK
4GL_FULL_DATA_TEST
4GL_IGNORED_SUFFIX_LIST
4GL_ILLEGAL_DATA
4GL_JULIAN_BASE_DATE
4GL_USEDIR_LEVEL
4GL_WHERE_CONSTRAINT
DEFAULT_HOST
FILE_TRACE
filename_HOST
XFD_DIRECTORY
XFD_MAP
XFD_MAP_RESETS
XFD_PREFIX
Performance and Troubleshooting
Performance Issues
Guidelines
The WHERE Constraint
To use the WHERE constraint from COBOL
Setting External Variables
Compiler Errors
Bad picture for DATE: keyname
Data missing from key segment keyname
Directive word too long: keyname
GROUP expected after USE
Missing '=' in XFD directive
Missing field name after WHEN
xxx: unknown XFD directive
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
Compiler Warnings
Field xxx causes duplicate database data
xxx not unique in first 30 characters
Retrieving Runtime Errors
Retrieving Messages with -x runtime option
Retrieving Messages with the Debugger
Retrieving Messages with C$RERR
Questions and Answers
Appendix A: Acu4GL for Informix Information
Getting Started with Acu4GL for Informix
Installation Preparation
Installation Steps
Designating a Database
Filename Translation
Configuration File Variables
A_INF_DUPLICATE_KEY
A_INF_NO_TRANSACTION_ERROR
A_INFORMIX_ERROR_FILE
DATABASE
INF_LOGIN
INF_PASSWD
INFORMIX_TYPE
MAX_CURSORS
Informix Performance
Technical Tips
Limits and Ranges
Runtime Errors
Common Questions and Answers
Appendix B: Acu4GL for Microsoft SQL Server
Microsoft SQL Server Concepts Overview
Installation and Setup
Installing the Server and Client Machine
To install Acu4GL for Microsoft SQL Server
Setting Up a User Login
Setting Up the User Environment
Designating the Host File System
Filename Translation
Supported Data Types for SQL Server
Configuration File Variables
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_FAILOVER_PARTNER
A_MSSQL_FAILOVER_PARTNER_SPN
A_MSSQL_IGNORE_GUID_COLUMNS
A_MSSQL_FAST_ACCESS
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_NT_AUTHENTICATION
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_UNLOCK_ON_EXECUTE
A_MSSQL_UPDATE_PRIMARY_COLS
A_MSSQL_USE_DROPDOWN_QUERIES
A_MSSQL_VISION_LOCKS_FILE
Using the Database Table
Working with Tables Containing Identity Columns
Table Locking
Stored Procedures
Developer- or Site-supplied Stored Procedures
tablename_delete stored procedure
tablename_insert stored procedure
tablename_read stored procedure
tablename_startnnn stored procedure
tablename_update stored procedure
Built-in Stored Procedures
sp_AcuInit stored procedure
sp_AcuRemoveUnusedLocks_1 stored procedure
sp_AcuTableReport_1 stored procedure
sp_AcuUserCount_1 stored procedure
sp_AcuZeroUserCount_1 stored procedure
Limits and Ranges
Runtime Errors
Common Questions and Answers
Appendix C: Acu4GL for Oracle
Oracle Concepts Overview
Transactions
Record Locking Issues in Transactions
Acu4GL and Record Locking
The open_cursors Parameter
Table Ownership
Security
Installation and Setup
Windows Installation Steps
To Set Up a Service Name for an Oracle Database
UNIX Installation Steps
Completing the Installation
Checking System Parameters
To set the system parameters
Setting Up a User Account
To Configure a Login
Setting Up the User Environment
Designating the Host File System
Setting Up the Search Path
Handling Transactions
Oracle's Instant Client
To Test the Installation of Oracle's Instant Client
Filename Translation
Configuration File Variables
A_ORA_DATABASE
A_ORACLE_ERROR_FILE
A_ORA_HINTS
A_ORA_KEEP_START_CURSOR
A_ORA_LIMIT_DROPDOWN
A_ORA_MAX_FILE_CURSORS
A_ORA_NLS_SORT
A_ORA_RETURN_SUCCESS_INFO
A_ORA_USE_PRIMARY
A_ORA_WAIT_LOCK
COMMIT_COUNT
ECN-GL443
ORA_LOGIN
ORA_PASSWD
USER_PATH (for Oracle)
Using the Database Table
Unsupported Features
Limits and Ranges
Data Type Mapping
Runtime Errors
Common Questions and Answers
Appendix D: Acu4GL for ODBC
ODBC Concepts
What Is ODBC?
Origins of ODBC
Restrictions
ODBC Structure
Installation and Setup
ODBC Installation
Supported Drivers
Acu4GL for ODBC Installation
Setting Up Data Sources
Setting Up the User Environment
Designating the Host File System
Designating the Host Data Source
Filename Translation
Decimal Points
Configuration File Variables
4GL_COLUMN_CASE
4GL_MAX_DATE
4GL_MIN_DATE
4GL_JULIAN_NULL
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_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
USER_PATH
Mixed-case SQL Identifiers
Record and Table Locking
Limits and Ranges
Driver Requirements
Data Type Mapping
Troubleshooting
Runtime Errors
Native SQL Errors
Common Questions and Answers
Appendix E: Acu4GL for Sybase Information
Sybase Concepts Overview
Installation and Setup
Sybase RDBMS Installation
Acu4GL for Sybase Installation
UNIX Client Installations
UNIX Client Installation Steps
UNIX or Windows NT server Installations
Windows Client and UNIX or Windows NT Server Installations
UNIX Server Machine Installations
Windows NT Server and Windows Client Installations
Windows client Installations
Setting Up a User Account
Setting Up the User Environment
Designating the Host File System
Filename Translation
Configuration File Variables
A_SYB_ADD_IDENTITY
A_SYB_ADD_TIMESTAMP
A_SYB_CHECK_DELETE_SP
A_SYB_CHECK_INSERT_SP
A_SYB_CHECK_READ_SP
A_SYB_CHECK_UPDATE_SP
A_SYB_CURSOR_OPTION_1, A_SYB_CURSOR_OPTION_2, A_SYB_CURSOR_OPTION_3
A_SYB_DATABASE
A_SYB_DEADLOCK_LOOPS
A_SYB_DEFAULT_CONNECTION
A_SYB_EXTRA_PROC
A_SYB_FAST_ACCESS
A_SYB_FORCED_INDEX
A_SYB_LOCK_DB
A_SYB_LOGIN
A_SYB_MAX_BINARY_LENGTH
A_SYB_MAX_CHAR_LENGTH
A_SYB_MAX_CHARACTERS
A_SYB_MAX_COLUMNS
A_SYB_NATIVE_LOCK_TIMEOUT
A_SYB_NO_COUNT_CHECK
A_SYB_NO_DBCLOSE
A_SYB_NO_DBID
A_SYB_NO_RECORD_LOCKS
A_SYB_NO_TABLE_LOCKS
A_SYB_NO_23_ON_START
A_SYB_PACKETSIZE
A_SYB_PASSWD
A_SYB_ROWCOUNT
A_SYB_SELECT_KEY_ONLY
A_SYB_SKIP_ALTERNATE_KEYS
A_SYB_TRANSACTION_LEVEL
A_SYB_TRANSLATE_TO_ANSI
A_SYB_UNLOCK_ON_EXECUTE
A_SYB_USE_DROPDOWN_QUERIES
A_SYB_VISION_LOCKS_FILE
Record and Table Locking
Stored Procedures
Developer- or Site-supplied Stored Procedures
tablename_insert
tablename_delete
tablename_read
tablename_update
tablename_startnnn
Built-in Stored Procedures
sp_AcuInit
sp_AcuRemoveUnusedLocks_1
sp_AcuTableReport_1
Limits and Ranges
Runtime Errors
Appendix F: Acu4GL for DB2
DB2 Concepts Overview
Transactions
Record-locking Issues in Transactions
Acu4GL and Record Locking
Installation and Setup
Windows Installation Steps
UNIX Installation Steps
Sample ACUCOBOL-GT runtime configuration file
Setting Up the User Environment
To Set Up The DB2 User Environment
Designating the Host File System
Designating the Host Data Source
Filename Translation
Decimal Points
Configuration File Variables
A_DB2_ALTERNATE_COMMIT_LOGIC
A_DB2_CATALOG
A_DB2_COMMIT_ON_BEGIN
A_DB2_DATASOURCE
A_DB2_ERROR_MAP_FILE
To create an error map
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_DB2_USE_SQLCOLUMNS
A_DB2_USE_SQLTABLES
USER_PATH (for DB2)
Record and Table Locking
Limits and Ranges
Data Type Mapping
Runtime Errors
Common Questions and Answers
Copyright Statement
AcuBench Version 10.3.1 User's Guide
Introduction
Product Overview
Companion Products
Product Support
Getting Started
Introduction
About AcuBench Documentation
Related Documents
Notation
Sample Programs
System Requirements
Installing and Uninstalling AcuBench
Navigating the User Interface
The Toolbars
The Workspace Window
The Development Window
The Screen and Report Component Toolboxes
The Output Window
The Status Bar
Printing in the Workbench
Workbench Concepts
AcuBench Concepts
Project Management, Organization, and Structure
The Workspace
Projects
Programs
Automatic Code Generation
Generated COPY Files
Controlling Code Generation
AcuBench File Types
Development Approaches
General Considerations
Project Prefix Settings
Project Directories
Placing Files in the Project Directory
Keyboard Shortcut Settings
Setting Options and Testing
Developing New Applications
Developing Programs That Do Not Use Code Generating Tools
Working with Large Applications
Factors that Affect Performance
Organizing Your Workspace
The Command-line Interface to AcuBench
Using Thin Client Technology with AcuConnect
Customize Your Working Environment
Introduction
The Tools > Options Dialog
Setting Environment Options
General Environment Options
Template Options
Version Control Options
Build Options
Debug Options
Keyboard Options
Prefix Options
Miscellaneous Environment Options
Setting Code Editor Options
Code Editor General, Format, Tabs, and Keyword Options
Code Insight Options
Paragraph List, Variable List, Constant List, and COPY File List Options
Setting Screen Designer Options
Setting Code Generator Options
Generate Document Options
Program Tag Options
Setting Data Designer Options
Setting Report Writer Options
The Customize Dialog
Customizing AcuBench Toolbars
Accessing External Applications
Version Control
Version Control Overview
Working with Version Control in AcuBench
Preliminary Considerations
The Version Control Interface
Displaying the Version Control Window
The Version Control Interface Fields
Adding Commands to the Menu Command List
Modifying the Command List
Saving the Command List
Command Variables
Issuing Version Control Commands
Working with Projects
Introduction
Working at the Workspace Level
Creating a Workspace
Opening a Workspace
Saving a Workspace
Building a Workspace
Rebuilding a Workspace
Regenerating a Workspace
Stopping a Build
Closing a Workspace
Working with Projects
Creating a Project
Project Properties
Adding Folders to a Project
Adding Files to a Project
Removing Files From a Project
Moving Components Among Projects and Folders
Deleting a Project
Project Settings
Introduction
Modes
Working with Modes
Adding a Mode
Removing a Mode from a Project
Saving a Mode as a POF
Reusing a POF
Switching Between Modes
Compiler and Runtime Settings
Working with Runtime Configuration Files
Editing Configuration Files
User-defined Variables
Environment Settings
Working with Environment Variables
The COPYPATH Environment Variable
Library Settings
Working with Data at the Project Level
Introduction
Defining Data Files for Use in Projects and Programs
Creating Data Layout Files
Creating a DLT from Scratch
Creating a DLT from a Single FD/SL Pair
Creating DLTs from Multiple FD/SL Pairs
Working in the File Designer
Adding File Control Information
Adding a File Description
Linking and Importing COPY files
Occurs Syntax Dialog
The Field Dialog
Defining Key Information
Defining File Handling Behavior
Designing a Custom XFD
Copying DLT Files Between Projects
Tips for Working in the Data View
Useful Data View Functions
Data Layout Properties
Working with Programs
Introduction
Creating an AcuBench Program
Adding an AcuBench Program to a Project
AcuBench Program Properties
Adding and Creating Basic Source Files
Creating a File
Adding an Existing Source File
Adding COPY Files
Working with Files in the File View
File Properties
Reparsing Source Files
Generating a Program
Compiling a Program
Compiling Programs to a Server
Compiling Multiple Programs
Remote Precompiling with Boomerang
Executing a Local Program
Executing a Remote Program
Debugging a Program
Debugging with the Thin Client
Debugging a Transaction Processing (TP) Application
Working with Data at the Program Level
Introduction
Using the Data Set Designer
Creating a Data Set
Opening an Existing Data Set
Creating a BEFORE or AFTER Procedure
The Data Set's Property Window
Generating File Handling Code
Using the Working-Storage and Linkage Editors
The Working-Storage Editor
The Linkage Editor
The Working-Storage and Linkage Editor Interface
Configuring the Code Editor
Introduction
Establishing Keyboard Shortcuts
Customizing the Code Editor Interface
Configuring Basic Editor Functions
Modifying Editor Appearance
Customizing Tab Stops
Configuring Keyword Behaviors
Setting Print Layout Options
Setting Headers and Footers
Setting Page Appearance
Working with Source Code
Introduction
Working with Files
Creating a New File
File Formats
The Code Editor Window
Basic Editor Functions
Using Bookmarks
Changing Case and Indenting Lines
Viewing Multiple Sections of Your File
Merging Data From Another File
COBOL-Friendly Editing Functions
Adding and Removing Line Items
Working with Tabs
Working with Blocks of Code
Using Code Insight Functions
Using Paragraph, Variable, and Constant Lists
Working with COPY Files
Using Source Code Templates
Navigating Between Error Lines
Configuring the Screen Designer
Introduction
Customizing the Screen Designer Interface
Establishing Screen and Control Defaults
Adding Screen Templates
Configuring Keyboard Shortcuts
Working with Screens
Introduction
Creating a New Screen
Getting Started with Screen Design
Setting Basic Screen Form Properties
Creating a Resizable Screen
Adding Controls to a Screen
Drawing Controls with the Component Toolbox
Drawing Controls with Drag-and-Drop
Creating Autoload Controls
Creating an Unpaged Autoload Control
Creating a Paged Autoload Control
Modifying Autoload Controls
Understanding the Generated Code (Unpaged Controls)
Understanding the Generated Code (Paged Controls)
Configuring Control Properties
Associating Data with a Control
Layout Data Control Property
Controls: Related References
Positioning and Aligning Controls
Refining Your Screen
Basic Editing Commands
Determining Control Tab Order
Associating Code with Screen Elements
Entering the Event Editor
Event Procedures, Embedded Procedures, and Code Insertion Points
Working with Screen Templates
Generating a Screen
Testing Screens
Creating a Logo Screen
Creating Dual User Interfaces
Controls, Menus, and Toolbars
Introduction
Properties of Screen Elements
Events Overview
Standard Controls
Selector
Bar
Bitmap
Check Box
Combo Box
Date Entry
Entry Field
Frame
Grid
Label
List Box
Push Button
Radio Button
Scroll Bar
Status Bar
Tab
Tree View
Web Browser
ActiveX Controls
Adding ActiveX Controls to the Component Toolbox
Using ActiveX Controls in Your Screen
Removing an ActiveX Control from the Component Toolbox
Using the Menu Designer
Creating a Menu
Building the Menu
Adding Menu Functionality
Enabling the Menu
Using the Toolbar Designer
Creating a Toolbar
Using More Than One Toolbar
Configuring the Report Composer
Introduction
Customizing the Report Composer Interface
Establishing Report and Control Defaults
Adding Report Templates
Report Keyboard Shortcuts
Working with Reports
Introduction
Report Concepts: The Big Picture
Report Types
Adding a Report
Formatting the Report
Adding or Removing Report Sections
Configuring Report and Section Properties
Adding Report Controls
Using the Report Component Toolbox
Using Drag-and-Drop
Positioning and Alignment
Configuring Control Properties
Setting Print Conditions
Using Events to Populate a Report with Data
Adding Report and Report Element Events
Before and After Event Paragraphs
BeforeDoPrint and AfterDoPrint Event Paragraphs
LoadGridInit and LoadGridNext Event Paragraphs
Generating Report Files and Code
Reports Generated using BeforeDoPrint and AfterDoPrint events
Reports Generated Without BeforeDoPrint and AfterDoPrint Events
Grids Generated With LoadGridInit and LoadGridNext
Grids Generated Without LoadGridInit and LoadGridNext Events
Generating Existing Reports from Earlier Versions
Working with Data from Multiple Sources
Printing the Report
Creating Report Template Files
Sample Reports
Deploying in a Thin Client Environment
Using a Web Browser Control to Display and Print Reports
Using AcuBenchPrint.dll to Display and Print Reports
The Report Controls and Property Reference
Introduction
Common Report Control Properties
The Report Box
The Report Check Box
The Report Date Time
The Report Entry Field
The Report Grid
The Report Image
The Report Label
The Report Line
The Report Occurs
The Report Radio Button
The Report Table
Table Setting Dialog's Column Setting Tab
Table Setting Dialog's Row Setting Tab
Table Setting Dialog's Cell Setting Tab
Working with ACUCOBOL-GT Utilities
ACUCOBOL-GT Utilities
The Object File Utility
Object Libraries
Creating an Object Library
Retrieving Information About Objects
Generating Native Code
Using vio
Output Mode
Input Mode
Using logutil
Using vutil
Increasing the Maximum File Record Size
Examining File Information
Testing File Integrity
Modifying Keys
Rebuilding Files
Resetting User Counts
Creating Empty Files
File Size Summary
Extracting Records
Unloading to Other File Types
Loading a File
Converting Indexed Files
B-Tree Listing
Testing for Vision File Locking Compatibility
Using acu4glfd
XML Support in AcuBench
The AcuBench Integrated Debugger
The Debugger Interface
Debug Menu and Toolbar
Debugger Output
Watch Window
Stack Info Window
Memory Window
Debug Mode Compile Options
Entering the Debugger
Debug Menu Commands
Tracing Functions
Starting, Stopping, and Navigating the Debugger
Debugger Scripts
Breakpoints
Setting a Breakpoint using the Breakpoints Dialog Box
Modifying a Breakpoint using the Breakpoints Dialog Box
Deleting Breakpoints using the Breakpoints Dialog Box
Viewing a Breakpoint with the Breakpoints Dialog Box
Monitoring Variables Using the Breakpoints Dialog Box
Debugging Threaded Applications
Quick Watch
Looking for Something?: Search and Replace
Introduction
Find
Locate a single instance of a search string
Mark all instances of a search string
List all occurrences of a search string
Find in Files
Special Operators and Regular Expressions
Performing the Search
Find in Objects
Replace
Replace in Files
Toolbar Reference
The Standard Toolbar
The Project Toolbar
The Editor Toolbar
The Debug Toolbar
The Align Toolbar
The Launch Toolbar
Keyboard Reference Shortcut
Introduction
Main: Default Keyboard Shortcuts
Code Editor: Default Keyboard Shortcuts
Screen Designer: Default Keyboard Shortcuts
Appendix: Bringing Existing Code Into AcuBench
Introduction
Importing Data Definitions
Creating a PSF for an Existing Program
Prepare to Create the PSF
Create the PSF
Key-Status
Import Program Elements into the PSF
Adding Existing Code to an AcuBench Program
Updating a Character-based Screen
Benefits and Restrictions
Using the Character-to-GUI Wizard
Running Under Windows
Setting Compiler Options
Setting the "--char2gui" Runtime Option
Screen Conversion
Editing Screen Properties
Manipulating the Screen in the Screen Designer
Generating New Screen Section Code
Integrating Code Back into Your Program
Tips and Techniques
Importing a Graphical Screen
Setting Compiler Options
Setting the "-import" Run-time Option
Graphical Screen Importing
Graphical Screen Importing Notes and Restrictions
Copyright Statement
AcuConnect Version 10.3.1 User's Guide
Introduction
Overview
Distributed Processing with AcuConnect
Thin Client Technology with AcuConnect
Operating System Support
Distributed Processing with AcuConnect
Thin Client Technology with AcuConnect
How AcuConnect Works
Distributed Processing
Thin Client
Licensing
Security
Contacting Technical Support
The AcuConnect Server
Getting Started with AcuConnect
Installing AcuConnect
Installing AcuConnect on a UNIX Server
Installing AcuConnect on a Windows Server
Installing AcuConnect in Thin Client on a VMS Server
Installing the ACUCOBOL-GT Runtime
Relinking the Server Runtime in Distributed Processing
Establishing System Security
Windows Permissions
UNIX Ownerships and Permissions
The Server Access File
Access Record Composition
Using the Access File Manager
Starting the Access File Manager
Creating or Opening an Access File
Adding an Access Record
Removing an Access Record
Modifying an Access Record
Displaying an Access Record
Creating a Server Alias File in Thin Client
Adding Aliases
Removing Aliases
Modifying Aliases
Displaying Aliases
Installing Server Programs
Starting AcuConnect
Starting AcuConnect on a UNIX Server
Starting AcuConnect on a Windows Server
Starting AcuConnect in Thin Client on a VMS Server
Starting AcuConnect at System Startup
AcuConnect Connection Logic
Passwords
Exiting the Access Manager
Server Configuration
Introduction
Configuring the Environment
ALIAS_FILE_IS_XML
Creating a Server Configuration File
ACCESS_FILE
ACURCL_PORT
AGS_BAD_SOCKET
CHILD_WAIT
DEFAULT_USER
FILE_TRACE
FILE_TRACE_FLUSH
FILE_TRACE_TIMESTAMP
FORCE_KILL_TIME
PASSWORD_ATTEMPTS
PROVIDE_PASSWORD_MESSAGES
SECURITY_METHOD
SERVER_ALIAS_FILE
SERVER_IP
SERVER_NAME
SERVER_RUNTIME
TEXT_nnn
USE_SYSTEM_RESTRICTIONS
USE_UNIX_SHELL
WINNT_LOGON_DOMAIN
WINNT_EVENTLOG_DOMAIN
Creating a Runtime Configuration File for the Remote Server Component
AGS_MAX_SEND_SIZE
AGS_RECEIVE_BUFFER_SIZE
AGS_SEND_BUFFER_SIZE
AGS_SOCKET_COMPRESS
AGS_SOCKET_ENCRYPT
AGS_TCP_NODELAY
ENCRYPTION_SEED
FREEZE_AX_EVENTS
TC_AUTO_UPDATE_FAILED_MESSAGE
TC_AUTO_UPDATE_FAILED_TITLE
TC_AUTO_UPDATE_NOTIFY_FAIL
TC_AUTO_UPDATE_QUERY
TC_AUTO_UPDATE_QUERY_MESSAGE
TC_AUTO_UPDATE_QUERY_TITLE
TC_AX_EVENT_LIST
TC_CHECK_ALIVE_INTERVAL
TC_CHECK_INSTALLER_TIMESTAMP
TC_CONTINUITY_WINDOW
TC_CONTROL_SYNC_LEVEL
TC_DELAY_ACTIVATE
TC_DELAY_PRE_EVENT_OPS
TC_DISABLE_AUTO_UPDATE
TC_DISABLE_SERVER_LOG
TC_DOWNLOAD_CANCEL_MESSAGE
TC_DOWNLOAD_DESCRIPTION
TC_DOWNLOAD_DIALOG
TC_DOWNLOAD_DIALOG_TITLE
TC_EVENT_LIST
TC_EXCLUDE_EVENT_LIST
TC_INSTALLER_ARGS
TC_INSTALLER_CLIENT_FILE
TC_INSTALLER_RUN_ASYNC
TC_INSTALLER_SERVER_FILE
TC_INSTALLER_TARGET_DIR
TC_INSTALLER_UI_LEVEL
TC_MAP_FILE
TC_NESTED_AX_EVENTS
TC_QUIT_MODE
TC_REQUIRES_BUILD_NUMBER
TC_RESTRICT_AX_EVENTS
TC_SERVER_LOG_FILE
TC_SERVER_TIMEOUT
TC_TV_SELCHANGING
THIN_CLIENT_ENCRYPT
Preparing Your Application
Designing Your Application
In Distributed Processing
With AcuConnect's Thin Client Technology
Distribution Considerations
When to Use a "Thin" Client
When to Use a "Thick" Client
When to Use a "Smart" Client
Distributed Processing Application Design
Embedding COBOL CALLs
Terminating the Remote Application
Exception Handling
CALLing Multiple Programs
Synchronous or Asynchronous Execution
CALLing C$ASYNCRUN
CALLing C$ASYNCPOLL
Memory and Environment Issues
Thin Client Application Design
Limitations in Thin Client Environments
User Interface Work in Thin Client
Building a New Graphical Display
Working with Character Display Limitations
Deploying a Highly Interactive Program in a Wide-area Network
Other Application Work in Thin Client
Adjusting for Certain Windows Features
Accessing the Windows Registry on the Client Machine
Printing in Thin Client
Selecting a File from the Client Machine's Drives
Using W$BITMAP Print Screen Features
International Character Handling
In Distributed Processing
In Thin Client
Preparing the Client(s) in Distributed Processing
Installing the ACUCOBOL-GT Runtime
Relinking the Client Runtime
Removing AcuConnect Client Support from the Runtime
Passwords for Clients
Setting Up the Host Name
Confirming Network Services
Creating a Client Configuration File
Defining Remote Application Path
CODE_PREFIX
Code Name Aliases
Other Variables
ACUCONNECT_DEBUG_METHOD
ACUCONNECT_DEBUG_METHOD_STRING
ACUCONNECT_CLOSE_AFTER_CANCEL
ACUCONNECT_RUNTIME_FLAGS
ACURCL_PORT
DEFAULT_MAP_FILE
server_MAP_FILE
TEXT_nnn
Sample client.cfg File
Installing Client Programs
Executing Programs on the Client
Executing Non-COBOL Programs on the Client
Debugging in a Distributed Processing Environment
Sample Programs
Running the Sample Programs
Running the Sample Programs in UNIX
Running the Sample Programs in Windows
Results
Preparing the Client(s) in Thin Client
Preparing the Client
Installing the ACUCOBOL-GT Thin Client
Installing ActiveX Files
Thin Client Splash Screen
Launching Remote Programs from the Client
The acuthin Command
Debugging Option
Debugging in a Transaction Processing Environment
Testing Your AcuConnect Connection
Setting Username and Password
Launching Programs on the Internet
Using the Client Cache Directory
Thin Client Special Topics
Introduction
Using Library Routines and DLLs in Thin Client
Copying Files between the Client and Server
Executing Desktop Programs
Using Files Containing Keystrokes
Selecting Files on the Client
Accessing Local Resource Files
Calling Dynamic Link Libraries (DLLs)
Calling Client-side DLLs
Related Configuration Variables
Passing Pointers in DLL Calls
Calling the DLL Version of the ACUCOBOL-GT Thin Client
Launching Thin Client Applications from a Web Page
Thin Client Command-line Files
Using Anchor Tags
Thin Client Automatic Update
Automatic Update Overview
Automatic Update Process
Enabling or Disabling the Automatic Update Feature
Informing the User When an Update Is Needed
Accepting the Automatic Update
.msi Installer
Other Installers
Installer File Locations
Download Progress Dialog Box
Microsoft Windows Installer
Restarting the Application with the New Thin Client
Automatic Update Failure
Managing the System
Introduction
Managing the System: UNIX
The acurcl Command
acurcl -access
acurcl -alias
acurcl -config
acurcl -info
acurcl -install
acurcl -kill
acurcl -query
acurcl -remove
acurcl -start
acurcl -version
Managing the System: Windows
AcuConnect Control Panel
Access Tab
Creating or Opening an Access File
Adding an Access Record
Modifying an Access Record
Removing an Access Record
Config Tab
Changing the Server and Port You Are Viewing
Adding a Variable to the Running Server
Modifying the Value of a Variable
Alias Tab
Creating an Alias File and Record
Modifying an Alias Record
Deleting an Alias Record
Info Tab
Listing Child Processes
Updating the List Box Display
Updating the List Box Display Automatically
Terminating a Child Process
Services Tab
Adding a Service
Starting, Stopping, or Removing a Service
Adding Dependencies to a Service
Editing the Configuration File
Viewing the Error File
Machine Failures
Event Logging
AcuConnect Error Messages
AcuConnect Distributed Processing: Troubleshooting
Distributed Processing Error Messages
Unexpected User Name
Diagnosing Unexpected User Errors on a UNIX Server
Diagnosing Unexpected User Errors on a Windows Server
Connection Refused
Diagnosing Connection Refused Errors on a UNIX Server
Diagnosing Connection Refused Errors on a Windows Server
Invalid Password
AcuConnect Fails to Start
Problems Starting and Stopping Services
AcuConnect Thin Client: Troubleshooting
Thin Client Error Messages
Remote Third-Party Application Creation
Tuning System Performance
Buffer Size Considerations
File Compression
TC_CONTROL_SYNC_LEVEL Runtime Configuration Variable
TC_TV_SELCHANGING Configuration Variable
Graphical Control Event Handling
Screen Section Table Handling
Grid Control
Bitmaps
Multiline Entry Fields
Connecting to AcuServer
Frequently Asked Questions
Copyright Statement
AcuServer Version 10.3.1 User's Guide
Introduction
Overview
Implementation Details
Remote File Access Performance
Record Locking
System Security
System Load Balancing
Server Licensing
Vision Files
International Character Handling
Technical Services
Preparing Your UNIX Network
Getting Started on UNIX
UNIX System Requirements
Installing a UNIX Server
AcuServer System Security
Ownerships and Permissions
File Access Security
Installing the Client
Passwords for Clients
Setting Up the Host Name
Setting Up the User Name
Confirming Network Services
Preparing Your Windows Network
Getting Started in Windows
Windows Installation Requirements
Installing a Windows NT/2000/2003/2008 Server
Setting Up Accounts
AcuServer System Security
Setting Ownerships and Permissions
File Access Security
Setting Permissions on New Files
Installing the Client
Passwords for Clients
Setting Up the Host Name
Setting Up the User Name
Confirming Network Services
Using AcuServer’s Graphical User Interface for Windows
Configuration
Configuring AcuServer
Configuration Variables
Runtime Configuration Variables
AGS_BLOCK_SLEEP_TIME
AGS_PING_TIME
AGS_SOCKET_COMPRESS
AGS_SOCKET_ENCRYPT
CACHE_DIRECTORY
CACHE_DIRECTORY_SIZE
filename_MRC
USE_LOCAL_SERVER
Server Configuration Variables
ACCESS_FILE
ACUSERVER_MASTER_SERVER
AGS_SERVER_SOCKET_RESERVE
COUNT_STATISTICS
DEAD_CLIENT_TIMEOUT
DEFAULT_TIMEOUT
DEFAULT_UMASK
DEFAULT_USER
ENCRYPTION_SEED
FILE_TRACE
FILE_TRACE_FLUSH
FILE_TRACE_TIMESTAMP
filename_DATA_FMT
filename_INDEX_FMT
filename_VERSION
LOCK_ALL_FILES
LOCKS_PER_FILE, MAX_FILES, and MAX_LOCKS
MAX_ERROR_LINES
MULTIPLE_RECORD_COUNT
NO_LOCAL_CACHE
PASSWORD_ATTEMPTS
PROVIDE_PASSWORD_MESSAGES
SECURITY_METHOD
SERVER_IP and SERVER_NAME
SERVER_PORT
TEXT
USE_SYSTEM_RESTRICTIONS
V_BASENAME_TRANSLATION
V_BUFFERS
V_BUFFER_DATA
V_INDEX_BLOCK_PERCENT
V_READ_AHEAD
V_SEG_SIZE
V_STRIP_DOT_EXTENSION
V_VERSION
WINNT-EVENTLOG-DOMAIN
WINNT-LOGON-DOMAIN
Administrator Utilities and Functions
Overview
acuserve Command-line Options and Formats
AcuServer Control Panel Interface
Creating and Maintaining the Server Access File
Installing and Removing acuserve as a Windows Service
Installing from the Command Line
Installing From the Acuserver Control Panel
Removing the acuserve Service
Determining if acuserve is Installed as a Service
Starting and Stopping acuserve
Starting from the Command Line
Starting on UNIX
Stopping from the Command Line
Starting and Stopping From the AcuServer Control Panel
Changing acuserve Properties
Changing Properties From the Command Line
Changing Properties From the AcuServer Control Panel
Checking System Status
Generating Status Reports From the Command Line
Checking Status from the AcuServer Control Panel
Tracking Server Statistics
Closing Stranded Files
Closing Files from the Command Line
Closing Files From the AcuServer Control Panel
Checking Version Information
Registering Servers
System Security
Security Overview
The Server Access File
Access Records
Using the Access File Manager
Creating or Opening an Access File
Creating and Opening an Access File From the Command Line
Creating and Opening an Access File From the AcuServer Control Panel
Adding an Access Record
Adding a Record From the Command Line
Adding a Record From the AcuServer Control Panel
Removing an Access Record
Modifying an Access Record
Modifying a Record from the Command Line
Modifying a Record From the AcuServer Control Panel
Displaying an Access Record
Exiting the Access File Manager
AcuServer Connection Logic
Passwords
Encryption
Programming for AcuServer
Programming Considerations
Accessing Remote Files
Remote Name Notation
Using FILE_PREFIX and CODE_PREFIX
Command-Line and Configuration File Remote Name Notation
Using Name Aliases
Server Name Management
Multiple-Record Mode
File Limitations
Other Considerations
Restrictions to Library Functions
C$COPY
C$FILEINFO
RENAME
System Management
Machine Failures
Error and Status Codes
Error Logging
Event Logging
Start Status Codes
File Access Failures, 9D Errors
Diagnosing Errors with C$PING
Troubleshooting
Ambiguous File Error
Connection Times Out
File Access Denied
Unexpected User Name
Connection Refused
Invalid Password
Client and Server Both Hang When Connecting
Frequently Asked Questions
Glossary of Terms
ACL
ACP
acushare
daemon
multiple-record mode
name alias
NTFS
remote name notation
server access file
umask
XFD
Copyright Statement
AcuSQL Version 10.3.1 User's Guide
Getting Started
Introduction to AcuSQL
AcuSQL Pre-compiler
AcuSQL Runtime Library
Requirements
Installation
Installation Under Windows
Installation under UNIX
Organization
Demonstration Programs
Technical Services
Program Preparation
Preparing Your Programs
Coding Considerations
User-Supplied Object Names
Coding Area
Commas
String Delimiters
Data Division
Cursors
SQL INCLUDE files
Host Variables
Data Types
DB2 Data Type Compatibility
Microsoft SQL Server Data Type Compatibility
Access Data Type Compatibility
MySQL Data Type Compatibility
Procedure Division
Cursors
Rowset Functions
Stored Procedures
Restrictions
SQL Verbs
CONNECT Statement
DISCONNECT Statement
Checking Syntax
Error Handling
Error Messages
Limits and Restrictions
Detecting and Handling NULL Values
Pre-compiler Function and Use
The ESQL Translation Process
Using the Pre-compiler
Using AcuSQL From Within AcuBench
Using AcuSQL as a Standalone Program
Using AcuSQL from the Compiler
Environment Variables
Pre-compilation Errors
Program Execution
Running Your Application
Running Your Application with Microsoft SQL Server
Runtime Configuration Variables for SQL Server
ASQL_AUTO_DATE_FORMAT
ACUSQL_SQLSTATE_2000_ON_EOD
ASQL_AUTOCOMMIT
ASQL_BUFFER_SIZE
ASQL_COBOL_DATA_SIZE
ASQL_CONNECT_DATABASE
ASQL_FAST_ACCESS
ASQL_NULL_ALPHA_SPACES
ASQL_ODBC_DRIVER_NAME
Runtime Configuration Variables for esqllib
ACUSQL_NO_AUTOCOMMIT
ACUSQL_ODBC_CURSORS
ACUSQL_USE_CONCURRENT
ODBC_CURSOR_TYPE
Debugging and File Tracing
Error Messages
Sample Programs
Sample Programs
Static SQL
Creating Tables With ESQL — create.sqb
WHENEVER Directive
Using DDL
INSERT Statement
Date Format
Putting It All Together
Using Working-Storage Items – select1.sqb
SELECT Statement
Host Variables
INTO Clause
WHERE Clause
MIN and MAX Group Functions
Putting It All Together
Group Items in the INTO Clause – select2.sqb
Working With More Than One Row – select3.sqb
SET ROWCOUNT Statement
Cursors
Declaring a Cursor
Opening a Cursor
FETCH Statement
Closing a Cursor
Putting It All Together
Updating Data – update.sqb.
FOR UPDATE Clause
The SET Clause
Positioning the Cursor for the UPDATE
Putting It All Together
Full SQL Program
Glossary of Terms
cursor
Data Definition Language (DDL)
Data Manipulation Language (DML)
dynamic SQL
ESQL
host variable
intermediate file
ODBC
positioned update
pre-compiler
schema
static SQL
Copyright Statement
AcuToWeb Version 10.3.1 User's Guide
AcuToWeb Introduction
AcuToWeb Installation and Licensing
AcuToWeb Gateway to AcuConnect prerequisites
AcuToWeb install directories and files
Licensing
Preparing Your Application
Getting Started (Windows)
AcuToWeb Control Panel
Access Tab
Creating or Opening an Access File
Adding an Access Record
Modifying an Access Record
Removing an Access Record
Config Tab
Changing the Server and Port You Are Viewing
Adding a Variable to the Running Server
Modifying the Value of a Variable
Alias Tab
Creating an Alias File and Record
Modifying an Alias Record
Deleting an Alias Record
Info Tab
Listing Child Processes
Updating the List Box Display
Updating the List Box Display Automatically
Terminating a Child Process
Services Tab
Adding a Service
Starting, Stopping, and Removing a Service
Adding Dependencies to a Service
Editing the Configuration File
Viewing the Error File
Gateway Services Tab
Adding a Gateway Service
Editing a Gateway Service
Removing a Gateway Service
Starting and Stopping a Gateway Service
Generating a URL
AcuToWeb Gateway
Example Gateway Configuration File
Gateway Configuration Options
Working with IIS or Apache
Configuring Apache
Scenario 1 Apache and Gateway on same server; Apache forwards all communications
Scenario 2 Apache and Gateway on same server; Apache forwards only HTTP communications
Scenario 3 Apache and Gateway on different servers
Configuring IIS
Starting and Stopping a Gateway Service
Configuring SSL Authentication
Connecting to the Gateway
Connection URL Syntax Explained
Including Special Characters
Recovering Dropped Connections
Using AcuToWeb on a Mobile Device
Customizing the Appearance of AcuToWeb Applications
Themes Generator
Create a New Theme
Import an Existing Theme
Cascading Style Sheet Syntax
AcuToWeb Desktop
Supported AcuToWeb Desktop functions
AcuToWeb Desktop menu
AcuToWeb Security and Authentication
Troubleshooting Your Application
Using the Logging Console
Limitations and Known Issues
Copyright Statement
AcuXDBC Version 10.3.1 User's Guide
Introduction
Overview
Product Features
Relational Database Features
Data Access Features
System Catalog and the Role of XFDs
Universal Configuration
System Security
Multi-company Support
AcuXDBC Architecture
AcuXDBC Design
Basic Components
System Architecture
Local Processing
Remote Processing (Network or Client-Server)
Remote Access - Local Processing - AcuServer
Security
Network Security Layer
Database Security Layer
Preparing Your COBOL
Mapping COBOL Data Items and Database Fields
The Role of XFDs
Creating XFD Files
How XFDs are Formed
Defaults Used in XFD Files
KEY IS Phrase
REDEFINES Clause
Multiple Record Definitions
Group Items
FILLER Data Items
OCCURS Clause
Identical Field Names
Examples of Default Mapping
Summary of XFD Fields
Naming the XFD File
Forming the Final XFD Name
Examples of XFD Names
How AcuXDBC Locates XFD Files
Using XFD Directives
Sample Files and Examples
Directive Syntax
Line Continuation for Complex XFDs
Supported Directives
ALPHA directive
BINARY directive
IDENTITY-COLUMN directive
COMMENT directive
DATE directive
Julian Dates
Group Items
Example 1 - Elementary Data Item, DATE Directive
Example 2 - Group Data Item, DATE and USE GROUP Directives
FY and RY Date Formats
FILE directive
HIDDEN directive
NAME directive
NUMERIC directive
READ-ONLY directive
SUBTABLE directive
USE GROUP directive
VAR_LENGTH directive
WHEN directive
WHEN Complex Expressions
WHEN Directive with TABLENAME Clause
XSL directive
Configuration
Introduction
Local Configuration
Network Configuration
Network Configuration with AcuServer
Sample AcuXDBC File
Sample net.ini File
Configuration Variables
ACUSERVER_PASSWORD
ACUSERVER_PORT
CENTURY_ROLL
DEFAULT_MAP_FILE
SECURITY_METHOD
DATE_INVALID_VALUE
DATE_MAX_HIGH_VALUES
DATE_MIN_LOW_VALUES
DATE_NINE_VALUE
DATE_NULL_VALUE
DATE_ZERO_VALUE
DEBUG_LOGFILE configuration variable
DEBUG_LOGLEVEL configuration variable
DICTSOURCE configuration variable
FILE_CASE configuration variable
FILE_PREFIX configuration variable
FILE_SUFFIX configuration variable
FILENAME_WILDCARD configuration variable
IGNORE_OWNER configuration variable
INVALID_NUMERIC_DATA configuration variable
JULIAN_BASE_DATE configuration variable
KEY_CONNECT configuration variable
LOCKS_PER_FILE
LOG_BUFFER_SIZE
LOG_DEVICE
LOG_ENCRYPTION
LOG_FILE
LOGGING
MAX_FILES
MAX_LOCKS
NULL_ALPHA_READ configuration variable
NULL_ALPHA_WRITE configuration variable
NULL_NUMERIC_READ configuration variable
NULL_NUMERIC_WRITE configuration variable
PACKETSIZE configuration variable
QUERY_TIMEOUT
READ_ONLY configuration variable
READ_TIMEOUT configuration variable
RETURN_ERRNO configuration variable
TEMP_DIR
TRANSACTIONS
TRANSACTION_PROCESSING
WRITE_TIMEOUT configuration variable
V_BUFFERS
VISION_LOGGING_FILE
VISION_LOGGING_LEVEL
Environment Variables
Installation and Licensing
General Setup Procedures
Quick-start Demo Program
Stand-Alone Installations
AcuXDBC Server Installations
Server Procedure
AcuServer Installations
Installing AcuServer for servers
Install AcuServer for Clients
Using AcuXDBC
Installing AcuXDBC/AcuXDBC Server
Installing AcuXDBC/AcuXDBC Server in Windows
Installing AcuXDBC/AcuXDBC Server in Windows Vista and or Windows 64 bit environments
Installing AcuXDBC/AcuXDBC Server for UNIX/Linux Client
Installing AcuXDBC/AcuXDBC Server for UNIX/Linux Servers
Providing JDBC Access
Installed Executables and Scripts
Creating a System Catalog and Views
To Create a System Catalog using a Script
To Create a System Catalog using xdbcutil
xdbcutil Syntax
Granting Database Privileges
To grant database privileges
To modify privileges for existing users
Loading the System Catalog with Your XFDs
To Load XFDs using a Script
To load XFDs using the xdbcutil utility
Setting Up File Aliases
Multi-company Support
To set up a multi-company DSN with wildcard substitution
To set up multi-company with separate schemas (table ownership)
Setting Permissions on Your Database Tables
To set permissions on your database tables
Starting AcuXDBC Server (Network Only)
Pinging AcuXDBC Server
Stopping AcuXDBC Server
Setting Up DSNs on the Client
Adding a Data Source Name
AcuXDBC Setup: General Tab
AcuXDBC Setup: Advanced Tab
AcuXDBC Setup: Logging Tab
Copying DSNs to Other Network Machines
The System Catalog
Introduction
System Catalog Structure
PUBLIC
GENESIS Tables
INFORMATION_SCHEMA
INFORMATION_SCHEMA.COLUMNS
INFORMATION_SCHEMA.TABLES
INFORMATION_SCHEMA.VIEWS
DUAL
Using the Command-line Query Tool
Introduction
Starting xdbcquery from the Command Line
Starting xdbcquery from asql
xdbcquery Commands
Running SQL Scripts
Supported SQL Commands
Introduction
Conventions
Limitations and Restrictions
Object names
Predicates
Constraints
Summary of Supported SQL Commands
SQL Commands
CREATE INDEX command
CREATE SYNONYM command
CREATE TABLE command
NULL or NOT NULL Designation
Default Values and Collations
Ownership and Access Control
Example
CREATE VIEW command
Inserting, Updating, and Deleting Values in Views
Example
DELETE command
Searched Deletions
Positioned Deletions
Prepared DELETE Statements
Example
DROP INDEX command
DROP SYNONYM command
DROP TABLE command
GRANT (Database Privileges) command
GRANT (Object Privileges) command
USAGE
Privileges Cascade
Example
INSERT command
REVOKE (Database Privileges) command
REVOKE (Object Privileges) command
SELECT command
FROM Clause (SELECT Statement)
Joins
Outer Joins
WHERE Clause (SELECT statement)
GROUP BY Clause (SELECT Statement)
HAVING Clause (SELECT Statement)
SELECT List (SELECT Statement)
ORDER BY Clause (SELECT Statement)
Possibly Nondeterministic Queries
SET OPTION command
SET PASSWORD statement
UPDATE command
AcuXDBC Functions
ABS
ASCII
BITAND
BITOR
BITXOR
CASE
CAST
CHAR_LENGTH
CHR
CONCAT
CONVERT
CURDATE
CURTIME
DATABASE
DAYNAME
DECODE
GREATEST
HOUR
IFNULL
INSTR
LCASE
LEAST
LEFT
LENGTH
LOCATE
LTRIM
NOW
NVL
POSITION
REPLACE
REVERSE
RIGHT
ROUND
RTRIM
SQRT
SUBSTR
SUBSTRING
SYSDATE
TO_CHAR
TO_DATE
TO_NUMBER
TRANSLATE
TRUNC
UCASE
USER
Working with Windows and Java Applications
Working With Windows Applications
Accessing Data From Word
Choose Your Data Source
Add Your Tables
Finish Preparing Your Document
Accessing Data From Word 2003
Choose Your Data Source
Add Your Tables
Finish Preparing Your Document
Accessing Data From Excel
Choose Your Data Source
Add Your Tables
Accessing Data From Access
Choose Your Data Source
Add Your Tables
Working with Java Applications
Source File and String URL Syntax Sample
sample.java
Compile the Source File
Run the Application with vortex.jar
Troubleshooting
Introduction
Debug Logging
Error Codes
AcuXDBC Client Error Messages
BADCONV
BADINI
CANCEL
CANFREE
CURDUP
DATATRUNC
DIALOG
FUNCSEQ
GENONLY
INVARG
INVAUTH
INVBUFLEN
INVCOLNUM
INVCURNAM
INVCURSTA
INVDATA
MANYCONN
MANYSTMT
MISSENV
MISSINDV
NOCONN
NOCURNAM
NODRV
NODSN
NOMEM
NOTCAP
NOTIMP
NOWHDL
OPTCHG
PARMCNT
PARMDTY
PARMNUM
TIDUSED
UNDESTYP
UNFETTYP
UNINTYP
UNOPT
UNUNOPT
UNXACOPR
AcuXDBC Server Error Messages
AUTHBAD
AUTHFAIL
AUTHREQ
BADINI
CONFIG
DLLENTRY
DLLLOAD
DLLSAFE
EVALCORR
EVALEXP
EXECFAIL
HOSTNOT FOUND
INVHOSTSYN
INVVER
KEEPALIVE
LINGER
NOINTR
NOMEM
SERVNOT FOUND
SOCKET
UNDBID
AcuXDBC SQL Processing Error Messages
Cannot open file filename
Catalog table name corrupted or out of date
Character array too big (max: number)
Column name already defined
Column name undefined
Create view column count mismatch (create: number, select number)
Data truncation (max: number)
End of buffer reached
Ending quote missing
Function name not implemented yet
GENESIS_HOME environment variable not found
Identifier too long
If any numeric operand is NULL then only '==' and '!=' are valid
Illegal character
Illegal number of parameters for built-in function
Invalid parameter
Invalid password
Invalid predicate result (NULL or invalid datatype)
No data source specified
Non aggregates require a GROUP BY expression
No locks available on UPDATE
Notify tech support
NULL not allowed for column
Number of columns does not match number of values
Operation requires named authorization
Sort column name out of range (1 - number)
String too long
Sub-query must return a single column
Table name undefined
to_char/date/ number's format mask must be a constant string
Too many columns number (max: number)
Too many columns specified
Too many cursors opened
Too many sort columns (max: number)
Too many sub-queries at level number(max: number)
Too many tables in SELECT (max: number)
Unknown error code
Unknown node (type: name)
yacc: msg
Indexed File System Error Messages
100
102
104
105
107
111
112
113
116
117
126
127
128
129
130
131
Application Errors
Migrating from AcuODBC to AcuXDBC
Setup Differences
Copyright Statement
Xcentrisity Business Information Server for extend User's Guide
Introducing the Business Information Server
Overview
Installation on Windows
Prerequisites
Installation
Logon Information
Installation on UNIX
Prerequisites
Installation
Configuring the Service Engine Options
Starting Apache and BIS
Testing the Installation
Uninstalling BIS for IIS
Removing Only the Web Application Samples on IIS
Using BIS
Web Protocols: Requests/Responses
Sessions
Tracking Sessions
Cookies
The Session Root Path and Session Scope
Timeouts
Session Inactivity Timeout
Setting the Session Inactivity Time
Service Timeouts
Server Response Files
Overview
Rendering Tags
The Rendering Process
Processing Control Tags
Substitution Tags
Tag Options and Parameters
Pathnames
Referencing Files in System Locations
Predefined BIS Environment Variables
The FILE_PREFIX and CODE_PREFIX Environment Variables
Troubleshooting Tags
Replacement Tag Reference
The {{Handler}} Tag
Notes
The {{ContentType}} Tag
Examples
Notes
The {{SessionParms}} Tag
Notes
The {{ServiceOpts}} Tag
Notes
The {{ServiceArgs}} Tag
Notes
The {{ServiceLibs}} Tag
Notes
The {{StartService}} Tag
Accessing the REQUEST from the Service Program
Notes
The {{RunPath}} Tag
Notes
The {{SetEnv}} Tag
Examples
Notes
The {{XMLExchange}} Tag
Notes
Recursive Tag Processing in {{XmlExchange}}
The {{FormActionTarget}} Tag in {{XMLExchange}}
The {{StopService}} Tag
Notes
The {{SessionComplete}} Tag
Notes
The {{Value}} Tag
Notes
Configuration Variables
The {{Trace}} Tag
Notes
Examples
The Trace Query Parameter
The BIS_TRACE_SUFFIX Environment Variable
The {{TraceDump}} Tag
Notes
The {{Debug}} Tag
IIS Debugging Notes
Debugging on Windows
Debugging on UNIX
Control Flow Tags
The {{If}} / {{Else}} / {{EndIf}} Tags
Notes
The {{While}} / {{EndWhile}} Tags
Notes
The {{ Include }} Tag
Notes
{{//}} Comment Tags
Notes
Service Programs
Introduction
Service Program Lifetime
ACCEPT and DISPLAY Statements
Windows Message Boxes and Dialog Boxes
The XML Exchange File
Notes
BIS Return Codes
Service Program Functions
B_ReadRequest
Notes
B_WriteResponse
Notes
B_SetInactivityTimeout
Notes
B_SetServiceTimeout
Notes
B_SetResponseStatus
Notes
Server Variables Reference
Tutorial1 introduction
Prerequisites
What is a web service?
The role of HTTP in web services
SOAP versus REST
SOAP binding style – RPC versus Document
WSDL
Create a simple SOAP/RPC web service
Data naming convention for input/output parameters and methods
Simple design pattern
WSDL creation/response
SOAP request/response
Invoke web service using soapUI tool
Create clients in PHP, Perl, Java, Python
Add a web service to a Visual Studio project
Introduction to XML Extensions
Concept of XSLT
How XSLT creates a BIS WSDL (high level only)
How XSLT processes a SOAP request (high level only)
How XSLT processes a SOAP response (high level only)
Data flow in BIS
Request handling
SRF file
Service program
Response handling
BIS Session management
Complex design pattern
Using a simple indexed file, create a web service that implements CRUD
Optimistic concurrency
Not quite a web service
AJAX/JSON
XML Exchange Request File Format
Windows/UNIX Portability Considerations
Regular Expression Syntax
Metacharacters
Abbreviations
BIS Troubleshooting Tips
Configuring BIS/IIS after Installation
Command Line Configuration
Configuring the Run As Logon ID
Retrieving or Changing the Configured Identity
Manual Configuration
Setting Environment Variables
Setting the Maximum Thread Count
Notes
Configuration after Installation (UNIX/Apache)
Configuring Apache
Service Engine Configuration
xbisctl Utility
Creating a BIS/IIS Web Application
Running the BISMkApp Program
Creating the Web Application
Testing the New Directory
64-Bit Windows Considerations
Building and Running BIS Samples
Glossary
Application Root Path
BIS Request Handler
HTTP
Response Content
Request Content
Request Document
Server Response File
Service Engine
Service Instance
Service Program
Session
Session Root Path
Stencil
URI
URL
URL Path
extend Programming Guides
Transitioning to ACUCOBOL-GT Version 10.3.1
Introduction
Transitioning Your COBOL
Organization
Contacting Technical Support
RM/COBOL Conversions
Compile-Time Options
Runtime Options
Memory Management
Converting RM/COBOL Data Files
Converting relative files with variable-length records
Converting binary sequential files with variable-length records
Converting relative files with fixed-length records
Converting indexed files
ICOBOL Conversions
Compile-Time Options
Runtime Options
ICOBOL Runtime Configuration Variable
Differences
HP COBOL Conversions
Introduction to HP COBOL Compatibility
ACUCOBOL-GT in HP e3000 Emulators
Using ACUCOBOL-GT with HP e3000 Emulators
Enabling the MPE file system
Setting run-time configuration variables
DEFAULT_FILESYSTEM
SHARED_LIBRARY_EXTENSION
SYSINTR_NAME
Setting environment variables
SHLIB_PATH (HP-UX systems only)
LD_LIBRARY_PATH (UNIX/Linux systems, except HP-UX)
Accessing KSAM, Relative, and Sequential Files
Selecting a file system
DEFAULT_FILESYSTEM
filename_HOST
File I/O trace information
KSAM system limits and ranges
Enabling and disabling the MPE interface
The -Cp HP COBOL Compatibility Switch
COPY Statement
Special-Names Paragraph
Program switches
TOP and NO SPACE CONTROL
CONDITION-CODE
File-Control Paragraph
RANDOM and DYNAMIC keywords
WITH DUPLICATES on primary keys
Procedure Division Register Extensions
CURRENT-DATE
TALLY
TIME-OF-DAY
WHEN-COMPILED
Procedure Division Statements
ACCEPT statement
CONVERT phrase
FREE phrase
Format 10 (HP COBOL)
Format 11 (HP COBOL)
Format 12 (HP COBOL)
Syntax Rules
General Rules
CALL statement
Format 4 (HP COBOL)
Syntax Rules
General Rules
CALLing intrinsics
USING phrase (non-COBOL subprograms)
Passing file handles to subroutines
Recursive CALLs
EXAMINE statement
Format 1
Format 2
Syntax Rules
General Rules
Conversion Issues
Unsupported HP COBOL extensions
Unrecognized HP COBOL extensions
Operating System and Runtime Limitations and Differences
Divide by zero
File I/O error handling
File name case
Mismatched EXTERNAL data items
Preprocessor for HP COBOL
$COMMENT Directive
$CONTROL Directive
$DEFINE Directive
$PREPROCESSOR Directive
$IF and $SET Directives
$SET Format
$IF Format
$INCLUDE Directive
System Intrinsics
CREATEPROCESS Intrinsic Function
CREATE/ACTIVATE Intrinsic Functions
GETINFO Intrinsic Function
IBM DOS/VS COBOL Conversions
Support for DOS/VS COBOL
ACUCOBOL-GT and IBM DOS/VS COBOL-Specific Features
ACTUAL KEY Clause and SEEK
ADVANCING in WRITE Statement
AFTER POSITIONING Clause
APPLY Clause Options
Arithmetic Statements
BASIS, INSERT, DELETE
COM-REG
COPY SUPPRESS Statement
CURRENT-DATE
DATE-COMPILED
Debugging Features
DISPLAY UPON SYSPUNCH
EJECT, SKIP in Listing
ENTER Statement
EXAMINE
Format 1:
Format 2:
FILE-LIMIT Clause
File Status Codes
FILE STATUS Extensions
IDENTIFICATION Division Arrangement
IF OTHERWISE
LENGTH OF Expression
NOTE Statement
Password Protection of Files
PROCESSING MODE Clause
PROGRAM-ID Program Name
RECORDING MODE Clause
REVERSED Sequential Input Files
SORT Statement Registers
SPECIAL-NAMES
TIME-OF-DAY
TRACK-AREA Clause
TRANSFORM Statement
USE GIVING
VALUE OF Clause
WHEN-COMPILED
WRITE ADVANCING Special-Name
XML GENERATE and PARSE
Reserved Words
COMP-1 and COMP-2 are Floating-Point
External Floating-Point (EFP)
External Floating-Point Data Type
The Picture
IBM DOS/VS Error Codes
Copyright and Legal Information
Copyright and Trademarks
Notations and Conventions
A Programmer’s Guide to the Internet Version 10.3.1
Introduction
Introduction
Purpose/Scope of Book
What You Need to Know
What You Don't Need to Know
Product Integration
Technical Services
Choosing a Deployment Method
What Are My Options?
Web Solutions
Other Internet Solutions
Helping You Decide
Using the Thin Client to Launch Web Applications
What Is the Thin Client?
How the Thin Client Works
Thin Clients and the Internet
Specifying an Internet Address on the Command Line
Providing Thin Client Links on the Web
Thin Client Command-Line Files
Using Anchor Tags
Security and the ACUCOBOL-GT Thin Client
Using the ACUCOBOL-GT Web Thin Client
Windowing Options
How Your Program Executes
Browser Versions Supported by the Web Thin Client
Deploying Applications via the Web Thin Client
Setting Up a Web Site
Coding Considerations
Updating Your Web Page to Invoke Your COBOL Application
Using the <OBJECT> Tag
How the <OBJECT> tag works
Version number of Web thin client
Object interface for the Web thin client
AcuIsActive
AcuExecute
AcuShutdownAx
AcuGetLastError
AboutBox
AcuEmbedded
AcuShowLogo
AcuCommandLine
SRC
IsBlockedInstance
BlockedInstanceAction
BlockedInstanceMsgText
Scripting with the object interface
Licensing Considerations
The User's Job
Troubleshooting
Security and the Web Thin Client
Digital signature of Web thin client
How Internet Explorer security affects the Web thin client
Security warning messages
Launching Web Applications Through CGI
What Is CGI?
How CGI Works
Deploying Your Applications on the Web Using CGI
Creating a Web Interface
Creating HTML Forms
METHOD attribute
ACTION attribute
FORM Components
INPUT Tag
TYPE Attribute
Single-line Entry Fields
Multiple-line Entry Fields
Check Boxes and Radio Buttons
List Boxes
Submit and Reset Buttons
Hidden Fields
Writing a CGI Program
Reading CGI Input Data
Using the ACCEPT Verb
Using the C$GETCGI Routine
Processing the User's Request
Generating Output
Using the DISPLAY Statement
Sample CGI Programs
Oscars Sample
Hello User sample
Substituting a URL Sample
Creating a Runtime Configuration File for Your CGI Program
CGI_STRIP_CR
CGI_CONTENT_TYPE
CGI_NO_CACHE
CGI_AUTO_HEADER
HTML_TEMPLATE_PREFIX
CGI_CLEAR_MISSING_VALUES
Configuring the Web Server
To Configure IIS on a Windows 2000 Server
To Configure Apache on a UNIX Server
-b Runtime Option
-f Runtime Option
A_CGI Environment Variable
Using the ACUCOBOL-GT Web Runtime
What Is the Web Runtime?
How the Web Runtime Works
Windowing Options
Inside the User's Web Browser
In a Separate Application Window
How Your Program Executes
Browser Versions Supported by the Web Runtime
Deploying Applications via the Web Runtime
Setting Up a Web Site
Preparing Your ACUCOBOL-GT Application for the Web Runtime
To prepare your application for use in a non-distributed environment:
To prepare your application for use in a distributed environment:
Coding for the Web Runtime
W$BROWSERINFO Routine
W$STATUS Routine
IS-PLUGIN Field in ACUCOBOL.DEF
W$GETURL Routine
Other Coding Considerations
Configuring the Web Runtime
Programmatic configuration
Runtime configuration files
Packaging Your Application and Resources
Using cblutil
Using COPY RESOURCE
Invoking Your COBOL Application with the Web Runtime
Using the <OBJECT> Tag
How the <OBJECT> tag works
Version number of Web runtime
Web runtime object interface
AcuIsActive
AcuExecute
AcuShutdownAx
AcuGetLastError
AboutBox
AcuParam1 ... AcuParam14
AcuOptions
AcuEmbedded
AcuShowLogo
AcuProgram
SRC
Scripting with the object interface
Using the <EMBED> Tag
Using a Hyperlink to Launch Your Application
Obtaining and Distributing the Web Runtime
Licensing Considerations
Licensing the server
Licensing by machine
File System Dependencies
Manual Registration of the Web Runtime
The User's Job
Security
Digital Signature of Web Runtime
How Internet Explorer Security Affects the Web Runtime
Security Warning Messages
How the Authorization File Works
FILE_PREFIX override
Editing the authorization file
Restricted library routines
Using the authorization file for access
Troubleshooting
Access denied.
Blank screen on install.
Error Locating Object Handler...
Migrating from the Web Plug-in to the Web Runtime
Changing your HTML code
Other Internet Solutions
LAN, WAN, or Internet
Accessing Vision Data Over the Internet
Internet Considerations for AcuServer
Defining Internet pathnames
Security and AcuServer
Accessing COBOL Programs Over the Internet
Internet Considerations for AcuConnect
Defining an Internet application path
Security and AcuConnect
Accessing Vision Data from ODBC Applications
Internet Considerations for AcuXDBC
Defining Internet pathnames: AcuXDBC Server configuration
Security and AcuXDBC
Accessing Relational Data Over the Internet
Internet Considerations for Acu4GL and AcuSQL
Accessing XML Data Over the Internet
Internet Considerations for AcuXML and C$XML
Using Internet notation with C$XML
Using Internet notation with AcuXML
Using AcuServer with AcuXML or C$XML
Security and XML
Appendix A. Adding Internet Features to Your Program
WEB-BROWSER Control
Adding Web Browsing to Your COBOL Applications
Displaying HTML Pages Distributed With Your Application
Including Graphical and Multimedia Files in Your Applications
Invoking e-mail, Telnet, and FTP Services from Your Applications
Displaying Word Processing, Accounting, or Presentation Documents from Your Applications
Displaying Windows Objects Such as Folders and Files
Performing Print, File, and Clipboard Operations
Sample Web Browser Program
Appendix B: Using the Runtime as a Helper Application or Viewer
What Are Helper Applications and Viewers?
Deploying Applications with the Runtime as a Helper Application or Viewer
Preparing Your ACUCOBOL-GT Application
Configuring the Runtime
Packaging Your Application and Resources
Using cblutil
Using COPY RESOURCE
Creating a Link to Your COBOL Object
The User's Job
Defining the Runtime as a Helper Application or Viewer
To define the runtime as a viewer in Internet Explorer
Launching the Application
Security and the Helper Application or Viewer
Copyright Statement
A Guide to Interoperating with ACUCOBOL-GT Version 10.3.1
Introduction
Introduction
Documentation Overview
Contacting Technical Support
Working with Java Technology
COBOL/Java Interoperability
Calling COBOL from Java
Calling COBOL from a Java Command Line
Static Method RunCbl
Using the Java Compiler Options
--javaclass
--javamain
Using the Java API CVM.jar
CVM Class
CALL_OPTIONS Class
Sample Use Case
Configuration and Deployment
Security
Example of Java Calling COBOL
Sample Programs for Java Interoperability
Building a Shared Library for HP-UX 11.0
Using C$SOCKET
Using ACUCOBOL-GT's CGI Extensions
Using the Java Native Interface (JNI)
Using Named Pipes
Using AcuXDBC
Calling Java from COBOL
Calling the C$JAVA Routine
Method Signatures
Supported Parameter Types
Creating and Using Java Objects in COBOL
Creating a New Java Object
Calling Methods on Java Objects
Destroying Java Objects
Creating and Using Java Arrays in COBOL
Creating and Passing Arrays of Primitive Types
Creating and Passing Arrays of Objects
Creating and Passing Arrays of Strings
Getting and Setting Array Elements
Getting and Setting Array Regions
Clearing Arrays
Implicit COBOL Table/Java Array Conversion
Explicit COBOL Table/Java Array Conversion
Using Java Logging from COBOL
Logging Messages
Configuring the Java Log
Creating and Using a JDBC ResultSet
Using DBConnect Class to get a ResultSet Object
Using Op-codes to get a ResultSet Object
Java Remote Method Invocation (RMI) Interoperability
Using the Runtime as a Java RMI Client
Using the Runtime as a Java RMI Server
Using an Op-code to Connect to an RMI Server
Handling Java Exceptions
Releasing Memory
C$JAVA Configuration Variables
Configuration and Deployment
Linking the Runtime to "libjvm.sl" on HP-UX
Example
Running the Java Interoperability Sample Programs
Using C$SOCKET
Calling the Java Virtual Machine (JVM) DLL or Shared Library
Using C$SYSTEM
Using Named Pipes
Mapping Java Data Types
J2EE Application Servers
Working with J2EE Application Server Products
Web Services
Providing Web Services from COBOL
Consuming Web Services in COBOL
Working with Windows Technologies
COBOL and Windows
Calling COBOL From Other Windows Programs
Using the ACUCOBOL-GT COM Server
Methods of the COM Server Object
Initialize
Shutdown
Call
Call50
Cancel
Calling the Runtime DLL
Calling DLLs from COBOL
Loading DLLs with the CALL Statement
Loading DLLs with Configuration Variables
Loading DLLs with the -y Runtime Option
Working With Open Database Connectivity (ODBC)
What Is ODBC?
Accessing the Windows API
Microsoft Documentation
Useful Windows API DLLs
Calling a Windows API Function from ACUCOBOL-GT
General Rules
Data Mapping
Limits
Procedure
Using Visual C++ .NET
Building a New Runtime
User Interface Approaches
Using C Only, no COBOL
Using C and COBOL
Windows-specific Features of ACUCOBOL-GT
Message Boxes
Hardware Error Handling
Special Characteristics of 32-bit Windows
Memory
SYSTEM Library Routine
C$SYSTEM Library Routine
ACCEPT SYSTEM-INFORMATION FROM SYSTEM-INFO
Assembly Routines
C$CHAIN Library Routine
Windows-specific Library Routines
Using ActiveX Controls and COM Objects
Leveraging Ready-made Controls
Adding ActiveX Controls or COM Objects to Your COBOL Program
The AXDEFGEN Utility
To Add an ActiveX Control or COM Object to Your ACUCOBOL-GT Program
Passing COBOL Data to Methods or Properties as SAFEARRAYs
Using COBOL Data Types as ActiveX and COM Object Parameters
ActiveX and COM Events
Event Timing
ACTIVE-X Control Type
Name Clashes
Useful Files
Multiple Object Interfaces
ActiveX Library Routines
Distributing Applications Containing ActiveX Controls
Deployment Guidelines
Creating COM Objects on Remote Network Servers
Qualified ActiveX Control and Object Names
Enumerators
ActiveX Color Representation
ActiveX Error Handling
ActiveX Debugging
ActiveX Troubleshooting
ActiveX Examples
AXDEFGEN Utility Reference
AXDEFGEN COPY Files
Working with .NET Assemblies
COBOL and .NET
What Is .NET?
What Is an Assembly?
Calling COBOL from .NET
Using the .NET MSIL Compiler Options
--netexe
--netdll
Data Passing Limitations
Example - TestNetToCobol
Using the .NET Interface Assembly, "wrunnet.dll"
CVM class
Initialize
Call
CancelProgram/CancelAllPrograms
UnloadProgram/UnloadAllPrograms
ShutDown
Properties
Error codes
CompilerTypes
Using the ACUCOBOL-GT COM Server
Calling .NET from COBOL
Using .NET Assemblies in COBOL
CoCreate Instance Failed Error
Creating and Passing .NET Objects as Parameters
To Create and Pass .NET Objects as Parameters
Sample Program
Limits and Restrictions
Using AcuToNet.dll Interface
Optimizing the "AcuToNet.dll" Interface
.NET Control Distribution and Licensing
Name Clashes
NETDEFGEN Utility Reference
Changing Default NETDEFGEN Settings
NETDEFGEN COPY Files
Passing Data as Parameters
NETDEFGEN Methods
NETDEFGEN Properties
NETDEFGEN Events
NETDEFGEN Enumerators
NETDEFGEN Errors
Sample COPY File
Sample Controls
Interacting with .NET Web Services
Invoking .NET Web Services from COBOL
Invoking COBOL Services from .NET
Working with C and C++ Programs
COBOL and C/C++
Matching C Data Items
Matching Simple Data Items
Matching Complex Data Items
Calling C Programs From COBOL
Calling C Programs in DLLs or Shared Object Libraries
Loading Shared Libraries with the "-y" Runtime Option
Loading Shared Libraries with the SHARED_LIBRARY_LIST Configuration Variable
Loading Shared Libraries with the CALL Statement
Calling Routines in Shared Libraries with the CALL Statement
Calling C Programs via the Direct Method
Calling C Programs via the Interface Method
The "Sub" Interface
The "Sub85" Interface
Cancelling a CALLed C Program
Managing the Terminal
Relinking the Run-time System
Linking on Windows Systems
Linking on UNIX and Linux Systems
Linking on VMS Systems
Calling COBOL from C
Include Files
Using the C API
Using the C API in Windows
Function Reference
acu_abend()
acu_cancel()
acu_cancel_all()
acu_cobol()
acu_initv()
aculongjmp()
acu_register_sub()
acu_runmain()
acusavenv()
acu_shutdown()
acu_unload()
acu_unload_all()
Using the C API: Two Approaches
Simple Use Case for acu_cobol()
Calling the Runtime From a C Main Program
Creating the Runtime
Initializing the Runtime
Shutting Down the Runtime
Notes on COBOL Verbs
Calling COBOL Routines
Starting a COBOL Main Program
Calling COBOL Subroutines that Call C Routines
Canceling a COBOL Subroutine
Exception Handling
Unloading Programs from Memory
Signal Handling
When to Call acu_abend()
Setting a Debug Method with acu_cobol()
Other Interface Paths for COBOL and C
Connecting with C$SOCKET
Starting a Program with C$SYSTEM
Passing Data with Named Pipes
Tracking, Monitoring and Debugging Memory
Memory Debugging via C
Turning Memory Debugging Features On and Off
Reporting Allocated Blocks
Getting Memory Amounts
Testing Memory Boundaries
Deploying ACUCOBOL-GT Applications on the Web
COBOL on the Web
Web Thin Client
COBOL CGI Interface
Web Runtime
Internet Helper Application
Web Browsing from COBOL
COBOL Web Services
Providing Web Services from COBOL
Consuming Web Services
Other Internet Solutions
Accessing ACUCOBOL-GT Applications from Mobile Devices
Overview of Mobile Computing
Key Mobile Terminology
Languages
Protocols
Wireless Communication Standards
The Past and the Present
The Future
3G Status
Mobile Platform Trends
Mobile System Design Issues
User Interface
Security
Degree of Connectivity
Record Locking
Service-oriented Architecture (SOA)
Methods for Mobile Computing
ACUCOBOL-GT COM Server
ACUCOBOL-GT CGI Language Extensions
ACUCOBOL-GT Runtime and Short Message Service (SMS) Processing
Working with Transaction Processing Systems
Introduction
What Is Transaction Processing?
IBM CICS
Working with the IBM CICS Transaction Gateway
Including the Transaction Gateway Routines in the Runtime
Connecting to CICS Applications
Working with IBM TXSeries CICS
How TXSeries CICS Works with ACUCOBOL-GT
Modernizing Applications
Working with UniKix Mainframe Rehosting Software
Working With BEA Tuxedo
Creating a Tuxedo Client Program
Creating a Tuxedo Server
Running Your Tuxedo Application
Background Debugging Options
Background Debugging with an xterm
Defining Debugging Methods with "ADM_t"
Using an xterm
Using a Terminal
Using the Thin Client
On the Windows Client
On the Server
Working with Messaging Middleware
Support for IBM WebSphere MQ
Support for IBM Shared Libraries
Support for WebSphere MQ COPY Files
Connecting to WebSphere MQ Applications
Adding WebSphere MQ Calls to Your ACUCOBOL-GT Program
Connecting to the Queue Manager
Opening Specific Queues
Reading Messages from Queues
Writing Messages to Queues
Closing Queues
Disconnecting from the Queue Manager
Setting Up Working-Storage
Compiling Your Application
Configuring the Runtime and Environment
Working with Non-Vision Data
Introduction
Working with XML Data
XML Concepts
XML Documents
XML Parsers
Usage
The XML-to-FD Utility
xml2fd Output
xml2fd Command Options
The AcuXML Interface
Data Dictionaries
AcuXML Configuration Variables
Using AcuXML
To enable your program to read XML data:
To enable your program to generate XML output:
AcuXML output structures
Restrictions
AcuXML Error Reporting
Using the C$XML Routine
General procedure
Understanding C$XML Terminology
Parsing an XML File
Moving to an Element
Retrieving Data
Adding, Modifying, or Deleting Data
Writing a File
Releasing the Parser
Retrieving Errors
Retrieving Attributes
Retrieving Comments
C$XML Examples
Using XML Extensions
Typical Development Process Example
COPY Files Simplify Coding
Data Representation
COBOL and Character Encoding
XML Extensions Examples
XML Extensions - Bar Chart
XML Extensions - Stacked Bar Chart
XML Extensions - Pie Chart
XML Extensions - Gauge
XML Extensions - Scalable Vector Graphics Widget Applets
XML Extensions - United States Postal Service Bar Codes
XML Extensions - Casino Floor Simulation
XML Extensions - Envelop
XML Extensions - Microsoft Office and OpenOffice Documents
XML Extensions - HTML: form-url-encoded
XML Extensions Statement Reference
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 FREE TEXT
XML GET TEXT
XML PUT TEXT
XML REMOVE FILE
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 TRACE
XML GET STATUS-TEXT
XML SET ENCODING
XML SET FLAGS
XML GET WHITESPACE-FLAGS
XML SET WHITESPACE-FLAGS
XML SET XSL-PARAMETERS
XML CLEAR XSL-PARAMETERS
XML Extensions Error Messages
Error Message Format
Summary of Error Messages
Working with Web Site and Web Service Data
Tutorial: Using RMNet to Exchange Data Between Your Program and a Web Server
Introduction
Tutorial Prerequisites
Building a SOAP Web Service Client
Starting SoapUI and Creating the Project
Creating Request and Response Prototypes
Creating XSLT Style sheets to Use with XML Extensions
Converting the Request and Response files using XSLT
Creating the Web Service Client Program
Compiling and Running the Application
Maintaining State Cookies
Secure Sockets (SSL)
Response Header Processing
Working with Relational Data
Working with an EXTFH Interface
Using the EXTFH Interface
Making EXTFH Libraries Available to the Runtime
Accessing Files Through EXTFH
Specifying a Single EXTFH Library Name
Searching for Function Names
Setting Libraries for Indexed, Relative, and Sequential Files
File System Configuration
File System Initialization
Copyright Statement