netcobol for .net v4.1.0 software release guide

31
B1WD-S027-01ENZ0(01) November 2010 Windows NetCOBOL for .NET V4.1.0 Software Release Guide Enterprise Edition

Upload: borisg3

Post on 08-Feb-2016

248 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: NetCOBOL for .NET V4.1.0 Software Release Guide

B1WD-S027-01ENZ0(01)November 2010

Windows

NetCOBOL for .NET V4.1.0

Software Release GuideEnterprise Edition

Page 2: NetCOBOL for .NET V4.1.0 Software Release Guide

Preface

Export RegulationExportation/release of this software may require necessary procedures in accordance with the regulations of the Foreign Exchange andForeign Trade Control Law of Japan and/or US export control laws.

Trademarks- Microsoft, Windows, Access, SQL Server, Visual Studio and IntelliSense are registered trademarks, and Windows Server and the .NET

logo are trademarks of Microsoft Corporation in the United States and/or other countries.

- NetCOBOL is a trademark or registered trademark of Fujitsu Limited or its subsidiaries in the United States or other countries or inboth.

- Oracle is a registered trademark, and Oracle 8 is a trademark of Oracle Corporation.

- IBM and DB2 are registered trademarks, and DB2 Universal Database is a trademark of IBM Corporation in the United States and/or other countries.

- Citrix and MetaFrame are trademarks or registered trademarks of Citrix Systems Inc. in the USA.

- Adobe, Acrobat, Acrobat Reader, and Acrobat logo are either registered trademarks or trademarks of Adobe Systems Incorporated inthe United States and/or other countries.

- Pervasive, Pervasive Software, Pervasive PSQL, Btrieve and Pervasive Software logo are either registered trademarks or trademarksof Pervasive Software Incorporated in the United States and/or other countries.

- Other company names or product names are the trademarks or registered trademarks of each company respectively.

Product namesThe names of products described in this manual are abbreviated as follows:

Product Name Abbreviation

Windows(R) 7 Home Premium

Windows(R) 7 Professional

Windows(R) 7 Enterprise

Windows(R) 7 Ultimate

Windows 7

Windows Vista(R) Home Basic

Windows Vista(R) Home Premium

Windows Vista(R) Business

Windows Vista(R) Enterprise

Windows Vista(R) Ultimate

Windows Vista

Microsoft(R) Windows(R) XP Professional operating system

Microsoft(R) Windows(R) XP Home Edition operating system

Windows XP

Microsoft(R) Windows Server(R) 2008 Standard

Microsoft(R) Windows Server(R) 2008 Standard without Hyper-V(TM)

Microsoft(R) Windows Server(R) 2008 Enterprise

Microsoft(R) Windows Server(R) 2008 Enterprise without Hyper-V(TM)

Microsoft(R) Windows Server(R) 2008 Foundation

Windows Server 2008

- i -

Page 3: NetCOBOL for .NET V4.1.0 Software Release Guide

Product Name Abbreviation

Microsoft(R) Windows Server(R) 2008 Datacenter

Microsoft(R) Windows Server(R) 2008 Datacenter without Hyper-VTM

Microsoft(R) Windows Server(R) 2008 R2 Standard

Microsoft(R) Windows Server(R) 2008 R2 Enterprise

Microsoft(R) Windows Server(R) 2008 R2 Foundation

Microsoft(R) Windows Server(R) 2008 R2 Datacenter

Windows Server 2008 R2

or

Windows Server 2008

Microsoft(R) Windows Server(R) 2003, Standard Edition

Microsoft(R) Windows Server(R) 2003, Enterprise Edition

Windows Server 2003

Microsoft(R) Windows Server(R) 2003 R2, Standard Edition

Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition

Windows Server 2003 R2

or

Windows Server 2003

Microsoft(R) Windows Server(R) 2003, Standard x64 Edition

Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition

Windows Server 2003 (x64)

Microsoft(R) Windows Server(R) 2003 R2, Standard x64 Edition

Microsoft(R) Windows Server(R) 2003 R2, Enterprise x64 Edition

Windows Server 2003 R2 (x64)or

Windows Server 2003 (x64)

Microsoft(R) Visual Studio(R) 2010 Professional Edition

Microsoft(R) Visual Studio(R) 2010 Premium Edition

Microsoft(R) Visual Studio(R) 2010 Ultimate Edition

Visual Studio 2010

Microsoft(R) MSDN Library for Visual Studio 2010 MSDN Library

Microsoft(R) .NET Framework 2.0 .NET Framework 2.0

Microsoft(R) .NET Framework 3.0 .NET Framework 3.0

Microsoft(R) .NET Framework 3.5 .NET Framework 3.5

Microsoft(R) .NET Framework 4 .NET Framework 4

Microsoft(R) Intellisense(R) Technology Intellisense

The contents of this manual may be revised without prior notice. No part of this document may be reproduced or transmitted in any formor by any means, electronic or mechanical, for any purpose, without the express written permission of Fujitsu Limited.

Copyright 2002-2010 FUJITSU LIMITED

- ii -

Page 4: NetCOBOL for .NET V4.1.0 Software Release Guide

ContentsChapter 1 Product Overview....................................................................................................................................................1

Chapter 2 Product Documentation...........................................................................................................................................2

Chapter 3 Related Products.....................................................................................................................................................33.1 Software...............................................................................................................................................................................................33.2 Database Access Environment.............................................................................................................................................................3

3.2.1 ADO.NET data provider ..............................................................................................................................................................33.2.2 ODBC driver ................................................................................................................................................................................4

3.3 Btrieve Files ........................................................................................................................................................................................4

Chapter 4 Restrictions..............................................................................................................................................................54.1 NetCOBOL Compiler..........................................................................................................................................................................5

4.1.1 PROPERTY setter for static fields with INITONLY compiler directive ....................................................................................54.1.2 COPY Statement ..........................................................................................................................................................................54.1.3 Class names and ALPHAL(AUTO) ............................................................................................................................................54.1.4 Academic Edition ........................................................................................................................................................................5

4.2 Debug...................................................................................................................................................................................................54.3 ASP.NET ............................................................................................................................................................................................64.4 SQL CLR.............................................................................................................................................................................................64.5 In-Process Side-by-Side.......................................................................................................................................................................64.6 Development Environment..................................................................................................................................................................6

4.6.1 V2.x project files...........................................................................................................................................................................64.6.2 Building a web site.......................................................................................................................................................................6

Chapter 5 Migration notes........................................................................................................................................................75.1 Applications compiled with an earlier version of NetCOBOL for .NET............................................................................................7

Chapter 6 Notes.......................................................................................................................................................................86.1 Specifications.......................................................................................................................................................................................8

6.1.1 Division by Zero ..........................................................................................................................................................................86.1.2 Overflow of Floating-point Items ................................................................................................................................................86.1.3 Printing..........................................................................................................................................................................................86.1.4 Btrieve File ..................................................................................................................................................................................86.1.5 Using NetWare Server .................................................................................................................................................................86.1.6 Using Tlbimp.exe .........................................................................................................................................................................86.1.7 Redefine the data for printing ......................................................................................................................................................86.1.8 Using IntelliSense ........................................................................................................................................................................8

6.2 Using the ADO.NET data provider interface to access remote databases...........................................................................................96.2.1 Using SQL Server ........................................................................................................................................................................96.2.2 Using Oracle database .................................................................................................................................................................96.2.3 Using Microsoft Access ...............................................................................................................................................................9

6.3 Using the ODBC interface to access remote databases.......................................................................................................................96.3.1 Using the Pervasive PSQL ODBC drivers ..................................................................................................................................96.3.2 Using Microsoft Access Driver ODBC drivers ...........................................................................................................................96.3.3 Using the ODBC Cursor Library .................................................................................................................................................96.3.4 Host Variable Declarations ..........................................................................................................................................................96.3.5 MARS function.............................................................................................................................................................................96.3.6 SQL CLR database objects.........................................................................................................................................................106.3.7 DELETE statement (positioned)/UPDATE statement (positioned)...........................................................................................10

6.4 Using Btrieve Files - Development...................................................................................................................................................106.5 Runtime Environment Setup Utility..................................................................................................................................................10

