This section describes significant changes in behavior or usage in the current and past releases of
Enterprise Developer
for Eclipse. These changes could potentially affect the behavior of existing applications or impact the way the tools are used.
Note: This list does not include the changes in behavior introduced by any of the Patch Update releases. Refer to the Patch Update
readmes for information about such changes.
.NET COBOL projects
The 9.0 release installs several .NET NuGet packages each of which contains the assemblies for a specific
Micro Focus functionality. New .NET projects, as well as existing projects you edit or build in 9.0 are linked to a core package,
MicroFocus.COBOL.Runtime.Core, that includes the basic functionality for the projects. You need to add any additional packages (such as a specific file
handler, COBOL Accept/Display etc.) manually to the projects.
Building existing .NET COBOL projects created prior to 9.0 might result in build errors. You can ensure compatibility by
enabling the use of the
MicroFocus.COBOL.Runtime metapackage. Alternatively, you need to add any required NuGet packages manually to the older projects.
See
Upgrading existing .NET COBOL project files for details.
Support for symbols files generated with previous versions of the product
Backward compatible support is provided for symbols files (.idy files) generated using any of the previous five major product releases.
When you attempt to debug, a version check of the
.idy file is carried out, and if produced with a product version older than the last five releases, it is rejected and you are
unable to debug with it. In such circumstances, recompile your application to generate a new
.idy file.
[5]
Compiling C programs with the cob command
On AIX platforms, when using the cob command to compile C or C++ programs (for example,
cob -xc filename.c) the compiler used is dependent on the version of the operating system: on AIX 7.2, an XL-based compiler is used; on AIX
7.3, a Clang-based compiler is used.
In a future release of the product (10.0 or later), only a Clang-based compiler will be supported, and any code compiled with
the XL-based compiler will require recompilation. To prepare for this change if you plan to upgrade, you can run a script
that scans for XL-compiled code, so you can see how much of an effect this change will have. The
checkbin script is available from
$COBDIR/bin: run
checkbin -h for more details.
LOCKDB replaces Enterprise Server Cluster Global Lock Manager (GLM)
The LOCKDB feature replaces the functionality of the Enterprise Server Cluster Global Lock Manager (GLM). See
Enterprise Server LOCKDB for more information.
Locally-declared variables
A new Compiler directive, DECLARE, has been introduced to support the introduction of the parameterized sections syntax. The
default behavior of this directive (DECLARE"2") is to allocate locally declared directives afresh each time a SECTION is entered.
Previously, the default behavior was that locally declared variables were added to local-storage, and therefore would not
be allocated afresh each time a parameterized section is performed. To maintain previous behavior, set DECLARE"1"; however,
this setting is not supported when compiling to
JVM COBOL, or when a program contains a parameterized section.
INITIALIZE <condition-name> produces syntax error
The INITIALIZE <condition-name> statement, where condition-name is true for multiple values, now correctly receives a syntax
error in all scenarios. In previous releases, some scenarios would allow compilation (although did not work).
Symbols files used when debugging
By default, the debug engine checks that the symbols file (.idy file) being used to for the debug session matches the COBOL program to be debugged; that is, it was the one produced the
last time that the program was compiled. If the files do not match:
- For JVM COBOL, "The symbol information does not match" is displayed in the debug stack (within the Debug perspective).
- For native COBOL, "The program does not match the symbol information at:
<path-to-idy-file> is displayed in the
Console window.
For JVM COBOL, you can continue to debug, but if you receive the above message for native COBOL, debugging cannot continue.
To disable the check for native COBOL (only), clear the
Require program symbols (.idy) to match the program option, which is available on the
General tab of the debug configuration in effect.
Use of the com.microfocus.cobol.references package in JVM COBOL
Note: The APIs within this package are undocumented, and are not intended for customer use.
This package was previously used to pass all types BY REFERENCE in a JVM COBOL application, including to pass items from
a Java program to a JVM COBOL program (although, this is not intended customer use).
In this release, the package has been split into two:
com.microfocus.cobol.references and
com.microfocus.cobol.user_references. The
references package is used to pass, BY REFERENCE, all COBOL items that map to Java primitive types (short, int, etc...). All other types
use the
user_references package (for String, array of primitive types, etc...). Classes in the
user_references package are generated as required by the Compiler, and need to be added to the JVM COBOL application's
.jar file.
There are two issues to be aware of:
- If you have created any Java code to use
com.microfocus.cobol.references directly, that code needs to be updated to use the
user_references package for passing non primitive types.
- A separate package is now used for the Compiler-generated classes, to allow signing of
.jar files to work correctly. This is because separately-signed
.jar files cannot contain the same package.
If a customer application has two separately-signed
.jar files, and each one requires the use of the Compiler-generated
com.microfocus.cobol.user_references classes, a security exception will occur when the
.jar files interact with each other. (This was also true when the namespace
com.microfocus.cobol.references was used.)
The solution is to move any structures reliant on
com.microfocus.cobol.user_references out of the generated class file directory structure for the application(s), and to package those structures into a separate
jar file, which can also be signed, if required - this
.jar file would also be need to be added to the CLASSPATH for the overall application.
If your application is affected by this issue, your feedback, via Customer Support (Micro Focus
Customer Care website), would be appreciated, to help us refine a solution to these issues.
Default passing mode when passing pointers to a method
In previous releases, if a pointer was passed to a method without explicitly stating the passing mode (BY VALUE or BY REFERENCE),
it was assumed to be passed BY REFERENCE. From this release, such items are assumed to be passed BY VALUE, making them consistent
with other parameter types.
To pass a pointer BY REFERENCE, you must explicitly state
reference in the method signature: for example:
method-id M1(reference ptr as pointer)
...
And ensure that the argument is also passed with the
reference keyword; for example:
invoke M1(reference myptr)
...
Default encoding for new projects
New COBOL projects created under a Japanese locale now default to a text file encoding of UTF-8. This default can be changed
by a preference setting in
. (This preference can also be set for non-Japanese locales, but has no default initially.) Also, within each project, this
setting can be overridden at the usual project levels (project settings, build configuration, etc...) by setting the SOURCE-ENCODING
directive.
For more information, refer to
Specifying character encoding.[1]
Viewing active spool jobs
A new EXTFH configuration option, FLUSHSYSOUT, is now available to enable you to view the progress of active spool jobs. When
set to ON (the default), the buffer is flushed after each record is written, enabling you to view the progress as it runs.
Previously, a pre-defined buffer had to be completely written to before progress was displayed; this behavior was more performant,
and so can be re-enabled by setting FLUSHSYSOUT=OFF
[2]
Changes in Behavior in Release 8.0
Back to Top
For an up-to-date list of these changes for release 8.0, see this product's Release Notes available from the
Product Documentation section of the
Micro Focus
Customer Care website.
Table Results view
A new
Select element list (
) button has been added to the Team Developer Table Results view which enables you to directly select an existing list. Navigation
using the arrow buttons has changed to enable you to browse the history for the current Eclipse session. You can select a
lists from a previous session by clicking
Select element list. When creating or selecting an element list a list history is built.
Validation during emulation of ICETOOL's SELECT operator
A validation check has been implemented to ensure that when making use of the DISCARD operand, the data set opened for output
does not have an LRECL greater than the LRECL that ICETOOL is expecting. If it does, the job will fail.
This check may now cause jobs that previously ran successfully to now fail, but this behavior is now consistent with that
of the mainframe.
Changes in Behavior in Release 7.0
Back to Top
For an up-to-date list of these changes for release 7.0, see this product's Release Notes available from the
Product Documentation section of the
Micro Focus
Customer Care website.
Licensing requirements
The following platforms - Solaris, Red Hat on IBM Z System, SUSE on IBM Z System, and Ubuntu - are now licensed using a new
licensing model called AutoPass. These platforms and licenses are not available from the Software Licenses and Download portal
(sld.microfocus.com) if you are using the existing SafeNet license technology. To obtain AutoPass licenses for the aforementioned platforms,
contact your account manager to discuss your actual requirements, and also raise a support incident to track the request.
Exceeding the maximum record length
The maximum record length supported by the File Handler is 62KB. If you create records that exceed this limit, a
COBCH0649 error is generated on compilation. You can continue to use programs that utilise these large records, but you may experience
adverse results in your file handling operations.
ISO2002 support via the Compiler directive
The ISO2002 directive now supports an option to provide different levels of ISO2002 features. ISO2002"1" provides the level
of features supported in Server Express and Net Express, and ISO2002"2" provides those features, plus additional ones added
since Visual COBOL. If you have used the ISO2002 directive in Server Express/Net Express, and are migrating to
Enterprise Developer, use ISO2002"1" if your applications are affected by the change in behaviors provided with ISO2002"2".
Initializing variable-length groups when ODOSLIDE is in effect
The target of an INITIALIZE statement cannot be a variable-length group if the ODOSLIDE Compiler directive is set. This now
results in a severe syntax error, whereas in previous releases this was incorrectly allowed to compile and produced unexpected
run-time results.
ESCWA integration in the IDE
The Server Explorer pane in the IDE now connects to the Enterprise Server Common Web Administration (ESCWA) service to administer
the enterprise servers associated with your projects. Unfortunately, any previous associations between a server and project
will need to be re-established using the
Associate with project option available when you right-click an enterprise server node in
Server Explorer. Any stored server credentials are also lost and will have to be stored again when you first connect to the server.
Producing a stackdump
Stackdump production is now only available on Linux platforms (both 32- and 64-bit, where supported). Previous availability
on Solaris platforms is no longer supported.
Reverse Debug and Live Recording
Reverse Debug and Live Recording functionality is licensed and installed separately from
undo.
io. You can enable reverse debug functionality by downloading the extension from the
Micro Focus Marketplace.
JVM COBOL interoperating with other languages
JVM COBOL programs compiled with REENTRANT"2" now produce instance methods, whereas previously, compilation of these programs produced
static methods. If your non-COBOL code relies on these methods being static, you will have to refactor your code to handle
this.
Compiling C programs with the cob command
On AIX platforms, when using the
cob command to compile C or C++ programs (for example,
cob -xc filename.c) the compiler used is dependent on the version of the operating system: on AIX 7.2, an XL-based compiler is used; on AIX
7.3, a Clang-based compiler is used.
Changes in Behavior in Release 6.0
Back to Top
For an up-to-date list of these changes for release 6.0, see this product's Release Notes available from the
Product Documentation section of the
Micro Focus
Customer Care website.
Early warning of compatibility issues with current operating systems
In order to better support modern operating systems, we are aligning closely with their operability guidelines. We now detect
previously-undefined behavior when interacting with OS level functions.
Error RTS096 alerts you to any calls to the operating system's fork() API, in a process that has directly or indirectly called
COBOL functionality, in your code.
The error gives you an early diagnosis of a situation which, if left unchecked on modern operating systems, could lead to
deadlocks, crashes or other failures at run time. These problems would often occur intermittently and be very challenging
to track down.
See the KB article
https://community.microfocus.com/t5/Visual-COBOL-Knowledge-Base/fork-rts64-Error-96-encountered-in-child-process/ta-p/1771191 for more details.
Call prototyping in library routines
The copybooks
cbltypes.cpy and
cblproto.cpy, provided by this system for call prototyping in library routines, include features of the latest syntax, specifically the
CONSTANT keyword. If these files are used in conjunction with the MF directive, it should be set to the current level, 21;
otherwise, you should remove the directive, or do not use these copybooks.
Database Access - OpenESQL
Just like other DBMS SQL COBOL precompilers, OpenESQL now follows embedded SQL standards and disallows the use of group host
variables in WHERE <column> = :hostvar clauses. In the past, this was not flagged at compile-time, and would lead to unpredictable
results when executed.
Handling of anonymous root field in JSON
For JSON (RESTful) service interfaces, the IMTK no longer forces the outermost (root) structure of a JSON message body to
always be a JSON object, but now also supports a root JSON array or primitive. Though the root is obligatorily nameless in
the JSON message, in the Interface Mapper the anonymous root must now be defined in the operation's interface fields as the
top-level body field. Consequently, since there cannot be more than one input top-level body interface field nor more than
one output top-level body interface field in an operation, all interface fields that appear in the body of a message must
now be children of the top-level body field. Any non-conforming pre-6.0 JSON service interface is still supported as-is, but
conformance would be required upon saving in the Interface Mapper.
National data items in
JVM COBOL code
JVM COBOL code that uses IS NUMERIC tests on NATIONAL or NATIONAL NUMERIC data items, or uses NATIONAL NUMERIC data items in programs
compiled with the CHECKNUM Compiler directive must be recompiled in this release. Compiled code from earlier products that
uses such constructs will generate a
MissingMethodException error when run under this release.
Rebuild required for projects unable to locate the Windows Resource Compiler
Projects that were last built in a version prior to 6.0, and that rely on the Windows Resource Compiler (RC.exe) need to be rebuilt in Eclipse, otherwise they may produce an error. This is due to the relocation of
RC.exe in this version of the product. Affected projects will be those that explicitly reference a manifest file (used to include
such things as cursors, fonts, and icons), and that are built directly from the command line.
The problem is fixed if you open and build the project within the Eclipse IDE (as
.cobolBuild is rebuilt to find the new location of
RC.exe). Alternatively, you should ensure that PATH contains a reference to
RC.exe if you continue to run projects from the command line.
VALUE clause not permitted to follow items that use the OCCURS DEPENDING ON clause when ODOSLIDE in effect
If your Working Storage contains a data item with the OCCURS DEPENDING ON phrase, and ODOSLIDE is in effect, any subsequent
data items at the same or higher level must not contain a VALUE clause. If they do, an error (COBCH1962) is now generated.
If you cannot remove the VALUE clauses from your source code or remove ODOSLIDE, contact
Customer Care.
iFileshare
iFileshare is no longer a strategic component of this product, and is no longer being enhanced. We recommend that if you currently
rely on it, you migrate to a stand-alone FileShare server instead; see
Using Fileshare with Enterprise Server.
Changes in Behavior in Release 5.0
Back to Top
For an up-to-date list of these changes for release 5.0, see this product's Release Notes available from the
Product Documentation section of the
Micro Focus
Customer Care website.
Communications Facility syntax no longer supported
The Communications Facility (also referred to as the COMMS SECTION or COMMUNICATION SECTION) has long since been deprecated.
Certain syntax relating to this was still accepted (but ignored) by the Compiler. That syntax is no longer permitted, and
if encountered, the Compiler will now generate an error (COBCH1895 Communication Facility not supported); you must remove the section from your sources before recompiling.
Monitoring Resource Manager Connections
The processing associated with the ES_XA_RECONNECT environment variable has changed.
This processing has been replaced by a new CICS transaction (CRCN) monitoring and testing for disconnection and attempting
reconnection at regular intervals.
ES_XA_RECONNECT is now used to specify this interval (in seconds) between connection tests carried out by the transaction.
If you currently have ES_XA_RECONNECT=TRUE, set it to an acceptable time for your installation (e.g. 5 seconds, 30 seconds,
60 seconds, etc…)
The ES_XA_???_NB_RETRIES variable is also no longer required with the new method of monitoring connections.
One or more RMs can be excluded from CRCN processing using environment variable ES_XA_EXCLUDE_MONITORING, i.e., ES_XA_EXCLUDE_MONITORING=RM1;RM2;RM3
excludes three resource managers, named RM1, RM2, and RM3.
See
Monitoring Resource Managers for more information.
Configuring SSL Security
The validation of server certificates for TLS (also known as SSL) connections has been corrected. This is likely to cause
connection failures in cases where previously connections were incorrectly allowed. For example, if Fileshare is secured with
TLS, client applications must be configured to use the hostname of the Fileshare server as it appears in the server's certificate.
If the Micro Focus Directory Server is secured with TLS, then MFDS clients, such as the casstart command-line utility, will
need to connect to it using a hostname that appears in the certificate MFDS is using. Consult your Certification Authority
administrator for more information.
Note: A certificate can contain multiple hostnames.
The default behavior for TLS certificate Common Name (CN) matching has changed for
Enterprise Developer 5.0. It now requires a strict match on the CN value or any Subject Alternate Name (SAN). For example, 127.0.0.1 and localhost
are no longer implicitly equivalent, nor are hostname and its IP address or fully-qualified domain name (FQDN) variants.
When starting a region from the Enterprise Server Administration Web interface, a resolved IP address is used for the casstart
-m parameter value. A resolved IP address is also used even if a hostname is specified on a command line startup. To change
this behavior and use a resolved hostname value (as determined by the machine TCP configuration, for example, hosts file entries.)
set the environment variable MFDS_DNS_RESOLVE=Y. To use an unresolved string literal hostname, for example, a value explicitly
passed in via the casstart -m command line parameter, set MFDS_DNS_RESOLVE=N.
JCL - Copying Empty Data Sets
As of Patch Update 5 of release 5.0, the incorrect changing of a VSAM data set file status from pristine to used when REPROing
an empty data set has been corrected. When REPROing records into a data set, if the source data set is empty, the destination
data set is not opened. The affect of this is that when OPENing INPUT a VSAM data set that was the destination of a REPRO
of an empty data set, the file status is 35, rather than 00.
JES Housekeeping
When using the MVSSPLHK housekeeping process, the Spool Housekeeping history file (INDEXO) can now support 7-digit job numbering.
When you enable 7-digit job numbering, any existing data sets (specified by INDEXO) must be converted to a new format. A sample
.jcl file (CONVERT.JCL) and a conversion utility (MFHKHCOV) are both supplied with this version of the product. Edit the
.jcl file to reflect the name of your data sets and run it to convert the file. Once converted, the newly formatted data set supports
both 5- and 7-digit job numbering. If you only use 5-digit job numbering, you do not need to run the conversion.
See the
MVSSPLHK Spool Housekeeping Process section in the Help for more information.
JES Security
JCL security checks have been extended to verify that a user who submits a job has, at least, READ access to partitioned
data sets whose members are used as catalogued procedures or INCLUDE files in the JCL file. Similarly, the user who runs the
job must have, at least, READ access to JOBLIB and STEPLIB partitioned data sets mentioned in the job.
JES Catalog Updates
When using the public catalog API, MVSCATPB, changes to or deletion of a data set that is currently allocated to the job step
are not permitted after the data set has been opened. If attempted, MVSCATPB will return a
retcode of
78-RET-VALIDATE-ERROR (20) and a reason code of
78-dataset-in-use (19).
Also, when updating the DSORG of a data set using the REPL function, a check now verifies that the change is appropriate.
If it is not, a return code of
78-RET-VALIDATE-ERROR (20) and a reason code of
78-MISMATCHED-DSORG (50) is produced.
File Handling
Applications which make calls directly to EXTFH or EXTSM, passing the FCD (File Control Description) now need to initialize
the FCD correctly. This means that any unused or reserved areas need to be initialized with binary zeros or you could receive
an RTS114 error, for example when calling EXTSM. See
File Control Description (FCD).
Calling coblongjmp() within an error procedure, exit procedure or signal handler
Calling coblongjmp() within an error procedure, exit procedure or signal handler now generates a fatal Run-Time System error
message:
COBRT131 coblongjmp() can not return from current context (Fatal).
This scenario was previously documented as a restriction, and is now enforced, to prevent subsequent issues. The resolution
to such an error is to refactor the code to remove the coblongjmp() call from any error procedures, exit procedures, or signal
handlers.
Changes in Behavior in Release 4.0
Back to Top
For an up-to-date list of these changes for release 4.0, see this product's Release Notes available from the
Product Documentation section of the
Micro Focus
Customer Care website.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
Compiling
The Compiler now produces an E level message -
COBCH1888 Typedef is defined differently in another external program - if different external programs have conflicting definitions of the same typedef name. To restore the previous behavior,
where the earlier definition was ignored, use the directive HIDEMESSAGE"1888".
Enterprise Server security
Web access to the Enterprise Server Console Log and Communications Server Log is now restricted when the enterprise server
region is secured using external security. Users will be required to provide a valid username and password in order to view
either log file.
Web access to the logs can be controlled using the standard ACL definitions under the new
Communications Server resource class, with resources
Enterprise Server Console Log and
Communications Server Log. If these resources exist, users require 'read' access to be allowed to view the logs. If the resources do not exist, the
default behavior is to allow 'read' access on entry of a valid username and password.
An example of the new resource class and resource definitions can be found in the
es_default_ldap_unix.ldf file, which is located in the
etc sub-directory of your product directory.
HCO for SQL Server (HCOSS)
When using the DIALECT=MAINFRAME setting, the OpenESQL STRICTPARSE SQL compiler directive option is now turned on by default
for ODBC (DBMAN=ODBC). This ensures strict compliance with z/OS DB2 syntax.
If your applications require the OpenESQL preprocessor to behave as it did in an earlier release, compile using NOSTRICTPARSE.
IMTK runtime configuration
Due to changes made to the
Configure Runtime Environment dialog box in this release, after you upgrade your system, you must reenter all previously set values on this dialog box
before running a service.
Application Server JCA Support for
Enterprise Server
With this release, all CICS-related Java artifacts have been delivered using a new directory structure under the
javaee-ccl directory of your
Enterprise Developer installation directory. The
javaee-ccl directory structure mimics the structure of the
javaee directory. For example,
mfccl.jar is no longer located in the
bin subdirectory, but can be found in the
javaee-ccl\common directory.
Test Coverage results
Schema changes that affect the test coverage results generated from the
tcutil utility mean that if you propagate the results to a third-party application (for example, an XSLT processor), and rely on
the
<copyFileCoverage> element, you need to alter your transformations to focus on
<sourceFileCoverage> instead. The element was renamed to more appropriately reflect its contents, as
tcutil now gives global coverage for all source files (not just copybooks).
Changes in Behavior in Release 3.0
Back to Top
For an up-to-date list of these changes for release 3.0, see this product's Release Notes available from the
Product Documentation section of the
Micro Focus
Customer Care website.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
JES-enabled enterprise servers
Back to the list
Important: Existing JES-enabled Enterprise Server regions must perform this upgrade to continue using JES functionality. If you start
a region without upgrading, the following message is displayed in the console log, and JES functionality is disabled:
JES000058E JES validation - Product requires new spool control files. Run spool conversion utility, splconv, to create them.
In this release, the infrastructure of the JES spool repository has been upgraded in order to improve performance. For each
JES-enabled region, before you can submit any jobs to JES, you must run the spool conversion utility; any newly created regions
will automatically be configured to use the new spool files.
The conversion process converts the information in the existing spool files to a set of new files required under the new system.
There should be no loss of data in moving to the new system.
As well as significantly improved times when running housekeeping tasks, these changes have the additional benefits:
- The new infrastructure is more disk-efficient, reducing the space required by the spool files by up to 75% in some cases.
- Internal indexing is greatly improved, resulting in quicker generation of messages and SYSOUT records during processing.
- Improved navigation of spool queues: job status
Complete replaces the
Output,
Out Hold, and
Printed statuses, and completed jobs with any combination of sysout files can be displayed in a single list.
- Increased range of job numbers, from 5 digits to 6 or 7 digits; see details on the
MF_MVSJOB environment variable.
Important: After converting to the new JES spool infrastructure, we recommend that you do not employ the increased range of job numbers
until you have thoroughly tested the new infrastructure. Reverting back to the previous JES spool files is possible, but requires
that you remove all job entries using more than 5 digits, for which there is no easy process.
To run the spool conversion utility
- At the
Enterprise Developer command prompt, set the following environment variables, as required:
Variable
|
Description
|
MFSYSCAT
|
The location and name of the current JES catalog. This is mandatory.
If multiple catalog files are being used (that is, one or more user catalogs are defined), this environment variable should
point to the catalog where JES spool datasets are cataloged.
|
MVSSPOOLDIR
|
The location of the current JES spool control files (for example: casspool.dat). This is only mandatory if the location is
different to the location of the JES catalog.
|
NEWSPOOLDIR
|
The location for the resulting JES spool control files (that is, the SPL* files if running the conversion, or the old-style
spool files if running the regression). This is only mandatory if the location is to be different to the location of the existing
spool files.
|
MFSYSCAT_ERRS
|
The number of catalog errors that will be tolerated during the conversion process before the conversion is terminated. This
is optional, and defaults to 100.
If the process is terminated, the following error is produced:
*** Error: Error count exceeded - program terminating
|
- Type
splconv, then press
Enter.
The conversion process runs, and details of the files and records converted are displayed to screen.
Tip: It is common to see messages of the following type as the conversion runs:
*** Error: Error raised on READ of MVSSPL
File status is 23
Processing record: Type=15 J#=,job no.> Seq#=<seq no.>
Such a message is produced when a casspool sysout record is found, but no matching record is found in the MVSSPL01/02 file.
The record type (15) indicates that this is an active spool record, which should only be present in casspool if a copy of
the file were made while the associated ES region was in a started state, or the associated job had crashed.
These messages can be safely ignored, but if more than 100 are generated, the default error limit will be exceeded, causing
the conversion to terminate. If this situation occurs, set the error limit to a higher value, using the MFSYSCAT_ERRS environment
value, and rerun the conversion process .
- If MVSSPOOLDIR and NEWSPOOLDIR were set to different locations prior to running the conversion, you must now set MVSSPOOLDIR
to the value of NEWSPOOLDIR.
Note: If you do not perform this step, you will receive the following error when you start your region, and JES fails to initialize:
JES000058E JES validation - Product requires new spool control files. Run spool conversion utility, splconv, to create them.
- You can now start the region identified by the variables, and begin to submit jobs.
Reverting to the previous JES spool repository
If you plan to downgrade to an older version of your current product, any enterprise server region that has been converted
or created with the current product will not be compatible. Before you can use them, they must be reverted to using the old
JES spool repository.
Use this process if you are wanting to use a JES-enabled region in a previous version of the product:
- At the
Enterprise Developer command prompt, set the environment variables listed in the
To run the spool conversion utility process, as required.
- Set an additional variable, SPLREGR_TARGET, to
PRE30.
- If the region has started to use 6- or 7-digit job numbers (an enhancement new to version 3.0 of the product), then before
you run the regression, you must remove the jobs that are using these numbers, and ensure that the MF_MVSJOB environment variable
(or the
SPLJNO.dat file if the variable is not used) does not specify an upper limit greater than 5 digits.
Note: If using the MF_MVSJOB environment variable, to revert to 5-digit job number support, set MF_MVSJOB=<low number>+<high number>, where
high number is less than 0099999, and ensuring that the + sign is used to separate the low and high values.
- Type
splregr, then press
Enter.
The regression process runs, and details of the files and records converted are displayed to screen.
You can now use the region identified by the variables in previous versions of
Enterprise Developer.
Exporting the spool files to Enterprise Server for .NET
If you plan to export a region to Enterprise Server for .NET, any enterprise server region that has been converted or created
with the current product will not be compatible. Before you can use them, they must be reverted to using the old JES spool
repository.
Use this process if you are exporting a JES-enabled region to Enterprise Server for .NET:
- At the
Enterprise Developer command prompt, set the environment variables listed in the
To run the spool conversion utility process, as required.
- Set an additional variable, SPLREGR_TARGET, to the appropriate value:
- DOTNET5
- Create spool files for use on Enterprise Server for .NET, using a maximum of 5 digits for job numbers.
- DOTNET7
- Create spool files for use on Enterprise Server for .NET, using a maximum of 7 digits for job numbers.
- Type
splregr, then press
Enter.
The regression process runs, and details of the files and records converted are displayed to screen.
You can now use the region identified by the variables in Enterprise Server for .NET.
Compiler Directives
The default for the FASTINIT directive has changed: FASTINIT is now the default when setting the MF dialect. The directive
remains not set by default (that is, NOFASTINIT) for other dialects.
JES security - the PHYSFILE resource class
Back to the list
- The PHYSFILE security setting is now checked when a dataset entry is inserted into the catalog, or when a dynamic PDS member
is created. The check is made for all cataloged files, including spool files (for example, JESYSMSG and SYSOUT files). You
should review any existing PHYSFILE rules to ensure they are correct, otherwise access may be denied where it was previously
allowed; see
Resource Classes for JES Security for more information.
If the PHYSFILE class is created in the LDAP repository it is necessary to add appropriate rules to allow users that submit
jobs to have 'write' access to the job log location, so that job submissions are successful.
Note: If the files provided with release 3.0 have been used to populate the LDAP repository, the PHYSFILE resource class is created
with no rules.
Managed COBOL
Back to the list
References to types within an assembly other than
mscorlib need to be explicitly referenced. You can achieve this by using the ILREF Compiler directive.
Previously, in certain circumstances, the Compiler would allow access to types within the
System.dll assembly without the need for an ILREF"System" directive.
OpenESQL
Back to the list
The new OpenESQL OPTIMIZECURSORS SQL compiler directive option is turned on by default for
ODBC (DBMAN=ODBC).
This
ensures that embedded SQL cursors that use WITH HOLD and FOR UPDATE clauses have the same data integrity across all databases.
If your applications require the OpenESQL preprocessor to use the behavior provided in an earlier release, compile them using
OPTIMIZECURSORS=NO.
Changes in Behavior in Release 2.3 Update 2
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
Compiler
Back to the list
- In previous product releases, the scoping rules for nested programs (as defined in ANS85 COBOL), were not enforced in managed
COBOL (.NET and JVM). This meant that, in cases where program A contained programs B1 and B2, and programs B1 and B2 contained
C1 and C2, respectively, it was possible to call program C2 from C1, for example. The lack of scoping rules also meant that
it was not possible for B1 and B2 both to contain a program with the same name.
This product release enforces the correct ANS85 scoping rules for nested programs, including COMMON programs, and makes it
possible to have multiple programs with the same name at different levels of the nesting hierarchy. In this way, the behavior
in managed COBOL is now compatible with the behavior of native COBOL programs.
- Replacing a partial token no longer causes the second part of the token to appear on a new line. This could happen if the
new text was larger than the text being replaced.
2869185 (1105763)
- There is no longer a problem opening an RM/COBOL indexed file when the program has a RECORD CONTAINS n CHARACTERS clause
and there are record descriptions with lengths less than n. This situation previously caused a 39 error on the OPEN (other
than OPEN OUTPUT) because there was a mismatch in the minimum record length.
Enterprise Server
Back to the list
- Previously, it was possible to install groups that should not have been installed. If a group name, as defined in the Startup
List, did not exist in the list of Groups then the next Group in the alphabetical order would be loaded instead. Now, if a
Group is not defined in the list of Groups, a warning that the Group could not be loaded is issued.
2869848 (619107)
- On UNIX, if the "File Path" setting was not specified in the configuration of an Enterprise Server, the environment variable
TXFILEP was defaulting to $COBDIR/etc/cas. This has been changed and TXFILEP is not populated when the "File Path" is not
specified.
IDE
Back to the list
- This update modifies any existing connections defined in an Eclipse workspace. If the connections had any non-default values,
those values could revert to their original default setting. After installing this release, before you use any remote connections
for the first time, you need to check the settings and amend them as necessary.
2852872 (1103699)
Micro Focus Directory Server
Back to the list
- The "-n" option for the mfds command now supports hostnames as the network addresses in addition to IPv4 addresses.
2816871 (1099564)
Monitoring and Management
Back to the list
- Messages that are written to the console log by applications that perform "display upon console" now contain a standard message
ID (CASMG0001I).
2854207 (1103659)
JCL Support
Back to the list
- A printer exit can now evaluate the spool copybook field lk-dest-source-is to find the source of the value in the spool DEST-NODE
and DEST-USERID fields, to determine if it is from a SYSOUT 'DEST=' value or from a /*ROUTE PRINT value.
2852302 (1103304)
PL/I Support
Back to the list
- A problem with PUT STRING when compiled with the -bigendian option in effect has been fixed. Note that when upgrading your
application from a version of
Enterprise Developer earlier than 2.3 Update 2, you must recompile any program using PUT STRING.
2857374 (1104039)
- Previously, if using the -incafter option of the macro preprocessor to infuse a %INCLUDE with macro logic, you were required
to schedule a second macro pass to preprocess the contents of the %INCLUDE. This is no longer necessary and the macro logic
will be preprocessed on the first macro pass as if it was part of the original source.
- Previously, if writing output to a CTLASA (PRINT) file with the optional LINE(x) parameter having a value of x that was less
than the current line, PL/I did not generate ASA Control characters to end of page and emit the output on the first line of
the new page. This no longer occurs.
2871278 (1106114)
- Previously, if SIGPIPE was triggered when a PL/I program was in the callstack, then PL/I error handling got control and processed
the ERROR. This no longer occurs. Users who rely upon catching SIGPIPE can re-enable it by adding a call to cobpostsighandler()
to their code to turn it back on.
2859980 (1104399)
Changes in Behavior in Release 2.3 Update 1
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
Application Workflow Modeller
Back to the list
- Tools used in the File_Descriptor_Has_Action relationship now support Resource Processing. This means tools defined within
a dialog table action can modify properties of the selected table rows.
2835290 (1101493)
- The standard
Enterprise Developer project model now contains additional context menu actions under "Open With..." for IMS DBD and PSP files to open either
the DBD, the PSP or the IMS Database editors.
- You no longer receive a REXX error when recompiling a component from a baseline.
Communications Server
Back to the list
- A new option,
[Operation] synchronous=yes (or 1, or Yes, or y or Y) is now supported in the Fileshare listener configuration.
Data Tools
Back to the list
- When filtering a data file, if there is no valid temporary directory set, you are prompted to set one using the option in
the Preferences dialog box.
- The editor no longer allows you to open a file if the file size (without header size) is not a multiple of the record size
on disk; an error is produced instead.
- The level numbers displayed in a record layout correspond to the levels used in the .idy file that was used when the structure
file was created.
Editor Writing Assistance
Back to the list
-
Content Assist suggestions are no longer offered if you start typing numbers and automatic triggering of suggestions is enabled.
Enterprise Server
Back to the list
- In situations where the crossregion option of the shareoptions parameter is either 1 or 2, both a CICS and a JCL job could
have the same file open for IO. This has been fixed. In addition, the '-oo' (and the synonymous '-o ') option of the casfile
command has been deprecated. If '-oo' is used, you will now receive a return code 4 (warning). Instead of '-oo', you need
to use the '-ooi' option (open immediate). If -oo is used with a region configured for VSAM shareoption use, the '-ooi' option
is now forced.
2839272 (1101672)
- When using an external security manager to secure a region, the EXEC CICS START TRANSID API now works as expected and honors
the USERID option. Previously, the started transaction would run under the authority of the user that executed the EXEC CICS
START API.
2835112 (1101201)
IBM Language Environment for OS/390 & VM Support
Back to the list
- When calling SETENV, SYSOUT(?) can be specified. This designates the file as a spool file but will not update its CLASS.
2841220 (1101955)
IDE
Back to the list
- When compiling to multiple executables from the command line, you must specify the -logger parameter to enable the correct
log to be output to the console.
2848855 (1102932)
- For a file added to a JVM COBOL project by adding the folder that stores the file (using the
Source tab on the
Micro Focus > JVM Build Path > Source page in the projects' properties), there is now a new context-menu command,
Copy to Output Directory, in COBOL Explorer. Choosing this command on a file triggers a build of the project and copies the file into the output directory.
2699374 (1094326)
JCL Support
Back to the list
- The return code from a JCL printer exit will now be checked. If it is non-zero, the dataset that was sent to the printer
exit will be moved to the OUT-HOLD queue rather than to the PRINTED queue. To release the dataset, click "Release" in the
ESMAC view - this will also present the dataset again to the printer exit.
2834206 (1101079)
- Under Enterprise Server, flushing an active job previously resulted in all associated spool records for the job being deleted,
but left the job running. A subsequent attempt to kill the running job using casout/seeout failed due to the job spool record
no longer existing. This change causes the flush request to fail if the job is active. You must kill the active job first
before attempting to flush it.
- The catalog search facility has been enhanced to provide a quicker return when using wildcards in the dataset name selection.
2698700 (1094266)
- REXX can now be executed in VSE via IKJEFT01 and IRXJCL using in-stream data.
2831984 (1100883)
Run-Time System
Back to the list
- The Audit Manager contains a new TIMEOUT option. When a client sends an audit event using the ‘CBL_AUDIT_EVENT’ API, the
event gets placed in the next available slot in a shared memory block. If shared memory is full (i.e. no slots are available),
the event is re-tried until a slot becomes available.
If no Audit Manager is running, no events are removed from shared memory, and no slots will ever become available. Therefore,
use the new TIMEOUT option so that a client will only retry sending until the TIMEOUT duration is reached; after which, it
will stop sending audit events. If Audit Manager is recycled, events will start to be sent again.
To set the TIMEOUT for all Audit Manager clients, specify the following line in the Audit Manager configuration file:
mfaudit.timeout = n
Where n is the timeout value in milliseconds.
To set the TIMEOUT for an individual Audit Manager client, use the ‘CBL_AUDIT_CONFIG_PROPERTY_SET’ API. It takes an integer
property-value, which should be the timeout value in milliseconds.
If TIMEOUT is set using both methods, the client property TIMEOUT takes precedence, unless this property is set to zero; in
such cases, the TIMEOUT in the configuration file is used. If you use the ‘CBL_AUDIT_CONFIG_PROPERTY_GET’ API on the ‘TIMEOUT’
property, it only returns the TIMEOUT value for the client property; it does not return the value set in the configuration
file.
2838689 (1101685)
- Several changes have been made to the implementation of IS DBCS, IS KANJI and IS JAPANESE class condition tests:
- IS [NOT] DBCS
When CHARSET"EBCDIC" is in effect, the IS DBCS test returns true when each character in the string is deemed to be a valid
DBCS character. A valid character has its first byte in the range 0x41 through 0xFE, and the second byte in the range 0x41
through 0xFE, or the character is an EBCDIC space (0x4040). When CHARSET"ASCII" is in effect, the DBCS test uses an OS call
to determine if the string contains only valid double-byte character, and returns true if valid.
- IS [NOT] KANJI
When CHARSET"EBCDIC" is in effect, the IS KANJI test returns true when each character in the string is deemed to be a valid
Kanji character. A valid character has its first byte in the range 0x41 through 0x7F, and the second byte in the range 0x41
through 0xFE, or the character is an EBCDIC space (0x4040). When CHARSET"ASCII" is in effect, the IS KANJI test uses an OS
call to determine if the string contains only valid Kanji character, and returns true if valid.
- IS [NOT] JAPANESE
When CHARSET"EBCDIC" is in effect, the IS JAPANESE test is not supported, and will generate a COBCH1806 Feature not supported
in selected charset message on compilation.
When CHARSET"ASCII" is in effect, the IS JAPANESE test returns true when the string contains only double-byte Japanese characters
or single-byte Japanese Katakana characters, and returns true if valid. When NSYMBOL"NATIONAL" is in effect, these class tests
are not supported, and will generate a COBCH0303 Operand has wrong data-type message on compilation.
2812895 (1098401)
SQL Option for DB2
Back to the list
- Spurious errors were sometimes returned while querying using an ALIAS.
2830383 (1100609)
Changes in Behavior in Release 2.3
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
Where present, the numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident
(RPI) number (in parentheses).
CAS Security
Back to the list
- The Enterprise Server External Security Facility now includes MLDAP ESM Module 2.0, with a new algorithm for identifying
the best-matching resource-access rule and ACE for resource-access security checks. This algorithm is faster and matches most
customers' expectations. The new algorithm also provides an optional "username substitution" feature. It can be enabled by
setting "rule substitutions" to "yes" in the [Operation] section in the Security Manager configuration text area. When this
is enabled, the string "${user}" in a resource-rule name will be replaced with the name of the user that makes the request.
For example, a DATASET rule named "USERS.${user}.**" would apply to datasets with the requesting user's name as the second
qualifier. In rare cases, customers with complex, ambiguous resource-access security rules might see experience changes in
behavior as a result of the new algorithm. The old algorithm is still supported and can be enabled by setting "version 1 authentication"
to "yes" in the [Operation] section of the Security Manager configuration.
2807531 (1097783)
CAS XA Switch modules
Back to the list
- The XA switch modules now support dynamic registration.
2682101 (1092325)
- The XA switch modules now support batch-only operations when multiple XA Resource Managers have been defined.
2664675 (1091082)
- In
Enterprise Developer 2.2 update 2, Micro Focus identified undefined run-time behavior when the following combination of directives was specified:
SIGN"EBCDIC", CHARSET"ASCII", and one of the following: HOST-NUMMOVE, HOST-NUMCOMPARE or SIGN-FIXUP. Previously (Enterprise Developer 2.2 update 1 and earlier), if this combination was specified, the SIGN”EBCDIC” directive should have been ignored, to avoid
a mixture of ASCII and EBCDIC characters; however, SIGN”EBCDIC” was still being honored, resulting in undefined run-time behavior.
Therefore, this combination of directives is now invalid for
Enterprise Developer 2.2 update 2 or later, and if specified, will be rejected at compile time.
2786397 (1095265)
Compiler
Back to the list
- For native COBOL, the size limit of the Data Division now stands at 2GB -1.
2796076 (1096384)
-
Previously, it was not possible to specify sign(EBCDIC) with sign-fixup, host-num-move or with host-num-compare. This
combination is now supported in native COBOL but remains invalid for managed COBOL code. This is applicable to version 2.2
U2 HotFix 10 onwards.
2824577 (1100823)
Discontinued support for cwgui
Back to the list
- The cwgui debugger is no longer available. You can now use the cw_java debugger which provides a richer graphical debugging
experience.
File Handling
Back to the list
- Custom file handlers (using DYNREDIR) are now called for each part of a concatenated file.
2795077 (1096322)
File Locking
Back to the list
- 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.
IDE
Back to the list
-
Enterprise Developer for Eclipse now ships with Eclipse 4.4.2 (Luna). A consequence of this is that if your application also 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.
- Enterprise Developer for Eclipse now ships with Eclipse 4.4.2 (Luna). If your applications contain JVM COBOL code that was built with a previous
version of the product, those parts of your application must be rebuilt; otherwise you will experience errors at either compilation
or run time.
(609469)
- A project can have one of two connection modes: NFS/Samba, where the target location is mounted as a local drive, and RSE,
which is a purely remote connection to the target location. For project types such as Mainframe COBOL, NFS/Samba is required
to use some tools which do not support RSE. For most other projects, it is possible to switch between connection modes using
the
Remote Settings context menu option. In the dialog box, there are radio buttons allowing for selection of connection modes. On changing mode,
you must select an existing connection of the appropriate type, or create a new one. If switching to NFS/Samba mode, you must
specify the local path to the project.
2792882 (1096196)
- By setting "-Denable.projectrepair=true" in the eclipse.ini file, .cobolProj and .pliProj files will be repaired to reflect
the workspace on project refresh.
2696707 (1095994)
J2EE Connector
Back to the list
- This release provides a new command-line argument to Java, mf.ssl.algorithm, which can be set to an appropriate algorithm.
2799213 (1096684)
JCL Support
Back to the list
- When allocating a dataset to a step using MVSCTLBP, the values returned for the dataset attributes are those defined in the
catalog. If these are unset in the catalog, then the values defined in the MVSCTLBP call are returned.
2816179 (1098882)
- The program attributes for the SSTM job have been changed to default to a mainframe dialect, AMODE 31 program. These attributes
will be used when constructing the MVS Control Blocks for the job, which means that the pointers to the sub-block areas will
be in mainframe format rather than native format.
2815695 (1098825)
- Any OUTPUT statement information passed to the printer exit now includes the correct class of that statement.
2814249 (1098636)
- In ESMAC, when deleting the Spool, the physical spool files and the entries in casspool.dat are deleted.
2812899 (1098412)
- New functionality has been added to the printer exit interface that enables you to delete the printer spool file after a
file has been printed. Set (ws)-prn-file-disp, which is defined in cascbprn.cpy, to 1 to delete the spool file after printing.
Additionally, the environment variable ES_JESYSMSG_OUTPUT=Y now correctly routes spool files to the Output queue. Previously,
ESMAC still showed the job on the HELD display, even when there were no spool files HELD.
2812899 (1099966)
- A new environment variable has been introduced - ES_JESYSMSG_RESTRICTED. JESYSMSG spool files are normally routed to HELD.
This can be overridden by setting the environment variable ES_JESYSMSG_OUTPUT=Y, which causes all JESYSMSG spool files to
be routed to OUTPUT. If ES_JESYSMSG_OUTPUT=Y is set but you require specific classes to be held, set the environment variable
ES_JESYSMSG_RESTRICTED to a string containing the classes to be HELD.
2812878 (1098417)
- The IEBDG PICTURE value length must match the length specified. The value can now contain any characters including quotes
as on the mainframe.
2794881 (1096221)
- Changes to the IDCAMS ALTER processing prohibit applying MGMTCLASS changes to GDGs and to a VSAM element other than a Cluster.
Shareoption settings in a SMS DATACLASS are now applied to the VSAM elements correctly.
2789939 (1095803)
Mainframe Access
Back to the list
Mainframe Access is now built using the IBM XL/C compiler rather than the SAS/C compiler that was used previously. This change
requires you to update your production JCL procedures with reference to the supplied samples MFA, MFAS, and MFAAS. In each
JCL procedure, change the STEPLIB DD statement and add a new one, CEEOPTS.
The web administration feature is no longer available in
Enterprise Developer.
To use the Mainframe Access support for Endevor you must be using Endevor R14 or later. CA stabilized the Endevor API at R14,
so if you upgrade from R14 to a later version you will not need to update the support module that Mainframe Access uses.
MF Server Administrator (GUI)
Back to the list
- Passwords that entered through either the MFDS or the ESMAC interface now use the same encoding.
2792382 (1096011)
PL/I Support
Back to the list
- For BASED variables declared using the form BASED (ADDR(x)), storage checking is now performed on the base reference “x”.
This behavior requires the compiler option –nolaxbased. See the Open-PLI User guide for more information on the options –[no]laxbased
and –[no]laxdefined.
2819663 (1099293)
- The behavior of the –zp1 option has been reverted to that of before Enterprise Developer 2.2 Update 1, with an additional
correction relating to Char Varying data items. For a full description of the –zp1 option, refer to the Open-PLI User’s Guide
in your product help. If you are installing
Enterprise Developer 2.2 U1 HF5 as an upgrade to
Enterprise Developer 2.2 U1, you must rebuild any applications that are compiled using the –zp1 option after the upgrade.
2789213 (1095636)
- Previously, when using any of the complier options -mvs, -dli, -ims, or -cics, the BINARY attribute was incorrectly applied
if the FIXED attribute is specified without BINARY or DECIMAL. The default attribute DECIMAL is now applied.
- The BIGENDIAN attribute, when explicitly applied to a structure, is now propagated to its CHAR VARYING and WIDECHAR VARYING
members.
- Declarations using DEFINED storage are now checked for compatible types between the DEFINED variable and its base variable.
This behavior requires the compiler option –nolaxdefined. See the Open-PLI User guide for more information on the options
–[no]laxbased and –[no]laxdefined.
- The PL/I Macro preprocessor has been enhanced to support the use of the ANSWER statement from within a PL/I Macro.
2698537 (1094243)
- The macro preprocessor has been enhanced to support arrays of CHAR and FIXED variables. New macro builtin functions have
been implemented (HBOUND, LBOUND, DIMENSION).
2696129 (1094011)
SQL: HCO for SQL Server
Back to the list
- The return type for the HCOSS DB2 CHAR() function has changed from CHAR(255) to VARCHAR(255).
2804069 (1097253)
Changes in Behavior in Release 2.2 Update 2
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
CICS Support
Back to the list
- In CRTE mode, the transactions are now run using the correct userid if the user has signed on after running CRTE.
2663890 (1091979)
Compiler
Back to the list
- When using the HOSTRW directive with the mainframe dialect, Report Writer will now produce the full range of ASA control
characters and will emulate mainframe print files.
2697615 (1094527)
- Fixed Binary (p<=7) is now an 8-bit, signed, 2's complement binary integer by default.
Documentation
Back to the list
- The default setting for the MFALLOC_PCFILE environment variable has changed; the default is now set to Y, which means that
when cataloguing a file that has a DCB attribute of DSORG=PS, a physical file is created for it if one does not exist. Previously,
the default was set to N, which meant that a file was not created.
2697571 (1094370)
Enterprise Server
Back to the list
- The Enterprise Server External Security Facility now includes MLDAP ESM Module 2.0, with a new algorithm for identifying
the best-matching resource-access rule and ACE for resource-access security checks. This algorithm is faster and matches most
customers' expectations.
The new algorithm also provides an optional "username substitution" feature. It can be enabled by setting "rule substitutions"
to "yes" in the
[Operation] section in the Security Manager configuration text area. When this is enabled, the string "${user}" in a resource-rule name
will be replaced with the name of the user that makes the request. For example, a DATASET rule named "USERS.${user}.**" would
apply to datasets with the requesting user's name as the second qualifier. In rare cases, customers with complex, ambiguous
resource-access security rules might see experience changes in behavior as a result of the new algorithm. The old algorithm
is still supported and can be enabled by setting "version 1 authentication" to "yes" in the
[Operation] section of the Security Manager configuration.
2807531 (1097783)
- Starting with this release, IMSCONFG.DAT is no longer used for configuring enterprise servers. Instead, you need to use environment
variables to control the following fields:
Field
|
Environment Variable
|
LANG=PL/I PCB address lists
|
ES_IMS_PLI_INDIRECT_PCBADDR=D|Y|N
Where:
- D
- Dynamic (default) use indirect PCB address list when PSB language is PL/I and main program is PL/I.
- Y
- Always use indirect PCB address list if PSB language is PL/I.
- N
- Never use indirect PCB address list.
|
IBM Platform
|
ES_IMS_IBMPLATFORM=M|D
Where:
- M
- MVS (default)
- D
- DOSVS Required by some DOS/VS customers.
|
Secondary Index Sparse exit language
|
ES_IMS_SPARSE_EXIT_LANG=C|A
Where:
- C
- COBOL
- A
- Assembler
- Not set (default)
- Sparse exits disabled
|
File Handling
Back to the list
- The ES_IMS_TLOG_FLUSH environment variable is now deprecated. To control TLOG flushing, use the following environment variable:
ES_IMS_DB_TLOG_WRITETHRU=0|1
- 0
- Forces the flushing of TLOG buffers to disk on COMMIT only (default)
- 1
- Forces the flushing of TLOG buffers to disk on all database I/O
To control database flushing, use the following environment variable: ES_IMS_DB_COMMIT_FLUSH=0|1
- 0
- Forces the flushing of database buffers to disk on CLOSE only (default)
- 1
- Forces the flushing of database buffers to disk on COMMIT only
Depending on the number of database updates, the frequency of COMMITs, and other concurrent computer activities, use of these
environment variables could cause significant performance degradation.
2784949 (1095190)
- The use of the environment setting MFJ_INPUTDS_ERROR=N has been extended so that an input file for a JCL step is now considered
as optional and you no longer receive an error when the file is missing.
2784622 (1095971)
Host Compatibility Option for SQL Server (HCOSS)
Back to the list
The mainframe dialect DB2 CHAR() function now calls a new SQL Server scalar function dbo.MFCHAR(). To create the new function
in your application’s SQL Server database, you can either:
- Run a DSN bind against the customer database.
Or:
- Execute the
%ALLUSERSPROFILE%\Micro Focus\Enterprise Developer\hcoss\InstallDigitsFunction.sql script.
Additionally:
- The return type for the HCOSS DB2 CHAR() function has changed from CHAR(255) to VARCHAR(255).
2804069 (1097253)
J2EE Connector
Back to the list
- The listSystem.properties file in package com.ibm.ctg.client was missing documentation for some sections.
IMS Support
Back to the list
- The NODCX mfims dbdgen directive has been added to enable you to compile DBD source without executing data capture exit routines
contained in the DBD source. Previously, data capture exit routines contained in the DBD source but that were not found during
compilation were ignored. The new default behavior is to process all data capture exit routines unless NODCX has been specified.
2579600 (1084675)
- All existing IMS Global Physical Terminal edit routines (DFSGPIX0) in use must be recompiled with charset EBCDIC instead
of charset ASCII.
(606142)
JCL Support
Back to the list
- 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.
2651654 (1090287)
- You can now activate support for the VSAM Shareoption for batch jobs and for CICS files that use a catalog entry. For more
details, see your product help.
2660651 (1091290)
PL/I Support
Back to the list
-
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. For a full description of the
–zp1 option, refer to the Open PL/I User’s Guide in the product help
This fix restores the behavior 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 */
2789213 (1095636)
- Previously, the SRC list in the debugger only included the source filename without the path to the file. If a source file
did not exist in the current directory, the debugger could not find it using the filename as it always expects a fully qualified
filename. The SRC list now contains the fully qualified file name which includes the path. Also, when changing the SRC or
ENV values the source is updated correctly.
2783734 (1094988)
Changes in Behavior in Release 2.2 Update 1
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
COBSQL
Back to the list
- COBSQL now displays appropriate COBOL syntax errors after encountering EXEC SQL statement errors.
2673619 (1093197)
File Handling
Back to the list
- Random and Dynamic access of an empty VSAM file would open successfully. This has been changed to return a 3/5 file status
to bring it into line with the mainframe.
2692826 (1093604)
JCL Support
Back to the list
- The final disposition processing of temporary datasets has been corrected to be in line with the mainframe processing, with
a default value of PASS unless DELETE has been specified in the DD card. Previously, the default value was DELETE.
2671175 (1091627)
- When running batch programs, receiving an "Out of Space" error requires operator intervention to continue processing.
2642115 (1089055)
- You can now use MGMTCLAS to provide an EXPIRE AFTER number of days. This is used to calculate an expiry date for datasets
allocated using the MGMTCLAS parameter.
2664639 (1090992)
- MFLEX*.DAT files were not being moved with spool files. Spool housekeeping now deletes LEX files when it deletes JESYSMSG.
Also, to identify any remaining orphan LEX files, the MF_SPOOL_HK_LEX_SCAN environment variable sets spool housekeeping to
scan the data directory for LEX files older than the max retain period.
2659555 (1090759)
- Spool housekeeping has been rewritten to provide a number of new features. These will be described in the product documentation.
(592452)
- The state of VSAM virgin files is now being correctly processed.
2686149 (1093587)
- A REPRO COUNT of zero is now processed as zero records to be included in the REPRO operation.
2665006 (1091034)
PL/I Support
Back to the list
- On Intel platforms, the -bitsltr Compiler option can be used to store bit strings left-to-right within each byte. This is
similar to Big Endian bit ordering on Intel platforms. The Intel default is to store bit strings right-to-left within each
byte similar to the Intel hardware bit ordering.
2675860 (1092098)
- The libraries
libmf.so,
libespli.so and
libespliz.so are no longer delivered. This is transparent if linking PL/I objects using mfplx or ldpli, and no changes are needed to your
build process.
However, if linking PL/I objects using either the UNIX ld command or the Enterprise Developer cob command, you must include
the libraries
libmfpli.so when linking stand-alone Open PL/I objects (executed outside of Enterprise Server), or
libmfpliz.so when linking PL/I objects executed under the control of Enterprise Server.
To do this, use the option -lmfpli for stand-alone Open PL/I objects or -lmfpliz, respectively, for PL/I executed under Enterprise
Server. These options replace the –lmf option.
- Open PL/I applications must be recompiled and re-linked in order to use them with this release.
- The debugger now stops before an ON UNIT triggers. This lets you perform debugging on the ON UNIT itself. You can configure
the ON UNITS the debugger stops on.
2674783 (1092319)
- Writing to SYSPRINT when running outside of Enterprise Server now drives output directly to the terminal and does not buffer
the I/O.
2477031 (1076203)
Changes in Behavior in Release 2.2
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
Compiler
Back to the list
- The default for the NSYMBOL directive under DIALECT(ENTCOBOL) has been changed to NSYMBOL(NATIONAL) to emulate the equivalent
IBM default.
2657471 (1090355)
- To improve RM/COBOL and ACUCOBOL compatibility, the SIGN clause at a group level is no longer applied to non-DISPLAY usage
signed numeric data items within the group, just as it is not applied to unsigned numeric data items and non-numeric data
items within the group.
2549904 (1082171)
- Previously, even though no code was generated, the Compiler allowed the ON EXCEPTION and NOT ON EXCEPTION phrases in the
DISPLAY statement in formats that do not allow these phrases. As a result, if the DISPLAY statement was in the ON EXCEPTION
phrase of another statement, the NOT ON EXCEPTION phrase would bind incorrectly with the DISPLAY statement instead of with
the intended containing statement - for example, ACCEPT or CALL.
Enterprise Server
Back to the list
- Previously, on cancelling an active JCL job on UNIX (after you have used STOP on the ESMAC > SEPs page to stop the INITIATOR
that it is running in), the INITIATOR was terminated and a new one was restarted in its place. Now, the new INITIATOR will
not be started, as the STOP request was received before the CANCEL.
2559087 (1084226)
File Handling
Back to the list
- When used with MFJSSTRICTSORT=ON, MFJSORT now errors (return code 16) if the input RECFM is different to a SORTOUT RECFM.
It also errors if the input RECFM is different to an OUTFIL RECFM when FTOV or VTOF/CONVERT has not been specified.
2643384 (1088993)
IDE
Back to the list
- The Problems view now has a 'Program' column that displays the name of the program in which the problem occurred. If the
column is not present in the view by default, it can be added through the Configure Columns dialog box in the View Menu.
2608496 (1088530)
- The outline of the ruler in the COBOL editor now changes on modelChanged depending on the current source format.
2488419 (1077143)
- Deleting a Web service or a Java interface mapping now deletes the files relating to it from the repos directory and, if
it is empty after the files have been deleted, will remove the repos directory itself.
- The IDE now performs an automatic directive determination when files are added to a project. You can also use a command to
perform directive determination of the project manually.
Interface Mapping Toolkit
Back to the list
- For program-based Service Interfaces, if the program-id name in the COBOL source is in lowercase and is not surrounded by
quotes, its corresponding entry-point name is now forced to uppercase when used in a Service Interface Operation. Previously,
the case was preserved. As a result of this change, existing Service Interfaces will become invalidated if you refresh their
program's annotations because of the new spelling of the entry-point name. To avoid this, you need to surround the program-id
name in the COBOL source with quotes before you refresh the annotations.
IMS Support
Back to the list
- The DBDCPY, MFSCPY, and PSBCPY environment variables are no longer required and have been deprecated. Use the IMSCPY environment
variable to specify copybook locations.
JCL Support
Back to the list
- The default for previous releases was to create a catalog entry with no physical file until data was actually written to the
catalog. Now, a PC file is allocated for non-VSAM files by default. You can emulate the previous behavior if you set the environment
variable MFALLOC_PCFILE to N.
- Empty values for the USER or NOTIFY parameters on the JCL JOB card no longer cause an error when parsing the JCL.
2646770 (1089380)
- The disposition processing of PASSed datasets has been revised to be consistent with mainframe processing. Particularly,
received datasets are removed at the end-of-step processing, unless they are to be passed on to another step in the job. Any
passed datasets that were not received at the end of the job may be removed if they conform to the mainframe conditions for
this.
2610362 (1087601)
- The value for the JCL DD UNIT=device parameter is now stored in the system catalog entry for the dataset.
2619050 (1089095)
MF Directory Server
Back to the list
- The mfds command line option for exporting registered Enterprise Server definitions to an XML file now supports the "*" option.
This exports all registered servers rather than a specified server. Multiple server definitions are now exported into the
target directory and saved into a file with the default name ALLSERVERS.xml. The import option now also supports the import
of multiple server definitions from a single XML file.
2641890 (1088838)
- mdump now supports a new option, -e, to help you query the Security Manager configuration details. The possible values of
the option are: "1" - shows security configuration that applies to any returned enterprise servers; "2" - shows security configuration
for MFDS and the default Enterprise Server security configuration. This requires MFDS version 1.15.00 or higher; "3" - returns
the properties of all configured external Security Managers.
2487164 (1081693)
MF Server Administrator (GUI)
Back to the list
- When adding a user to an external security manager, you can now include a password expiry time in the Advanced Configuration
section of the Add New User wizard in Enterprise Server Administration. The field value is specified using generalized time
format (YYYYMMDDHHMMSS.0Z), and can be used by the MLDAP ESM for calculating whether a user's password has expired and requires
updating. This value may only be specified using this page when adding a user. You need to use an external directory services
configuration tool to edit it.
2562118 (1083203)
Micro Focus Batch Scheduler Integration
Back to the list
- casout now correctly sets return-code to the job status for the sysout retrieval when the file is less than 65K. Also, MFBSI
now considers return codes of 0, 7 or 8 to be successful for JESYSMSG retrieval where, previously, it only considered 0 as
successful.
2655482 (1090444)
PL/I Support
Back to the list
- Open PL/I applications must be recompiled and re-linked in order to use them with this release.
2675860 (1092098)
- If using the -cics, -ims, or -mvs options when compiling on a little endian platform, the possibility for errors existed.
Starting with this release, using the -cics, -ims, or -mvs options automatically uses -bigendian, thereby eliminating the
possibility for these errors. Evaluate any applications that were built with a prior release to determine any impact on any
data files being used, or where programs compiled with the -mvs option pass data to sub-programs compiled without it. The
-bigendian option can be suppressed by adding the -native option after the -cics, -ims, or -mvs options.
- CodeWatch no longer attempts to use an incorrect directory when starting. Also, CodeWatch is now the default debugger when
no other debugger is specified, and is the only debugger available when using -optexec plitest.
2655906 (1090193)
- Support for the evaluation of X, NX, Z, A, and E constants nas been added to CodeWatch.
- A problem with possible truncation or trailing zeroes within PICTURE assignments has been fixed. As the fix depends on changes
to both the Compiler and the run-time, you must perform a complete rebuild of all your source code (recompile and relink)
in order to apply it.
2662261 (1090768)
- Previously, when taking a PLIDUMP, if the .PDB file needed for a PLIDUMP was not in the same directory as the .DLL and the
.STB files, and they were not in the first CAS_BATCH_PATH subdirectory, then the PLIDUMP was not successfully generated and
an S0C4 abend could occur.
2615412 (1090483)
- The Open PL/I debugger no longer loses its place and behaves erraticly when debugging code containing the same PL/I macro
multiple times within the same source routine, even if the -nodebuginfo and -pp options are not specified.
2612530 (1087809)
Changes in Behavior in Release 2.1 Update 1
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
Documentation
Back to the list
- To ensure no loss of functionality when accessing Vision and RM/COBOL data files, you should use the appropriate IDXFORMAT
Compiler directive setting or file handling option, and not use the CALLFH(ACUFH) Compiler directive. See 'Configuring Access
to Vision Files' and 'Configuring Access to RM/COBOL Data Files' for more information.
Enterprise Server
Back to the list
- HSF includes the following enhancements:
- A new record type (JCLF) for JCL files.
- A Job class has been added to the JCL JOBSTART records.
- A condition code has been added to the JCL STEP records.
- Statistics for up to 5 Transient Data Queues per CICS record has been added (same as for exisiting TSQ stats). The HSF files
will now be created with the following header: #HSFVer=02 Type,PID,Task,Date,Time,Tran/Job,User/DDName/CC,LU/Step,Prog/DSName,Latent/ReadCount,Resp/WriteCount,API/RewriteCount,SQL/DeleteCount,IMS,DSType,DSAccessType,File1,Count1,Time1,File2,Count2,Time2,File3,Count3,Time3,File4,Count4,Time4,File5,Count5,Time5,TS1,Count1,Time1,TS2,Count2,Time2,TS3,Count3,Time3,TS4,Count4,Time4,TS5,Count5,Time5,TD1,Count1,Time1,TD2,Count2,Time2,TD3,Count3,Time3,TD4,Count4,Time4,TD5,Count5,Time5
2552658 (1082755)
IDE
Back to the list
- You can now set program breakpoints as follows - click "Add Program Breakpoint" in the Run menu or on the Breakpoints view
toolbar, and enter the program name in the dialog that is displayed.
2606838 (1087239)
- Local Enterprise Server regions without secure user credentials are now started with casstart and stopped with casstop commands.
2606835 (1087238)
JCL Support
Back to the list
- Input files are no longer optional so you can receive errors if you catalog a file without creating the physical file. To
help avoid failures of JES job steps because of a missing input file, you can use one or both of the following environment
variables: 1) MFALLOC_PCFILE=Y - results in the creation of a catalog file if DSORG=PS is set in the DCB parameters. 2) MFJ_INPUTDS_ERROR=N
- results in IEBDG, IEBGENER and IEBCOMPR utilities to treat missing input files as though they were present but empty files.
(594968)
OpenESQL
Back to the list
- SQLWARN4 flag was not being set when more than one row was returned for a singleton SELECT statement. The OpenESQL run-time
now correctly sets SQLWARN flags when a singleton SELECT statement returns multiple rows.
2593798 (1085945)
Changes in Behavior in Release 2.1
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
CICS Support
Back to the list
- If external security is configured (MLDAP) and the default ESMAC user is not allowed to login, the region does not startup.
2550800 (1082337)
IDE
Back to the list
- You can now specify in the IDE whether directories that you add to the project should be added to the copypath. You configure
this in the project's properties under Micro Focus COBOL > Build Paths, and on the Copybook Paths tab.
(589096)
Run-Time System
Back to the list
- When running a full-screen application inside a terminal emulator on Linux, the actual size of the terminal is read at startup
and reread when the terminal is resized. This behavior is also supported on AIX, HP/UX, and Solaris. The Micro Focus vt220
terminfo entry now correctly describes a 24-line display. A vt220-25 terminfo entry is included for compatibility with the
previous behavior.
2579335 (1084817)
Vision File System
Back to the list
- When you configure your application to return RM/COBOL file status codes, by setting COBFSTATCONV=rmstat, the codes returned
are ANSI'85 codes.
2553438 (1082469)
Changes in Behavior in Release 2.0
Back to Top
This section describes significant changes in behavior or usage. These changes could potentially affect the behavior of existing
applications or impact the way the tools are used.
The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number
(in parentheses).
Compiler
Back to the list
- The scope of the ILUSING Compiler directive when used in a $set command has changed. The scope of the directive is now limited
only to the source file it is set in, and not globally. This new behavior may mean that your source files no longer compile.
To resolve this, add the required ILUSING statements to the required individual source files, or add the ILUSING directive
on the command line. Alternatively, use the IDE to achieve the required behavior by
setting the directive in the
Additional Directives field.
HCO for DB2 LUW
Back to the list
- The DB2 ECM has been updated to resolve run-time errors returned when compiling against mainframe databases in 64-bit mode.
2549058 (1082441)
File Handling
Back to the list
- When reading a file cataloged as DISP=SHR the file handler now buffers the read for better performance.
2518330 (1079491)
- Using SKIP=nL in the SECTIONS section of SORT will now cause the following behavior: 1)Under a mainframe sort, (n/3 rounded
up) blank lines (when n>0) will be skipped and the appropriate carriage control character will be placed in column 1 of each
blank line. 2) For sequential file organizations, the same behavior will occur but no carriage-control characters will be
printed. 3) For line sequential files, n blank lines will be skipped.
2525670 (1080092)
IDE
Back to the list
- Typing in the sequence area moves text after the cursor to the right and doesn't delete the characters at area end. To overwrite
characters in the area, switch to insert mode by pressing the Insert key. Pressing the Tab key in the sequence area indents
the text if the option "Pressing Tab in the sequence number area moves caret to area A" is not selected. Pressing the Tab
key when there is a multiline selection aligns the text to the area margins.
- Typing in the sequence area now works like typing in a regular text editor - it moves to the right all the text after the
cursor and doesn't delete the charaters at area end. If you want to overwrite characters in the area, you can switch insert
mode to overwrite by using "Insert" key.