COBOL applications developed and built using previous 
               		Micro Focus products can be developed and built with 
               		Enterprise Developer. However, there are some differences in behavior and in terminology. 
               	 
            
 
            	 
            
               Executables requiring recompilation
 
               		 
               		
               If you are on the AIX platform, due to an internal change in version 2.0 of your product, you must recompile and/or relink
                  your programs compiled prior to this version, to make them compatible with this run-time system. 
                  		
               
 
               	 
              
            	 
            
               Terminfo files
 
               		 
               		
               The following terminfo files have been removed: 
                  		
               
 
               		
                
                  		  
                  -  AT&T 
                     			 
                      
                     		  
                  
- IBM 
                     			 
                      
                     		  
                  
- Qume 
                     			 
                      
                     		  
                  
- Wyse 
                     			 
                      
                        				
                        -  wy120 
                           				
                        
-  wy120-25 
                           				
                        
-  wy50 
                           				
                        
-  wy60 
                           				
                        
-  wy60-w 
                           				
                        
-  wy75 
                           				
                        
-  wy85 
                           				
                        
 
  
            	 
            
               Diagnostic tools
 
               		 
               		
               The FaultFinder tool has been removed from the current version of 
                  		  Enterprise Developer. This includes the removal of the following tunables: 
                  		
               
 
               		
                
                  		  
                  - faultfind_level 
                     		  
                  
- faultfind_outfile 
                     		  
                  
- faultfind_recsize 
                     		  
                  
- faultfind_config 
                     		  
                  
- faultfind_cache_enable 
                     		  
                  
You should either remove these tunables from your application or set the tunable 
                  		  cobconfig_error_report=false in your configuration file. 
                  		
               
 
               		
               You should also remove any calls to the library routine CBL_FFND_REPORT, as this now produces a 
                  		  COBRT107 Operation not implemented in this run-time system (fatal) error. 
                  		
               
 
               	 
              
            	 
            
               Backward Compatibility with 
                  		  Studio Enterprise Edition
               
 
               		 
               		
                
                  		   
                  			 
                  - File Control Description (FCD) 
                     			 
                  
- The FCD format for file handling operations in 32-bit applications defaults to FCD3 in 
                     				Enterprise Developer; in 
                     				Studio Enterprise Edition, it defaulted to FCD2. 
                     			 
                  
 
                  		   
                  			 
                  - Copybook name changes 
                     			 
                  
- A number of COBOL copybook files that were part of 
                     				Studio Enterprise Edition had names in uppercase, whereas, in 
                     				Enterprise Developer, most copybooks are provided with lowercase names. 
                     				
                     This affects the following copybooks - DFHAFCD, IDADDSA, IDADTCA, IDAS99RB, IDAS99TU, IEESMCA, IEFJFCBN, IEFJSSIB, IEFTIOT1,
                        IEZJSCB, IHAACEE, IHAASCB, IHAASVT, IHAASXB, IHACDE, IHAPSA, IKJTCB, MFJCTLBC, MFJDCUSR, MFJDSXIT, MFJDXIT, MVSFINDM, MVSGETCT,
                        SPOOLHK. 
                        				
                      If your code refers to any of these files in uppercase, and you are compiling with 
                        				  Enterprise Developer on UNIX, this may result in the code failing to compile, because it cannot locate the copybooks. 
                        				
                      You can work around this issue in on of the following ways: 
                        				
                       
                        				  
                        - Change the names of the copybooks referred to from your code to lowercase. 
                           				  
                        
- Create copies of the copybooks, and save them with uppercase names. 
                           				  
                        
- Set up symbolic links to point the uppercase names to their lowercase equivalents as follows: 
                           					 
                            
                              						
                              - Create a script file, 
                                 						  copylink.sh, which creates symbolic links for the above copybooks. 
                                 						
                              
- Paste the following contents into the file: 
                                 						  ln -s dfhafcd.cpy   DFHAFCD.CPY
