| |
Highlights
- COBOL compiler
generates standard .NET MSIL (Microsoft Intermediate Language) code
with the option to
generate verifiable (Web safe) code.
- Enhances COBOL
syntax to allow creation of and integration
with .NET Framework objects.
- COBOL programs
can be integrated seamlessly with other languages: inheriting
from classes created in other languages, invoking and being invoked
by methods written in other languages.
- Full access to .NET Framework classes, including XML Web service and Windows Communication Foundation (WCF) classes
- No COBOL runtime license charges!
- Mixed language
applications can be debugged with the one, Visual Studio,
debugger
- Interoperation
with COM and existing native code compilers
- Includes,
and integrates with, Microsoft’s Visual Studio
- Includes COBOL support
for Windows Forms Designer, Web Forms Designer, and IntelliSense
- ANSI Code Page (ACP)
and Unicode runtime data modes aid migrating and mixing ACP applications
in the .NET Unicode environment.
- Includes the Fujitsu PowerBSORT, PowerFORM and Data Tools utilities.

Detailed Features and Benefits
Fujitsu NetCOBOL for
.NET contains the tools and utilities covering the full spectrum of COBOL
development. The tables below list key features and benefits for each
of these components.
Key Product Features
Fujitsu NetCOBOL for .NET Compiler
Visual Studio Integration
Utilities
Object-Oriented COBOL
Debugging
Key Product Features
New
in: |
|
Feature
Summary |
|
Detail of Feature |
|
Benefit of Feature |
| V1 |
|
COBOL for .NET |
|
GUI design. (WinForms)
Integrates with other languages and tools (as supported
within the .NET Framework) |
|
Lets
you use the application-supporting power of COBOL, seamlessly
integrated with other Windows and .NET components.
|
| V1 |
|
|
|
COBOL support for ASP.NET (LANGUAGE="COBOL")
|
|
Use
existing COBOL skills to create up-to-date interfaces
and applications.
|
| V3 |
|
|
|
Supports
.NET Framework 2.0 including generation of code for 64-bit environments |
|
Lets
your COBOL applications take advantage of the latest .NET features
|
| V3.1 |
|
|
|
Supports .NET Framework 3.0 including support for Windows Communication Foundation (WCF)
|
|
Lets your COBOL applications take advantage of the latest .NET features.
|
| V4.0 |
|
|
|
"WCF Service Library" template added |
|
Simplifies creation of WCF services |
|
|
| |
|
Access to data |
|
Access
most popular databases such as SQL Server, Oracle®,
Informix®, Sybase®, and any ODBC compliant database.
|
|
Access your company's data without complex database conversions. |
| V3 |
|
|
|
Supports
SQL Server including the ability to write stored procedures,
user-defined functions and triggers based on SQL CLR |
|
Use
type-safe code in stored procedures to make certain database queries
more efficient and have the option of directly migrating mainframe
applications that include stored procedures.
|
| V3 |
|
|
|
Embedded
SQL can use ADO.NET |
|
Improves
the performance of embedded SQL by as much as 30%.
|
|
|
| V2.1 |
|
Flexible data encoding support |
|
ANSI
Code Page (ACP) and Unicode runtime data modes. Programs
can be compiled to assume alphanumeric data is stored in ACP or
UTF8, with functions supporting conversion between the different
encoding forms.
|
|
Greatly eases the COBOL migration of programs/data
coming from single byte encoding environments, such as EBCDIC or
ACP (usually thought of as ASCII) systems, as the lengths of alphanumeric
items can be left as they are when using the ACP mode. |
|
|
+V4.0
V3
V2
+V1 |
|
Complete development environment |
|
Includes Visual Studio Shell that provides:
- A world-leading program development environment
- Project management
- WYSIWYG Windows and Web Forms design
- Text editing
- Debugging
|
|
ALL your critical COBOL
development needs are met in a single package.
You don't need to mix and match from different suppliers - just
install the Fujitsu product package and get going. |
| |
|
| V1.0a |
|
Designer support |
|
COBOL
code generated and used with the following designers:
|
|
Removes complexity of creating and coding .NET GUIs and ASP.NET
pages as well as speeding application development. |
| |
|
V1.1
+V3.1
|
|
IntelliSense |
|
Visual
Studio IntelliSense is enabled for COBOL, including
the following features:
- Word completion
- Method parameter
info
- Quick info
on item data type
- List available
members
- Syntax error
marking
- Code snippets
|
|
Improves the coding experience giving programmers the information
they need to create code correctly first time. |
|
|
V3.1
+V4.0 |
|
Website support |
|
Includes support for:
- ASP.NET 2.0 AJAX extension
- Master pages
- Adding templates
- AJAX compatible Web application creation facilitated with support for .NET Framework 3.5
|
|
Able to create the Website features your business needs.
|
| "+Vn" in the "New in:" column indicates a feature that contains
new or improved elements as well as existing elements. When "+Vn"
is in Italics, it refers to the italicized detail items. The number
n indicates the release in which the new feature was introduced.
|

Fujitsu NetCOBOL for .NET Compiler
New
in: |
|
Feature Summary |
|
Detail of Feature |
|
Benefit of Feature |
| V1
|
 |