6.5.1 Connection string for an Oracle database...................................................................................................................................106.5.2 Creating ODBC data source.......................................................................................................................................................106.5.3 Executing the Runtime Environment Setup Utility on a 64-bit system......................................................................................106.5.4 The runtime environment setup utility started from...................................................................................................................10

- iii -

Page 5: NetCOBOL for .NET V4.1.0 Software Release Guide

6.6 Development Environment................................................................................................................................................................106.6.1 Coexistence with older versions of the NetCOBOL for .NET development package ..............................................................106.6.2 Project Properties .......................................................................................................................................................................116.6.3 Web Project ................................................................................................................................................................................116.6.4 Upgrade of project files from older versions .............................................................................................................................116.6.5 Data source.................................................................................................................................................................................116.6.6 FolderName Property of Web References .................................................................................................................................116.6.7 Name Space of Source Generated Under Web References .......................................................................................................116.6.8 The Application Configuration File and Runtime Initialization File ........................................................................................126.6.9 Abnormal termination of Visual Studio when a component is double-clicked on the component designer .............................126.6.10 Debugging the WCF Service Library ......................................................................................................................................126.6.11 Resource Designer ...................................................................................................................................................................126.6.12 Client-only Framework subset .................................................................................................................................................126.6.13 Publishing ................................................................................................................................................................................126.6.14 Reference settings of the project ..............................................................................................................................................126.6.15 Exporting Templates ................................................................................................................................................................12

6.7 WSDL................................................................................................................................................................................................126.7.1 Compilation of XML Web service client source........................................................................................................................126.7.2 Generation of XML Web service client source..........................................................................................................................13

6.8 svcutil.................................................................................................................................................................................................136.8.1 Compilation of WCF service client source.................................................................................................................................136.8.2 Generation of XML Web service client source..........................................................................................................................13

6.9 Debugger............................................................................................................................................................................................136.9.1 Proxy Objects .............................................................................................................................................................................136.9.2 Displaying Data Items in the Debugger .....................................................................................................................................136.9.3 Field or Property Names Differing Only in Case ......................................................................................................................136.9.4 Breakpoints.................................................................................................................................................................................136.9.5 Copy Books ................................................................................................................................................................................13

6.10 Incompatibilities .............................................................................................................................................................................136.10.1 Upgrading V1.x project............................................................................................................................................................136.10.2 Error opening Windows Forms created in version V2.1 or earlier ..........................................................................................146.10.3 Correction of problem with nonnumeric literals in embedded SQL statements ......................................................................146.10.4 Private methods are non-virtual ...............................................................................................................................................146.10.5 Code editor cursor position ......................................................................................................................................................146.10.6 Web project ..............................................................................................................................................................................156.10.7 Specifying the assembly name for entry information ..............................................................................................................156.10.8 The shift of the build system to MSBuild ................................................................................................................................156.10.9 Calling a method of an array object .........................................................................................................................................166.10.10 Object signatures of multi-dimensional arrays ......................................................................................................................166.10.11 Custom marshaller support.....................................................................................................................................................166.10.12 RCS compiler directive...........................................................................................................................................................166.10.13 /WC compiler options.............................................................................................................................................................166.10.14 BINARY-CHAR UNSIGNED Correspondence ...................................................................................................................176.10.15 Referencing Integer Data Types ............................................................................................................................................176.10.16 Processing of Conditional Variables ......................................................................................................................................176.10.17 The install folder of the Runtime System ..............................................................................................................................186.10.18 Predefined object identifier SUPER.......................................................................................................................................186.10.19 Code of super-class constructor invocation in constructor method .......................................................................................186.10.20 The exception handling generated from the CALL identifier................................................................................................186.10.21 Compiler error message JMN2320I-S ...................................................................................................................................186.10.22 Retrieval result of the SEARCH statement (SEARCH ALL) ...............................................................................................196.10.23 Retrieval result of the SEARCH statement (SEARCH ALL with RCS compile option) ......................................................196.10.24 Checking for property access attributes .................................................................................................................................196.10.25 The first or last character of a national user-defined word ....................................................................................................196.10.26 Retrieval result of the SEARCH statement (SEARCH ALL with the key item of the WHEN phrase) ................................196.10.27 Compilation that specifies compiler options BINARY and OPTIMIZE ...............................................................................206.10.28 Compilation that specifies compiler options BINARY and TRUNC ....................................................................................206.10.29 Compilation that uses compiler option BINARY and intrinsic functions .............................................................................21

- iv -

Page 6: NetCOBOL for .NET V4.1.0 Software Release Guide

6.10.30 Binary item move when compiler option BINARY is specified ...........................................................................................216.10.31 Specified error of Concatenating Files ..................................................................................................................................216.10.32 The I-O status value '04' of variable length record sequential files .......................................................................................216.10.33 COBOL File Utility ...............................................................................................................................................................226.10.34 Time difference information that CURRENT-DATE returns ...............................................................................................226.10.35 WRITE statement with AFTER/BEFORE ADVANCING phrase.........................................................................................226.10.36 Location of SQLCODE/SQLMSG/SQLERRD definition.....................................................................................................226.10.37 Debugger function/display......................................................................................................................................................236.10.38 Change in Call Stack exception information display..............................................................................................................236.10.39 Itanium-based system support................................................................................................................................................24

6.11 Other Notes......................................................................................................................................................................................246.11.1 License acquisition ..................................................................................................................................................................246.11.2 Using a related product in the same environment as Visual Studio 2010 ...............................................................................246.11.3 JMN3496I-W message no longer issued .................................................................................................................................246.11.4 JMN3448I-W message no longer issued .................................................................................................................................246.11.5 Using ODBC data administrator on 64-bit computer ..............................................................................................................246.11.6 Replacing an Application .........................................................................................................................................................256.11.7 Updating Visual Studio 2010 or installing another edition of Visual Studio 2010 .................................................................25

- v -

Page 7: NetCOBOL for .NET V4.1.0 Software Release Guide

Chapter 1 Product OverviewNetCOBOL for .NET Enterprise Edition V4.1 is a COBOL development system supporting Microsoft .NET Framework 4 under WindowsXP, Windows Server 2003, Windows Vista, Windows Server 2008, and Windows 7.

- 1 -

Page 8: NetCOBOL for .NET V4.1.0 Software Release Guide

Chapter 2 Product DocumentationNetCOBOL for .NET is composed of COBOL development software and associated manuals:

- NetCOBOL Language Reference (in PDF)

- NetCOBOL for .NET User's Guide (in Visual Studio 2010 Help format)

- NetCOBOL for .NET Messages (in Visual Studio 2010 Help format)

The "NetCOBOL for .NET" entry in the Microsoft Visual Studio 2010 Help (reached by selecting Help | View Help, clicking on LibraryHome in the left panel, and clicking on the NetCOBOL for .NET entry) includes the NetCOBOL for .NET User's Guide and the NetCOBOLfor .NET Messages documentation.

Note: Some document links may not function correctly if the locale setting of Visual Studio differs from the locale of the Operating System.

- 2 -

Page 9: NetCOBOL for .NET V4.1.0 Software Release Guide

Chapter 3 Related Products

3.1 Software

Software Requirement Remarks

Operating System Windows XP SP3 or later (32-bit only) Information on abends and just-in-time debugging.

Windows Server 2003 SP2 or later

Windows Server 2003 R2

Windows Server 2003 (x64)

SP2 or later

Windows Server 2003 R2 (x64)

Windows Vista SP2 or later (32-bit only)

Windows Server 2008 SP2 or later

Windows Server 2008 R2

Windows 7

PowerBSORT V3.0 or later Provides high performance SORT/MERGE support. Theplatforms supported by PowerBSORT can be found onthe PowerBSORT product page at http://www.netcobol.com/

Visual Studio 2010 Visual Studio Shell, Professional edition,Premium edition, or Ultimate edition

The Visual Studio Shell is provided with NetCOBOLfor .NET. See the Overview Software Release Guide todetermine if you need to install a different edition ofVisual Studio, purchased separately.

Windows SDK Microsoft Windows SDK for Windows 7and .NET Framework 4 (v7.1)