ln -s idaddsa.cpy   IDADDSA.CPY
ln -s idadtca.cpy   IDADTCA.CPY
ln -s idas99rb.cpy  IDAS99RB.CPY
ln -s idas99tu.cpy  IDAS99TU.CPY
ln -s ieesmca.cpy   IEESMCA.CPY
ln -s iefjfcbn.cpy  IEFJFCBN.CPY
ln -s iefjssib.cpy  IEFJSSIB.CPY
ln -s ieftiot1.cpy  IEFTIOT1.CPY
ln -s iezjscb.cpy   IEZJSCB.CPY
ln -s ihaacee.cpy   IHAACEE.CPY
ln -s ihaascb.cpy   IHAASCB.CPY
ln -s ihaasvt.cpy   IHAASVT.CPY
ln -s ihaasxb.cpy   IHAASXB.CPY
ln -s ihacde.cpy    IHACDE.CPY
ln -s ihapsa.cpy    IHAPSA.CPY
ln -s ikjtcb.cpy    IKJTCB.CPY
ln -s mfjctlbc.cpy  MFJCTLBC.CPY
ln -s mfjdcusr.cpy  MFJDCUSR.CPY
ln -s mfjdsxit.cpy  MFJDSXIT.CPY
ln -s mfjdxit.cpy   MFJDXIT.CPY
ln -s mvsfindm.cpy  MVSFINDM.CPY
ln -s mvsgetct.cpy  MVSGETCT.CPY
ln -s spoolhk.cpy   SPOOLHK.CPY
 
- As superuser, execute the script in the folder which contains the copybooks ($COBDIR/cpylib). 
                                 						
                              
 
 
  
            	 
            
               Backward Compatibility with Earlier Versions of 
                  		  Enterprise Developer
               
 
               		 
               		
                
                  		   
                  		  
                  - File Locking 
                     		  
                  
-  In versions prior to 
                     			 Enterprise Developer 2.3, the semantics of the sharing phrase specified in an OPEN statement or used within a call to CBL_OPEN_FILE were not correctly
                     applied in some cases on UNIX and Linux platforms. From version 2.3 onwards, the sharing phrase is correctly honored when
                     the tunable 
                     			 strict_file_locking=true is set, which is the default setting. 
                     		  
                  
- Example of potential changes in behavior: 
                     			 
                      
                        				
                        -  Process-A opens a file with read-only access and a sharing mode that denies other processes write access (SHARING WITH READ ONLY).
                           
                           				
                        
-  Process-B then attempts to open the file with read-only access and a sharing mode that denies other processes read access (SHARING
                           WITH NO OTHER). 
                           				
                        
 
-  With 
                     			 strict_file_locking=true, 
                     			 Process-B is unable to open the file, because 
                     			 Process-A has successfully opened the file allowing only read access. 
                     			 
                      With 
                        				strict_file_locking=false, 
                        				Process-B successfully opens the file. 
                        			 
                      
-  If your application encounters unexpected OPEN conditions or fails to open files, it might be as a result of the new file
                     locking behavior. In such circumstances, we recommend that you review the file locking and sharing requirements of your application
                     and refactor your source code to work with the default setting. The original file locking and sharing behavior can be restored
                     by setting 
                     			 strict_file_locking=false. 
                     		  
                  
 
                  		   
                  		  
                  - Updated run-time system 
                     		  
                  
-  
                     			 
                      
                        				Enterprise Server now provides an execution environment capable of running applications that were each built using different development products.
                        A consequence of this is that If your application has a main COBOL executable (.exe) that was built with a version of 
                        				Enterprise Developer prior to version 2.3, you should ensure that the executable is rebuilt and packaged with the new run-time system. 
                        				This does not affect mainframe subsystem projects deployed to 
                        				  Enterprise Server. You can rebuild from the IDE or the command line. 
                        			 
                      Other COBOL subprograms built with previous versions of 
                        				Enterprise Developer are not required to be rebuilt. 
                        			 
                      
 
                  		   
                  		  
                  - JVM COBOL 
                     		  
                  
- Enterprise Developer for Eclipse now ships with Eclipse 4.4 (Luna). A consequence of this is that if your application contains JVM COBOL code
                     that was built with a version of 
                     			 Enterprise Developer prior to version 2.3, those parts of your application must be rebuilt; otherwise you will experience errors at either compilation
                     or run time. 
                     		  
                  
 
                  		   
                  		  
                  - Casspool recovery 
                     		  
                  
- Following the detection of an unrecoverable file status error on the casspool file, a message is displayed on the console
                     and an ACCEPT statement is issued. This stops processing, allowing you to fix the underlying file problem, before continuing
                     the job. 
                     		  
                  
- Casspool performance enhancement 
                     		  
                  
- As part of an enhancement to improve performance when browsing the spool queue of an Enterprise Server, you must update the
                     casspool file for any Enterprise Server created before 
                     			 Enterprise Developer 2.2 Update 1 before you can submit jobs to it. 
                     		  
                  
