Chapter 1: Welcome!

Welcome to Server Express! With this powerful set of software tools you can develop COBOL applications for a variety of UNIX operating systems.

You can also migrate COBOL applications from many other systems and dialects, including IBM mainframe COBOL.

License Agreement: A number of items in this product, which are needed for running application programs, can be shipped on to your customers provided an appropriate license fee has been paid. You must not ship on any other items from this product. Please see the section Shipping Components to Users, and refer to the license agreement supplied with this product.

Both your Server Express and Application Server products contain license management software that help monitor the licenses required.

1.1 This Book

This book should be the first you read on receiving Server Express. Provided you are familiar with COBOL and your operating system, this book is all you need to read to start preparing and running programs.

It also gives an overview of the system, enabling you to find your way around the other books provided with Server Express.

The chapters in this book are as follows:

1.2 Object-oriented Programming

The COBOL language in Server Express has language extensions to enable you to use object-oriented programming methods in COBOL. Object-oriented programming is explained in OO Programming with Object COBOL. It is not covered in this Getting Started book.

You can of course use traditional COBOL programming instead of the object-oriented style if you prefer.

1.3 Web Programming

Server Express can be used for developing many kinds of COBOL application, from the most traditional to the most modern, but it is particularly suited to client/server applications, in which most data is kept on a central computer (the server) and accessed from many other computers (the clients). In such applications, queries are entered at a client, and software running locally forwards them to the server where software interrogates or updates the data and returns a response.

Nowadays many of the world's computer networks are connected to the Internet. A major use of the Internet is the World Wide Web, often called simply the Web. Computers known as Web servers store files known as Web pages, which can contain text and graphics, and run software to make information accessible across the Internet. Any computer running suitable software, called a Web browser, can access Web pages. Web server software can run programs (called server-side programs, or sometimes CGI programs after the most popular standard, Common Gateway Interface) to process data, and send that data to a Web page. Applications that use server-side programs to accept data from and provide data to Web pages are typical client/server applications, and you can use Server Express to create Web business forms and server-side programs.

A Web page includes formatting commands in a language called HTML (HyperText Markup Language). The version of Object COBOL provided with Server Express provides language extensions that enable you to:

Many companies and other organizations have their own intranet, with Web servers accessible only from computers within the organization. An application meant for an intranet works exactly like one intended for the World Wide Web, and people tend to use the term Web application for either.

Web forms, windows and dialog boxes can have objects on them such as pushbuttons, entry-fields, checkboxes, and so on. These are called controls. If you want a longer and more detailed introduction to the World Wide Web, see the appendix Introduction to the World-Wide Web in the book Internet Applications.

1.4  32-bit and 64-bit Programming

With this version of Server Express you can create applications that can run as a 64-bit executable (in a 64-bit address space). To do this, Server Express must be installed on a UNIX system that supports 64-bit executables. Support for 64-bit executables is an option on some UNIX operating systems; when this is the case, you must choose to install a 64-bit kernel when you install the operating system.

If your UNIX operating system can support both 32-bit and 64-bit executables, then both a 32-bit version and a 64-bit version of Server Express is installed on your system. This enables you to create applications for both 64-bit and 32-bit execution, and to migrate applications from a 32-bit execution mode to 64-bit execution mode.

1.5 AppTrack

Micro Focus AppTrack provides you with a simple, cost-effective system for tracking COBOL application use. It helps you monitor use of your application inside your organization or, if your company is an ISVor VAR, helps ensure that your customers are purchasing the correct number of licenses for the number of users on the system. Its advanced features include:

1.6 Net Express and Server Express

Net Express is tightly integrated with Server Express. By using the state-of-the-art Net Express COBOL development environment in combination with the advanced COBOL deployment capabilities of Server Express you can quickly develop, debug and deploy mission-critical client/server or Web Applications for a distributed enterprise environment.

With Net Express you benefit from:

1.7 What's in Server Express?