Windows SDK v7.1 is required if you use the VisualStudio 2010 Shell. If you use another edition of VisualStudio 2010, you do not need to install Windows SDKseparately, because it is included in other editions.

3.2 Database Access EnvironmentDatabases can be accessed using the following drivers:

- ODBC driver

- ADO.NET Data Provider

Some problems and limitations may be caused by differences between the drivers and the NetCOBOL for .NET database access function.Database access operation and results cannot be guaranteed for all combinations of drivers, databases, and COBOL applications. Verifythat the combination of driver, database, and COBOL application that you are using works correctly.

NetCOBOL for .NET has verified correct operation of the following combinations:

3.2.1 ADO.NET data provider

ADO.NET data provider Database

Microsoft .NET Framework

Data Provider for SQL Server

Microsoft SQL Server 2008

Microsoft SQL Server 2005

Microsoft .NET Framework

Data Provider for Oracle

Oracle Database 11g Release1

Enterprise Edition (11.1.0)

- 3 -

Page 10: NetCOBOL for .NET V4.1.0 Software Release Guide

ADO.NET data provider Database

Oracle Database 10g Release2

Enterprise Edition (10.2.0)

Microsoft .NET Framework

Data Provider for OLE DB

IBM DB2 v9.7

Microsoft Access 2007

Microsoft .NET Framework

Data Provider for ODBC

IBM DB2 v9.7

3.2.2 ODBC driver

ODBC driver Database

Microsoft SQL Server Native Client 10.0 ODBC driver Microsoft SQL Server 2008

Microsoft SQL Native Client ODBC driver Microsoft SQL Server 2005

Microsoft Access ODBC driver Microsoft Access 2007

Microsoft Access 2003

Oracle ODBC driver release 11.01.00.01 Oracle Database 11g Release1

Enterprise Edition (11.1.0)

Oracle ODBC driver release 10.02.00.01 Oracle Database 10g Release2

Enterprise Edition (10.2.0)

IBM DB2 ODBC driver IBM DB2 V9.7

IBM DB2 V9.5

Pervasive PSQL ODBC driver Pervasive PSQL V10 SP3

Pervasive PSQL V9 SP2

3.3 Btrieve FilesBtrieve files can be accessed using input-output statements. NetCOBOL for .NET verifies the operations for the following combinations:

- Pervasive PSQL v10

- Pervasive PSQL v9

- 4 -

Page 11: NetCOBOL for .NET V4.1.0 Software Release Guide

Chapter 4 Restrictions

4.1 NetCOBOL Compiler

4.1.1 PROPERTY setter for static fields with INITONLY compiler directiveWhen the INITONLY compiler directive is set and class definitions are compiled, static PROPERTY clauses must be specified WITHNO SET.

4.1.2 COPY StatementA compile unit cannot end in a COPY statement. If an END PROGRAM statement is present in a COPY file at the end of the compileunit, compiler errors and using the COBOL Debugger do not function correctly.

4.1.3 Class names and ALPHAL(AUTO)If you refer to one class from another class within the same assembly, case sensitivity of the class names may be an issue, even if theALPHAL(AUTO) compiler directive is used. If you receive one of the following errors: JMN3334I-S, JMN5706I-S or internal error(Code:1006, ...), verify that the class names match exactly.

4.1.4 Academic EditionAcademic Edition cannot be used to develop a 64-bit application.

4.2 Debug

Visual Studio hosting process

The hosting process feature cannot be used even if it is enabled. Enable the Visual Studio hosting process on a project designer's Debugpage.

System class object reference item property evaluation

The property or field value of a system class object reference item may not be able to be evaluated if either the system or the applicationhas not been completely initialized.

Exception Assistant

The Exception Assistant feature is not supported.

Edit and Continue feature

The Edit and Continue feature is not supported.

object members

Variable watch windows will not use custom visualizers to display object members.

Arithmetic expressions

When arithmetic expressions are evaluated in the debugger, the evaluation results may be different from those produced by executing theCOBOL program for the following reasons:

- When the expression consists only of binary items, native binary operations are used.

- When the expression contains decimal data other than binary items, all operands are converted to packed decimal before the expressionis evaluated.

- 5 -

Page 12: NetCOBOL for .NET V4.1.0 Software Release Guide

- The evaluation results may be floating point data if exponents or floating point items (or constants) are contained in the expression.

- Evaluation results may differ when intermediate results exceed 30 digits.

Free format

If the COBOL source is in free format and the DATA DIVISION and PROCEDURE DIVISION are defined in one line, break points maynot function correctly.

Property evaluation and other implicit function calls

When data is evaluated by the debugger, the automatic property evaluation and other implicit function calls are always valid.

4.3 ASP.NETCode declaration blocks (<script runat="server">), code render blocks (<% %>) and MasterType directive (<@MasterType>) in ASP.NETpages are not supported. Therefore, some pages in the 'Web' sub folder example do not work in this version.

4.4 SQL CLRSQL CLR development is not supported in NetCOBOL for .NET V4.1 at this point, because currently SQL Server 2008 does not supportSQL CLR for .NET Framework 4 while .NET Framework 4 is the only target of NetCOBOL for .NET V4.1. Use NetCOBOL for .NETV4.0 to develop SQL CLR.

4.5 In-Process Side-by-SideIn-Process Side-by-Side cannot be used. Use the same version of .NET Framework in the process.

4.6 Development Environment

4.6.1 V2.x project filesProject files created by V2.x cannot be opened in V4.1. Open V2.x project files in NetCOBOL for .NET V4.0 and upgrade them to V4.0files. V4.0 projects can be opened in NetCOBOL for .NET V4.1.

4.6.2 Building a web siteIf .NET Framework 3.5 is selected as the target framework, the following errors may occur when the "Build Web Site" command is run:

: Build (web): Object reference not set to an instance of an object.

To resolve this error, open the Web.site file and remove the following elements from <system.codedom>-<compilers> in the Web.config:

<compiler language="c#;cs;csharp" extension=".cs"

type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0,

Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">

<providerOption name="CompilerVersion" value="v3.5"/>

<providerOption name="WarnAsError" value="false"/>

</compiler>

<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"

type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0,

Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">

<providerOption name="CompilerVersion" value="v3.5"/>

<providerOption name="OptionInfer" value="true"/>

<providerOption name="WarnAsError" value="false"/>

</compiler>

- 6 -

Page 13: NetCOBOL for .NET V4.1.0 Software Release Guide

Chapter 5 Migration notes

5.1 Applications compiled with an earlier version of NetCOBOLfor .NET

Applications that were created with NetCOBOL for .NET v3.5 or earlier cannot be run in the current version of NetCOBOL for .NET.Rebuild the applications with NetCOBOL for .NET V4.0 or later. For more information, see "Executing applications with NetCOBOLfor .NET V4.1" in the NetCOBOL for .NET User's Guide.

- 7 -

Page 14: NetCOBOL for .NET V4.1.0 Software Release Guide

Chapter 6 Notes

6.1 Specifications

6.1.1 Division by ZeroA System.DivideByZeroException exception occurs when the value of the divisor becomes 0 and an arithmetic expression that does notspecify ON SIZE ERROR is executed.

6.1.2 Overflow of Floating-point ItemsIf the value of a single or double precision floating-point item overflows, the value of the item or calculation is unpredictable.

6.1.3 PrintingWhen a program for printing documents is executed, the printing results may produce the following errors:

- If a form overlay pattern is output, the overlay characters may not print correctly. In this case, open the Properties for the printer driver,and find the setting equivalent to "Always Spool RAW Data"; this will enable printing of valid overlay characters.

- When specifying @CBR_TextAlign, set TYPE2 for @CBR_PrintTextPosition. If @CBR_PrintTextPosition is not specified, or if TYPE1 is set, the data may not be printed at the correct line position.

6.1.4 Btrieve FileThe file path name cannot include spaces.

6.1.5 Using NetWare ServerWhen you use NetWare Server Storage Library, you may fail to access the library. If so, forward the library to the client.

6.1.6 Using Tlbimp.exeYou cannot import a type library using Tlbimp.exe when a COM server created with NetCOBOL for Windows or Fujitsu COBOL returnsthe VT_DECIMAL type as a return value.