Syntax support |
|
NetCOBOL
for .NET supports:
Most of COBOL 85, 89 addendum
Object-Oriented COBOL
.NET-supporting extensions
CBL_ Routines
|
 |
You
can use your existing COBOL code.
You can apply your COBOL skills in the .NET environment.
Provides greater compatibility with Micro Focus COBOL programs.
|
| V2 |
|
|
|
Ability to define enumerations
Ability to define interfaces
Specify access attributes (PRIVATE, PROTECTED, PUBLIC) on fields
Compare Boolean types
New BINARY- data types (SHORT, LONG and DOUBLE)
Supports nested programs |
|
NET
concepts/objects/ abilities that can be useful to the COBOL programmer.
Provide compatibility with .NET short, long and double types.
Enables use of new or existing code that uses this COBOL 85 feature
|
| V3 |
|
|
|
Referencing
generic types - Allows the types of parameters to be defined at
run-time – so a method can be defined and coded using a “generic”
type, a type that isn’t precisely defined, and at run time
when objects are instantiated the actual types are specified.
|
|
Provides
more flexible coding options. |
| V3 |
|
|
|
Static
constructors can be defined in COBOL |
|
Fills
out the functionality of NetCOBOL
|
| V3 |
|
|
|
TRY-CATCH-FINALLY
statement added as new option for exception handling |
|
Provides
style of exception handling similar to that provided in C#.
|
| V3 |
|
|
|
PERFORM
VARYING-THRU format provides iteration of code through the members
of a collection class object.
|
|
Useful
construct for working with collection classes |
| V3 |
|
|
|
Ability
to define assembly custom attributes in COBOL. |
|
Fills
out the functionality of NetCOBOL
|
| V3 |
|
|
|
Special
subroutines for converting between different formats of included
signs in zoned (display) decimal items extended to include Micro
Focus formats. New subroutines called
• #DECFJTOMF
• #DECMFTOFJ
• #DEC88TOMF
• #DECMFTO88
|
|
Helps
communicate zoned decimal data between different systems, if you
have a need to do so.
Helps support a COBOL migration to NetCOBOL. |
| V3.1 |
|
|
|
SYNCHRONIZED clause allowed on group items. |
|
Convenience in specifying SYNCHRONIZED for many items.
|
| V3.1 |
|
|
|
RESUME statement added to support transfer of control from USE AFTER EXCEPTION procedures to specified procedures outside DECLARATIVES. |
|
Greater control when recovering from exceptions. |
|
|
| |
|
RDBMS access |
|
You
can use embedded SQL to access the following databases:
SQL Server, Oracle, Informix, Sybase
Any ODBC-compliant database
Extensive setup instructions |
|
Access your company's data without complex database
conversions.
Improves the performance of embedded SQL by as much as 30%. |
| V3 |
|
|
|
Supports
creation of code for the SQL common language runtime (CLR) enabling
the creation of stored procedures, user-defined functions and triggers. |
|
Use
type-safe code in stored procedures to make certain database queries
more efficient and have the option of directly migrating mainframe
applications that include stored procedures.
|
| V3 |
|
|
|
Embedded
SQL can work with ADO.NET
|
|
Improves
the performance of embedded SQL by as much as 30%.
|
| V3 |
|
|
|
Trace
output of user-defined messages when using an ADO.NET connection.
|
|
Helps
monitor/debug user-defined messages.
|
| V3 |
|
|
|
Retrieve
return values of stored procedures. |
|
Important
when using stored procedures in databases.
|
|
|
| |
|
COBOL File Handling |
|
Supports all COBOL file types (sequential, line sequential,
relative and indexed). Provides fast, reliable file handling.
|
|
You
can rely on the integrity of your data and give great response
times to your users. |
V2.1
+V4.0
|
|
|
|
Provides option to use the Btrieve file handler
provided with the Pervasive.SQL product. Supports partial keys as well as full keys in the START statement.
|
|
Btrieve
can support larger indexed files and can offer transaction support
when used with NeoKicks.
|
| V3 |
|
|
|
Append
data to an existing record-sequential file using standard COBOL
I/O |
|
Useful
additional option when working with record sequential files. |
V3 |
|
|
|
Concatenate
multiple record sequential files to be used as a single input file
to COBOL |
|
Useful
additional option when working with record sequential files. |
|
|
| V1.1 |
|
Pointer items |
|
Support for USAGE POINTER data items for handling dynamic
memory within the NetCOBOL environment. |
|
Enables migration of code that has extensive use of pointers
to NetCOBOL for .NET.
|
|
|
| V1.1 |
|
Large sequential files |
|
With Fujitsu's BSAM module, allows sequential files
to grow to 4GB and higher. |
|
Removes limitation present in earlier releases.
|
|
|
| V1.1 |
|
External file handler |
|
Standard
COBOL I/O statements (OPEN, READ, WRITE etc) can generate calls
to an external file handler (one other than the regular NetCOBOL
file handler). The external file handler interface is compatible
with that defined for Micro Focus COBOL.
|
|
Of
greatest benefit to those emulating other systems where programs
other than COBOL programs might access files. |
|
|
| V2 |
|
Verifiable
code |
|
Option
to have compiler generate verifiable (memory safe) code. |
|
For
applications that may be downloaded over the Internet having verifiable
code can be an important feature.
|
|
|
| V2 |
|
Print
files |
|
Both
COBOL “ASSIGN TO PRINTER” and PowerFORM print files
supported. |
|
Adds
ability to print from .NET applications.
|
|
|
| V2 |
|
Sort/Merge |
|
COBOL
SORT and MERGE statements supported. |
|
Enables
execution of sort and merge applications under .NET. |
|
|
V2
+V2.1
+V2.1
V3.1
|
|
Unicode
and ACP support |
|
COBOL
intrinsic functions to convert between ANSI Code Page (ACP) encoding
to Unicode (either UTF-8 or UCS-2 depending on context):
ACP-OF
UNICODE-OF
NATIONAL-OF
DISPLAY-OF
NATIONAL
CAST-ALPHANUMERIC
NATIONAL function extended to convert between UTF-8 and UCS-2 when executing with COBOL alphanumeric data in the UTF-8 code set.
|
|
Provides
more coding options for working with ACP applications or data files.
|
| V2.1 |
|
|
|
Support
provided for compiling programs in ACP or Unicode runtime data modes.
Alphanumeric items are stored using ACP or UTF-8 depending on the
mode.
|
|
Greatly
eases the COBOL migration of programs/data coming from single byte
encoding environments, such as EBCDIC or ACP (usually thought of
as ASCII) systems, as the lengths of alphanumeric items can be left
as they are when using the ACP mode.
|
| V2.1 |
|
|
|
Ability
to configure whether the message output file and SYSOUT files are
written in ACP or Unicode.
|
|
Provides
flexibility to choose the appropriate character encodings for these
files within your organization.
|
| V2.1 |
|
|
|
Ability
to check for differences in the runtime code set for data or files
with the EXTERNAL attribute.
See white paper for more details
on using Unicode
|
|
Ensures
EXTERNAL items are not inadvertently shared by programs using different
code sets. |
|
|
| V2 |
|
Hexadecimal
numeric literals |
|
Supports
numeric literals in the form:H”XXXX” where the X’s
represent hexadecimal digits. |
|
Convenient
format for specifying numeric values when those values are most
meaningfully expressed in hexadecimal. |
|
|
| V2 |
|
CONSTANT
SECTION |
|
Fujitsu
extension used for defining constant values. |
|
Useful
extension for giving names to constants.
|
|
|
| V2 |
|
Source
code |
|
Sources
files can be encoded in UTF-8 as well as ACP.
|
|
Provides
a Unicode-compatible source file encoding.
|
|
|
| V2 |
|
Compiler
options |
|
AUTO option added to ALPHAL to provide better case-insensitive
coding support.
FLAGSW, SHREXT and XREF directives (available in NetCOBOL for
Windows and other products) implemented.
|
|
Removes
the need to be aware of case-sensitivity issues in most situations.
|
| V2.0 |
|
|
|
CHECK
option provides ability to check for runtime data errors and subscripts
going out of range. |
|
Useful
option during testing to alert you to errors that might otherwise
go unnoticed.
|
| V3 |
|
|
|
/platform
option indicates the target processor for which the code should
be generated:
- anycpu - for any processor
- x86 – for 32-bit and WOW64
- x64 – for AMD64 or EM64T
- Itanium – for 64-bit Itanium
|
|
Allows
users to specify the platform on which their application may run |
| V3 |
|
|
|
DECIMAL
option provides the ability to choose the convention used for storing
included signs in zoned (display) decimal items:
• FJ – Fujitsu convention
• MF – Micro Focus convention
• 88 – 88 Consortium convention (values resulting from
EBCDIC to ASCII conversion)
|
|
Provides
easier COBOL migration options for those coming to NetCOBOL from
the mainframe or Micro Focus COBOL. |
| V3 |
|
|
|
INITONLY,
SQLSCOPE options support SQL CLR requirements
|
|
Make
it possible to write COBOL code for SQL Server’s SQL
CLR. |
| V4.0 |
|
|
|
/win32manifest option allows for specific manifest files to be embedded in applications. |
|
Gives richer application building options. |
|
|
| V3 |
|
Runtime
options |
|
Ability
to configure a runtime date that is different from the system date
using the @CBR_JOBDATE environment variable |
|
Allows
code to be written so that operators can specify the effective run
date. |
|
|
| V3.1 |
|
Application execution |
|
Support for side-by-side execution of multiple versions of applications or components on the same computer |
|
Gives greater flexibility in upgrading groups or individuals to new versions of applications.
|
| V3.1 |
|
|
|
Prototypes provided for the special subroutines, JMPCINT2, JMPCINT3, used for calling NetCOBOL for Windows programs from .NET languages. |
|
Eases the process of calling NetCOBOL for Windows programs. |
|
|
| V2.1 |
|
Application
configuration file |
|
All
runtime environment settings can be specified in the application's
".config" file and can be entered and edited using the Runtime Environment
Setup Utility.
|
|
Simplifies
deployment with all runtime settings stored in the standard .NET,
XML application configuration file that is given the appropriate
name and copied to the output folder at build time.
|
| "+Vn" in the "New in:" column indicates a feature that contains
new or improved elements as well as existing elements. When "+Vn"
is in Italics, it refers to the italicized detail items. The number
n indicates the release in which the new feature was introduced.
|