Server Express includes the functionality and tools that were previously available in the Micro Focus Object COBOL Developer Suite. Server Express also features enhancements in the development and deployment tools to improve your applications while reducing the development and maintenance burden.

The most important parts of Server Express are:

In addition to the above, command line interfaces are available. Notable are:

1.7.1 How You Use Server Express

The main functions of Server Express are presented to you through a menu displayed by the Server Express Development Environment. The menu is displayed at the bottom of the screen, and shows you which key to press to invoke the function you want.

Central to the system is the COBOL Editor. You enter this from the Server Express menu, and use it to create or change your program and save it in a source file.

Once you have created your source program, you can invoke the Compiler from within the COBOL Editor to check that the program is valid COBOL. When the Compiler finds a syntax error, you can return at once to the COBOL Editor. The cursor is automatically positioned at the line containing the error. You correct the error and invoke the Compiler again.

Once the program checks with no errors, you run, debug and test it using Animator, which you can also invoke from within the COBOL Editor. Animator enables you to watch and control the working of your program, seen entirely as COBOL source, and therefore makes testing and debugging very efficient.

If you find an error while testing, you can return at once to the COBOL Editor. The cursor is automatically positioned at the line you were looking at when you found the error. You correct the error and invoke the Compiler and Animator again.

Alternatively, the Compiler and Animator can be entered directly from the Server Express menu after you have exited from the COBOL Editor.

When your program is working correctly, you can run it using the Run function on the main menu. Any subprograms and run-time support modules that it needs are automatically loaded as necessary.

You can use Animator on programs that have been compiled or linked to any of the formats supported by Server Express: intermediate code, generated code, callable shared object code or system executable code. The ability of Animator to debug all supported executable formats means that you can debug programs at any stage of the application development cycle. Optimizing and Shipping

Once your application is working correctly you might want to optimize it and/or ship it to your users.

The Compiler's syntax check phase produces intermediate code; this is a Micro Focus proprietary code, contained in a file with a filename extension of .int, which can be interpreted by Animator and the Run function. If you want faster execution, you can create optimized object code in two native machine code formats:

You can run files in both formats in the same way as intermediate code.

You can create generated code or callable shared objects using the Server Express menus, or by using the cob command.

You can also create an executable file by creating native machine code, with the filename extension .o, and then linking this with the run-time support files to create a system executable file (which usually has no extension and is known as an a.out file). This executable file can call .so, .int and .gnt files if required.

Shipping components of this system to users is subject to a license agreement. Please see the section Shipping Components to Users for details.

1.7.2 Application Server

Together with Server Express you receive a group of components called the Application Server. Its purpose is to provide a shell that sits on top of your operating system, providing the same environment on different operating systems. This enables you to port COBOL applications easily from one operating system to another.

1.7.3 How You Use Dialog System

Dialog System uses definition software that is rather like an editor, but is used to create and update screensets. You specify the appearance of the user interface for the application by "painting" the screen, that is, using the keyboard to lay the screen out just as it should look. Then you specify data items to contain the screen data, and you specify actions to be taken in response to particular keystrokes. The screen layout, together with its associated data items and actions, is known as a screenset. The screenset is stored in a file, in a format internal to Dialog System.

This book contains an introduction to using Dialog System; see the chapter Sample Session with Dialog System.

1.8 Component List

The following is an alphabetical list of the major tools in Server Express.

Most of these can be accessed from within Server Express's integrated environment, but a few can be run only from the operating system prompt.


Animator is a testing tool. It displays your source code on the screen and allows you to step through your program or execute it at a controlled speed. It highlights each statement as it is executed. You can start and stop execution, reset the position in the program, set breakpoints, query and change data items, monitor several data items at once, enter COBOL statements to execute, and interact with your program in many different ways.

It also gives access to COBOL Source Information to give you extensive information about your source code and the ability to navigate your program efficiently.