6.1.7 Redefine the data for printingA level S compiler error is output when a data item with a CHARACTER TYPE clause or PRINTING POSITION clause is redefined bythe REDEFINES clause. The CHARACTER TYPE clause or PRINTING POSITION clause dictates the printing information for the dataitem. If such data is redefined, the data item cannot be printed correctly because the printing information can only be specified once for adata item.

6.1.8 Using IntelliSenseIntelliSense uses parsing technology to try to detect errors, and to suggest completions of source code constructs as they are typed intothe editor. IntelliSense features are somewhat unreliable, because the IntelliSense parser must try to compensate for code that is incompleteor that contains errors. For this reason, IntelliSense should be viewed as a coding aid and should not be relied upon as the only mechanismfor writing code, since limitations in this special parser may mean that IntelliSense is not always available.

- 8 -

Page 15: NetCOBOL for .NET V4.1.0 Software Release Guide

6.2 Using the ADO.NET data provider interface to access remotedatabases

6.2.1 Using SQL Server- The FOR UPDATE phrase cannot be specified for the cursor declaration. Please delete the FOR UPDATE phrase from the cursor

declaration statement or specify DISABLE for @SQL_ADONET_FORUPDATE_CLAUSE.

- Only SQL Server can be accessed from "Microsoft .NET Framework Data Provider for SQL Server".

6.2.2 Using Oracle database- Only Oracle database can be accessed from "Microsoft .NET Framework Data Provider for Oracle".

- Oracle database cannot be accessed from "Microsoft .NET Framework Data Provider for ODBC".

- When using Microsoft .NET Framework Data Provider for Oracle, specify RCS(UTF8-UCS2) or RCS(ACP-UCS2) for the compilerdirective when you associate the National item with the NCHAR type of the Oracle database. If the RCS(ACP) compiler directive isspecified, an error may be displayed when calling a stored procedure.

- The LOB type cannot be used.

6.2.3 Using Microsoft Access- The only data provider that can access the Microsoft Access is the "Microsoft .NET Framework Data Provider for OLE DB".

- Do not specify the password for @SQL_PASSWORD.

- Use "Microsoft OLE DB Provider for Microsoft Jet" for the connection to Access when using ADO.NET.

6.3 Using the ODBC interface to access remote databases

6.3.1 Using the Pervasive PSQL ODBC driversSpecify "OFF" for a value of @SQL_MULTIPLE_ROWS (set specification of two or more lines) with Pervasive PSQL v9 SP2 or PervasivePSQL v10 SP1, since these versions of Pervasive do not support table or two or more line specified host variables.

6.3.2 Using Microsoft Access Driver ODBC drivers- The PACKED-DECIMAL item cannot be used.

- The cursor function cannot be used with the DELETE statement (positioned) or the UPDATE statement (positioned).

6.3.3 Using the ODBC Cursor LibraryIf an error occurs when "@SQL_ODBC_CURSORS=USE_ODBC" is specified in the SQL information to use the ODBC cursor library,specify @SQL_ODBC_CURSORS=USE_DRIVER.

6.3.4 Host Variable DeclarationsThe total number of host variable declarations is limited. If the limit is exceeded, the compiler outputs JMN2759I-U and stops compilation.To avoid this problem, limit the number of host variables declared to 10,000.

6.3.5 MARS functionThe MARS function can only be used by "SQL Native Client Driver".

- 9 -

Page 16: NetCOBOL for .NET V4.1.0 Software Release Guide

6.3.6 SQL CLR database objects"SQL CLR database objects" cannot be called.

6.3.7 DELETE statement (positioned)/UPDATE statement (positioned)Specify STATIC, KEYSET_DRIVEN or DYNAMIC for @SQL_CURSOR_TYPE in your application if the DELETE statement(positioned) or the UPDATE statement (positioned) is used.

6.4 Using Btrieve Files - DevelopmentTo use Btrieve files and Pervasive PSQL, you need to purchase and install Pervasive PSQL.

6.5 Runtime Environment Setup Utility

6.5.1 Connection string for an Oracle databaseWhen setting a connection string for an Oracle database using the runtime environment setup utility for a 32-bit environment on a 64-bitsystem (WOW64), a connection error may occur when testing the connection.

6.5.2 Creating ODBC data sourceWhen a new ODBC data source is created using the Connection String Builder (for ODBC data provider) dialog box, an ODBC drivermay cause an error. In this case, create the ODBC data source by using the ODBC data source administrator.

6.5.3 Executing the Runtime Environment Setup Utility on a 64-bit systemThe runtime environment differs between 32-bit and 64-bit systems. The runtime environment should be set up using the RuntimeEnvironment Setup Utility corresponding to the platform of the application on which it will run. If you set up the runtime environmentfor 32-bit applications on a 64-bit system, use the Runtime Environment Setup Utility for a 32-bit environment.

6.5.4 The runtime environment setup utility started fromVisual Studio 2010 always runs in a 32-bit environment. When you set up the runtime environment for a 64-bit application, start theRuntime Environment Setup Utility for a 64-bit environment from the Start menu.

6.6 Development Environment

6.6.1 Coexistence with older versions of the NetCOBOL for .NETdevelopment package

The NetCOBOL for .NET runtime system is set to use the latest version during installation - it is set so that the V4.0 runtime is used whenNetCOBOL for .NET V4.0 is installed. However, .NET Framework 2.0 or later is required by the NetCOBOL for .NET V4.0 runtime,and does not operate on previous versions of the .NET Framework. Therefore, when V4.0 is installed, applications cannot be debuggedor executed on .NET Framework v1.1 or earlier. To continue running programs compiled with NetCOBOL for .NET v2.1, perform thefollowing steps:

- Delete the assembly policy files.

The .NET Framework uses "Assembly Policy Files" to redirect requests for a particular version of an assembly from the global assemblycache (GAC) to a different version. When an application compiled against NetCOBOL for .NET V2.1 is executed, by default theruntime will load the V4.0 version of the runtime because policy files were installed redirecting all previous NetCOBOL for .NETversions to V4.0. In order to continue development in both NetCOBOL for .NET V2.1 and V4.0, you must delete the policy redirectionfiles that dictate the loading behavior of requests for V2.1 assemblies. Refer to the User's Guide for general notes on runningapplications made using an older version of NetCOBOL for .NET.

- 10 -

Page 17: NetCOBOL for .NET V4.1.0 Software Release Guide

To delete the publisher policy files for NetCOBOL for .NET from the global assembly cache, perform the following:

1. Open the global assembly cache folder in Windows Explorer. The folder is located in the Windows folder under Assemblies.

2. Select the assemblies that start with the following character strings from among the list:

policy.[n].[m].Fujitsu.COBOL

where [n] and [m] correspond to the major and minor version numbers of the assembly. For instance, the policy files for V2.1are comprised of the following files:

policy.2.1.Fujitsu.COBOL

policy.2.1.Fujitsu.COBOL.InteropServices.Win32

3. Right-click with the assembly selected, and select the Delete command to remove the assembly from the global assembly cache.

6.6.2 Project PropertiesSettings are not immediately reflected in the source when using the project designer's Settings page and Resources page. When changingitems from the Settings page, the Settings.settings item in the Properties folder is selected, and the Run Custom Tool command is run.

When setting from the Resources page, save the .resx file, select the .resx file item, and run the Run Custom Tool command.

6.6.3 Web ProjectThe "Enable strong naming on precompiled assemblies" option of the Publish Web Site command is not supported in the Microsoft VisualWeb Developer 2010 support in NetCOBOL for .NET.

6.6.4 Upgrade of project files from older versionsAny project created after V2.0 can be opened in NetCOBOL for .NET V4.0.

However, project files created prior to V1.1 cannot be opened. These Web projects must be manually upgraded. Refer to the User's Guidefor details.

6.6.5 Data source- When creating a data source, two or more data sources cannot be created using the same connection.

- A data source cannot be put on the Windows form and the Web form.

6.6.6 FolderName Property of Web References- The FolderName property of Web References is used as a subfolder name to store the file that the Web reference generates. Therefore,

