Fujitsu NetCOBOL for .NET
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
-
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.
-
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.
-
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.
-
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.
-
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.
-
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
-
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.
-
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.
-
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.
-
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.
-
Is there a PowerCOBOL converter to Windows Forms?
A: No. For now PowerCOBOL applications will continue as native Windows applications.
-
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.
-
Is internal sorting supported?
A: 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?
A: 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?
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.
-
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.
-
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
-
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.
-
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.
-
Can I call Fujitsu native (Windows) COBOL applications?
A: Yes, both DLL's and COM objects may be referenced from within the .NET environment.
-
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.
-
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.
-
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
-
What is the future of PowerCOBOL?
A: 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?
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.