Visual Studio Integration
New
in: |
|
Feature
Summary |
|
Detail of Feature |
|
Benefit of Feature |
V1
+V1 |
 |
Project Manager |
 |
Full
Integration with Visual Studio Project Manager. |
 |
After
defining your project structure (how programs and source files are
related), Project Manager takes care of dependencies -
for example which programs need to be recompiled when you change
a particular source file. You can focus on programming.
Visual Source Safe helps you control developments
across your team. |
V2 |
|
|
|
Custom
build steps provided (ability to invoke commands before and/or after
the normal build operation) |
V2 |
|
|
|
Supports
the Navigate Backward and Navigate Forward functions for easy movement
between document locations. |
+V1 |
|
|
|
Tree
view of project (application) structure.
COBOL sensitive
editor.
Integrated with
Visual Source Safe configuration management.
Compile, debug,
build, execute, sensitive to any changes
to sources or objects.
|
V1 |
|
|
|
Includes
easy movement of projects from folder to folder.
Run-time Environment
Setup tool incorporated for COBOL specific items.
|
| V2.1 |
|
|
|
COBOL
Runtime Environment Setup Utility integrated in Tools and context
menus. COBOL File Utility available from Tools menu.
|
|
Gives
ready access to commonly used tools. |
| V3 |
|
|
|
Supports
creation of database projects for creating SQL CLR programs.
|
|
Easier
creation/maintenance of programs intended to run in SQL CLR.
|
| V3 |
|
|
|
Supports
MS Build
|
|
Allows
extensibility of the build process
|
| V4.0 |
|
|
|
Specify the target versions of .NET in the Application page. |
|
Easier setting of this information. |
|
|
| V1.0a |
|
Designer support |
|
COBOL
code generated and used with the following designers:
|
|
Removes complexity of creating and coding .NET GUIs and ASP.NET
pages as well as speeding application development.
|
| |
|
V1.1
+V3.1 |
|
IntelliSense |
|
Visual
Studio IntelliSense is enabled for COBOL, including the following
features:
- Word completion
- Method parameter
info
- Quick info
on item data type
- List available
members
- Syntax error
marking
- Insert code snippets (small pieces of reusable code)
|
|
Improves the coding experience giving programmers the information
they need to create code correctly first time. |
| |
|
| V1.1 |
|
Outlining |
|
Information
is provided to the Visual Studio Editor so that it can "outline"
COBOL programs. I.e. structures such as divisions and sections can
be collapsed and expanded using the outlining feature's -/+ handles.
|
|
Helps
programmers focus on the code of interest. |
| |
|
| V1.0 |
|
Online documentation |
|
The
NetCOBOL for .NET User Guide integrates with the Visual Studio
combined documentation collection so that it is available when you
invoke Help or Visual Studio documentation. It is presented
in the standard Microsoft .NET Help format and, where appropriate,
provides links to associated Microsoft help topics.
|
|
Provides
fast, convenient access to product documentation in a manner consistent
with other Visual Studio information. |
| V2.1 |
|
|
|
Descriptions
of all new features plus detailed information on ANSI Code Page
(ACP) and Unicode coding considerations.
|
|
Quickly
learn how to take advantage of the features of the latest release. |
| "+Vn"
in the "New in:" column indicates a feature that contains new or
improved elements as well as existing elements. When "+Vn" is in
Italics, it refers to the italicized detail items. The number n
indicates the release in which the new feature was introduced. |
Utilities
New
in: |
|
Feature
Summary |
|
Detail of Feature |
|
Benefit of Feature |
V4.0
|
|
PowerBSORT |
|
Enhances SORT statement performance, includes interactive interface for ad-hoc data sorting, and provides a command-line interface that can be used for performing batch sort/merge operations.
|
|
Faster sort operations and more options for performing sorts.
|
|
|
| V4.0 |
|
PowerFORM |
|
A WYSIWYG graphical form designer and layout tool for creating complex print forms
|
|
Easily replace your traditional plain text reports with graphical COBOL reports.
|
|
|
| V4.0 |
|
Data Tools |
|
A combination of the Fujitsu Data Converter and Data Editor tools.
Data Converter converts different file organizations: sequential, indexed, relative, text file (line sequential), binary, XML data and comma-separated values (CSV), it also converts different character code systems: ASCII and EDCDIC.
Data Editor lets you create and manipulate the data files for your COBOL applications with an interactive, easy-to-use editor. Because Data Editor is focused on COBOL, it understands COBOL record descriptions and displays the data using the record descriptions from your COBOL programs.
|
|
Data Converter let's you convert your data files from format to format or from code set to code set with an interactive, easy-to-use interface.
Data editing is fast and intuitive, allowing you to make your updates with minimal amount of effort.
|
|
|
| V2.1 |
|
Runtime
Environment Setup Utility |
|
Utility
provides an easy-to-use interface for creating and maintaining the
NetCOBOL sections of the XML application configuration file as well
as the ability to import settings from the runtime settings files
used with earlier releases of NetCOBOL.
|
|
Provides
single point for configuring all NetCOBOL related runtime information
including environment variables, SQL information, and program entry
information. |
| V3 |
|
|
|
Extended
to support new variables such as those required for ADO.NET and
SQL CLR support.
|
|
Setup
Utility continues to make it easy to set up and maintain runtime
environment variables.
|
|
|
| V2.1 |
|
Program
Prototype Definition Wizard |
|
Uses
Source Analysis Information (SAI) files output in NetCOBOL for Windows
to create program prototype definitions for invoking programs created
in NetCOBOL for Windows.
|
|
Saves
the effort, and possible errors, involved in hand coding program
prototypes. |
|
|
| V2.1 |
|
.NET
Remoting Proxy Generator |
|
Tool
designed for situations in which you need a non-COBOL client to
call a COBOL program over .NET Remoting.
|
|
Simplifies
the process of creating a .NET Remoting proxy. |
| "+Vn"
in the "New in:" column indicates a feature that contains new or
improved elements as well as existing elements. When "+Vn" is in
Italics, it refers to the italicized detail items. The number n
indicates the release in which the new feature was introduced. |
Object-Oriented COBOL
New
in: |
|
Feature Summary |
|
Detail of Feature |
|
Benefit of Feature |
+V1 |
 |
