Significant Changes in Behavior or Usage

This section describes significant changes in behavior or usage in the current and past releases of Enterprise Server. 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 HotFix releases. Refer to the HotFix readmes for information about such changes.

Changes in Behavior in This Release

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 SupportLine Web site.

The numbers that follow each issue are the Support Incident Numbers followed by the Reported Problem Incident (RPI) number (in parentheses).

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_msuser.ldf file, which is located in the bin sub-directory of your product directory.

Executables require relinking or recompiling

Due to an internal change in version 4.0 of your product, you must at least relink any executable programs compiled prior to this version, to make them compatible with the latest run-time system. However, a full recompilation of your source code is the recommended action, to allow your executables to benefit from the product's latest programming and performance enhancements.

Relinking an executable without recompiling means using the original object code with the cbllink utility. Original object code is typically the binary file output (usually containing the .obj extension) produced during the original compilation process. An application can contain one or more binary files.

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.

JES restart behavior

The following changes have been made to the MF_UCC11 environment variable:

  • The default behavior of MF_UCC11=Y has changed, in that DISP=NEW is changed to DISP=MOD only when a job is restarted (not when first run).
  • A new option, MF_UCC11=YA, reverts to the previous behavior of changing DISP=NEW to DISP=MOD even when the job is first run.

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 SupportLine Web site.

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_MVSJOBS 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

  1. 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
  2. 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 .

  3. 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.
  4. 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:

  1. At the Enterprise Developer command prompt, set the environment variables listed in the To run the spool conversion utility process, as required.
  2. Set an additional variable, SPLREGR_TARGET, to PRE30.
  3. 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.
  4. 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:

  1. At the Enterprise Developer command prompt, set the environment variables listed in the To run the spool conversion utility process, as required.
  2. 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.
  3. 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.

Compatibility AddPack for Visual COBOL

Back to the list

Compatibility AddPack for Visual COBOL is now deprecated and will not be available with release 3.0 and later.

The Dialog System GUI and run-time components and Dialog System Character Mode (on Windows and UNIX) which were part of the AddPack are now installed as part of Enterprise Developer for Visual Studio. The run-time components are installed as part of Enterprise Server. These are only included for backward compatibility and Micro Focus does not recommend that you use them for new development.

The other components which were part of the AddPack, the Character-Based Data File Editor, CSBIND and Screens, will be available upon request from Micro Focus SupportLine.

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.

OpenESQL

Back to the list

The new OpenESQL OPTIMIZECURSORS SQL compiler directive option is turned on by default for both ADO.NET (DBMAN=ADO) and ODBC (DBMAN=ODBC). For ADO.NET, this reduces cursor memory consumption thereby providing optimal performance. This also ensures that, for ODBC, 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.

Reserved words

Back to the list

  • There have been a number of new reserved words added to the COBOL language; these are all in effect under MFLEVEL"19", which is the default level when running under the MF dialect. Any of the following words are now not allowed under default conditions, and you will need to remove/rename them, or specifically configure your environment to allow them:
    • ALLOCATE
    • FREE
    • JSON
    • END-JSON

    See Reserved Words Table at the end of this topic for more information.

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).

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)

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)

Run-Time System

Back to the list

  • The command_line_linkage tunable has been deprecated; equivalent functionality can be achieved by using the COMMAND-LINE-LINKAGE Compiler directive instead.

    2838118 (1101539)

    Attention: As of release 4.0, this tunable is no longer deprecated.

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).

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.

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)

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: OpenESQL

Back to the list

  • The DB2 CONCAT function and operator now convert to SQL Server using the HCOSS-supplied dbo.CONCAT for character, numeric and datetime data. If you are using BINARY or VARBINARY data, you must apply the HCOSS-supplied dbo.CONCAT_BINARY function. HCOSS applications deployed with earlier versions of Enterprise Developer are affected, if they use string or binary concatenation. The mainframe dialect DB2 || operator and CONCAT function now call a new SQL Server scalar function dbo.CONCAT(). All existing programs with dialect=mainframe that use DB2 concatenation syntax should be recompiled. All existing SQL Server databases that are accessed by these programs must have dbo.CONCAT installed. 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.

    This is a one-time only change to the database.

    2843818 (1102248)

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)

File Handling

Back to the list

  • Custom file handlers (using DYNREDIR) are now called for each part of a concatenated file.

    2795077 (1096322)

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)

Updated Run-Time System

Back to the list

  • 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.

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)

Compiler

Back to the list

  • In member reference in managed COBOL syntax, you may now 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

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).

Common Communications Interface

Back to the list

  • A new option, use_global_namespace, is available for the CCI.INI file in the Windows %SystemRoot% folder. If use_global_namespace is set, all the ccishared memory objects are created in a system-wide address space, and the applications hosted by different users, including system services, can communicate. To use this facility, edit the CCI.INI file and ensure use_global_namespace is set to "yes". [ccismem-base] # Allow interaction between users on a # single system. Using this option reduces security as # all users will have access to the same name space. use_global_namespace=yes If the value of this option is anything other than "yes", or if the option is missing, no change is made to the existing behavior.

    2195519 (1062800)

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)

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)

Request Handler

Back to the list

  • A problem that caused BIS to create log files in a directory named C:\ProgramData\AcuCorp\BIS\LogFiles was fixed. BIS no longer creates log files unless specified and the BIS logging service is now disabled by default. To enable it, you need to use the following global environment variable: BIS_LOG=[ OFF | ON | <directory> ] Where the values are:
    • OFF - disables logging (the same as if BIS_LOG is not specified or is left blank)
    • ON - enables logging and directs the log files into the default location, which must not be read-only.
    • <directory> - enables logging and directs the log files into the specified directory. The user must ensure that the BIS request handler has write rights for this directory. The directory must be an absolute path or network path. If the specified directory does not exist, BIS will attempt to create it. The containing directory must exist.

    The BIS_LOG variable is only examined when the BIS application pool is started or recycled. After setting or changing BIS_LOG, IIS must be restarted in order for the variable to take effect.

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).

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)

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)

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 behaviour 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 behaviour.

    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).

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)

Run-Time System

Back to the list

  • On Windows 7, building 64-bit native COBOL applications always rebuilt the entire project. This was caused by the Microsoft FileTracker tool, used by the COBOL projects to track dependencies, not working because of Windows 7 security updates. This product now includes a fix to work around this issue.