Previous Topic Next topic Print topic


After Installing

You are now ready to run Enterprise Developer. From the Windows taskbar click Start > All Programs > Micro Focus Enterprise Developer > Enterprise Developer for Visual Studio nnnn.

Note: The Start menu is not available on Windows 8 and Windows Server 2012. You use the Start screen to invoke programs.
Code generation issues in .NET Framework version 4.6
  • Code generation issues in Microsoft's 64-bit JIT (just-in-time) compiler delivered as part of .NET version 4.6 can result in incorrect execution of some COBOL code compiled to .NET. Version 4.6 of the .NET Framework is currently shipped as default with Visual Studio 2015 and Microsoft's Windows 10. The problems include incorrect execution of MOVE and STRING statements applied to alphanumeric operands, and incorrect execution of the ROUNDED phrase for arithmetic statements.

    Some of these issues only seem to be reproducible in COBOL language applications compiled to .NET and some can be reproduced in other languages (C# or Visual Basic).

    These problems have been reported and acknowledged by Microsoft and it is our belief that they either have resolutions or are working on fixes for all of them.

    Until these issues have been confirmed as resolved by Microsoft, Micro Focus recommends that managed COBOL code should not be executed on the .NET Framework 4.6 platform. For further information about these issues and guidelines on how to disable the latest version of the 64-bit JIT compiler, see RyuJIT Bug Advisory and Troubleshooting RyuJIT.

Note:

For applications created with earlier Micro Focus products or earlier versions of Enterprise Developer, note the following:

Building Applications
If, after upgrading to this version of Enterprise Developer, you start receiving unexpected build errors when compiling an existing multi-project solution, this may be a result of enabling parallel project builds in this release. These are a couple of examples of issues that might be causing these errors:
  • Using file references to project outputs in the same solution. You need to use project-to-project references instead.

    Use Project > Project Dependencies to manage the project dependencies and build order within your solution.

  • A customized build process such as one that is using pre- or post- build events.

If resolving any of these issues does not help resolve the build errors, consider disabling the parallel build support - click Tools > Options > Projects and Solutions > Build and Run and set maximum number of parallel project builds to 1.

Note: Parallel builds are not supported with Mainframe Subsystem COBOL projects.
Database Access
Managed applications using SQL(DBMAN=ODBC) that were compiled in Enterprise Developer 2.1 Update 1 must be recompiled in Enterprise Developer 2.3.
Existing Applications
Application executables that were compiled using earlier Micro Focus products must be recompiled from the sources using Enterprise Developer. For more information, read the section Upgrading to Enterprise Developer for Visual Studio 2015 in the product Help.
Open PL/I Compiler
Important: If you are installing this release as an upgrade to Enterprise Developer 2.2 Update 1, after the upgrade you must rebuild any applications that are compiled using the –zp1 option.

The behavior of the –zp1 option has been reverted to that of versions of Enterprise Developer earlier than 2.2 Update 1, with an additional correction relating to Char Varying data items.

The behavior has been restored to that in Enterprise Developer versions earlier than 2.2 where, when compiling with –zp1, all parameters are treated as unaligned. (In Enterprise Developer 2.2 Update 1, the behavior when compiling with –zp1 was to not treat parameters as if unaligned).

When using the –zp1 compiler option, all Character Varying data items are now treated as if unaligned. In previous versions of Open PL/I, for Character Varying data items, the –zp1 unaligned requirement was applied only to structure members and parameters.

To illustrate the change, consider the following example:

zptest: proc options(main); 
 
   dcl 1 st1, 
     2 c char, 
     2 x(4) char(7) var init ('a', 'xx', 'yyy', 'zzzz'); 
 
   dcl y(4) char(7) var init ('a', 'xx', 'yyy', 'zzzz'); 
 
   dcl sub entry ((4) char(7) var); 
 
   call sub (x); 
 
   call sub (y); 
 
end; 
 
sub: proc (z); 
 
   dcl z(4) char(7) var; 
 
   dcl i fixed bin(31); 
 
  do i = 1 to hbound(z); 
      z(i)  = 'x'; 
  end; 
 
end; 

Where:

  • For x and z, each char (7) var item is 7 plus 2 bytes which equals 9 and then multiplied by 4 equals 36.
  • If y were aligned on half-word by default, each array element is half-word aligned and each equals 10 bytes (9 + 1 pad byte), and the total size equals 40 bytes.
  • At call sub (x), the calling argument and parameter are matched.
  • At the call sub (y), the y element size (10 bytes) is mismatched against the parameter z element size (9 bytes) due to –zp1. This is incorrect and causes unexpected program behavior.

Due to this correction of treating all Char Varying data items as if unaligned when using –zp1, the size of CHAR VARYING arrays now differs from previous versions of Open-PL/I. For example:

   dcl X(4) char(7) var; 
 
   Put skip list (size(X))  /* size is 36 bytes vs. 40 bytes in previous versions of Open-PL1 */ 

Please refer to the Start Here and Product Information sections in your product Help. Here, you will find information on getting started including tutorials and demonstration programs.

Note:
  • To view the help in Visual Studio 2015, ensure that the Visual Studio Help Library is pointing to local help. From the Visual Studio menu click Help > Set Help Preferences > Launch in Help Browser.
  • For full details of the Visual Studio Help system, see the locally installed Microsoft Help Viewer 2.2 Help, which is available from Help menu in the IDE.
Previous Topic Next topic Print topic