Alchemy Solutions
HomeMigrationsProductsServicesInformationNewsPartnerPricingAbout Us
Fujitsu COBOL NetCOBOL .net CICS
quicksearch  
spcer
 
Fujitsu COBOL NetCOBOL .net CICSDownload Fujitsu COBOL NetCOBOL .net CICS SupportFujitsu COBOL NetCOBOL .net CICSFujitsu COBOL NetCOBOL .net CICS
Fujitsu COBOL NetCOBOL .net CICS
Home > Products
Product title  
Windows Products
What COBOL for Me?
NetCOBOL for .NET
NeoKicks
NeoBatch®
NeoSort®
NeoData
NetCOBOL for Windows
PowerCOBOL
PowerBSORT
PowerFORM
Data Converter
Data Editor
Unix Products
NetCOBOL for Linux
NetCOBOL for SPARC Arch
Data Converter (SPARC Arch)
Data Editor (SPARC Arch)
NetCOBOL for HPUX
PowerBSORT

 

Fujitsu NetCOBOL for .NET


Contents


Executive Summary
Click image to view

Overview
Fujitsu NetCOBOL for .NET is a COBOL compiler created specifically for Microsoft's .Net Framework. This means that it:

  • Produces Microsoft's Intermediate Language (MSIL) that executes under the Common Language Runtime (CLR). This language-neutral, platform independent environment enables COBOL code to be mixed with any other .NET-supporting language (such as C# and VB .NET) on any .NET-supporting platform.
  • Adapts OO COBOL syntax, and supports .NET-specific extensions, so that COBOL programs can be written to take full advantage of the .NET Framework classes.
  • Includes Microsoft® Visual Studio Shell – i.e. Visual Studio without any other Microsoft languages, providing the integrated development environment (IDE) for NetCOBOL for .NET.

These features allow you to bring COBOL fully into the world of Internet applications including XML Web services and ASP.NET pages, and to integrate that code with code written in other languages. The .NET Framework gives access to the latest technology and NetCOBOL for .NET ensures this is immediately available to COBOL programmers. COBOL-85 code and, with the help of NeoKicks, NeoBatch, and NeoSort, mainframe CICS and batch programs can be compiled and run, enabling you to leverage your current COBOL assets.

NetCOBOL for .NET can be purchased in two different packages: Enterprise and Universal. The Enterprise package contains the .NET-supporting components along with some other COBOL development tools. It only supports the development of applications that will execute in the .NET environment. The Universal package is a combination of the NetCOBOL for .NET Enterprise and the NetCOBOL for Windows Enterprise products, giving you our Windows application development environment along with the leading-edge NetCOBOL for .NET product.

  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

Other tools that cover:

  • Data file maintenance
  • ODBC and runtime environment setup
  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:

  • Windows Forms
  • Web Forms
  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:

  • Windows Forms
  • Web Forms
  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

  1. What is included with NetCOBOL for .NET?
  2. Do I have to buy Visual Studio from Microsoft?
  3. What are the hardware and software requirements to develop applications?
  4. What are the hardware and software requirements for executing NetCOBOL for .NET applications?
  5. How is NetCOBOL for .NET packaged?
  6. Are there printed manuals with this product?

Moving to NetCOBOL for .NET

  1. Do I have to know OO COBOL to use NetCOBOL for .NET?
  2. Can I port existing COBOL programs to .NET?
  3. Why is the SCREEN SECTION not supported?
  4. How do I create GUI applications?
  5. Is there a PowerCOBOL converter to Windows Forms?
  6. Are Windows Forms applications event driven?
  7. Is internal sorting supported?
  8. Are there differences between the COBOL data files created by NetCOBOL for Windows and NetCOBOL for .NET?
  9. Can I use an old version of NetCOBOL to create the unmanaged DLL's?
  10. Do I have to compile the program with multi-threading options to make it work?
  11. Are there issues to consider when moving to Unicode?
NetCOBOL for .NET Features

  1. Can I develop mixed language applications?
  2. What data-types can be passed between languages?
  3. Can I call Fujitsu native COBOL applications?
  4. What types of data access are supported?
  5. Can I call a method of a Microsoft .NET class from COBOL?
  6. What features are not supported in NetCOBOL for .NET?

Other COBOL-Related Tools

  1. What is the future of PowerCOBOL?
  2. Does PowerFORM work with applications compiled with NetCOBOL for .NET?
  3. 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


 © 2003 - 2008 Alchemy Solutions Inc. All Rights Reserved.