OO
programming |
 |
OO COBOL syntax, and run-time support, are built
into Fujitsu NetCOBOL for .NET and are tailored specifically for
the .NET environment. Consequently not all standard OO COBOL features
are supported, some features have different behaviors than standard
OO COBOL, and some additional features have been added. OO features
supported:
- Class/Object models
- Information hiding (data encapsulation, object properties)
- Modularization (methods, including prototype methods)
- Single inheritance
- Context-dependent functions (polymorphism)
- Conformance checking
- Static and dynamic binding
- Garbage collection
- Exception handling
|
 |
If
you are using OO design techniques, OO COBOL gives you a viable
means of implementing those designs.
Continue to use your COBOL expertise while transitioning
to the latest OO design techniques. |
| "+Vn" in the "New in:" column indicates a feature that contains
new or improved elements as well as existing elements. When "+Vn"
is in Italics, it refers to the italicized detail items. The number
n indicates the release in which the new feature was introduced. |

Debugging
New
in: |
|
Feature Summary |
|
Detail of Feature |
|
Benefit of Feature |
+V1 |
 |
Full execution control |
 |
The
Visual Studio 2005 debugger provides:
Simple breakpoints
Conditional breakpoints
Break after n executions
Break on change of data items
Step statements - over subroutines
Step into subroutines
Run program to cursor position
Change current execution location |
 |