Animator enables you to debug all executable formats supported by Server Express. It can also be invoked from another process, or it can attach to a process, or it can be automatically invoked if a certain execution condition is reached.

Application Configuration System

The Application Configuration System enables programs to use a standard configuration technique to control their behavior. This program is extensively used by Server Express itself and enables you to configure many of the tools described here.

Callable File Handler

The Callable File Handler is an interface to the File Handler enabling you to call it from your program using CALL statements (see the entry for the File Handler).

This gives you low-level control over files of all COBOL organizations, so you can write sophisticated file and database handling programs. You can also use it to access COBOL format files from other languages, such as C or Assembler.

Callable Sort Module

The Callable Sort Module is a stand-alone sort routine which enables you to sort and reorder data files. It is faster than the default COBOL sort mechanism. The CALL interface provides greater flexibility in sorting data and enables you to substitute alternative sort modules.

Class Library

The Class Library is a set of predefined objects which you can use as a foundation for building your own applications using object-oriented programming.


The Cob utility invokes all stages of compiling, generating and linking a COBOL application, including COBOL programs, C and C++ routines, assembler routines, and system libraries.

COBOL Editor

The COBOL Editor is an editor designed for COBOL programmers. It is tailored for the creation of COBOL source programs, but can also be used for creating documentation and other text files.

You can invoke the Compiler and Animator from within the COBOL Editor, so it is an integrated environment for processing source code. You also have access to COBOL Source Information for more information about your programs, and the On-line Reference for more information about the COBOL language and system.

COBOL Source Information

The COBOL Source Information (CSI) functions let you perform a static analysis of your program source. The information provided includes extensive information about data items, copyfiles, sections and paragraphs in your program. These functions allow you to find your way around your source very quickly and are particularly useful for maintenance of existing programs. This information is available from within the COBOL Editor and Animator.

cobrun command

As an alternative to linking, you can have the Compiler produce your object code in a callable shared object, a generated code file or intermediate code file. You can run these types of file using the cobrun command, which loads run-time support modules as necessary. The cobrun_t command enables you to execute programs that have been compiled as multi-threaded.

COBOL System Library Routines

The COBOL system library routines can be called directly from your program, providing many operations not available in the COBOL language itself.

Server Express has additional routines over those supplied in Micro Focus COBOL. The extra routines provide features needed for cross-system compatibility, such as generic screen attributes.

Client/Server Bindings

Client/Server Bindings is a simple and effective way to connect a client to a server. You can create distributed applications without having to write any communications code.


The Compiler can create files in various formats: intermediate code, generated code and object code. Object code can be used to create callable shared objects or system executables.

Data File Editor

The Data File Editor (Dfed) enables you to quickly examine, modify and convert your COBOL data files. This can be particularly useful with live applications.

Dialog System

Dialog System creates character-based user interfaces for your COBOL applications. All handling of the interface is done for you, leaving your program free to concentrate on processing the data.

DBCS Transparency Support

DBCS Transparency is a level of DBCS support that supports creating native language applications using DBCS code sets. You can use it under system locales such as, for example, Traditional Chinese, Simplified Chinese, and Korean provided you have them on your system. It enables you to use single- and double-byte character strings, using tools such as Animator and Editor to create and maintain application programs that support your native language.

Demonstration programs

Many demonstration programs are provided to supplement the documentation of certain components and to demonstrate features in Server Express. The demonstration programs and any accompanying documentation can be located using Infomgr.

Development Environment

The Development Environment is the name given to the set of menus through which you invoke the main components of Server Express.

Device Handling and Terminfo Support

Device Handling and Terminfo Support enables you to use UNIX devices with the run-time system and the run-time support modules.

Directory Facility

The Directory Facility is used by Server Express whenever you are prompted for a filename. It provides directory lists, listings of library files and file contents, deletion and renaming functions. You can call it directly from your program using CALL statements.

EBCDIC Support