- To update the casspool for each Enterprise Server, from a command prompt, run 
                     			 fixcasspool.bat (Windows) or 
                     				fixcasspool.sh 
                     				(UNIX), located in 
                     			 %COBDIR%\bin and 
                     				%COBDIR%\bin64 (Windows) or 
                     				$COBDIR\bin 
                     				(UNIX), using the following syntax: 
                     		  
                  
-  
                     			 fixcasspool.bat casspool.dat backup.dat or 
                        			 
                      fixcasspool.sh casspool.dat backup.dat 
-  
                     			 
                     where: 
                        				
                          
                           				   
                           					 
                           - casspool.dat 
                              					 
                           
- is the spool file, located in the same directory as the Enterprise Server's system catalog, that will be updated. 
                              					 
                           
- backup.dat 
                              					 
                           
- is a file that will be created with a backup of the old 
                              						casspool.dat file. If 
                              						backup.dat already exists, the update is not run. 
                              					 
                           
 
-  
                     			 
                     If you do not update casspool and attempt to start Enterprise Server, the following messages are displayed in the console:
                        
                        			 
                      
- JES000011E Batch Spool File Error; Status [39] 
                     			 
                      JES000130E Note JES000011 Error - New casspool indexes may need generating. See error description in product docs 
                        			 
                      
- ACUCOBOL-GT and RM/COBOL file handling under Enterprise Server 
                     		  
                  
- Two file handling configuration options have been introduced that enable or disable all types of file handling for ACUCOBOL-GT
                     and RM/COBOL data files. 
                     		  
                  
- ACUFH has overall control, but is enabled by default, which means that there should be no change in behavior when handling
                     files when not running under enterprise server. However, ESACUFH enables and disables file handling of these types under enterprise
                     server, and is disabled by default. To continue handling ACUCOBOL-GT and RM/COBOL data files, ensure both options are enabled
                     in your file handling configuration file. 
                     		  
                  
 
                  		   
                  		  
                  - Using parentheses in member reference 
                     		  
                  
- In managed COBOL syntax, you may only use parentheses when referencing methods. You can no longer specify parentheses when
                     referencing fields or properties, as this will produce a syntax error. 
                     		  
                  
-  
                     			 
                     For example: 
                        			 
                      set intLength to testString::Length() must change to: 
                        			 
                      set intLength to testString::Length 
 
                  		   
                  		  
                  - Calling program search order 
                     		  
                  
- In previous versions of 
                     			 Enterprise Developer (and earlier 
                     			 Micro Focus products) you could use a run-time tunable to define a specific order in which the run-time system searches for called sub-programs.
                     Due to changes in the run-time system, there is only one viable specific search order, and therefore the program_search_order
                     tunable is no longer available; remove the tunable from any configuration you have set. The default (and only) order used
                     is: 
                     			 
                      
                        				
                        -  If the sub-program is already loaded, or is statically linked, it is located and the search ends. 
                           				
                        
- On UNIX platforms, if you are calling shared objects (.so), without a specific path, the LD_LIBRARY_PATH or LIBPATH environment variable is searched. 
                           				
                        
-  If COBPATH is set, the list of paths in the variable are searched, in order; if COBPATH is not set, the current directory
                           is searched. 
                           				
                        
- On Windows platforms, if you are calling shared objects (.so), without a specific path, the LD_LIBRARY_PATH or LIBPATH environment variable is searched. 
                           				
                        
-  The path of the calling program is searched. 
                           				
                        
 If the sub-program cannot be located using one of the above methods, a run-time error is produced. 
                        			 
                      
 
                  		   
                  		  
                  - Calling RM/COBOL compatible library routines 
                     		  
                  
- Previously, to call an RM/COBOL compatible library routine, you had to set the DIALECT"RM" Compiler directive, which ensured
                     the correct 
                     			 call-convention was used. To set this functionality now, you must explicitly use the correct 
                     			 call-convention in the CALL statement. 
                     		  
                  
 
                  		 
                  		  
                  - CALLFH 
                     		  
                  
- If your code specifies the 
                     			 ACUFH parameter, it may now produce adverse effects when used. You should replace it with the methods described in 
                     			 Configuring Access to Vision Data Files or 
                     			 Configuring Access to RM/COBOL Data Files. Both of these methods offer a fuller-functioning solution to handling these types of data files. 
                     		  
                  
 
                  		 
                  		  
                  - DIALECT"ENTCOBOL" 
                     		  
                  