Fast resolution of bugs requires that you have many
options on controlling program execution.
For example, if a problem occurs at the 1000th record in a file,
you need a way to break execution at the 1000th iteration - the
Visual Studio debugger gives you this degree of control. |
|
|
| |
|
Data query and update |
|
View data values
Update data values
Watch data values while programs execute |
|
Checking and monitoring data values is an essential part of
debugging. |
|
|
| |
|
Datatips |
|
Hover mouse pointer over data items to see the data
value displayed beside the item. |
|
You can check data values quickly, in the context of source,
using a minimum of screen "real estate". |
|
|
| |
|
Watch multiple data items |
|
Use
one of the following windows to watch the values of multiple
data items:
SELF - shows values of the current object's items
Locals - shows values of items local to the current method
Autos - shows values of data items used in the current and previous
statement |
|
|
|
|
| |
|
Program status |
|
Call stack
Loaded modules
Active threads |
|
Helps you maintain the context of your debugging focus |
|
|
| |
|
Colorable source |
|
Configure
colors to indicate source line states such as breakpoints set,
current position.
Configure colors
for reserved words and comments. |
|
Helps you focus on the critical aspects for your
debugging session. |
|
|
| |
|
Automated debugging |
|
Record, store and execute sequences of
frequently used debug commands, as macros |
|
For
bugs that are deep in the logic or execution sequence, automated
debugging gets you to the point of interest with the minimum
of effort.
Storing frequently used sequences of commands helps you become
more productive.
|
| "+Vn" in the "New in:" column indicates a feature that contains
new or improved elements as well as existing elements. When "+Vn"
is in Italics, it refers to the italicized detail items. The number
n indicates the release in which the new feature was introduced. |

An In-Depth Look at Fujitsu NetCOBOL for .NET
The following sequences
of screen captures let you see the features of NetCOBOL for .NET at work.
Visual Studio Project Manager
Visual Studio Editor
Windows Forms Designer
Web Forms Designer
Building Applications
Debugging applications
Web Services
Runtime Environment Setup Utility
Visual Studio Project Manager
Fujitsu NetCOBOL for
.NET is fully integrated into the premier integrated development environment
(IDE), Microsoft Visual Studio. Developers of multi-language applications
can work within one IDE, instead of having to learn multiple IDE's. The
Microsoft Visual Studio Project Manager:
- Encourages you to
structure your applications
- Provides a project
tree structure
- Builds applications
- Debugs applications
- Invokes other development
tools and languages
- Is customizable to
invoke additional tools
The following screen
capture shows a NetCOBOL for .NET application in the development process.

Visual Studio Editor
The editor utilized
in NetCOBOL is the Microsoft Visual Studio editor. Specific support
has been added to the editor to enable it to recognize the COBOL language
and syntax. The Microsoft Visual Studio editor:
- Lets your developers
learn one editor for maintaining their COBOL code as well as VB, C#
and any other .NET enabled language.
- Colors reserved words
and comments for easier readability
- Is fully integrated
with the project manager and debugger so, for example, you can edit
programs while debugging.
- Supports Intellisense
features such as: indicating syntax errors; listing available items
whether classes, data items or method names; giving quick info about
data items by displaying the type when you hover over the item; and
displaying method parameter information as you enter an INVOKE statement.
The following snapshots
show a number of these features:
Coloring reserved words;
giving lists of available items (you just hit enter to have the selected
text inserted in your program)