The Server Express system provides support for EBCDIC data on UNIX systems, making the behavior of applications on your computer highly compatible with that on IBM mainframes. When you use this option, the program stores all data in EBCDIC, and operations such as comparisons and sorts use the EBCDIC collating sequence.

External Filename Mapping Support

Filename mapping enables you to alter the physical filename accessed by your program at run time, assign files to UNIX pipes, assign the index and data files of indexed files to different directories, and assign a file to a printer.


FaultFinder enables you to obtain a text-based report on the state of an application at the time of any abnormal application termination. Users of shipped applications can use FaultFinder to determine important application information that can help you investigate a problem.

File Handler

The File Handler is a module providing run-time support for COBOL files.

Fileshare Version 2

Fileshare V2 provides rapid network I/O by compressing I/O requests into packets and sending them across network lines, so that the file processing is done on the server that contains the files. It can also link several files together into a logical database. You can set up a recovery log when accessing that database, providing a high level of data integrity.

Fileshare V2 has transaction logging which allows your user to delay writing changes to files until all the information is complete. You can secure these changes with a COMMIT or cancel them with a ROLLBACK.


The Header-to-copy utility translates C-language header files into their equivalent COBOL copyfiles. Its main use is to simplify COBOL programming when using system libraries whose basic definitions are provided only for C programs. Examples are interfaces to UNIX TP systems and various relational databases on UNIX.


Help provides information about the function keys on the menu you are using. It is present as F1=help on every menu.


Infomgr enables you to locate and read demonstration programs and their associated readme files.

Integrated Preprocessor Support

The Integrated Preprocessor is an extension to the Compiler. It allows the Compiler to invoke a user-defined language processor to convert non-COBOL syntax to COBOL syntax.

When using Animator you see the original source, as it is before statements are altered by the preprocessor.


Library is a utility that groups individual files into one file, making them easier to administer.


The Linein program provides a simple mechanism that you can add to your programs or menus, for entering any text string. Many components of Server Express use it.

Multi-threading support

You can use Server Express to create non-threaded or multi-threaded applications. Multi-threading exploits the power of your processor by enabling applications to run in a true multi-process environment.

You specify whether a program is multi-threaded or single threaded using Compiler directives. Execution support is provided by multi-threaded versions of commands; for example, cobrun_t is the multi-threading equivalent of cobrun.

National Language Support

National Language Support (NLS) enables your program to adapt itself automatically at run time to the character set, currency symbol, and editing symbols appropriate to your user's country. It also ensures correct collation and folding of national (for example, accented) characters, and provides library routines to fetch messages in the appropriate national language from a message file.

This facility depends on operating system support.


The Profiler gives you detailed statistics on the run-time performance of a COBOL program.


Rebuild provides a command-line interface that enables you to reconstruct data files while preserving data integrity. It can convert to and from COBOL data files of many formats.

Rebuild effectively replaces the various file handling facilities that were provided in previous products.

Run-time Configuration Support

Run-time Configuration Support consists of environment variables and tunables in a run-time configuration file, which you can configure to affect certain run-time behavior.

Screen and Keyboard Configuration Tools

The screen and keyboard configuration tools are utilities you can use to configure screen and keyboard handling to your own environment and requirements, or to be compatible with other COBOL systems.

Screen and Keyboard Handler

The Screen and Keyboard Handler, often known as Adis, is a module that provides run-time support for the enhanced (full screen) ACCEPT/DISPLAY verbs and Screen Section features available with this system.

Session Recorder

The Session Recorder enables you to record all keystrokes and screen images during the execution of your COBOL program. These screen images and keystrokes can later be replayed for demonstration use or compared with previous sets for use in the regression testing of interactive applications.

The Session Recorder provided with Server Express can only be used for character mode sessions.

Windowing Support

Windowing Support consists of COBOL syntax which enables you to draw lines and boxes on the screen and create virtual windows on a physical screen. The syntax also allows underlying displays to be kept and restored.

