NetCOBOL for .NET

Compile COBOL on the Microsoft® .NET™ Framework and Windows® Azure™


The NetCOBOL for .NET compiler produces Microsoft®’s Intermediate Language (MSIL) that executes under the Common Language Runtime (CLR). This language-neutral, platform-independent environment lets you mix modern languages like C# and VB.NET on any .NET-compatible hardware and in the Windows® Azure™ cloud.

NetCOBOL for .NET adapts to OO COBOL syntax and supports .NET-specific extensions. That means your COBOL programs can be written to take full advantage of the .NET Framework classes.

The compiler also includes Microsoft® Visual Studio Shell (Visual Studio without any other Microsoft® languages), providing an integrated development environment (IDE) for NetCOBOL for .NET.

Join the .NET World

Gain access to the latest web technologies. With NetCOBOL for .NET, your COBOL applications can interact with Internet XML Web Services and ASP.NET web applications. And with the help of the GT Software’s NeoTools suite, CICS and batch applications can be compiled without an extensive code rewrite.

Cloud Ready When You Are

NetCOBOL for .NET compiles COBOL in the Windows® Azure™ cloud—without emulation or virtual machines. You’ll get true scalability, world-leading backup and disaster recovery while drastically cutting costs. Learn more…

Free COBOL Runtimes

Drastically cut costs and eliminate administrative headaches. There is no additional charge for distributing applications created using NetCOBOL. NetCOBOL puts you in control of your application distribution costs.

NetCOBOL for .NET Packages

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.

Features

What’s New? Latest Release – NetCOBOL for .NET v6.0

  • Supports Visual Studio 2013 / .NET Framework 4.5.1
  • Support for CSV data file format
  • Support of recursive calls
  • Support of CBL subroutines that are compatible with COBOL CBL subroutines from Micro Focus Co., Ltd.
  • Performance enhancements for stored procedures

Other Great Features

  • No COBOL runtime license charges
  • Compatible with Windows® Azure™ cloud computing
  • Generates standard .NET MSIL (Microsoft® Intermediate Language) code with the option to generate verifiable (web safe) code.
  • Enhances COBOL syntax to allowcreation 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
  • Mixed language applications can be debugged with the Visual Studio debugger
  • Interoperation with COM and existing native code compilers
  • Includes and integrates with Microsoft®’sVisual 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 PowerBSORT,PowerFORM and Data Tools utilities.

Benefits

  • Enables you to bring mainframe/legacy COBOL code to the Windows® environment and provides the product round which the NeoTools are built. You can enjoy big savings in IT expenses or free up mainframe MIPS for other applications.
  • You can utilize the latest technologies such as ASP.NET and WCF from COBOL using the award winning Visual Studio development environment.
  • You pay no runtime license fees when distributing applications built using NetCOBOL
  • Development teams deliver faster application maintenance and development using Visual Studio
  • Lets you use the business-supporting power of COBOL, seamlessly integrated with other Windows® and .NET components
  • You can use existing COBOL skills to create up-to-date interfaces and applications or seamlessly integrate with user interfaces written in VB and C#.

Complete Microsoft® Visual Studio Integration

NetCOBOL for .NET is made to fully integrate with Microsoft® Visual Studio.

Manage Projects

NetCOBOL for .NET is fully integrated with Microsoft® Visual Studio. Build and edit COBOL applications. Develop applications using modern programming languages. Link it all together.

Edit Code

Easily edit COBOL in the same developement environment as modern languages. Complete Visual Studio integration makes coding fast and efficient.

VB.NET Support

Use Visual Studio’s Windows® Forms Designer with COBOL. Design Windows® forms (dialogs) using the same tools developed for Visual Basic.

FAQs

Product Structure/Contents/Requirements

What is included with NetCOBOL for .NET?

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 2010 Shell which contains the IDE, ready to work with NetCOBOL.
  • Editor understands COBOL with IntelliSense and outlining support.

Do I have to buy Visual Studio from Microsoft?

No. Visual Studio 2010 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.

What are the hardware and software requirements to develop applications?

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.

What are the hardware and software requirements for executing NetCOBOL for .NET applications?

Applications can be executed on Microsoft Windows 7, 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.

How is NetCOBOL for .NET packaged?

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.

Are there printed manuals with this product?

No. The manuals are provided either as compiled help files or PDF files accessed from the Fujitsu NetCOBOL for .NET V4.1 program group or from within Visual Studio.

Moving to NetCOBOL for .NET

Do I have to compile the program with multi-threading options to make it work?

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.

Are there issues to consider when moving to Unicode?

Yes – particularly if you are wanting to migrate existing ASCII (or ANSI Code Page, ACP) data or share data with ASCII/ACP applications. The User’s Guide provided with NetCOBOL for .NET fully describes the issues involved and required actions.

Do I have to know OO COBOL to use NetCOBOL for .NET?

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.

Can I port existing COBOL programs to .NET?

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.

Why is the SCREEN SECTION not supported?

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.

How do I create GUI applications?

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.

Is there a PowerCOBOL converter to Windows Forms?

No. For now PowerCOBOL applications will continue as native Windows applications.

Are Windows Forms applications event driven?

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.

Is internal sorting supported?

Yes. Support for COBOL’s sort/merge module was added in the V2.0 release.

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.

Can I use an old version of NetCOBOL to create the unmanaged DLL’s?

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.

NetCOBOL for .NET Features

Can I develop mixed language applications?

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.

What data-types can be passed between languages?

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.

Can I call native (Windows) COBOL applications?

Yes, both DLL’s and COM objects may be referenced from within the .NET environment.

What types of data access are supported?

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.

Can I call a method of a Microsoft .NET class from COBOL?

Yes, you need to use the object-oriented extensions of NetCOBOL for .NET.

What features are not supported in NetCOBOL for .NET?

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

What is the future of PowerCOBOL?

PowerCOBOL will remain a native Windows product with only minor enhancements, if any, in the future.

What is the future of PowerCOBOL?

PowerCOBOL will remain a native Windows product with only minor enhancements, if any, in the future.

Does PowerFORM work with applications compiled with NetCOBOL for .NET?

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.