- DIALECT"ENTCOBOL" now sets NSYSMBOL"NATIONAL"; previously, this set NSYMBOL"DBCS". 
                     		  
                  
 
                  		   
                  		  
                  - DIALECT"RM" 
                     		  
                  
- DIALECT"RM" now sets PERFORM-TYPE"RM". If you recompile an application that uses DIALECT"RM", the behavior may change for
                     nested PERFORM statements. If that is the case, explicitly set PERFORM-TYPE"MF" after DIALECT"RM" to continue with the previous
                     behavior. 
                     		  
                  
 
                  		 
                  		  
                  - FLAGCD 
                     		  
                  
- This Compiler directive is no longer available in 
                     			 Enterprise Developer. Remove it from your code, otherwise you receive a 
                     			 COBCH0053 Directive invalid or not allowed here error. 
                     		  
                  
 
                  		   
                  		  
                  - ILREF 
                     		  
                  
- Previously, you could specify 
                     			 .jar files and other formats as a parameter when using this Compiler directive. Now, you can only specify 
                     			 .class files. 
                     		  
                  
 
                  		 
                  		  
                  - ILUSING 
                     		  
                  
- If you set this Compiler directive using the 
                     			 $set command, the imported namespace is only applicable to programs, classes and referenced copybooks in that file. If you set
                     the directive through the IDE or from the command line, the imported namespace is applicable to all programs and classes in
                     the project or specified on the command line. 
                     		  
                  
 
                  		   
                  			 
                  - JVMDECIMAL 
                     			 
                  
-  
                     				
                     Note: This is applicable to JVM COBOL only. 
                        				
                      This Compiler directive now controls how the following items are exposed in Java: 
                        				  
                        - Data items of type DECIMAL 
                           				  
                        
- Non-integral data items exposed as the result of ILSMARTLINKAGE 
                           				  
                        
- Non-integral data items exposed as the result of a PROPERTY keyword 
                           				  
                        
 
- Previously, these items would each be exposed as a ScaledInteger, which is still possible using JVMDECIMAL, but the directive's
                     default is to expose each item as a BigDecimal. 
                     			 
                  
 
                  		 
                  		  
                  - Compatible ACUCOBOL-GT file handling environment variables 
                     		  
                  
- The following environment variables, introduced for ACUCOBOL-GT compatibility, have been replaced with other environment variables
                     or configuration options that you add to your File Handler configuration file. No other ACUCOBOL-GT file handling environment
                     variables are supported. 
                     			 
                     
                        
                            
                              					 
                               
                                 						
                                 | Redundant variable | Replaced with |   
                                 						
                                 | FILE_CASE | FILECASE configuration option |   
                                 						
                                 | FILE_PREFIX | COBDATA environment variable |   
                                 						
                                 | FILE_SUFFIX | FILESUFFIX configuration option |   
                                 						
                                 | APPLY_FILE_PATH | n/a |   
                                 						
                                 | FILE_ALIAS_PREFIX | dd_ mapping |  
 
 Setting these environment variables will have no effect. 
                        			 
                      
 
                  		   
                  			 
                  - 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 */  
  
            	 
            
               Backward Compatibility with the Net Express and 
                  			 Mainframe Express IDE
               
 
               		 
               		
               The main differences between the Net Express, 
                  			 Mainframe Express and Eclipse IDEs are: 
                  		
               
 
               		
                
                  		  
                  - Perspectives. The Team Developer perspective shows the views and menus relevant to COBOL and PL/I development, such as the
                     
                     			 Application Explorer view, Program Outline, Outline and Console views. There are other perspectives for Debugging, the Interface Mapper and CTF. 
                     		  
                  
- Project > Build automatically. Whenever changes to a resource are saved, an incremental build starts, which rebuilds all the resources modified since the
                     last build. You can force a rebuild by using 
                     			 Project > Clean. 
                     		  
                  
- Build settings. These are available in three places: 
                     			 
                      
                        				
                        - Project > Properties > Micro Focus > Project Settings. You can specify any additional directives to be passed to the compiler at build time. These settings do not depend on the
                           active build configuration and are always passed to the compiler. 
                           				
                        