1.9 Documentation

The extensive documentation provided with this product ensures that users with special or advanced requirements can find the information they need. For normal use of the product, you need read only a small part of the documentation. This section describes the structure of the documentation and where to look for what you want.

1.9.1 Generic Documentation

Micro Focus COBOL systems are available for Windows 95, Windows 98, Windows NT, and for many varieties of UNIX.

Some books supplied with this COBOL system are generic - they can be used with the Micro Focus COBOL system on all supported environments. Other books are specific to your environment.

In a generic book, information specific to one environment is shown by side headings in the margin. These are explained in the Preface for each book. This is helpful if you are designing cross-platform applications, as you can see which features can be used on all environments. The term "Windows" is used to refer to Windows 95, Windows 98 and Windows NT.

The following sections describe the books, and tell you which are generic.

1.9.2 Product-specific Books

1.9.3 Generic Books

These reference books are generic:

The book that describes Fileshare V2 is also generic.

1.9.4 Online Reference

As well as the HTML books, you have an Online Reference. You can access it from Animator and the COBOL Editor.

1.9.5 Notation

The notation used for the syntax of commands is defined in the prefaces to the books, in a generic section. Wherever possible the books use this notation. Where special requirements make it necessary to use a different notation, the notation is explained in the place where it is used.

You might want to look at the Preface to this book now to familiarize yourself with this notation.

The Language Reference and the Language Reference - Additional Topics use a different notation, explained in their own prefaces.

1.9.6 The Glossary

It is not always useful to define a term when it is first used, as readers may skip that passage in going straight to the passage containing the information they are looking for. Definitions of most terms have been collected in the Glossary in the Master Index and Glossary book.

1.9.7 On-disk Documents

Information that became available too late to go in the on-line books is given in on-disk documents. These documents are plain ASCII text files, and can be accessed using a text editor or operating system commands. Note that there might be no on-disk documents if there is no documentation additional to the on-line books.

There are two kinds of on-disk documents: release notes and on-disk supplements (ODSs). A release note contains individual entries giving technical or administrative information. An on-disk supplement is a complete chapter, or section for a chapter, forming the main documentation for a component.

The most important release notes are:

These files are in the docs subdirectory of your COBOL system directory.

1.10 Other Important Information

This section gives further information that you need to be aware of.

1.10.1 Shipping Components to Users

If you are writing applications to ship to end-users, you need to include licensed run-time support modules necessary to run them. This section details which components MERANT licenses you to ship to your users. Application Server

When you create an application to ship to your users, you can include any of the Application Server components with it, provided you pay the appropriate license fee to MERANT. Alternatively, you or your users can buy Application Server from MERANT. Server Express contains a full license management system.

License Agreement: The components that constitute the Application Server can be shipped on to your customers only if an appropriate license fee has been paid. You must not ship any other items from this product. Please refer to the license agreement supplied with this product or see your sales representative for further information.

1.10.2 Key Usage

Because UNIX terminals vary widely, the keys documented in the books may not be available on your keyboard. Also, most UNIX terminals do not recognise the Alt or Ctrl key when they are pressed, so Server Express cannot detect these keys. The appendix UNIX Key Usage Chart lists alternatives for keys that might be undetectable on your specific UNIX terminal, and shows which keys you can configure.

The appendix also tells you how to select soft or hard operation for the Alt and Ctrl keys. With soft operation, the Alt or Ctrl key is automatically turned off after the next keystroke. This means that whenever you want a function from the Alt menu you must hold down Alt again to get the Alt menu displayed; and similarly with Ctrl. With hard operation, the Alt and Ctrl keys work in a similar way to the Caps Lock key, in that having been pressed they remain in effect until pressed again.

For information on configuring your keyboard, see the chapters Server Express Development Environment Menu System in your Utilities Handbook and Keyboard Configuration Utility in your Programmer's Guide to Creating User Interfaces.

Copyright © 2000 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.