only characters allowed for folder names can be used. The generation of the content of the Web References will fail if an invalid foldername is given. If this happens, correcting the folder name will trigger the creation of the Web References content.

- An initial value for the FolderName property of a newly added Web reference is generated based on the URL reference of the Website. If this results in an invalid folder name, the contents under Web References will not be added until the folder name is corrected.

6.6.7 Name Space of Source Generated Under Web ReferencesWhen a Web reference is inserted, the system generates a client source file for the XML Web service offered by the referenced Web site.The name space of the client source is based on the FolderName property of the Web reference, with the following changes:

- Characters that are not alphabetic, numeric, a period or an underscore are replaced with an underscore.

- If the FolderName property starts with a numeric character, an underscore is inserted as the first character, before the numeric character.

- If a period is immediately followed by a numeric character, an underscore is inserted between the period and the numeric character.

- 11 -

Page 18: NetCOBOL for .NET V4.1.0 Software Release Guide

6.6.8 The Application Configuration File and Runtime Initialization FileWhen the output folder of two or more projects is the same, if an application configuration file or a runtime environment initialization file(cobol85.cbr) is added to both projects, then the application configuration file or the runtime initialization file in the output folder willdepend on the order in which the projects were built. This is due to the application configuration file or the runtime initialization filedefined in the project being copied to the output folder when the project is built. To avoid this problem, add only an application configurationfile or a runtime environment initialization file to the main project.

6.6.9 Abnormal termination of Visual Studio when a component is double-clicked on the component designer

The designer displays an error message when the name of the component event handler that the designer generated automatically is not aCOBOL word (the name exceeds 30 characters). Visual Studio terminates abnormally when the component is double-clicked on thecomponent designer, the event handler is generated automatically, or the name of the event handler is not a COBOL word. Refer to "Notesfor Working with Designer-Generated COBOL Code" in the User's Guide for handling this issue.

6.6.10 Debugging the WCF Service LibraryWhen debugging the WCF Service Library, the WCF Test Client does not launch if a folder other than the project folder is specified forthe "output path" of the project properties by a relative path. This situation can be avoided by specifying a full path for the "output path."

6.6.11 Resource DesignerWhen creating/editing image files or icon files on the "Resources" page of the Project Designer, you cannot use the standard resourceeditor for Visual Studio 2010 if you use the Visual Studio 2010 Shell which is included with NetCOBOL for .NET. By default, imagesare used by the standard Paintbrush for Windows.

6.6.12 Client-only Framework subsetThe "Client-only Framework subset" option displayed on the "Application" page of the Project Designer is not supported.

6.6.13 PublishingThe "File Associations" option displayed in the options of the "Publish" page of the Project Designer is not supported.

6.6.14 Reference settings of the projectWhen a project inside the solution is added to the project references, it is removed from the references by taking the following steps:

- Select Unload Project from the Project menu.

- Change the Target Framework option to be displayed on the Application page of the Project Designer.

Add the reference to the project references again after the project to be referenced becomes valid.

6.6.15 Exporting TemplatesExport Template in the File menu is not supported.

6.7 WSDL

6.7.1 Compilation of XML Web service client sourceThe client source file generated by the WSDL command (included in Windows SDK) must be compiled with the NOALPHAL directive.

- 12 -

Page 19: NetCOBOL for .NET V4.1.0 Software Release Guide

6.7.2 Generation of XML Web service client sourceThe WSDL command will fail when generating the source for an XML Web service if the service requires a feature that NetCOBOLfor .NET does not yet support. If this occurs, use WSDL to generate a C# program, compile it to a DLL or module using the C# compiler(csc.exe), and use the generated program with your COBOL application.

6.8 svcutil

6.8.1 Compilation of WCF service client sourceThe client source file generated by the svcutil command (included in Windows SDK) must be compiled with the NOALPHAL directive.

6.8.2 Generation of XML Web service client sourceThe svcutil command will fail when generating the source for a WCF service if the service requires a feature that NetCOBOL for .NETdoes not yet support. If this occurs, use svcutil to generate a C# program, compile it to a DLL or module using the C# compiler (csc.exe),and use the generated program with your COBOL application.

6.9 Debugger

6.9.1 Proxy ObjectsThe debugger cannot evaluate members of proxy objects.

6.9.2 Displaying Data Items in the Debugger- When an alphabetic or alphanumeric item is displayed in the debugger, the content of the data is converted into a Unicode (UCS2)

string. If it cannot be converted into a Unicode string, it is displayed as a hexadecimal string. However, even if it can be convertedinto a Unicode string, it may not be displayed properly due to differences in the system locale.

- The debugger interprets character data according to the setting of the RCS compiler option. If an item contains characters that are notencoded in the character set indicated by the RCS option, it will not display properly.

6.9.3 Field or Property Names Differing Only in CaseWhen a field or property name differs only in the case (upper or lower) of certain characters, evaluating the value of that item may notproduce the correct result. For example, if you have "ABC" and "abc" within the same scope and evaluate "ABC", then "abc" may beevaluated instead.

6.9.4 BreakpointsWhen the debugger starts, the position and range of breakpoints are set to match the compiled code. Occasionally, the position of thebreakpoint markers may change when you start debugging, depending on the type and context of the statements.

6.9.5 Copy BooksIf the same Copy Book is copied into the PROCEDURE division multiple times, only the breakpoints set in the first copy are effective.Execution will not stop at breakpoints set in later copies.

6.10 Incompatibilities

6.10.1 Upgrading V1.x projectThis version of NetCOBOL for .NET does not support upgrading project files of V1.x (.cobp files). You must save a .cobp file as a .cobprojfile using NetCOBOL for .NET V2.x first; then upgrade it using this version of NetCOBOL for .NET.

- 13 -

Page 20: NetCOBOL for .NET V4.1.0 Software Release Guide

6.10.2 Error opening Windows Forms created in version V2.1 or earlierThe Windows Forms designer event handler name checking has been changed in Visual Studio 2005 or later. With V3.0 or later, theexternal names of event handlers can be no more than 30 characters.

With V3.0 or later, an error occurs when you open a Windows Forms item created in NetCOBOL for .NET V2.1 or earlier that containsan event handler with an external name of greater than 30 characters. If an error occurs, change the external name as described below.

Note: The external name used in the example below that would cause an error is "longLongLongLongLongControlName_Click".

1. Select a shorter name (30 or fewer characters) which does not conflict with other external names: "shortName_Click"

2. Shorten the external name of the event handler: "shortName_Click"

3. Change the references to the method name. For example, change "longLongLongLongLongControlName_Click" in theInitializeComponent method to "shortName_Click".

4. Change the name in the comment prior to the InitializeComponent method:

*<prop name="MethodName">

*<string value="longLongLongLongLongControlName_Click" />

*</prop>

5. Change the references to the method name: change "longLongLongLongLongControlName_Click" in other parts of the source to"shortName_Click".

6.10.3 Correction of problem with nonnumeric literals in embedded SQLstatements