- Project > Properties > Micro Focus > Build Configurations. You can have multiple build configurations for different build scenarios and swap between them. You choose the configuration
                           you want to use, by setting it as the current active configuration. This then overrides the project language settings. 
                           				
                        
- Properties on the context menu for a single file. To set this, right-click the COBOL file in the 
                           				  Application Explorer view. The settings are specifically for this file and they override the currently active build configuration and the Project Language
                           Settings. 
                           				
                        
 
- Debug and run configurations. You need one of these before you can debug or run a program. They are available from: 
                     			 
                      
                        				
                        - Project > Properties > Micro Focus > Run-time Configuration. These are the run-time settings for this project, such as run-time arguments, run-time tunables, COBOL switches and so on.
                           
                           				
                        
- Run > Debug Configurations. Like build configurations, you can have multiple debug configurations and swap between them. These override the project
                           run-time configuration. 
                           				
                        
- Run > Run Configurations. These behave in the same way as debug configurations, but provide slightly different options. 
                           				
                        
 
- Cheat sheets. These are like tutorials and give step-by-step instructions on how to do a task, together with brief explanations.
                     See 
                     			 Help > Cheat Sheets > COBOL Development. There are cheat sheets to: 
                     			 
                      
                        				
                        - Create a project to say "Hello COBOL World". 
                           				
                        
- Import existing COBOL files into Eclipse 
                           				
                        
- Debug a program 
                           				
                        
 
Changes in some options and files delivered with the product include: 
                  		
               
 
               		
                
                  		   
                  			 
                  - ADIS 
                     			 
                  
- In earlier 
                     				Micro Focus products, the default location for the ADISCTRL file was 
                     				$COBDIR. The default location of the file in 
                     				Enterprise Developer is 
                     				$COBDIR/etc. 
                     			 
                  
 
                  		   
                  			 
                  - Default working mode 
                     			 
                  
- In 
                     				Server Express and in 
                     				versions of 
                     				Visual COBOL R4 and earlier, the default working mode set by the COBMODE environment variable was 32-bit. With the current release of
                     
                     				Visual COBOL and 
                     				Enterprise Developer, it is 64-bit. 
                     			 
                  
 
                  		   
                  			 
                  - Format of the index files 
                     			 
                  
- In 
                     				Net Express and 
                     				  Server Express, the default setting of the IDXFORMAT option was 4. With the current release of 
                     				Enterprise Developer, it is 8. 
                     			 
                  
 
                  		   
                  			 
                  - FILEMAXSIZE File Handler configuration option 
                     			 
                  
-  
                     				
                     In 
                        				  Net Express and 
                        					 Server Express, the default setting for FILEMAXSIZE was 4. With the current release of 
                        				  Enterprise Developer, it is 8. 
                        				
                      
  
            	  
            	 
            
               
Coexisting with Earlier 
                  		  Micro Focus Products
               
 
               		 
               	 
             
            	 
             
               		
                
                  		   
                  			 
                  - Run-time system error due to COBCONFIG 
                     			 
                  
- A run-time system error occurs if either the COBCONFIG or COBCONFIG_ environment variable is set when you run 
                     				   
                     				  Enterprise Developer applications or when you use 
                     				  Enterprise Developer to edit or create projects and the configuration file it refers to contains entries that are not valid for 
                     				  Enterprise Developer. 
                     				 
                     				
                     For example, this might happen if you have 
                        				  Net Express or 
                        				  Studio Enterprise Edition installed and either COBCONFIG or COBCONFIG_ is set for it. 
                        				
                      
-  
                     				
                     To work around this issue, ensure that 
                        				  Enterprise Developer is not running and then modify the configuration file by doing one of the following: 
                        				
                      
  
            	 
             
               		
                
                  		  
                  			 
                  - Licensing error due to environment settings (applies to Windows environments only) 
                     			 
                  
- The message "Micro Focus License Manager service is not running" can occur when you invoke a 
                     				  Net Express, 
                     					 Mainframe Express or 
                     				  Studio Enterprise Edition utility from 
                     				  Enterprise Developer. This happens when the tool is invoked with 
                     				  Enterprise Developer environment settings while it requires the 
                     				  Net Express or 
                     				  Studio Enterprise Edition ones. 
                     				 
                     				
                     This happens when you edit files such as .dat that have a file association with 
                        				  Net Express or 
                        				  Studio Enterprise Edition. 
                        				   
                        				
                      
-