Listing available methods:

Displaying method syntax:

"Quick info" on items
(cursor is hovering over item Cnt so the type of Cnt is displayed):


Windows Forms Designer
With NetCOBOL for .NET
comes support for Visual Studio's Windows Forms Designer. This component
lets you design Windows forms (dialogs) using the same sort of tools developed
for Visual Basic, but with NetCOBOL's support all your supporting code
can be written in COBOL.
Each form is defined
and supported by a NetCOBOL program. The Design View lets you see the
form with its controls, displayed in a WYSIWYG fashion. The Code View
shows you the code behind the form. Double-clicking on a control generates
skeleton code for the default event (such as the Click event for a Button
control), if it does not already exist, and takes you to that code:


Web Forms Designer
NetCOBOL for .NET also
contains support for Visual Studio's Web Forms Designer. This designer
is very similar to the Windows Forms Designer except that the form being
designed is a Web page. The controls and style of coding are very similar
to that used in Windows forms, making it easy to transition or switch
between the two.
As with Windows forms
the Web form is defined and supported by a NetCOBOL program in which event-supporting
code is created:


Building Applications
Fujitsu NetCOBOL utilizes the build facilities of Microsoft Visual Studio. The
first step in building applications is to utilize the Solution Explorer
to define your application. The Solution Explorer:
- Permits ease of use
in locating the pieces that make up your application
- Updates the Error
List to display any errors, warnings, and messages generated during
the Build process
- Displays a tree like
structure of your components for easy visualization

After you have created
your application the next step would be to Build the application. The
Build Step
- Activates the compiler
- Updates the 'Tasks'
list with a list of any errors encountered during the Build process


Debugging Applications
In NetCOBOL for .NET
you debug your code using the Microsoft Visual Studio Debugger. The
Debugger:
- Displays your source
code
- Shows current line/statement
of code about to execute (yellow arrow in margin, highlight on statement)
- Colors source code
for easy readability
- Makes breakpoints visible
(red stop sign in left margin, highlight on statement)
- Can break execution
when data items change
- Set sophisticated
breakpoints with conditions and statement hit counts
- Has several ways
of viewing and updating data variables - such as the Autos window shown
below that shows the variables used in the previous and current statement


Web Services
Web Services provide
the opportunity to expose your programming interfaces to the web for use
by your clients in any manner they see fit. Web Services:
- Are accessible over
the Internet (exposing only those portions of the system you deem necessary)
- Use HTTP as the transport
protocol (no more vendor specific protocols)
- Are XML based (The
de-facto standard for data query across the Internet)
- Utilize Microsoft
and IBM's Simple Object Access Protocol (SOAP)
With .NET, packaging
your interfaces in XML is done for you, simply by specifying a system-defined
custom attribute:


Runtime Environment Setup Utility
The Runtime Environment
Setup Utility provides an easy way of creating and editing any runtime
settings required by the application. Settings are stored in the XML app.config
or web.config files and copied to an appropriately located and named .config
file at build time.


| Frequently Asked Questions
Product Structure/Contents/Requirements
- What is included with NetCOBOL for .NET?
- Do I have to buy Visual Studio from Microsoft?
- What are the hardware and software requirements to develop
applications?
- What are the hardware and software requirements for executing
NetCOBOL for .NET applications?
- How is NetCOBOL for .NET packaged?
- Are there
printed manuals with this product?
Moving to NetCOBOL for .NET
- Do I have to know OO COBOL to use NetCOBOL for .NET?
- Can I port existing COBOL programs to .NET?
- Why is the SCREEN SECTION not supported?
- How do I create GUI applications?
- Is there a PowerCOBOL converter to Windows Forms?
- Are Windows Forms applications event driven?
- Is internal sorting supported?
- Are there differences between the COBOL data files created
by NetCOBOL for Windows and NetCOBOL for .NET?
- Can I use an old version of NetCOBOL to create the unmanaged DLL's?
- Do I have to compile the program with multi-threading
options to make it work?
- Are there issues to consider when moving to
Unicode?
NetCOBOL for
.NET Features
- Can I develop mixed language applications?
- What data-types can be passed between languages?
- Can I call Fujitsu native COBOL applications?
- What types of data access are supported?
- Can I call a method of a Microsoft .NET class from COBOL?
- What features are not supported in NetCOBOL for .NET?
Other COBOL-Related Tools
- What is the future of PowerCOBOL?
- Does PowerFORM work with applications compiled with NetCOBOL
for .NET?
- Will PowerGEM become part of the NetCOBOL for .NET environment?