In versions V2.1 and earlier, when all of the conditions listed below were met, an apostrophe (') was erroneously added to the end of thespecified character string.

a. the database function of NetCOBOL (ODBC or ADO.NET) is used, and

b. an embedded SQL statement is described over two or more lines, and

c. a nonnumeric literal is described in the embedded SQL statement, and

d. there is a newline directly after the nonnumeric literal, and

e. the newline is followed by SQL containing a specific number of bytes (37 or 38, depending on token type).

This problem has been corrected in V3.0, and is no longer an issue.

6.10.4 Private methods are non-virtualThe attributes of private methods are as shown below:

- V2.1L10 or earlier: virtual

- V3.0L10: non-virtual

With V2.1L10 or earlier, when private methods had the same name in the derived class and the base class, you could not call the methodin the base class from within the derived class.

With the non-virtual attribute in V3.0L10, you can call the method in the base class from within the derived class when private methodshave the same name in both classes.

6.10.5 Code editor cursor positionWhen two or more lines are selected in the COBOL code editor and the cursor is positioned at the beginning of the line (left side of theA area), the target (highlighted) area for comment selection, uncomment selection, increase line indent, and decrease line indent is asfollows:

- V2.1L10 or earlier: The target (highlighted) area contains the cursor line.

- V3.0L10 or later: The target (highlighted) area does not contain the cursor line.

- 14 -

Page 21: NetCOBOL for .NET V4.1.0 Software Release Guide

6.10.6 Web projectA specification was changed in Visual Studio 2005 or later so that now the Web project function cannot be individually offered by eachlanguage. Instead, it is controlled by Microsoft Visual Web Developer. The following are changes in the COBOL language support withMicrosoft Visual Web Developer from the Web projects of previous editions of NetCOBOL for .NET.

- The language name by which NetCOBOL for .NET described in the directive of ASP.NET was shown was changed from "cobol" to"Fujitsu.COBOL". However, the language name of "cobol" is related to NetCOBOL for .NET in the default setting.

- A code declaration block (<script runat="server">) or display block (<% %>) cannot be used on the ASP.NET pages related toNetCOBOL for .NET.

- The composition cannot be changed with Microsoft Visual Web Developer. Composition "Debug.NET" is always used.

- The Language attribute on the ASP.NET page and the language of the related code file must match in Microsoft Visual Web Developer.

- A design operation (Drag & Drop, etc.) cannot be performed in the global application class (.asax).

- .aspx and .ascx files need to be in the form of the code separation model. Files of the old model type must be converted.

Refer to the Visual Studio documentation for a detailed specification of Microsoft Visual Web Developer.

6.10.7 Specifying the assembly name for entry informationA partial name of the strict assembly name is not allowed for the assembly name in the .NET Framework V2.0.

- V2.1L10 or earlier

A partial name of the strict assembly name can be specified for the assembly name.

- V3.0L10 or later

Only the strict assembly name can be specified for the assembly name.

* A strict assembly name is an assembly name completely specified that contains the name, the culture of the assembly, the public keytoken, and the version number.

6.10.8 The shift of the build system to MSBuildThe following are changes to the MSBuild system of building projects:

- Resolving referenced assemblies

Resolving relative paths

- V2.1L10 or earlier

When building, relative paths for assembly references were resolved from the specified folder of an assembly file.

- V3.0L10 or later

It is not possible to refer to the assembly file at a relative position from the folder that was specified by the reference path.

Set the path so that there is a referenced assembly in Reference path.

- V2.1L10 or earlier

The NetCOBOL for .NET Runtime folder is used before the .NET Framework folder.

- V3.0L10 or later

The NetCOBOL for .NET Runtime folder is retrieved as registered in Visual Studio as an assembly folder.

- The running folder of "Build Events" and "Custom Build Step" was changed.

- V2.1L10 or earlier

Folder with the project file

- V3.0L10 or later

Folder specified for the output path

- 15 -

Page 22: NetCOBOL for .NET V4.1.0 Software Release Guide

Use a macro such as "$(ProjectDir)" when you specify the relative path from the folder in "Build Events" or "Custom Build Step"with the project file.

- The value of the "$(FrameworkDir)" macro in a "Build Events" and "Custom Build Step" have changed.

- V2.1L10 or earlier

There is no version number.

Example: C:\Windows\Microsoft.NET\Framework

- V3.0L10 or later

With version number

Example: C:\Windows\Microsoft.NET\Framework\v2.0.50727

6.10.9 Calling a method of an array objectThe System.MissingMethodException exception may occur when calling a method on an array object due to a change in .NET FrameworkV2.0. If this occurs, rebuild the source with NetCOBOL for .NET V3.0 or later.

6.10.10 Object signatures of multi-dimensional arraysThe signature of a multi-dimensional array object has been changed due to enforcement of rules in C# as follows:

- V2.1L10 or earlier

class[,]

- V3.0L10 or later

class[0...,0...]

For operation on .NET 2.0, recompile the source with the V3.0L10 compiler.

6.10.11 Custom marshaller supportSome program prototype definitions must be recompiled, due to a change in the internal specification of .NET Framework on custommarshaller support between V1.1 and V2.0.

Sources must be recompiled if:

- * the source contains a program prototype definition, and

- * the program prototype definition has a COBOL-specific type parameter

Otherwise, changes to the parameter in the source code will not be reflected in the managed environment.

6.10.12 RCS compiler directiveThe default value of the RCS compiler directive has been changed.

- V2.1L10 or earlier

RCS(UTF8-UCS2)

- V3.0L10 or later

RCS(ACP-UCS2)

After the message of JMN0031I-W is output, RCS(UTF8-UCS2) is assumed.

6.10.13 /WC compiler optionsThe specification when two or more /WC compiler options were specified was changed as follows:

- 16 -

Page 23: NetCOBOL for .NET V4.1.0 Software Release Guide

- V2.1L10 or earlier

Only the last /wc compiler directive specified is effective.

- V3.0L10 or later

The /wc options are concatenated in the order specified. If an option appears more than once, the last value specified is used.

Example:

cobolc /target:library /wc:SOURCE,COPY,INITVALUE(FF) /print /wc:MESSAGE,INITVALUE(00) TEST.cob

An effective compiler directive is as follows:

- V2.1L10 or earlier

MESSAGE,INITVALUE(00)

- V3.0L10 or later

SOURCE,COPY,MESSAGE,INITVALUE(00)

6.10.14 BINARY-CHAR UNSIGNED CorrespondenceIn a program definition (not a method definition), the supported correspondence between a USAGE BINARY-CHAR UNSIGNED itemdefined in the LINKAGE SECTION and .NET data types has been changed as follows:

- V1.1L10 or earlier

Unsigned int8 of .NET data type

- V2.0L10 or later

COBOL data type

Due to this change, a CALL statement that is specified as identifier-1 cannot be used to call a program compiled with V1.1 or earlier thathas a USAGE BINARY-CHAR UNSIGNED item defined in the LINKAGE SECTION.

When the DLOAD compiler option is used that is an additional function of 3.1, literal-1 also cannot be used in the same situation asdescribed above.

Recompile the called program with V2.0 or later. If the DLOAD compiler option is not used, change the specification of the CALLstatement from identifier-1 to literal-1.

6.10.15 Referencing Integer Data TypesThe recommended COBOL data types for referencing some of the integer data types from other languages, such as C#, has been changed:

- V1.1L10 or earlier

- int16 -> USAGE S9(4) COMP-5

- int32 -> USAGE S9(9) COMP-5

- int64 -> USAGE S9(18) COMP-5

- V2.0L10 or later

- nt16 -> USAGE BINARY-SHORT

- int32 -> USAGE BINARY-LONG

- int64 -> USAGE BINARY-DOUBLE

6.10.16 Processing of Conditional Variables- In V2.0L10 and earlier

The compiler regarded conditional variables to be a COBOL data type.

- 17 -

Page 24: NetCOBOL for .NET V4.1.0 Software Release Guide

- In V2.1L10 or later

Conditional variables that apply to a .NET data type are considered to be the .NET data type.

6.10.17 The install folder of the Runtime SystemThe NetCOBOL Runtime System for .NET is now always installed in the Windows 'Common Files' folder. This includes the runtimesystem that is installed with the development environment or server package. Due to this change, tools that are installed with the NetCOBOLRuntime System for .NET are now outside of the PATH environment variable available from the command prompt.

6.10.18 Predefined object identifier SUPERThe compiler action has been changed when the predefined object identifier SUPER is used to access to the abstract member.

- V3.0L10 or earlier

System.BadImageFormatException occurs at execution.

- V3.1L10 or later

Compiler error is issued.

6.10.19 Code of super-class constructor invocation in constructor methodA part of the judging standard for verifiable type-safe code has changed from .NET Framework 1.1 to .NET Framework 2.0. Due to thischange, when code of a super-class constructor invocation exists in a constructor method, NetCOBOL for .NET V3.0 and later cannotgenerate the assembly as verifiable type-safe code, regardless of the specification of the /verifiable compiler option.

6.10.20 The exception handling generated from the CALL identifierThe exception handling generated from the CALL identifier by the version of "NetCOBOL for .NET" has changed.

- V2.0L10 or earlier

The exception generated calling ahead is set to InnerException of System.Reflection.TargetInvocationException.

- V2.1L10, V3.0L10

For the exception generated calling ahead, throw is done at the call position of the CALL identifier.

- V3.1L10 or later

The exception generated calling ahead is set to InnerException of System.Reflection.TargetInvocationException. However, throw isdone at the call position of the CALL identifier for the STOP RUN Exception.

Refer to "Structured Exception Handling (TRY statement)" of the "NetCOBOL user's guide for .NET" for details.

6.10.21 Compiler error message JMN2320I-SIn V3.1L10 and earlier, the compiler issued the JMN2320I-S message under the following conditions:

1. An item with a REDEFINES clause is subordinate to an item with a CHARACTER TYPE clause, and

2. The above-mentioned item with a REDEFINES clause or the item subordinate to it is a national data item or a national edited dataitem, and

3. The item redefined by the item described in a) does not correspond to each of the following conditions:

- A national data item or a national edited data item for which a format-1 or format-2 CHARACTER TYPE clause is specified

- An data item of usage display for which a format-3 CHARACTER TYPE clause is effective

and

4. A CHARACTER TYPE clause is not specified for the national data or national edited data item described in b).

- 18 -

Page 25: NetCOBOL for .NET V4.1.0 Software Release Guide

6.10.22 Retrieval result of the SEARCH statement (SEARCH ALL)When two or more conditions were described in the WHEN clause specification of the SEARCH statement, or the subscript specified forthe key item of the WHEN clause specification was multi-dimensional, the element that satisfied either of the following combinationconditions was not searched correctly.

The unsigned packed decimal data item (relational item) is specified at the right of the condition, and any of the key items is specified atthe left of the condition.

- unsigned zoned decimal data item

- signed zoned decimal data item

- unsigned packed decimal data item

- signed packed decimal data item

The search operates correctly in version V3.1 and later.

6.10.23 Retrieval result of the SEARCH statement (SEARCH ALL with RCScompile option)

If a program was compiled specifying the RCS(ACP-UCS2) option or RCS(UTF8-UCS2) option to execute the data code set with Unicode,and when two or more conditions were described in the WHEN clause specification of the SEARCH statement or the subscript specifiedfor the key item of the WHEN clause specification was multi-dimensional, the element was not searched correctly for the combination ofthe following items.

The national data item or national edited data item is specified at the condition. The group item is specified for the other condition.

The search operates correctly in version V3.1 and later.

6.10.24 Checking for property access attributesThe method for checking the access attributes of properties has been changed as follows:

- V3.1L10 or earlier

Assuming that the GET property method and the SET property method have the same access attributes, the compiler checks for theaccess attributes.

- V4.0.0 or later

The property method is selected depending on the context (whether it is the sending side or the receiving side), and the compiler checksfor access attributes based on the selected property method.

6.10.25 The first or last character of a national user-defined wordUnder the following conditions, the compiler does not output compilation messages in V3.1 and earlier. The compiler does outputcompilation messages (JMN1010I-S) in V4.0 and later.

1. The input source is Unicode (UTF-8), and

2. Either the first or last character of a national language user-defined word is a fullwidth hyphen-minus, and

3. The code of the fullwidth hyphen-minus is 0xEFBC8D.

6.10.26 Retrieval result of the SEARCH statement (SEARCH ALL with thekey item of the WHEN phrase)

Under the following conditions, the SEARCH ALL statement was not retrieved correctly.

1. Multiple conditions are described for the SEARCH statement WHEN phrase, or the subscript specified for the key item of theWHEN phrase is multi-dimensional, and

- 19 -

Page 26: NetCOBOL for .NET V4.1.0 Software Release Guide

2. One of the following USAGE items is described at the left of the conditions (key item):

- COMP-5 (including ones that were created using compiler option ASCOMP5)

- BINARY-SHORT

- BINARY-LONG

- BINARY-DOUBLE

and

3. A floating-point item or floating-point literal is described at the right of the conditions (item to compare).

The search operates correctly in V4.0 and later.

6.10.27 Compilation that specifies compiler options BINARY and OPTIMIZEUnder the following conditions, the execution results were incorrect.

1. The BINARY(BYTE) or BINARY(WORD,MLBOFF) compiler option is specified, and

2. The OPTIMIZE compiler option is specified, and

3. When there is a source description that applies to either a or b below.

a. An arithmetic statement that satisfies all of the following conditions:

- An unsigned binary item (USAGE IS COMP-5) is specified for the receiving side element (*1).

- The area length of the unsigned binary item of the receiving side element (*1) is 2 bytes.

- The receiving side element (*1) is used in the arithmetic expression of the arithmetic statement.

- The number of digits of the decimal part of the receiving side element (*1) is smaller than the number of digits of thedecimal part of the precision of the intermediate results of the arithmetic statement.

- When the arithmetic statement is a COMPUTE statement, [NOT] ON SIZE ERROR clause is not specified.

b. The MOVE statement that satisfies all of the following conditions (including a MOVE statement generated implicitly):

- An unsigned binary item (USAGE IS COMP-5) is specified for the receiving side element.

- The binary area length of the receiving side element is 2 bytes.

- The receiving side element is used in the subscript of the sending side element.

- The number of digits of the decimal part of the receiving side element is smaller than the number of digits of the decimalpart of the sending side element.

- The CHECK(BIND) compiler option is not specified.

*1: Including the REMAINDER phrase of the DIVIDE statement.

The execution results are correct in V4.0 and later.

6.10.28 Compilation that specifies compiler options BINARY and TRUNCUnder the following conditions, the execution results were incorrect.

1. The BINARY(BYTE) or BINARY(WORD,MLBOFF) compiler option is specified, and

2. The TRUNC compiler option is specified, and

3. There is a MOVE statement (including a MOVE statement generated implicitly) with an unsigned binary item (*1) sending sideelement, and a receiving side element that is either a binary item or packed-decimal (with or without a sign), and

4. The number of digits of the integer part of the sending side is larger than the number of digits of the integer part of the receivingside in the MOVE statement in 3) above, and

5. The area length of the sending side element's unsigned binary item is 2 or 4 bytes, and

- 20 -

Page 27: NetCOBOL for .NET V4.1.0 Software Release Guide

6. The high order end bit of the sending side element's unsigned binary item holds the value of ON.

The execution results are correct in V4.0 and later.

6.10.29 Compilation that uses compiler option BINARY and intrinsicfunctions

Under the following conditions, the execution results were incorrect.

1. The BINARY(BYTE) or BINARY(WORD,MLBOFF) compiler option is specified, along with

2. The following intrinsic functions:

- FUNCTION MAX

- FUNCTION MIN

- FUNCTION MEAN

- FUNCTION MEDIAN

- FUNCTION MIDRANGE

- FUNCTION VARIANCE

- FUNCTION RANGE

- FUNCTION SUM

and

3. There is a 2 or 4-byte unsigned binary item in the line of the argument specified for the function in 2) above, and

4. There is not a fixed-point numeric data item of 10 or more digits in the line of the argument specified for the function in 2) above.

The execution results are correct in V4.0 and later.

6.10.30 Binary item move when compiler option BINARY is specifiedUnder the following conditions, the compiler output incorrectly compiled messages, or the execution results were incorrect.

1. The BINARY(BYTE) or BINARY(WORD,MLBOFF) compiler option is specified, and

2. There is a MOVE statement (including a MOVE statement generated implicitly) by which the numeric literal is transcribed to thebinary item, and

3. The numeric value of the numeric literal in 2) above is 5 digits, and

4. In the transcript of 2) above, the number of digits of the decimal part of the numeric literal is smaller than the number of digits ofthe decimal part of the receiving side binary item.

The execution results are correct in V4.0 and later.

6.10.31 Specified error of Concatenating FilesWhen erroneous characters are specified following the character string "CONCAT(file name)" indicating the function to concatenate files,an execution-time error was not output.

Execution-time errors are output correctly in V4.0 and later.

6.10.32 The I-O status value '04' of variable length record sequential filesUnder the following conditions, the I-O status value of files did not become "04."

1. Variable length record sequential files are used, and

2. The FILE STATUS clause is specified for the definition of the files of 1) above, and

3. The COBOL file system (*1) is used for the files of 1) above, and

