NetCOBOL for .NET
Drastically reduce costs, boost performance and tap new programming talent without COBOL runtime fees. Move your apps to the cloud and free your legacy code from the mainframe with NetCOBOL for .NET.
Compile COBOL on the Microsoft® .NET™ Framework and Windows® Azure™
The NetCOBOL for .NET compiler produces Microsoft®’s Intermediate Language (MSIL) code 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 NeoSuite tools, 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 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.
Trust GT Software’s expertise to get the job done –
More than 80 of the Fortune 500 already do!
With over 2,500 successful implementations, our industry expertise is truly what sets us apart.
- No COBOL runtime license charges
- Supports native 32-bit code (NetCOBOL for Windows) and 64-bit code (NetCOBOL for Windows x64)
- Standards Compliant (Full ANSI Standard COBOL X3.23 1985)
- Compatible with VS COBOL II, OS/VS COBOL and most features of Micro Focus COBOL
- Embedded SQL Preprocessor with ODBC support, with USE FOR DEADLOCK procedures for escaping from database deadlock situations
- Verifies support of Oracle and Pro*COBOL
- CGI, ISAPI and SAF supported subroutines
- Converts data between COBOL data files and XML
- Creates and works with COM/DCOM objects
- COBOL objects invokable from Active Server Pages
- Provides Web Application Wizard for creating Web applications
- Full-function GUI COBOL Integrated Development Environment (Edit, Compile, and Debug)
- Supports multi-threaded execution
- Provides event logging, trouble-shooting information on abends and just-in-time debugging
- Supports Unicode application development.
- Includes the PowerBSORT, PowerFORM and Data Tools utilities
- Enables you to bring mainframe/legacy COBOL code to the Windows® environment and provides the product around 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. Use of Visual Studio new features help save time, increase performance and enables collaboration with others in real-time. NetCOBOL for .NET now allows customers to work with Visual Studio 2019, the most complete and up-to-date integrated development environment.
“The beautiful part of the solution was the ability to take our current COBOL code, some of which is over 20 years old, and remove the screen and data interfaces and port that to Windows using NetCOBOL without changing any of the business logic. By moving to this new platform, utilizing XML and Web Services we were able to interface with other platforms much much easier and cheaper than before.”
CIO of Washington State Department of Licensing
NetCOBOL for .NET FAQs
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:
- Support for Visual Studio 2017 and Visual Studio 2019
- Support of IBM LE subroutines
- Support of XML documentation comments
- Support of NuGet Package Manager
- Micro Focus CBL_ subroutines
- AcuCOBOL-GT subroutines
- Ability to use COMP-6 data
- Support for Micro Focus compatible mode
- 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?
For NetCOBOL for .NET V8, since Microsoft has not yet provided the shell addition, you would need to have your own version of Visual Studio 2017 (up until the point where Microsoft makes the shell interface available and it can be added into NetCOBOL V8). For earlier versions, no. Visual Studio 2010 through 2015 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 10, Windows 7, Vista, XP and Server 2003/2008/2012. 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 at all. NetCOBOL for .NET allows you to compile non-OO COBOL programs and execute these in the Common Language Runtime (CLR). However, 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. For customers who do not wish to convert their code automatically, GT Software provides a service offering that can replace the SCREEN-SECTION calls with proprietary calls that will duplicate and even extend the capabilities of that SCREEN-SECTION-code.
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 of 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 V11, 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.
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.
Ready to Get Started with NetCOBOL for .NET?
Contact us today and speak with one of our NetCOBOL experts about your needs.