Product Structure/Contents/Requirements
1. What is included with NetCOBOL for .NET?
A: A complete COBOL development environment targeted to Microsoft's
.NET Framework. This includes a COBOL compiler with .NET extensions
that generates Microsoft Intermediate Language (MSIL) and does
not generate native x86 instructions.
Main features:
- Windows
Forms and Web Forms Designers
- Create
COBOL XML Web services using Microsoft's ASP.NET engine
- Write code
to run within the SQL CLR (common language runtime) in SQL Server
(stored procedures, user-defined functions and triggers)
- Use COBOL
to script in ASP.NET pages (language = "COBOL")
- Simplified
mixed language development: call and be called from languages
like VB .NET or C#
- Support
for calling native NetCOBOL for Windows applications from .NET.
The called native COBOL programs can be native .DLL’s
or COM objects. If you want to create mixed NetCOBOL for Windows
and .NET applications, you will need to use the multi-threaded
runtime for most applications (Windows Forms, Web Forms, ASP.NET
and Web Services).
- Includes Visual Studio 2008 Shell which contains the IDE, ready to work with NetCOBOL.
- Editor understands
COBOL with IntelliSense and outlining support.

2. Do I have to buy Visual Studio from Microsoft?
A: No. Visual Studio 2008 Shell is included with NetCOBOL for .NET. Only if you want features, or other development languages, that are not in the shell edition would you need to purchase Visual Studio from Microsoft. See the Visual
Studio Product Line Overview.
3.
What are the hardware and software requirements to develop applications?
A: The requirements are essentially those required by Visual Studio, with an additional 70MB of disk space for the NetCOBOL for .NET product. See the information on System Requirements on the Microsoft Visual Studio Standard page.

4. What are the hardware and software
requirements for executing NetCOBOL for .NET applications?
A: Applications can be executed on Microsoft Windows Vista, XP and Server 2003/2008. When you create the package to deploy your application, you will need to consider if the end-user's machine will already have the .NET Framework installed. If not, you may need to include the appropriate parts in your package. The hardware and software requirements for executing applications is therefore primarily dependent on those of the .NET Framework.See System Requirements for Installing .NET Framework 3.5 for details of .NET Framework requirements.
Many common installer development environments have support that makes it easy to deploy .NET applications. NetCOBOL for .NET also includes a set of redistributable components that constitute the COBOL language runtime necessary for your applications to run on a client machine.
5. How is NetCOBOL for .NET packaged?
A: NetCOBOL for .NET comes in two editions: Enterprise and Universal. Enterprise focuses on creating applications for .NET. Universal combines NetCOBOL for .NET Enterprise with NetCOBOL for Windows Enterprise – so you are able to create applications for both .NET and native Windows.

6. Are there printed manuals with this product?
A: No. The manuals are provided either as compiled help files or PDF files accessed from the Fujitsu NetCOBOL for .NET V4.0 program group or from within Visual Studio.
Moving to NetCOBOL for .NET
7. Do I have to know OO COBOL to use NetCOBOL
for .NET?
A: Not necessarily. NetCOBOL for .NET allows you to compile non-OO
COBOL programs and execute these in the Common Language Runtime
(CLR). If you want to communicate with .NET programs written in
other languages, or take advantage of the support provided in
.NET Framework classes, it will be necessary to understand a number
of OO concepts and how they are supported in NetCOBOL for .NET.
When compiling non-OO COBOL programs, for example when using NetCOBOL
for .NET as part of a COBOL migration solution, the NetCOBOL system
packages your standard COBOL program in this OO environment as
a static method, called "Procedure," of a class with
your program's PROGRAM-ID name. This means that you can call a
traditional COBOL program in an OO manner, using the PROGRAM-ID
as the class name and "Procedure" as the method name.

8. Can I port existing COBOL programs
to .NET?
A: Yes you can. There are a few limitations in NetCOBOL for .NET
that may prevent certain modules from compiling successfully.
These limitations are listed in the NetCOBOL for .NET User Guide. Where the limitations
are in areas that must be retained in your application, you can
compile those modules with the NetCOBOL for Windows product and
invoke them from the .NET code.
9. Why is the SCREEN SECTION not supported?
A: The .NET environment is a graphically oriented environment
with good design and execution support from Windows Forms and
Web Forms. Programmers of applications that contain a user interface
will want to take advantage of the .NET Framework user interface
support, rather than the character-oriented SCREEN SECTION.
10. How do I create GUI applications?
A: Use Windows Forms within the .NET environment. Windows Forms
is a model for developing rich client GUI applications that
are built around classes in the .NET Framework class library's
System.Windows.Forms namespace. They have a programming model
all their own that is cleaner, more robust, and more consistent
than models based on the Win32 API or MFC, and they run in the
managed environment of the .NET Common Language Runtime (CLR).
NetCOBOL for .NET provides designer support making it easy to
design your graphical interfaces and write the supporting COBOL
code.

11. Is there a PowerCOBOL converter to
Windows Forms?
A: No. For now PowerCOBOL applications will continue as native
Windows applications.
12. Are Windows Forms applications event driven?
A: Yes they are - in a slightly different manner from traditional
Windows applications. Traditional Windows-based applications process
WM_COMMAND and WM_NOTIFY messages using special Windows Forms
process events. In C# and in other languages (COBOL included)
that support the .NET Common Language Runtime (CLR), events are
first-class type members on par with methods, fields, and properties.

13. Is internal sorting supported?
A:Yes. Support for COBOL’s sort/merge module was added in
the V2.0 release.”