- 21 -

Page 28: NetCOBOL for .NET V4.1.0 Software Release Guide

4. The READ statement is executed for the files of 1) above, and

5. When the record length read in 4) above exceeds the maximum record length defined by the program.

*1: Excluding the case when high speed file processing (BSAM) is specified.

The I-O status value of the files becomes "04" in V4.0 and later.

6.10.33 COBOL File UtilityUnder the following conditions, the COBOL file utility created indexed files with erroneous record key attributes (*1).

1. Either of the following commands of the COBOL file utility is used:

- file load command (cobfload)

- file load function (COB_FILE_LOAD)

and

2. Indexed files are specified to be created, and

3. Multiple record keys are specified for the indexed files to be created, and

4. Some of the record keys of 3) above are specified to allow duplicates, and

5. When a record key that does not allow duplicates is specified following the record keys of 4) above.

*1: Although it is specified that duplicates are not allowed, indexed files with record key information that allows duplicates are created.

As a result:

- Even when duplicates are specified as not allowed, errors are not detected for records with duplicate keys in the input file, and theoperation is terminated normally.

- When the OPEN statement is executed, an error message is generated indicating that the duplicate key specification is incorrect.

This problem has been corrected in V4.0 and later.

6.10.34 Time difference information that CURRENT-DATE returnsWhen the Greenwich Mean Time (GMT) month is different from the month in local time, a time difference information error is returnedby the CURRENT-DATE function.

The execution results are correct in V4.0 and later.

6.10.35 WRITE statement with AFTER/BEFORE ADVANCING phraseIn V4.0 and earlier, if a WRITE statement with an AFTER/BEFORE ADVANCING 0 LINE phrase was executed for a line sequentialfile linked via an external file handler, the WRITE statement was executed as a WRITE AFTER/BEFORE ADVANCING PAGE. Thishas been corrected in V4.1 and later.

6.10.36 Location of SQLCODE/SQLMSG/SQLERRD definitionSQLCODE, SQLMSG, and SQLERRD can now be defined outside of the SQL declaration section. Under the conditions listed below,SQL statement runtime information was not stored prior to V4.1. In V4.1 and later, runtime information is stored in SQLCODE, SQLERRD,and SQLMSG.

1. SQLSTATE is described inside the SQL declaration section, and

2. SQLCODE, SQLERRD, or SQLMSG are described outside the SQL declaration section, and

3. SQL statements are executed, and

4. SQLCODE, SQLERRD, or SQLMSG are referred to in the PROCEDURE DIVISION, and

5. Conditions 1 through 4 are occur in the same compilation unit.

- 22 -

Page 29: NetCOBOL for .NET V4.1.0 Software Release Guide

In V4.1 and later, SQLCODE, SQLERRD, and SQLMSG are reserved names used to fetch SQL statement runtime information. If youhave variables by those names that are used for any other purpose, the results are unpredictable. In this case, change the names of thosevariables.

6.10.37 Debugger function/display- Step Over

For an external PERFORM statement that calls a section or paragraph, and for the statement prior to the section or paragraph label:

- V4.0.0 and prior

Step Over stopped with the called procedure.

- V4.1 and later

Step Over does not stop with the called procedure in the following cases:

- When Step Over enters a section and paragraph called with a PERFORM statement.

and

- When the section and paragraph are output as a method definition.

In these cases, please use the Step Into command.

- Step Out

- V4.0.0 and prior

Step Out stopped in the statement following the CALL statement that calls the program.

- V4.1 and later

Step Out does not stop with the called procedure in the following cases:

- When Step Out stops in a section and paragraph that can be called by a PERFORM statement.

and

- When the section and paragraph are output as a method definition.

- Call Stack

Call stack display changed when it stops in section or paragraph has changed.

- V4.0.0 and prior

When Call Stack stopped in a section or paragraph, the program name was displayed.

- V4.1 and later

When Call Stack stops in a section or paragraph, the section or paragraph name is displayed in the following cases:

- When Call Stack stops in a section or paragraph that can be called by a PERFORM statement.

and

- When the section and paragraph are output as a method definition.

6.10.38 Change in Call Stack exception information displayIn the case below, the display of Call Stack of exception information got changed.

- V4.0.0 and prior

When an exception occurred in a section or paragraph, the program name was displayed.

- V4.1 and later

When an exception occurs in a section or paragraph, the section or paragraph name is displayed in the following cases:

- When stopped in a section or paragraph that can be called by a PERFORM statement.

- 23 -

Page 30: NetCOBOL for .NET V4.1.0 Software Release Guide

and

- When the section and paragraph are output as a method definition.

6.10.39 Itanium-based system supportStarting with NetCOBOL for .NET V4.1, Itanium-based systems are no longer supported.

6.11 Other Notes

6.11.1 License acquisitionWhen this product is used under the control of any remote control software, such as Windows Terminal Services or Citrix MetaFrame,each user that uses the product must have purchased a valid license.

6.11.2 Using a related product in the same environment as Visual Studio2010

When using a PowerCOBOL Series product or a NetCOBOL for Windows Series product (a "related product") in the same environmentas Visual Studio 2010 or Windows SDK, a link error can occur while developing an application using the related product. When the pathof the related product is set for system environment variables INCLUDE and LIB, copy the path of the related product to the head of theuser environment variables INCLUDE and LIB.

6.11.3 JMN3496I-W message no longer issuedWhen setting a COMP-5 item to an OBJECT REFERENCE of an INT type, the following message is no longer issued, since the digitoverflow will no longer occur:

JMN3496I-W When 'sender' is set to 'receiver', digits may overflow.

6.11.4 JMN3448I-W message no longer issuedV2.0L10 or earlier, the compiler issued the JMN3448I-W message on encountering the following conditions:

- There is a RAISING phrase in an EXIT PROGRAM or EXIT METHOD statement, and

- The class of the object reference specified in RAISING phrase is not specified for the RAISING phrase of PROCEDURE DIVISIONheader.

The message shown below is no longer issued because the compiler can process the code, and any exceptions propagate in the .NETsystem.

JMN3448I-W @1@ in the RAISING phrase of the @2@ statement must be an object reference identifier. It

must refer to a class name that is specified in the RAISING phrase of the PROCEDURE DIVISION header.

@1@ can be either: EXIT PROGRAM, or EXIT METHOD

@2@ is a data name

6.11.5 Using ODBC data administrator on 64-bit computerThere are two separate ODBC setup utilities on a 64-bit computer: one for 32-bit data sources and one for 64-bit data sources. In order tocreate a 32-bit ODBC data source, the 32-bit version of the ODBC setup utility must be run. To do this, open a 32-bit command promptand run odbcad32.exe. To create a 64-bit ODBC data source, run odbcad32.exe from a 64-bit command prompt window.

32-bit programs must use the 32-bit version of the Environment Setup utility, which can only read 32-bit ODBC data sources. For 64-bitprograms, use the 64-bit version of the Environment Setup utility to create the NetCOBOL configuration, since it reads only 64-bit ODBCdata sources.

- 24 -

Page 31: NetCOBOL for .NET V4.1.0 Software Release Guide

6.11.6 Replacing an ApplicationYou cannot replace an executable file or a DLL while they are operating or being loaded. Replace it after halting the COBOL application.

6.11.7 Updating Visual Studio 2010 or installing another edition of VisualStudio 2010

When a Service Pack is applied to Visual Studio 2010, or when another edition of Visual Studio 2010 is installed after NetCOBOL for .NEThas been installed, install NetCOBOL for .NET modifications as follows:

- For Windows Server 2008, Windows 7 and Windows Vista

1. Select "Programs and Features" from the Control Panel, and then select "NetCOBOL for .NET" from the list.

2. Click on "Uninstall/Change" displayed at the top of the list.

3. On the displayed screen, select "Repair" and then click on the "Next" button.

- For Windows Server 2003 and Windows XP

1. Select "Add or Remove Programs" from the Control Panel, and then select "NetCOBOL for .NET" from the list.

2. Click on the "Change/Remove" NetCOBOL for .NET button.

3. On the displayed screen, select "Repair" and click on the "Next" button.

- 25 -