14. Are there differences between the
COBOL data files created by NetCOBOL for Windows and NetCOBOL for
.NET?
By default –
no. That is, if you are using the default character set modes of
working with both NetCOBOL for .NET and NetCOBOL for Windows, and
you are using the same file systems (e.g. NetCOBOL file system in
both or Btrieve file system in both), then the files are compatible.
Differences will only occur if programs are compiled to use different
character sets or different file systems. For example, a program
compiled with RCS(UTF8-UCS2) with NetCOBOL for .NET will store alphanumeric
data using UTF-8 which would typically not be compatible with data
in a file written using a program compiled with RCS(ACP) which uses
ASCII data. If you decide to use different character sets in different
programs, functions are provided so that you can convert the data
between the character sets.
 15. Can I use an old version of NetCOBOL
to create the unmanaged DLL's?
A: Currently we have only tested V6 thru V10, since these are
the versions that have been available and supported during NetCOBOL
for .NET's life. Earlier versions should also work, but there
is no guarantee. To ensure proper usage of the modules we recommend using the DLLs of the latest release of NetCOBOL for Windows.
16. Do I have to compile the program with multi-threading
options to make it work?
A: Many .NET applications are multi-threaded. For applications
that are multi-threaded, users of the NetCOBOL for Windows compiler
must use the multi-threaded compiler options.

17. Are there issues to consider
when moving to Unicode?
A: Yes - particularly if you are wanting to migrate existing ASCII
(or ANSI Code Page, ACP) data or share data with ASCII/ACP applications.
See the white paper for guidelines
on migrating to Unicode for more details.
NetCOBOL for .NET Features
18. Can I develop mixed language applications?
A: Yes you can. Any language that is enabled for the .NET environment
can call other .NET enabled languages in a more seamless manner
than ever before. One big benefit of the common environment is
the ability to inherit from one language to another. .NET includes
several frameworks, or libraries of classes, that any .NET language
can use, including COBOL. The result is that .NET offers an environment
in which you develop in the language that makes the most sense
for the task.
19. What data-types can be passed between languages?
A: The Common Language Runtime (CLR) defines a set of built-in
data types that can be passed between languages. These data types
are: boolean, byte, char, date, decimal, double, enum, single,
int16, int32, int64, object, and string. Programmers can also
create user-defined classes that can be passed between languages.

20. Can I call Fujitsu native (Windows)
COBOL applications?
A: Yes, both DLL's and COM objects may be referenced from within
the .NET environment.

21. What types of data access are supported?
A: NetCOBOL for .NET supports: sequential, line sequential, relative,
and indexed file access; EXEC SQL (Embedded SQL) via ADO.NET or
ODBC.
With NeoData VSAM files can be converted to SQL Server databases while the COBOL code remains unchanged – accessing and updating the data using COBOL file I/O statements.
22. Can I call a method of a Microsoft .NET
class from COBOL?
A: Yes, you need to use the object-oriented extensions of NetCOBOL
for .NET.

23. What features are not supported in NetCOBOL
for .NET?
A: The following are limitations in this version:
- The SCREEN
SECTION is not supported. Your NetCOBOL for .NET applications
should use Windows Forms or Web Forms for interfacing with your
users.
- The COBOL
REPORT WRITER module is not supported.
- TYPEDEF STRONG
is not supported.
- ENTRY statements
are not supported. Code that relies on ENTRY points should be
restructured so that each separate ENTRY point becomes a method.
- ALTER statements
are not supported. ALTER was declared obsolete in the 1985 COBOL
standard.
- A GO TO statement
without a procedure name (used as the target of an ALTER statement)
is not supported.
- The "STOP
literal" statement, which would display a message to an operator
and pause execution pending a response, is not supported.
Other COBOL-Related
Tools
24. What is the future of PowerCOBOL?
A: PowerCOBOL will remain a native Windows product with only minor
enhancements, if any, in the future.
25. Does PowerFORM work with applications compiled
with NetCOBOL for .NET?
A: Yes. Support for PowerFORM was added with the V2 release of
NetCOBOL for .NET.
PowerFORM was also added to the NetCOBOL for .NET product with the V4 release.

Downloads
NetCOBOL
for .NET V4.0 – provided with a temporary 5-day license.
Contact
Alchemy Solutions to purchase a full license or obtain
a trial license.
Training
& Books
Microsoft's .NET Framework introduces many new terms and concepts,
even to those familiar with Microsoft Windows technology. In addition,
Fujitsu has added enhancements and extensions to COBOL to support
the features of the .NET Framework. Before programming in this
new environment, it is important to have a good understanding
of the basic .NET terminology. Helpful resources:
Microsoft .NET for COBOL Programmers: A book and 5 hours of video presentations delivered on DVD.
COBOL
and Visual Basic on .NET: A Guide for the Reformed Mainframe
Programmer by Chris Richardson
Contact Alchemy Solutions for details of on-site training in
NetCOBOL for .NET
White Papers
Creating
COBOL from the .NET Framework Class Library Help Topics (PDF)
- Provides guidelines for interpreting the .NET Framework documentation,
that has a strong VB or C# focus, for writing NetCOBOL for .NET
programs.
October 2003
Guidelines
for Migrating ASCII (ACP) COBOL Code to Unicode with NetCOBOL
for .NET (PDF)
September 2003
COBOL
for Microsoft .NET Framework
December 2001

|
|